Войната на работните станции: Как участниците с най-ниска цена оформиха днешния технологичен пейзаж

Share

Функция Ровейки се в историите за операционни системи от 80-те години на миналия век, се появява една забравена война за бъдещето на компютрите. Беше спечелено от предложилите най-ниска цена, а след това бедните потребители и програмисти забравиха, че изобщо се е случвало.

Ретрокомпютърът представлява значителен и все още нарастващ интерес за много техници и любители и е от десетилетие или две. Има толкова много неща, които можете да напишете за игра, която е на десетилетия, но операционните системи и различните пътища, които са поели, все още имат богати жилки, които трябва да бъдат изследвани.

Всеки, който е играл с компютри от 80-те, си спомня Amiga срещу Atari ST и други битки. Но копаенето надолу покрай слоя от евтини домашни компютри и игри разкрива по-големи, по-дълбоки разлики. Победителите в битките трябваше да напишат историите, както правят винаги, и това означава, че това, което сега е получена мъдрост, споделяна и разбирана от почти всички, съдържа и прикрива пропаганда и догми. Нещата, които някога са били просто маркетинг на BS, сега са свещени писания и когато разберете как го е видяла другата страна, догмата се разкрива като просто големи дебели лъжи.

Най-голямата лъжа

Първата от големите лъжи е най-голямата, но е и една от най-простите, която вероятно никога не сте поставяли под въпрос.

Това е: днешните компютри са по-добри от всякога. Не само, че имат хиляди пъти повече място за съхранение и повече скорост, но че всичко, целият стек – хардуер, операционни системи, мрежи, езици за програмиране и библиотеки и приложения – са по-добри от всякога.

Митът е, че ранните компютри са били прости и са били заменени от по-добри, които са можели повече. Постепенно те еволюираха, ставаха все по-сложни и по-способни, докато сега имаме многопроцесорни многогигабайтови суперкомпютри в джобовете си.

Което ми дава извинение да използвам любимия си немски цитат, обикновено приписван на физика Волфганг Паули: „Das ist nicht nur nicht richtig; es ist nicht einmal falsch!“ (Това не само не е правилно, но дори не е грешно!)

Макар и вероятно апокрифно, някой попита Джон Глен, първият човек на Америка в космоса, какво е чувството точно преди изстрелването. Предполага се, че той отговори: „Чувствах се толкова добре, колкото всеки друг, седейки в капсула над ракета, които и двете бяха построени от предложилия най-ниска цена.“

Е, това е мястото, където сме днес.

Историята за еволюцията е напълно погрешна. Това, което наистина се случи, е, че многократно всяко поколение компютри се развиваше, докато стана много способно и усъвършенствано, а след това беше напълно заменено от ново поколение относително прости, глупави. След това те бяха подобрени, обикновено напълно игнорирайки всички уроци, научени от предишното поколение, докато новото поколение не бъде заменено от нещо по-малко, по-евтино и много по-глупаво.

Еволюция

Първите компютри, разбира се, бяха огромни неща с размерите на стая, които струваха милиони. Те еволюираха в мейнфрейми: много големи, много скъпи, но цяла компания можеше да споделя един, изпълнявайки групови задачи, изпратени на перфокарти и подобни неща.

След няколко десетилетия мейнфреймите бяха заменени от миникомпютри, смалени до размера на картотека, но достатъчно евтини, за да може да си ги позволи обикновен отдел. Те също бяха достатъчно бързи, за да могат няколко потребители да ги използват едновременно , използвайки интерактивни терминали.

Всички интелигентни периферни устройства на мейнфреймите, свързани в мрежа към техните централни процесори, и техните сложни, базирани на хипервайзор операционни системи, с богата ролева защита, просто изхвърлени.

След това става по-сложно. Традиционната история за онези, които са погледнали назад към 70-те години на миналия век, е, че се появяват микрокомпютри, базирани на евтини едночипови микропроцесори, и помитаха миникомпютрите. След това постепенно еволюираха, докато се наваксаха.

Но това всъщност не е вярно.

Първо, и по-малко видимо, тъй като бяха толкова скъпи, миникомпютрите от мащаба на отдела се свиха до работни станции с размери на бюро, а след това настолни, а по-късно и настолни . Вместо да се споделят от отдел, това бяха машини за един потребител. Много мощен, много скъп, но почти достъпен за един човек – стига да е достатъчно важен човек.

