Պատկերացրեք համակարգիչ, որը շուկայում առանձնապես հաջողություն չի ունենում, չափազանց թանկ է, իսկ ընկերությունը մի քանի տարի անց նույնիսկ դադարեցնում է դրա արտադրությունը։

Բայց հենց այդ համակարգչի վրա ստեղծվում է առաջին Web browser-ը, դրա development environment-ում աշխատում են DOOM-ի ու Quake-ի վրա, իսկ դրա օպերացիոն համակարգի գաղափարներն ու տեխնոլոգիաները տարիներ անց դառնում են Mac OS X-ի հիմքի կարևոր մասը։

Սա NeXT-ի պատմությունն է։

Եվ ամենահետաքրքիրն այն է, որ NeXT-ը ստեղծել էր Steve Jobs-ը այն ժամանակ, երբ նա այլևս Apple-ում չէր։

Այս պատմությունը լավ օրինակ է այն բանի, որ տեխնոլոգիական աշխարհում կոմերցիոն ձախողումը երբեմն կարող է տարիներ անց վերածվել ամբողջ ինդուստրիայի վրա ազդեցություն թողած տեխնոլոգիական ժառանգության։


1985. Steve Jobs-ն այլևս Apple-ում չէ

1985 թվականը Steve Jobs-ի կարիերայի ամենաբարդ ժամանակաշրջաններից էր։

Apple-ի ներսում երկարատև կոնֆլիկտներից և ղեկավարության հետ իշխանության պայքարից հետո Jobs-ը կորցրեց իր օպերացիոն դերը ընկերությունում և վերջնականապես հեռացավ Apple-ից։

Նա մոտ 30 տարեկան էր։

Սակայն համակարգիչներ ստեղծելու գաղափարից հրաժարվել չէր պատրաստվում։

Նույն թվականին Jobs-ը հիմնեց նոր ընկերություն։

Անունը՝ NeXT։

Գաղափարը բավական հավակնոտ էր։

Ստեղծել հաջորդ սերնդի համակարգիչ համալսարանների, գիտնականների, հետազոտողների և ծրագրավորողների համար։

Ոչ թե պարզապես ավելի արագ PC, այլ ամբողջական նոր computing environment։


Սև խորանարդը

1988 թվականին ներկայացվեց առաջին NeXT Computer-ը։

Այն գրեթե անհնար էր շփոթել որևէ այլ համակարգչի հետ։

Սև, մինիմալիստական, մագնեզիումե և գրեթե կատարյալ խորանարդաձև կորպուս։

Հենց այդ արտաքին տեսքն էլ դարձավ NeXT-ի ամենաճանաչելի խորհրդանիշներից մեկը։

Հետագայում NeXT-ի համակարգիչների շարքում հայտնվեց նաև պաշտոնապես NeXTcube անվանումը կրող մոդելը։

Առաջին NeXT Computer-ը շատ տպավորիչ էր իր ժամանակի համար։

Այն ուներ.

  • Motorola 68030 պրոցեսոր

  • 8 MB RAM

  • Ethernet

  • առանձին Digital Signal Processor

  • 256 MB magneto-optical drive

  • բարձր resolution-ով display

  • առաջադեմ audio հնարավորություններ

Բայց կար մեկ փոքր խնդիր։

Գինը։

NeXT Computer-ի մեկնարկային գինը մոտ $6,500 էր։

1988 թվականին։

Եթե ավելացնեիք hard drive, printer և մյուս անհրաժեշտ բաղադրիչները, ամբողջ configuration-ը կարող էր հեշտությամբ անցնել $10,000-ը։

Ուսանողների և համալսարանների համար նախատեսված համակարգչի համար դա այնքան էլ ուսանողական գին չէր։

Բայց NeXT-ի ամենակարևոր մասը իրականում այդ սև խորանարդը չէր։

Այն գտնվում էր համակարգչի ներսում։


NeXTSTEP

NeXT-ի իրական հեղափոխությունը նրա օպերացիոն համակարգն էր։

NeXTSTEP։

Այսօր graphical operating system-ը, multitasking-ը, networking-ը, object-oriented development environment-ը և visual interface builder-ը սովորական բաներ են։

1980-ականների վերջում իրավիճակը լրիվ այլ էր։

Շատ ծրագրավորողների աշխատանքային գործընթացը դեռ ծանր էր։

Interface ստեղծելը կարող էր նշանակել հսկայական քանակի ձեռքով գրված code։

Development environment-ները բավական սահմանափակ էին։

Application ստեղծելու համար հաճախ պետք էր մեծ քանակությամբ infrastructure զրոյից կառուցել։

