Программирование: история и прогноз
May. 27th, 2005 02:56 pmРешил сам для себя сделать небольшое "концептуальное" обозрение истории программирования и языков. Нанёс на график основные вехи. По одной оси - время от 50-х годов до сегодняшнего дня, по другой - нечто, что можно описать как "степень интереса, надежд, тенденций и всего такого". Получился закономерный "колокол" нормального распределения с небольшими случайными отклонениями.
На втором графике я сделал прогноз на следующие 50-60 лет, учитывая получившийся паттерн.

Таким образом, я делаю вывод, что программирование (языки, технологии, концепции) будет находиться в упадке ещё лет 10, но в 20-х годах следует ожидать появления новых идей (о которых пока и догадываться невозможно), совсем новых парадигм программирования и на их основе новых языков. В 40-х годах - нового расцвета языков и исследований; появления совсем новой революционной технологии годах в пятидесятых, дальнейшего развития программирования на её основе; победу какого-то одного языка к середине 50-х; неизбежного его усложнения к началу 60-х; потерю интереса к новому программированию как к искусству и превращения его в индустрию в середине шестидесятых годов 21-го века.
no subject
Date: 2005-05-27 06:34 am (UTC)Должно быть интересно.
no subject
Date: 2005-05-27 06:41 am (UTC)no subject
Date: 2005-05-27 06:47 am (UTC)no subject
Date: 2005-05-27 07:10 am (UTC)Только как ты определял амплитуду "Надежд..."? На глаз?
no subject
Date: 2005-05-27 07:15 am (UTC)no subject
Date: 2005-05-27 07:23 am (UTC)no subject
Date: 2005-05-27 07:32 am (UTC)Вот, например, почему Аду Лавлейс называют "первой программисткой" ? (она же на самом деле не была уж совсем первой). А потому, что она первая написала, что компьютер может оперировать не только числами, но и символами, что и послужило началом всему остальному.
Я думаю, что компьютер следующего поколения должен будет оперировать не только числами и символами, но и какими-то неизвестными нам абстрактными категориями, которые в существующей архитектуре непредставимы. Если исследование мышления продвинется в какой-то серьёзной степени, тогда и компьютер можно будет моделировать по образу и подобию.
no subject
Date: 2005-05-27 07:37 am (UTC)Особенно если гипотеза Пенроуза верна :-)).
no subject
Date: 2005-05-27 07:40 am (UTC)no subject
Date: 2005-05-27 08:07 am (UTC)Обосновывает он это тем, что человек способен понимать математику, не смотря на теорему Геделя о неполноте.
no subject
Date: 2005-05-27 08:12 am (UTC)no subject
Date: 2005-05-27 08:43 am (UTC)На русском выходили "Новый ум короля" и половина "Теней разума". В электронном виде я не нашел, на на русском, ни на англисском.
no subject
Date: 2005-05-27 08:46 am (UTC)no subject
Date: 2005-05-27 08:49 am (UTC)no subject
Date: 2005-05-28 12:09 pm (UTC)no subject
Date: 2005-05-27 08:19 am (UTC)no subject
Date: 2005-05-27 07:35 am (UTC)Зря Вы забыли отметить язык Miranda и ее современного наследника Haskell (который стал фактически стандартом в computer science).
Еще APL (компьютерный Ithkuil ;-)). Его потомки широко применяются в системах анализа данных.
Сейчас набирает популярность язык OCaml, возможно лет через 5 он серьезно потеснит C++.
no subject
Date: 2005-05-27 07:50 am (UTC)Про Miranda я не знаю совсем, а Haskell - это, конечно, хорошо, но опять же: я говорю только о mainstream. Понятно, что и на Лиспе ещё пишут в университетах, и на Смоллтолке даже в промышленных масштабах, и я сам лично вёл последний курс по APL (это мой любимый язык) в израильском Технионе, правда, курс этот прикрыли году в 98-м за "ненадобностью".
Так что я говорю только о тенденциях, а не о том, что всё это вымерло окончательно.
Интересно, что вы сравнили APL с Ithkuil'ом. Я только сегодня об этом же подумал, потому что прямо сейчас перевожу интереснейшее интервью с создателем Ithkuil'а, и пожалел, что не задал ему этот вопрос. Хотя он может и не знать о программировании ничего.
no subject
Date: 2005-05-27 08:11 am (UTC)APL зря они прикрыли. Язык K (его потомок) вполне мог бы многим пригодиться.
no subject
Date: 2005-05-27 08:14 am (UTC)А про К ничего не знаю, слышал только про J.
no subject
Date: 2005-05-27 08:41 am (UTC)На нем написана (почти, да простит меня
no subject
Date: 2005-05-27 08:58 am (UTC)http://odzillazine.jot.com/WikiHome/Contents/Issue%202/APL.zip
no subject
Date: 2005-05-27 06:28 pm (UTC)с ними железо не потягается и языки они уже будут сами доводить до ума
no subject
Date: 2005-05-28 12:30 pm (UTC)a pocemu ne upomianuti AOP (http://en.wikipedia.org/wiki/Aspect-oriented_programming), Software patterns, pattents i FOSS ?:)
poslednije osobenno sposobstvujet programirovaniju kak remeslu, osobenno seicias kogda uvelicivajetsia interess k OSS. Jesli uzakoniat zhestkije patenti po otnosheniji k kodu, to eto esio usilitsia. Nedavno na /. obsuzhdalas' vozmozhnost' imet' polnocennij dohod ot vipolnenija bounties.
kstate, mozhno li posmotret' interv'ju s Jimbo Walles, kotoroje kakojeto vashe izdanije bralo?
no subject
Date: 2005-05-30 01:33 am (UTC)Что такое FOSS не знаю.
Интервью надо мне сначала перевести, потом покажу.
no subject
Date: 2005-05-30 09:25 am (UTC)no subject
Date: 2005-06-01 04:14 am (UTC)Я тоже вот до всех пытаюсь донести мысль об упадке программирования...
no subject
Date: 2005-06-01 04:19 am (UTC)no subject
Date: 2005-06-20 01:16 am (UTC)no subject
Date: 2005-06-20 01:17 am (UTC)Язык в рамках успешной парадигмы может быть любым.
А печальный пример Ады и PL-I доказывает, что никакие деньги, комитеты и корпорации (и даже министерства обороны) ничего здесь не решают.
С стал успешным не потому, что за ним стояла AT&T, а потому что на нём был написан Unix, который в свою очередь объективно был лучше всего остального.
С++ стал успешным потому, что на него было удобно перейти с С, а парадигма была гораздо богаче.
Java стал успешным потому, что не него было удобно перейти с С++, а программировать было легче и безопасней.
no subject
Date: 2005-06-20 02:35 am (UTC)А парадигмы и паттерны - это прорва. 70 тыс классов в J2EE это не достижение, а безобразие. Низкоуровневая машина CPU слишком универсальна и примитивна по сравнению с устоявшимися составляющими языков: стек, exceptions, threads, heap, locks, resources. 99% языков проэволюционировали до степени, когда отличаются друг от друга только синтаксисом. Т.е. эволюция кончилась победой универсального языка. Этот язык не какой-то конкретный, а набор выше перечисленных обязательных компонент.
Языки возникают как ответ на значительные для определенного этапа развития проблемы. В каждую эпоху свои. В годы структурного становления (Pascal, Modula), объектов (С++, Object Pascal), надежности и переносимости (Java, C#). Сейчас проблем просто не осталось. Крупных по крайней мере.
no subject
Date: 2005-06-20 02:50 am (UTC)no subject
Date: 2005-06-20 03:15 am (UTC)Что будет через 50 лет ? (а может и через 2-3 года если Cell победит). Я думаю железо будет очень простым, проще чем сейчас. Что-то вроде свободно перепрограммируемого FPGA. Софт OC будет грузиться как firmware в FPGA создавая поля из процессоров и памяти, а прикладное обеспечение будет на межплатформенном языке типа IL. Выбирая железо люди будут просто решать сколько им нужно килопроцессоров, мегаканалов и терапамяти, а программисты будут увлечены обсуждениями технологий IL-FPGA трансляции.
no subject
Date: 2005-09-23 01:37 pm (UTC)А они уже появились? :-)))
no subject
Date: 2005-06-29 11:19 am (UTC)я конечно не такой умный как другие, но пару центов добавить хотелось бы
-упадок какой-то есть, но скорее не в языках, а в новых алгоритмах вообще. с 70-х годов там мне кажется мало нового что сделано
-полносью пропущены языки баз данных. pl/sql как жил так и живет и java никакие его пока не съели и там все хорошо
-а самый популярный язык сейчас VB! А уж про Excel вообще молчу
Это как с фоторгафией - из удела профессионалов реализация безнес-логики растекается по обычнм людЯм