За съжаление обаче, в процеса на свиване до кутии за един потребител, повечето от изтънчеността на техните предци в мащаб на отделите бяха изхвърлени. Богати файлови системи с вградено проследяване на версиите, защото твърдите дискове струват колкото колите: изчезнаха. Клъстериране, което позволява на шепа машини, струващи стотици хиляди, да работят като безпроблемно цяло? Не е необходимо, изчезна. Богат вграден групов софтуер, който позволява на екипите да си сътрудничат и да работят върху споделени документи? Забравен. Имейлът с обикновен текст беше достатъчен.

Междувременно, в края на бюджета и в същото време като тези еднопотребителски работни станции за десетки хиляди долари, тъпите терминали се превърнаха в микрокомпютри. Всеки компютър в света днес е в сърцето си „микро“.

Отначало бяха слаби. Едва ли можеха да направят нещо. И така, този път загубихме тонове неща.

Твърди дискове? Много скъпо. Изпуснат. Многозадачност? Недостатъчно памет. Премахнато. Избор на езици за програмиране? Запазени през 70-те CP/M машини, след което, когато станаха по-евтини още в началото на 80-те, отпаднаха: децата нямат нужда от това. Пъхнете BASIC в ROM, това ще стане. Машините така или иначе се използват предимно за игри.

Ранните micros можеха да работят с флопи дискови устройства и имаха DOS, но в по-дългосрочен план дори те бяха елиминирани: твърде скъпи. Вместо това имате аудиокасетофон.

Как стигнахме до тук

Тези микрокомпютри от началото на 80-те, най-слабите, най-слабите, най-жалките компютри от първите мейнфрейми от 1940 г., ранните осембитови микрокомпютри, това са предците на компютрите, които използвате днес.

Всъщност, от всички компютри от началото на 1980-те, този с най-скучния, неоригинален дизайн, този без графика и без звук – това, с няколко изключения, е предшественикът на това, което използвате днес. IBM PC , който беше разширяван и подобряван отново и отново, за да настигне и в крайна сметка, за около 15 години, да надхвърли възможностите на своите по-евтини, но по-умни конкуренти.

Това е вид закон на природата , че когато се опитате да замените функции, които сте премахнали, резултатът никога не е толкова добър, колкото ако сте го проектирали в началото.

Ние управляваме значително подобрените наследници на най-простия, най-глупавия и най-скучния компютър, който всеки може да пусне на пазара. Те бяха най-лесните за изграждане и за работа. Лесно означава евтино, а евтиното продава повече и носи повече печалба. Така че те са тези, които спечелиха.

Има една поговорка за избора на продукт: „Можеш да имаш добър, бърз и евтин. Изберете всеки два!“

Имаме „бързо“ и „евтино“. Загубихме „добър“, заменен от „надежден“, което определено е добродетел, но идва с изключително висока цена.

Какво загубихме

Като много маниаци на средна възраст, имаше време, когато колекционирах хардуер от 80-те години, защото това, което беше недостъпно, когато беше ново – защото не можех да си го позволя – се раздаваше безплатно. Въпреки това стана обемист и аз го раздадох, като вместо това се съсредоточих върху захранван с батерии преносим комплект, отчасти защото е интересен по свой собствен начин и отчасти защото не заема много място. Не е нужно да държите големи екрани и клавиатури наоколо.

Това ме доведе до една интересна машина: другата линия компютри на Apple, тези, в които Стив Джобс изобщо не е имал ръка.

Машината, която вдъхнови Джобс, която доведе до Lisa и след това до Mac, разбира се беше Xerox Alto , настолна работна станция за $30 000. Според собствените думи на Джобс, той видя три невероятни технологии този ден, но беше толкова заслепен от една от тях, че пропусна другите две. Той беше толкова впечатлен от GUI, че пропусна обектно-ориентирания графичен език за програмиране, Smalltalk, и вградената повсеместна мрежа на Alto, Ethernet .

Лиза нямаше нищо от това. Mac имаше по-малко. Apple прекара голяма част от следващите 20 години в опити да ги върне обратно. По това време Стив Джобс нае Джон Скъли от PepsiCo да управлява Apple, а в замяна Скъли уволни Джобс. Това, което Apple измисли по време на управлението на Скъли, беше Newton .