NeXTSTEP-ը փորձում էր ամբողջ գործընթացը փոխել։

Այն իր մեջ համադրում էր.

  • Mach kernel

  • Unix/BSD տեխնոլոգիաներ

  • Objective-C

  • object-oriented programming

  • Display PostScript

  • Application Kit

  • Interface Builder

Հատկապես վերջին երկուսն էին շատ կարևոր։


Երբ UI ստեղծելը սկսեց նմանվել LEGO հավաքելուն

NeXT-ի գաղափարներից մեկը շատ պարզ էր։

Ինչո՞ւ ամեն ծրագրավորող պետք է նորից ու նորից զրոյից ստեղծի window, button, menu կամ text field։

Փոխարենը համակարգը կարող էր տալ պատրաստի objects։

Դու վերցնում ես window։

Ավելացնում ես button։

Ավելացնում ես text field։

Կապում ես դրանք application logic-ի հետ։

Եվ շարունակում աշխատանքը։

Այսօր սա սովորական մոտեցում է։

Այն ժամանակ դա գրեթե ապագայից եկած workflow էր։

NeXTSTEP-ի Interface Builder-ը թույլ էր տալիս interface-ներ կառուցել visual եղանակով և կապել դրանք Objective-C object-ների հետ։

Ծրագրավորողը ավելի քիչ ժամանակ էր ծախսում infrastructure գրելու վրա և ավելի շատ ժամանակ իրական application-ի վրա։

Հենց այս հնարավորությունն էլ մի քանի տարի անց կարևոր դեր խաղաց ինտերնետի պատմության ամենակարևոր նախագծերից մեկում։


1990. մի NeXT համակարգիչ CERN-ում

Շվեյցարիայում գտնվող CERN հետազոտական կենտրոնում աշխատում էր բրիտանացի համակարգչային գիտնական Tim Berners-Lee-ն։

Նրա խնդիրը բավական հետաքրքիր էր։

CERN-ում հազարավոր գիտնականներ աշխատում էին տարբեր համակարգիչներով և տարբեր ծրագրերով։

Տեղեկատվությունը պահվում էր տարբեր համակարգերում, և այն գտնելն ու իրար կապելը դժվար էր։

Berners-Lee-ն մտածեց մի համակարգի մասին, որտեղ documents-ը կարող էին կապված լինել միմյանց հետ hyperlinks-ի միջոցով։

Այս գաղափարից ծնվեց այն, ինչ այսօր անվանում ենք.

World Wide Web։

Եվ դրա ստեղծման հիմնական գործիքներից մեկը NeXT համակարգիչն էր։

1990 թվականին Tim Berners-Lee-ն NeXT-ի վրա գրեց առաջին Web browser-ը։

Այն պարզապես browser չէր։

Այն նաև editor էր։

Անունը նույնպես դժվար չէր գուշակել.

WorldWideWeb։

Հետագայում այն վերանվանվեց Nexus, որպեսզի ծրագիրը չշփոթեին ամբողջ World Wide Web համակարգի հետ։


Մի քանի ամսում այն, ինչ ուրիշ հարթակում կարող էր շատ ավելի երկար տևել

Tim Berners-Lee-ն հետագայում պատմել է, որ NeXT-ի development environment-ը իրեն թույլ տվեց չափազանց արագ աշխատել։

NeXT-ում արդեն կային application building tools, text objects, graphical interface components և այլ պատրաստի հնարավորություններ։

Նրան պետք չէր զրոյից ստեղծել ամբողջ text rendering և UI infrastructure-ը։

Հիմնականում պետք էր կառուցել այն գաղափարները, որոնք Web-ը տարբերում էին սովորական document viewer-ից։

Դրանցից ամենակարևորը hypertext-ն էր։

Berners-Lee-ի գնահատմամբ NeXT-ի environment-ը իրեն թույլ տվեց մի քանի ամսում իրականացնել այնպիսի աշխատանք, որը այլ հարթակում կարող էր շատ ավելի երկար տևել։

Սա շատ լավ ցույց է տալիս NeXT-ի իրական ուժը։

Hardware-ը կարող էր չվաճառվել։

Բայց software architecture-ը արդեն ցույց էր տալիս ապագան։


Առաջին Web server-ը նույնպես NeXT էր

Պատմությունը այստեղ չի ավարտվում։

Աշխարհի առաջին Web server-ը նույնպես աշխատում էր NeXT համակարգչի վրա։

Այն գտնվում էր CERN-ում՝ Tim Berners-Lee-ի աշխատասենյակում։

Համակարգչի վրա նույնիսկ ձեռքով գրված թուղթ էր փակցված.

