Bell Labs often gets credit for creating the Unix operating system, but Bell never funded its development. In fact, the labs' management knew nothing about it. Bell Labs had committed developers to a multivendor project called Multics that made use of many new ideas for an operating system. But the project fell apart, and a Bell Labs participant, Ken Thompson, decided he wanted a personal version of Multics so he could write shoot-'em-up games, says Feldman (who was the No. 7 developer on the AT&T Unix project and is now president of the Association for Computing Machinery).
In the best tradition of software, Unix was an individual effort that took on a life of its own. Thompson crafted Unix on a Labs reject, a tiny DEC PDP 7 minicomputer with either 16 or 32 Kbytes of memory--Feldman isn't sure which. "Unix was written under great constraints," he says. "There was no memory and no CPU power. You'd be embarrassed today not to have more memory and CPU in your wristwatch."
Thompson designed his stripped-down operating system to move data in blocks or "pages" from a computer's random access memory onto disk, freeing up memory space. When they're needed again, the operating system knows to go to the disk and page them back into memory. This way, a big operating system can run on a small computer with a small amount of memory. His operating system also was a multiuser system. Even the mainframes of the day were limited to a single user, making computing time expensive. Thompson's Uniplexed Information and Computing System (Unics) would let two people use a computer at the same time.
The Computer Science Research Group at the Labs heard about Unics and wanted a copy. At the group's request, Thompson and a colleague, Dennis Ritchie, agreed they would add text formatting to their system, provided they were given a PDP 11/20, a larger machine. Thus, Unix text processing was born of barter. Unics became Unix; was recast in tighter, more portable C code; and was brought to market by AT&T as the Unix System III.
So Unix System III was the greatest piece of software--almost. Bear with me here.
IBM's System R
A research project at the company's Almaden Research Lab in San Jose, Calif., that gave rise to the relational database. In the 1970s, Edgar Codd looked at the math of set theory and conceived a way to apply it to data storage and retrieval. Sets are related elements that together make up an abstract whole. The set of colors blue, white, and red, for example, are related elements that together make up the colors of the French flag. A relational database, using set theory, can keep elements related without storing them in a separate and clearly labeled bin. It also can find all the elements of a set on an impromptu basis while knowing only one unique identifier about the set.
System R and all that flowed from it--DB2, Oracle, Microsoft SQL Server, Sybase, PostgreSQL, MySQL, and others--will have an impact that we're still just beginning to feel. Relational databases can both store data sets about customers and search other sets of data to find how particular customers shop. The data is entered into the database as it's acquired; the database finds relationships hidden in the data. The relational database and its SQL access language let us do something the human mind has found almost impossible: locate a broad set of related data without remembering much about its content, where it's stored, or how it's related. All that's needed is one piece of information, a primary key that allows access to the set. I like System R for its incredible smoothness of operation, its scalability, and its overwhelming usefulness to those who deal with masses of data. It's software with a rare air of mathematical truth about it.
Gene-sequencing software at the Institute for Genomic Research
It isn't a mammoth software system, but "on sheer technical brilliance, it gets 10 out of 10," Morgenthaler says. The institute's sequencing system helped subdivide the task of understanding the DNA makeup of 20,000 human genes. Its breakthrough insights into the human genome and sequencing analysis, plus its ability to recombine subunits of analysis into the whole, "accelerated the science of genomics by at least a decade," Morgenthaler says. We now have the tools to begin tracing the paths of human migration out of Africa. The human genome reveals how minute the genetic differences are between ethnic groups at a time when such information is sorely needed. It gives a scientific basis for how humans can view each other as brothers at a time when we seem in danger of destroying one another. The software will be called on to perform many additional gene sequencing feats; the roots of many diseases and puzzles of heredity remain to be solved. Seldom have great research and great software been more closely intertwined.
IBM System 360 OS Java language Mosaic browser Sabre system Macintosh OS Excel spreadsheet Apollo guidance system Google search rank The Morris worm
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, Kluev, Вы писали:
MY>>Java language MY>>Excel spreadsheet
K>В морг!
Ну вот так, двумя словами, и без какого-либо обоснования любой может обга..ть, только ценность замечания от этого отнюдь не возрастает.
Но с другой стороны безусловно не может не радовать небезразличие к данной теме За точку зрения спасибо.
Так вот, если бы ты потрудился выразить свое мнение более развернуто и аргументированно, то, уверен, твой пост был бы гораздо более интересен и полезен окружающим.
ЗЫ: Вообще-то в этой статье меня заинтересовал не столько сам рейтинг, сколько вопрос — как же все-таки, по каким критериям можно "оценивать" ПО. Я, как и автор, имею ввиду конечно не такие стандартные требования, как масштабируемость, надежность, безотказность, безопасность и т.п., предъявляемые к разным продуктам в той или иной степени. Меня интересует некий более абстрактный показатель "качества", который трудно охарактеризовать формально, но который тем не менее существует вне зависимости от нашего субъективного восприятия. Например: в чем секрет "гугла"? Ведь существовали же до него и существуют сейчас другие поисковые системы? Тем не менее именно он является сейчас по сути статус-кво в поисковой индустрии. Поэтому думаю неслучайно google page-rank (сердце google-search) попал в этот список. Сможешь ли ты или кто-то другой назвать причины почему сложилась такая ситуация и почему google page-rank де-факто стал образцом технологии экстра-класса? Смог бы ты лишь при его появлении в недрах лабораторий и до выхода на большой рынок, сказать, что он завоюет такую популярность? На каких критериях ты бы основывался делая такой вывод? Или это просто так фишка легла, сложилась удачная конъюнктура или была удачно проведена маркетинговая компания? В чем секрет успеха? Если бы ты брался за собственный поисковый движок, на какие моменты разработки делал упор? На общую организацию процесса, на применение какой-то уникальной технологии/алгоритма/научного открытия, или может просто стоит сделать упор на качество? Но ведь существует куча продуктов отменного качества, но так и оставшихся во "втором эшелоне", если можно так выразиться.
И еще: вот ты говоришь Java language в морг, а почему? Потому-что он лично тебе не нравится? А то что есть еще миллионы разработчиков, которые разве что не поклоняются ему, ты учел? Мне кажется его попадание в этот список не менее случайно, чем google page-rank. Думаю что его популярность (а именно основываясь на этом показателе в значительной мере можно говорить об успехе продукта) объясняется уж точно не какими-то усилиями Sun в этой области или маркетинговой компанией. Просто разработчики и менеджеры реально почувствовали что Java: 1) может реально сократить их сроки разработки; 2) дает не псевдо-кроссплатформенность, как например .NET; 3) повышает надежность продуктов, разрабатываемых с ее помощью. Говорю это не просто так, а как человек перешедший сначала с Basic на Delphi, затем с Delphi на C++ и лишь затем с C++ на Java. А теперь вопрос — а как мне сделать нечто столь же успешное как Java? На что делать упор? На стабильность работы VM, на языковые фичи, на отсутствие в нем оверхеда, на рекламную компанию, etc.? Можно ли будет после этого гарантировать, что мое детище будет ждать такой же успех и оно так же прочно войдет в умы разработчиков на десятилетия вперед?
Excel это вообще для меня образец того, как надо делать программы, пусть меня хоть двадцать раз закидают помидорами противники windows и microsoft в частности. Так что тут даже сказать ничего не имею.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Уже давно не greatest. Хорошая идея, но в plan9 её довели до ума.
MY>IBM's System R
Давить заразу надо было пока она была еще маленькая! Теперь ведь и не удавишь распоясавшуюся реляционную братию, везде
посгрес на мыскле сидит и сибейзом погоняет. На роль greatest тут уж скорее DEC RMS может претендовать. БД, которая по совместительству ещё и FS — об этом Oracle только громко и пиаристо мечтает, а ведь всё уже давно было сделано.
MY>Gene-sequencing software at the Institute for Genomic Research
Один маленький красивый алгоритм. В мире тысячи маленьких и безумно красивых алгоритмов. Что теперь, реализацию каждого из низ считать величайшим творением человеческого гения? :-O
MY>IBM System 360 OS
Дайте мне тяжелый предмет. Запущу им в аффтора, если не сможет не заглядывая в документацию отправить файло на печать. На каждый чих по десятку обязательных к упоминанию параметров, никаких умолчаний как принцип дизайна системы — это да, это блин greatest.
MY>Java language
Ой. А это вообще как сюда попало? Ничего нового в поделке нет, ничего замечательного тоже. Java это пример маркетингового гения а никак не программерского. Любая Smalltalk-система в разы красивше и элегантнее будет, а если взять Lisp с машинок Symbolics, то на Жабу вообще нельзя будет без снисходительной усмешки смотреть.
MY>Mosaic browser
Целых шесть раз тег img можно было на одну страницу использовать! Колоссально!!! А ведь технического ограничения не было. Просто так сдизайнили в NCSA.
MY>Sabre system
Я такого даже и не знаю. Значит точно в качель его.
MY>Macintosh OS
Preemptive multitasking. Колоссально. Вокруг в то время было столько восхитительных ОС, а они даже скоммунарить по человечески не смогли.
MY>Excel spreadsheet
Даже комментировать как-то стыдно. Испачкаться боюсь.
И ведь ни TeX, ни Metafont не помянули. DEC VMS как будто и не существовало... В общем, аффтар — ламер. Не жжот.
Здравствуйте, Win2k, Вы писали:
MY>>Любопытная статья: What's The Greatest Software Ever Written?
W> Плохая статья.
W> И ведь ни TeX, ни Metafont не помянули. DEC VMS как будто и не существовало... В общем, аффтар — ламер. Не жжот.
Понятно, на этом форуме появился еще один непризнанный гений Мы, жалкие ламеры, нервно курим в сторонке.
W> Плохая статья.
Несогласие с рейтингом еще не основание делать такой вывод.
MY>>Unix
W> Уже давно не greatest. Хорошая идея, но в plan9 её довели до ума.
Ага, был greatest, а потом перестал. Очень смешно.
Ньютон и Эйнштейн были великими учеными а потом перестали? Нет, несмотря на то, что многие идеи предложенными ими в свое время не выдерживают критики с точки зрения современных физических теорий, их вклад в науку и гениальность никто не аннулировал.
MY>>IBM's System R
W> Давить заразу надо было пока она была еще маленькая! Теперь ведь и не удавишь распоясавшуюся реляционную братию, везде W>посгрес на мыскле сидит и сибейзом погоняет. На роль greatest тут уж скорее DEC RMS может претендовать. БД, которая по совместительству ещё и FS — об этом Oracle только громко и пиаристо мечтает, а ведь всё уже давно было сделано.
Мда, невольно вспоминается хорошая американская поговорка: "если ты такой умный, то почему ты такой бедный?" (и аналогичная русская: "если ты такой тупой ,то почему ты такой богатый?" ). Где этот RMS, а где реляционные базы данных? Сколько людей вне данного форума знают про первый, а сколько используют второй? Не спорю, пройдет время и РБД. И может даже стандартом станет RMS. Но это нисколько не умаляет роль первых. Они оставили свой немаленький след и этого достаточно.
MY>>Gene-sequencing software at the Institute for Genomic Research
W> Один маленький красивый алгоритм. В мире тысячи маленьких и безумно красивых алгоритмов. Что теперь, реализацию каждого из низ считать величайшим творением человеческого гения? :-O
Тут оценивается не громоздкость алгоритмов, если ты не понял.
W>Java это пример маркетингового гения а никак не программерского.
Просто -1
MY>>Excel spreadsheet
W> Даже комментировать как-то стыдно. Испачкаться боюсь.
Когда дочитал досюда, уже не сомневался услышать такой ответ. С чего бы это ?
W> И ведь ни TeX, ни Metafont не помянули. DEC VMS как будто и не существовало...
Аналогично
W>В общем, аффтар — ламер. Не жжот.
А ты видимо падонок, это наверное круто, да?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, Master Yoda, Вы писали:
MY>Здравствуйте, Kluev, Вы писали:
MY>>>Java language MY>>>Excel spreadsheet
K>>В морг!
MY>Ну вот так, двумя словами, и без какого-либо обоснования любой может обга..ть, только ценность замечания от этого отнюдь не возрастает.
MY>Но с другой стороны безусловно не может не радовать небезразличие к данной теме За точку зрения спасибо.
MY>Так вот, если бы ты потрудился выразить свое мнение более развернуто и аргументированно, то, уверен, твой пост был бы гораздо более интересен и полезен окружающим.
Оценивать качество програм — это вообще пустое занятие. Слишком все субьективно, к тому-же во многих случаях побеждает отнюдь не качество и технология, а бизнес. Как например в случае с джава — типичный пример победы бизнеса нед технологией. Более того люди ленивые и часто побеждает то решение готорое только создает иллюзию простоты, но в действительности простым не является.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
W>>>Java это пример маркетингового гения а никак не программерского.
MY>>Просто -1
ANS>Вообще то, его заметки спорные, но это утверждение очевидно истинно.
Сходи на соотв. форум, там тебе объяснят почему ты не прав.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Интересный рейтинг... Но, пожалуй, я бы на "0" место поставил assembler (к собственному стыду, не знаю кто и когда его придумал), потому что если бы не было его, вряд ли бы в конечном итоге из того списка появилось бы хоть что-то кроме Apollo guidance system...
Здравствуйте, MaxxK, Вы писали:
MK>Интересный рейтинг... Но, пожалуй, я бы на "0" место поставил assembler (к собственному стыду, не знаю кто и когда его придумал), потому что если бы не было его, вряд ли бы в конечном итоге из того списка появилось бы хоть что-то кроме Apollo guidance system...
Здравствуйте, FR, Вы писали:
FR>Здравствуйте, MaxxK, Вы писали:
FR>Для лисп или форт машины ассемблер не обязателен
Честно говоря, не имею даже представления о них, но могу предполагать, что интерпретаторы должны быть написаны на языке того процессора, на котором они работают (если, конечно, речь идет о физической машине).
MaxxK wrote: > FR>Для лисп или форт машины ассемблер не обязателен > Честно говоря, не имею даже представления о них, но могу предполагать, > что интерпретаторы должны быть написаны на языке того процессора, на > котором они работают (если, конечно, речь идет о физической машине).
Есть машины, для которых Явавский байт-код — это машинный код. Там почти
все инструкции реализованы в железе.
Здравствуйте, Cyberax, Вы писали:
C>Есть машины, для которых Явавский байт-код — это машинный код. Там почти C>все инструкции реализованы в железе.
Следовательно, для такой машины ассемблер — инструкции байт-кода. В принципе, с моей точки зрения, ассемблер — это язык, который может преобразовываться в опкоды процессора практически без преобразований (одна инструкция языка преобразуется лишь в одну инструкцию процессора и любая программа, написанная на таком языке, может однозначно проходить преобразование в обе стороны (условно назовем это ассемблингом/дизассемблингом)). Хотя, конечно, для машин, исполняющих байт-код (будь то Java, или MSIL — пару лет назад читал где-то о таком процессоре) утверждение "ассемблер — основа всех основ" довольно беспочвенно.
Здравствуйте, MaxxK, Вы писали:
MK>Здравствуйте, FR, Вы писали:
FR>>Здравствуйте, MaxxK, Вы писали:
FR>>Для лисп или форт машины ассемблер не обязателен MK>Честно говоря, не имею даже представления о них, но могу предполагать, что интерпретаторы должны быть написаны на языке того процессора, на котором они работают (если, конечно, речь идет о физической машине).
Какие еще интерпретаторы? Есть Форт процессоры которые выполняют напрямую фортовский шитый код, ассемблера там нет вообще. Вернее Форт и есть ассемблер для них
Здравствуйте, FR, Вы писали:
FR>Какие еще интерпретаторы? Есть Форт процессоры которые выполняют напрямую фортовский шитый код, ассемблера там нет вообще. Вернее Форт и есть ассемблер для них
Вот-вот, в этом и есть основная мысль. Можно (теоретически) сделать процессор, который будет принимать в качетсве программы исходный текст BASIC, и тогда BASIC это и есть ассемблер для этой машины. Даже если для нее будет написан компилятор C — все равно выходная программа будет на BASIC. Суть ассемблера — промежуточный язык между процессором и программистом, тонкая пленка. И именно поэтому он — The Greatest Software Ever Written.
Здравствуйте, MaxxK, Вы писали:
MK>Здравствуйте, FR, Вы писали:
FR>>Какие еще интерпретаторы? Есть Форт процессоры которые выполняют напрямую фортовский шитый код, ассемблера там нет вообще. Вернее Форт и есть ассемблер для них MK>Вот-вот, в этом и есть основная мысль. Можно (теоретически) сделать процессор, который будет принимать в качетсве программы исходный текст BASIC, и тогда BASIC это и есть ассемблер для этой машины. Даже если для нее будет написан компилятор C — все равно выходная программа будет на BASIC. Суть ассемблера — промежуточный язык между процессором и программистом, тонкая пленка. И именно поэтому он — The Greatest Software Ever Written.
Здравствуйте, AndrewVK, Вы писали:
AVK>Сходи на соотв. форум, там тебе объяснят почему ты не прав.
А все-таки, интересно было бы услышать вкратце какая часть Java делает ее Greatest.
Сам на ней много пишу и по-моему она не дотягивает до Smalltalk и Caml(оба появились задолго до Java) ни как язык ни как VM.
прежде чем понять рекурсию, необходимо понять рекурсию.
граммофон wrote: > AVK>Сходи на соотв. форум, там тебе объяснят почему ты не прав. > А все-таки, интересно было бы услышать вкратце какая часть Java делает > ее Greatest.
Самого языка — никакая.
Java великим достижением делает прежде всего сложившаяся экоструктура из
разных библиотек, особенно в области enterprise.
Например, IDEA — это самая лучшая из существующих IDE (Eclipse тоже
вполне себе ничего), полных аналогов которой нет ни в ST, ни в OCaml.
Потом есть JBoss — с его фичами типа распределенных транзакций на графах
обычных объектов.
Или сама JVM — с ней уже ни одна VM не сравнится. В JVM1.6 будут фичи,
до которых остальным VM еще как до Луны.
Здравствуйте, Cyberax, Вы писали:
C>Или сама JVM — с ней уже ни одна VM не сравнится. В JVM1.6 будут фичи, C>до которых остальным VM еще как до Луны.
Если можно, отсюда поподробнее. Какие текущие фичи делают JVM особенной и какие сделают еще более?
Остальные пункты конечно перпендикулярны Java как таковой.
Тем более что по части IDE со Smalltalk нелегко тягаться в силу его рефлексивной image-природы.
прежде чем понять рекурсию, необходимо понять рекурсию.