Имам два Newtons, оригинален MessagePad и 2100. Обичам ги. Те са визия за различно бъдеще. Но никога не съм ги използвал много: използвах Psions , които имаха много по-прост и не толкова амбициозен дизайн, което означава, че бяха по-евтини, но вършеха работата. Това трябва да е поговорка в индустрията.

Доставеният Newton беше бледа сянка на Newton, който Apple първоначално планираше. Все пак има следи от тази машина и това ме накара да разкрия голямата компютърна война.

Нютон беше – наистина, все още е – радикална машина. Той е проектиран да живее в джоба ви, да съхранява и проследява вашата информация и навици. Имаше адресна книга, дневник, приложение за водене на бележки, удивително разпознаване на ръкописен текст и примитивен AI асистент. Можете да напишете „обяд с Алис“ на екрана и той ще обработи написаното от вас, ще го анализира, ще разбере от дневника ви кога обикновено сте обядвали, от историята на обажданията ви къде сте обядвали най-често и с коя Алис сте се свързвали най-често резервирайте време в дневника си и й изпратете съобщение, за да я попитате дали иска да дойде.

Беше нещо като Siri, но преди 20 години и през това време Apple изглежда забрави всичко това: трябваше да купи Siri.

NewtonOS също нямаше файлова система. Нямам предвид, че не е било видимо за потребителя; Искам да кажа, че нямаше такъв. Имаше някаква енергонезависима памет на борда, разширяема чрез карти с памет – огромни PCMCIA такива с размерите на половин сантиметър дебели кредитни карти – и съхраняваше неща в нещо като база данни с интегрирани в ОС обекти, разделени по функции. Магазините се наричаха „супи“ и ОС следеше какво къде се съхранява. Без имена на файлове, без директории, изобщо нищо подобно.

Приложенията и някои от самата операционна система са написани на език, наречен NewtonScript, който е много далечно свързан както с AppleScript в модерния macOS, така и с JavaScript. Но това не беше първоначалният план. Това беше за много по-радикална операционна система, на по-радикален език, която може да бъде разработена в удивителна графична среда.

Езикът беше наречен Dylan , което е съкращение от Dynamic Language. Все още съществува като компилатор на FOSS. Изглежда, че Apple също е забравила за това, защото преоткри това колело, по-лошо, със Swift.

Погледни. Dylan е невероятен, а неговата SK8 IDE още повече (оставени са няколко екранни снимки и изтегляния ). Dylan е много четлив, на много високо ниво и преди комерсиалните реалности на времето и парите да надделеят, Apple планира да напише операционна система и приложенията за тази операционна система в Dylan.

Сега това е радикално: Използване на един и същ език на много високо ниво както за операционната система, така и за приложенията. Беше осъществимо, защото Dylan е изграден като слой върху един от най-старите езици за програмиране, който все още се използва активно, Lisp.

Както Smalltalk, така и Lisp все още съществуват. И за двете има търговски и FOSS версии. И двете могат да работят на .NET CLR и на JVM. Има дори Smalltalk, който работи във вашия браузър на двигателя на JavaScript. Основният текстов редактор на средата Lisp все още се използва широко и днес, предимно от стари хора.

Но това са само следи. Те са бледи паметници, останали след войната. Защото някога тези неща не бяха просто малко странни езици, работещи на обикновени операционни системи.

Те бяха операционни системи сами по себе си

Започнах да копая в това и тогава земята се разпадна и открих, че като някои много впечатляващи CGI специални ефекти, не разкопавах гробище, а цял, скрит, разрушен град.

Някога Lisp работеше на голо метално устройство, на специално създадени компютри, които работеха с операционни системи, написани на Lisp, такива с GUI, които можеха да се свързват с интернет.

И ако намерите хората, които са използвали Lisp машини … уау. Те ги обичаха със страст, която кара собствениците на Amiga да изглеждат като, е, аматьори, любители. Това ниво на застъпничество прави Vi срещу Emacs да изглежда като кавга на детска площадка.

Някои от препратките са лесни за намиране. Има една чудесна книга, наречена The Unix-Haters Handbook [PDF], която силно препоръчвам. Чете се лесно и е наистина забавно. Това е обобщение на дългогодишна интернет общност от времето, когато университетите се отърваваха от Lisp машините и ги заменяха с по-евтини, по-бързи Unix работни станции – Sun кутии и подобни неща.