This machine is a server. DO NOT POWER IT DOWN!!

Այդ մեքենայի վրա աշխատում էր աշխարհի առաջին website-ը։

Դրա հասցեն էր.

info.cern.ch

Կայքում բացատրվում էր, թե ինչ է World Wide Web-ը, ինչպես կարելի է օգտագործել այն, ինչպես ստեղծել սեփական Web server և ինչպես գտնել այլ documents։

Այսինքն այն պահին, երբ Web-ում գոյություն ուներ ընդամենը մեկ website, այդ website-ը պատմում էր, թե ինչպես ստեղծել մյուսները։

Եվ այդ ամենի տակ աշխատում էր NeXT-ը։


Բայց NeXT-ը միայն Web-ի պատմության մաս չէ

Մի քանի տարի տեղափոխվենք առաջ։

Տեխաս։

Մի փոքր game studio աշխատում է նոր խաղի վրա։

Studio-ի անունն է id Software։

Խաղի անունը՝ DOOM։

Այո։

Այդ DOOM-ը։


DOOM-ի development-ը կատարվում էր NeXTSTEP-ում

1990-ականների սկզբին John Carmack-ը սկսեց օգտագործել NeXT համակարգիչներ և արագ հասկացավ, որ NeXTSTEP-ը չափազանց հարմար development platform է։

DOS-ի ժամանակ ծրագրավորումը հաճախ բավական սահմանափակ environment էր։

NeXTSTEP-ն արդեն առաջարկում էր Unix-ի ուժեղ development environment, multitasking, memory protection և ժամանակի համար բավական զարգացած developer tools։

id Software-ը աստիճանաբար իր development workflow-ի կարևոր մասը տեղափոխեց NeXTSTEP։

DOOM-ի engine-ը հիմնականում գրվում էր C-ով։

Բայց խաղի ներքին development tools-ում օգտագործվում էին նաև Objective-C-ն ու NeXTSTEP framework-ները։

Օրինակ՝ level editor-ը։

DoomEd։

Այն թույլ էր տալիս designers-ին կառուցել levels graphical environment-ում՝ առանց ամբողջ աշխատանքի համար զրոյից նոր գործիքներ ստեղծելու։

John Carmack-ը 1994 թվականին NeXTSTEP-ի մասին գրել էր շատ պարզ.

“NEXTSTEP rules.”

Նա նաև նշում էր, որ NeXTSTEP-ում իրենց ստեղծած վաղ tools-ն արդեն ավելի լավն էին, քան DOS-ի համար տարիների ընթացքում ստեղծած մի քանի generation գործիքները։


Հետո եկավ Quake-ը

id Software-ը NeXT-ից չհրաժարվեց DOOM-ից հետո։

NeXT համակարգերն ու NeXTSTEP-ը օգտագործվեցին նաև Quake-ի development-ի ընթացքում։

Quake-ի համար օգտագործվող QuakeEd level editor-ը նույնպես NeXTSTEP application էր։

Մի հետաքրքիր պատկեր է ստացվում։

Նույն platform-ը, որի վրա Tim Berners-Lee-ն կառուցեց առաջին Web browser-ը, մի քանի տարի անց օգտագործվում էր John Carmack-ի և id Software-ի կողմից՝ game development-ի ամենաազդեցիկ նախագծերից մի քանիսի վրա աշխատելու համար։


Իսկ ինչո՞ւ NeXT-ը չհաղթեց շուկան

Այսքանից հետո տրամաբանական հարց է առաջանում։

Եթե NeXT-ն այդքան առաջադեմ էր, ինչո՞ւ այն չդարձավ զանգվածային հաջողություն։

Պատճառները մի քանիսն էին։

Առաջինը գինն էր։

NeXT hardware-ը թանկ էր։

Շատ թանկ։

Երկրորդը software ecosystem-ն էր։

IBM-compatible PC-ները արագ տարածվում էին։

Microsoft DOS-ը, իսկ հետո Windows-ը, արդեն հսկայական շուկա էին ստեղծում։

Apple-ն ուներ Macintosh ecosystem-ը։

Workstation շուկայում կային Sun Microsystems, Silicon Graphics, HP և այլ ուժեղ խաղացողներ։

NeXT-ը փորձում էր միաժամանակ ստեղծել.

  • սեփական hardware

  • սեփական operating system

  • սեփական development environment

  • սեփական application ecosystem

Սա չափազանց թանկ և բարդ ռազմավարություն էր։

Hardware-ը տեխնոլոգիապես հետաքրքիր էր։

Բայց մարդիկ այն պարզապես բավականաչափ չէին գնում։