Потребителите на Lisp машини не бяха впечатлени. За тях Unix беше огромна крачка назад . Целият код беше компилиран, докато операционните системи на Lisp изпълняваха нещо като гигантска споделена динамична среда (трудно е да се обясни нещо, когато думите за него са изгубени). На машина с Unix, ако не харесвате начина, по който дадена програма прави нещо, трябва да отидете да намерите изходния код, да го редактирате, да го запишете в нов файл, да компилирате този файл, да рестартирате програмата, за да я пробвате… и ако проработи, намерете съществуващия си двоичен файл и го заменете с новия. Тогава вероятно ще откриете, че сте направили грешка и не е проработило, и ще опитате отново.

Ето защо, с изключение на хардкор потребителите на Gentoo, ние всички възлагаме тези неща на доставчици на операционни системи и дистрибутори на Linux.

На машините на Lisp вашият код не беше хванат в замразени блокове. Можете просто да редактирате работещия на живо код и промените ще влязат в сила незабавно. Можете да проверите или дори да промените стойностите на променливите, докато кодът се изпълнява. Разработчикът и блогър Стив Йеге го нарече “ жив софтуер „.

Lisp машините се зареждаха бавно, но това нямаше голямо значение, защото рядко ги стартирахте студено. В края на деня ОС записа стойностите на всички свои обекти и променливи на диска – наречено „спасяване на свят“ – и след това просто спря. Когато го включите отново, той препрочита тези стойности в паметта и възобновява точно там, където е бил.

Повечето от това, между другото, се отнася и за машини Smalltalk. Ето защо тези два понякога се наричат езици на боговете .

Това пропусна Стив Джобс. Той беше разсеян от лъскавия. Той донесе на света графичния потребителски интерфейс, но накара екипа си да го приложи отново върху доста конвенционални операционни системи, първоначално в комбинация от асемблиране и Pascal.

Той остави след себе си удивителната богата среда за разработка, където имаше обекти докрай.

И никога не си го върнахме

Върнахме мрежата, разбира се, но не и това.

Сега Lisp и Smalltalk са просто нишови езици – но някога и двата са били цели други вселени. Системи с пълен стек, всички живи, всички динамични, всички редактируеми в движение.

Най-близкото нещо, което имаме днес, вероятно са приложенията на JavaScript, работещи в уеб браузъри, и те са осакатени малки неща в сравнение.

Разликата обаче е къде са най-големите загуби във войната.

Машините Smalltalk работеха на сравнително нормални процесори. Smalltalk е свързан изцяло с обекти и не можете наистина да управлявате обекти на хардуерно ниво.

(Е, можете – много скъп Hi-Fi производител на име Linn опита с машина, наречена Rekursiv, но се провали лошо. Същото направи и опитът на Intel да направи чип, който внедрява неща от високо ниво в хардуера – не Itanium, не , много преди това, iAPX 432.)

Но машините на Lisp работят на специални чипове и тук нещата стават реални. Като в нещата , които удрят феновете.

Имаше няколко големи доставчици на Lisp машини. Както споменахме наскоро , Xerox ги продаде и неговата Lisp OS вече е FOSS.

Но по-големият и най-влиятелният беше Symbolics . С риск да прозвучите като хипстър, „вероятно никога не сте чували за това“. Забравена, както е сега, като индикация за това колко значима е била компанията, тя притежаваше първия дот-ком домейн в интернет. Той стартира през 1980 г. с комерсиална версия на машината MIT CADR Lisp и прави специален хардуер на Lisp до 1993 г.

Компанията е мъртва, но операционната система, OpenGenera, все още е там и можете да я стартирате на емулатор на Linux. Това е крайният резултат от няколко десетилетия на напълно отделна еволюция от целия свят на Mac/Windows/Unix, така че е някак тайнствено, но го има.

Има много сметки за мощността и производителността, възможни в Lisp и на Lisp машини.

Един от по-убедителните е от човек на име Калман Рети, последният работещ инженер на Symbolics. Тези машини са толкова обичани, че хората все още работят върху своя 30-годишен хардуер, а Reti ги поддържа. Той е направил няколко видеоклипа в YouTube, демонстриращи OpenGenera на Linux.

Той говори за [видео] процеса на внедряване на едночиповите машинни процесори Lisp.

Сега това е важно.

Когато различни хора ви кажат, че могат да постигнат такава огромна разлика в производителността – една десета от хората отделят една десета от времето, за да свършат една и съща работа – трябва да обърнете внимание.

Видео в Youtube

„По-доброто е враг на доброто“

Не съм тук, за да ви кажа, че Lisp машините са били някаква върховна супер работна станция. Среда, която е предимно полуинтерпретиран код, работещ в едно споделено пространство на паметта, не е много стабилна … и когато се срине, ако нямате моментна снимка, към която да се върнете, ви очаква болка.

Въпросът тук не е, че тази отдавна изчезнала технология беше по-добра във всяко отношение. Не беше. Но имаше предимства и е поучително да разгледаме някои от тях, които бяха споделени както от Lisp, така и от Smalltalk машини.

Бяха написани на един език или предимно на един, докрай. Както първоначалният внедрител на Smalltalk Dan Ingalls го каза: „Операционната система е колекция от неща, които не се вписват в езика; не трябва да има такъв.“

Те имаха всеобхватен модел на данни, по целия път надолу по стека. В Smalltalk всичко е обекти. В Lisp всичко е списъци. Това, което Unix моделът предлага в сравнение, е слабо: Всичко е файл.

Още големи лъжи

Unix моделът на изчисление е проектиран в отговор на Multics, оригиналната изцяло пееща и танцуваща операционна система от 60-те години на миналия век. За разлика от това, Unix беше предназначен да бъде върховният минимализъм (въпреки че вече не е така).

Това показва още една от големите лъжи, които всички просто приемат като прочетени, но тази има слоеве като зеле:

  • За скорост се нуждаете от език, който е близък до метала. Това означава, че трябва да е много просто. Това има разходи, но те си заслужават: програмистът трябва ръчно да управлява паметта си, което означава, че трябва да бъде много, много внимателен.
  • Но това е трудно, така че за да направите живота по-лесен, наслоявате по-прости езици отгоре. Рано, AWK и SED и така нататък; по-късно, Perl и Python; след това още по-късно, времена за изпълнение като JVM и WASM и езици отгоре на това, като Clojure или Scala.
  • С узряването на стека нарастват все повече слоеве. По-високите слоеве са все по-далеч от метала.
  • Много от тези езици са много по-лесни, но по-бавни. В старите времена трябваше да пренапишете кода на език от по-ниско ниво за скорост, като C++. И какво, ако е огромно? Не ви трябва всичко! И какво, ако е трудно за четене? Беше трудно да се пише!
  • След това с времето компютрите продължават да стават по-бързи, така че можете да запазите неефективното внедряване и да продължите.

Резултатът е народно вярване, че има необходим, имплицитен контраст между „четливо“ и „бързо“. Това е едно от големите предположения зад училищата за проектиране на ОС както на Unix, така и на Windows, че различните езици са най-добри за различни работни места и затова ви е необходима комбинация от тях. Това означава, че слоевете са изолирани един от друг, поради различни модели на съхранение на променливи, управление на паметта и т.н.

Това е една голяма лъжа.

Първо, защото слоевете не са запечатани: езиците от по-високо ниво обикновено се внедряват в такива от по-ниско ниво и уязвимостите в тях проникват в стека.

Например, често срещан начин да се опитаме да направим нещата по-безопасни е да ги обвием в среда за изпълнение или виртуална машина, но това не решава проблема, а създава нови. Проблем: Езикът елиминира цели типове грешки, но те продължават да съществуват във VM. Проблем: Сега вашият код зависи от производителността на VM. Проблем: Опитайте се да поправите някое от тези, рискувате да разбиете кода. Проблем: Тъй като виртуалната машина не е част от операционната система, в крайна сметка имате множество виртуални машини, всички споделящи тези проблеми.

Второ, има доказателство за съществуването , че множество проекти и продукти, успешни за времето си, показват, че ако изберете правилния език, можете да изградите целия си стек в едно.

Кодът на Lisp е структуриран като списъци, което е структурата на данните, която Lisp е проектиран да манипулира. Това е причината за легендарното му изобилие от скоби . Той също така прави много лесно писането на макроси, които манипулират програмния код, което означава, че програмите могат да променят себе си. Ето защо Нийл Стивънсън го нарече така:

Той е много четим и изключително мощен. Алън Кей, дизайнерът на Smalltalk, каза за Lisp :

Това са мощни качества – но вероятно само за определен тип ум.