NeXT-ը հրաժարվում է համակարգիչներից

1993 թվականին ընկերությունը վերջապես փոխեց ռազմավարությունը։

NeXT-ը դադարեցրեց hardware-ի արտադրությունը։

Սև համակարգիչների պատմությունն ավարտվեց։

Բայց ընկերությունը չփակվեց։

Փոխարենը Steve Jobs-ը NeXT-ը վերածեց software company-ի։

Եվ սա, հավանաբար, ընկերության ամենակարևոր որոշումներից մեկն էր։

NeXTSTEP-ը տեղափոխվեց այլ hardware architectures-ի վրա։

Այն աշխատում էր Intel x86 համակարգիչների վրա։

Տարբերակներ կային նաև այլ workstation architectures-ի համար։

Հետագայում NeXT-ը և Sun Microsystems-ը զարգացրին OpenStep specification-ը։

NeXT-ի տեխնոլոգիան այլևս կապված չէր միայն մեկ սև համակարգչի հետ։

Այն կարող էր ապրել անկախ hardware-ից։

Եվ հենց այստեղ սկսվում է պատմության ամենահետաքրքիր շրջադարձը։


Apple-ը խնդիր ուներ

1990-ականների կեսերին Apple-ի վիճակը լավ չէր։

Classic Mac OS-ը արդեն սկսում էր ցույց տալ իր տարիքը։

Apple-ին պետք էր նոր generation operating system։

Ժամանակակից memory management։

Protected memory։

Preemptive multitasking։

Ավելի ուժեղ networking։

Ժամանակակից development environment։

Apple-ը տարիներ շարունակ փորձում էր ստեղծել սեփական հաջորդ սերնդի OS-ը։

Ամենահայտնի նախագծերից մեկը Copland-ն էր։

Բայց նախագիծը չափազանց բարդացավ և չհասավ նախատեսված արդյունքին։

Apple-ին նոր ճանապարհ էր պետք։

Եվ այդ ճանապարհներից մեկը տանում էր դեպի մի ընկերություն, որը տարիներ առաջ ստեղծել էր Apple-ից հեռացած Steve Jobs-ը։


1996. Apple-ը գնում է NeXT-ը

1996 թվականի դեկտեմբերին Apple-ը հայտարարեց, որ ձեռք է բերելու NeXT-ը։

Գործարքի արժեքը ներկայացվում էր մոտ $400 միլիոն։

Apple-ը ստանում էր NeXT-ի software technology-ն։

NeXT-ի engineers-ին։

Objective-C ecosystem-ը։

OpenStep-ը։

Development tools-ը։

Եվ այդ ամենի հետ միասին Apple էր վերադառնում նաև Steve Jobs-ը։

Սկզբում որպես խորհրդատու։

Բայց բոլորս գիտենք պատմության շարունակությունը։

Շուտով Jobs-ը կրկին դարձավ Apple-ի կենտրոնական դեմքը և փաստացի սկսեց ղեկավարել ընկերությունը։


NeXTSTEP → OpenStep → Rhapsody → Mac OS X

NeXT-ի ձեռքբերումից հետո նրա տեխնոլոգիաները սկսեցին վերածվել Apple-ի նոր operating system-ի հիմքի։

Սկզբում նախագիծը հայտնի էր որպես Rhapsody։

Հետագայում այդ ճանապարհը բերեց Mac OS X-ին։

NeXTSTEP-ի Application Kit-ը շարունակեց ապրել Apple-ի նոր developer ecosystem-ում։

OpenStep-ի Foundation framework-ը նույնպես։

Հետագայում դրանց ժառանգությունը տեսնում ենք մեզ հայտնի.

Foundation

և

AppKit

framework-ներում։

Եթե երբևէ Apple development եք արել, հավանաբար տեսել եք class-ներ, ինչպիսիք են.

NSObject
NSString
NSArray
NSDictionary
NSNotification
NSWindow
NSApplication

Նկատեցի՞ք ինչ-որ բան։

NS

Այդ prefix-ը պատահական չէ։

Այն NeXTSTEP/OpenStep-ի պատմական ժառանգությունն է։

Տասնամյակներ անց NeXT-ի անունը դեռ թաքնված է Apple-ի APIs-ի ներսում։

[ՆԿԱՐ 7 - NeXTSTEP և վաղ Mac OS X interface-ների համեմատություն]


Իսկ iPhone-ը՞

2007 թվականին Apple-ը ներկայացրեց iPhone-ը։

Թվում էր, թե սա արդեն լրիվ այլ դարաշրջան է։

Multi-Touch։