Дилън обаче показва, че не е нужно да е така. Ако загубите нотацията, базирана на списък, да, има цена в ефективността и мощността, но резултатът е видим за четене от обикновените смъртни. Дилън не беше единственият опит да направи това. Има доста – PLOT , CGOL , сладки изрази , отменения проект Lisp 2 и други.

Планът беше Newton да бъде базирана на Dylan Lisp машина в джоба ви. Нютон беше бебето на Скъли. Джобс не го е измислил, така че той не го харесва, осмива го като „ драсканица “ и при завръщането си в Apple го убива заедно с Hypercard .

През 1993 г. Newton беше първият компютър на Apple, задвижван от Arm, архитектура на процесора, към която се върна 17 години по-късно. Беше планирано да бъде джобна работна станция на Lisp и стартира същата година, когато Symbolics прекрати производството на Lisp процесори и вместо това премина към DEC Alpha [PDF].

В крайна сметка голямата битка беше между специализиран хардуер, с персонализирани процесори, работещи с персонализирани операционни системи, срещу споделена технология с най-малък общ знаменател: UNIX, работещ отначало на готови чипове като Motorola на Sun-1 68000 и по-късно на RISC чипове като SPARC на Sun и MIPS R2000, пуснати на пазара същата година като RISC OS 2 на Acorn на своите ARM чипове . Кросплатформена ОС, разработката й е спонсорирана от Bell Labs и усъвършенствана в Калифорнийския университет, компилирана от източник, написан в съкратена форма на BCPL .

Както обикновено, по-евтиното и по-просто решение спечели. Стандартните чипове бяха заменени с по-бързи RISC чипове, най-общо казано, проектирани да изпълняват ефективно компилиран C код. След това, десетилетия по-късно, компютърът навакса: 32-битовите x86 процесори станаха сравними по производителност с RISC чиповете и завършихме с няколко разновидности на Unix на x86 плюс Windows NT. Unix, разбира се, първоначално е разработен на DEC PDP-7, преместен в PDP-11, а по-късно и неговия 32-битов наследник VAX. Междувременно Windows NT е проектиран от главния архитект на родната операционна система на VAX, VMS. Ето защо е толкова видимо повлиян от него. Вместо езика BLISS на DEC, NT е внедрен на родния език на Unix, C.

От гледна точка на Smalltalk или Lisp машина, те са братя и сестри, почти близнаци, с дълбоки корени в DEC. Те са представители на школа по дизайн, наречена „подходът на Ню Джърси“ от светилото на Лисп Ричард Габриел в есето му „ Лисп: добри новини, лоши новини, как да спечелим големи “ [PDF]. Той го сравнява с това, което нарича „подход на MIT“, а неговото обобщение на начина на Ню Джърси се нарича “ По-лошото е по-добро „.

Струва си да прочетете поне резюмето, но ключовите моменти са следните.

Той продължава:

Изводът обаче е жилото:

Времето определено доказа, че д-р Габриел е прав. Системите на училището в Ню Джърси дотолкова доминират в съвременната компютърна индустрия, че другият начин за писане на софтуер е прогонен в малка ниша.

Smalltalk се разви в Self, който роди JavaScript, който в ръцете на умел Smalltalker може да прави невероятни неща – но само неговият визуален дизайн трансформира компютърната индустрия.

Текстовият редактор на Lisp сега е само една от най-загадъчните опции на Linux кутии. Самият Lisp е маргинален език за програмиране, обичан от някои герои в индустрията, но пренебрегван от повечето – дори тези, които се нуждаят от най-добрите инструменти . Както каза един известен програмист на Lisp:

Ако искате да станете милиардер от софтуера, не искате рокзвездни гении; имате нужда от взаимозаменяеми зъбни колела , взаимозаменяеми и евтини.

Софтуерът, създаден с пинсети и лепило, не е здрав, без значение колко слоя добавяте. Той е ужасно крехък и се нуждае от армии от работници, които постоянно да поправят милионите му пукнатини и дупки.

Някога е имало по-добър начин, но той е изгубен от студените твърди пари и сега само няколко историци дори си спомнят, че е съществувал. ®

Бележка към началото

За да разгледате една Lisp машина в действие, както и BTRON и IBM i, този доклад от Chaos Computer Congress, озаглавен „ Какво загубихме? “, си заслужава да бъде гледан.

Подобни статии

Не пропускайте