Mobile computing։

Նոր տեսակի software experience։

Իսկ մեկ տարի անց՝ 2008 թվականին, բացվեց App Store-ը և սկսվեց native third-party applications-ի նոր դարաշրջանը։

Բայց software stack-ի խորքում դեռ կարելի էր տեսնել NeXT-ից եկող գաղափարներն ու տեխնոլոգիական ժառանգությունը։

Foundation։

Objective-C։

Cocoa Touch։

Object-oriented frameworks։

Mach-ի ժառանգություն ունեցող Darwin/XNU architecture։

NeXT-ի տեխնոլոգիական DNA-ն շարունակեց ապրել ոչ միայն Mac-ում, այլ Apple-ի ամբողջ software ecosystem-ում։

Այս պատճառով կարելի է բավական հետաքրքիր ձևակերպում անել։

Steve Jobs-ը 1985 թվականին հեռացավ Apple-ից և ստեղծեց նոր platform։

Տասնմեկ տարի անց Apple-ը գնեց այդ platform-ը։

Այդ platform-ի տեխնոլոգիան դարձավ Apple-ի ապագայի մի մասը։

Իսկ դրա ստեղծողը կրկին վերադարձավ Apple։

Գրեթե կատարյալ տեխնոլոգիական շրջան։


NeXT-ի ամենամեծ հաջողությունը նրա համակարգիչները չէին

Այսօր NeXT-ի համակարգիչները հիմնականում կարելի է տեսնել museums-ում կամ collectors-ի մոտ։

Դրանք mass-market computer չդարձան։

NeXT-ը երբեք չդարձավ Microsoft։

Չդարձավ IBM։

Չդարձավ նույնիսկ այն ժամանակվա Sun Microsystems-ի չափ ընկերություն։

Եթե պատմությունը չափենք վաճառված համակարգիչների քանակով, NeXT-ը դժվար է հաջողություն անվանել։

Բայց եթե այն չափենք ազդեցությամբ, պատկերը լրիվ փոխվում է։

NeXT-ի տեխնոլոգիաների միջոցով կամ դրանց վրա աշխատելով ստեղծվել են.

  • առաջին Web browser/editor-ը

  • առաջին Web server-ը

  • DOOM-ի development tools-ը

  • Quake-ի development environment-ի կարևոր մասը

  • Apple-ի Cocoa framework-ների նախահայրերը

  • Mac OS X-ի տեխնոլոգիական հիմքի կարևոր բաղադրիչները

Եվ այս ամենը սկսվել էր մի ընկերությունից, որի hardware business-ը տարիներ անց փակվեց։


Երբ ձախողված product-ը դառնում է հաջողված գաղափար

NeXT-ի պատմության ամենահետաքրքիր մասը գուցե նույնիսկ տեխնոլոգիաները չեն։

Այլ այն փաստը, որ ընկերության սկզբնական նպատակը գրեթե ամբողջությամբ ձախողվեց։

Steve Jobs-ը ցանկանում էր ստեղծել հաջորդ մեծ computer company-ն։

Դա տեղի չունեցավ։

Բայց NeXT-ում ստեղծված գաղափարները սկսեցին հայտնվել այլ տեղերում։

Web-ում։

Video games-ում։

Enterprise software-ում։

Mac-ում։

iPhone-ում։

Երբեմն տեխնոլոգիան ճիշտ է, բայց շուկան դեռ պատրաստ չէ։

Երբեմն product-ը սխալ է, բայց դրա ներսում գտնվող architecture-ը ճիշտ է։

Երբեմն այն, ինչ այսօր business failure է թվում, տասը տարի անց կարող է դառնալ մի ամբողջ ecosystem-ի հիմքը։

NeXT-ը դրա լավագույն օրինակներից մեկն է։


Վերջաբան

1988 թվականին մարդիկ նայում էին սև NeXT Computer-ին և տեսնում թանկ workstation։

Tim Berners-Lee-ն նայեց դրան և տեսավ environment, որի վրա կարելի էր կառուցել Web-ը։

John Carmack-ը տեսավ platform, որի վրա կարելի էր ավելի արագ ստեղծել game development tools։

Apple-ը տարիներ անց նայեց NeXT-ի software-ին և տեսավ իր հաջորդ operating system-ի հիմքերից մեկը։

Եվ այսօր, երբ բացում ենք Mac-ը կամ օգտագործում Apple-ի software ecosystem-ը, NeXT-ի պատմության փոքր մասերը դեռ այնտեղ են։

NeXT Computer-ը չնվաճեց աշխարհը։

Բայց NeXT-ի գաղափարները դա արեցին։