Комментарии 16
Старовата статья, немного странно читать о том, что Java — это самая последняя новинка.
Почему он так думает? Давайте посмотрим, что творится в это время в голове у начальника-профана. То, что он думает, выглядит вот так. Java это стандарт. Я знаю, так должно быть, потому что я постоянно читаю об этом в СМИ. Поскольку это стандарт, у меня не будет проблем из-за его использования, что также означает, что всегда будет куча Java программистов. Поэтому, если программисты, работающие сейчас на меня, уволятся, так как все программисты, работающие у меня, так всегда и делают по какой-то таинственной причине, я могу с легкостью их заменить.
Ну, это не лишено смысла. Но это все основано на одном негласном предположении, которое на самом деле ложно. Такой начальник считает, что все языки программирования довольно сильно схожи.
Вот по мне так очень странный вывод. Из первого абзаца я сделал бы вывод прямо противоположный. Что языков то много. Но типа Java это mainstream и найти ресурсы намного проще чем для других языков + у конкретного языка широкая экосистема, что облегчает внедрение новых продвинутых технологий.
Но не как ни тот вывод что делает автор.
java была создана так, чтобы cpp-програмисты могли ее быстро изучить; срр был создан также, но с упрором на с… в 2002 никакой экосистемы не было ни у одного языка, все были в равной степени неадекватны, и программисты обучались с упором на быструю реакцию изменения запросов на рынке (обучали основам и принципам, но никак не языкам, а тем более экосистемам). В 90х экосистема — то, что дали операционная система и библиотека языка программирования, опенсорсные библиотеки boost+stl, gnu (libc)+… никак не могли помочь в стандартизации, образовании и работе: из-за глючных компиляторов и «уникальных» библиотек, монополизма MS, мизерной доли *nix-ов.
В 2002 ситуация только начала исправляться, в результате бума доткомов, появилась армия неприкаяных веб-дизайнеров, которые и были вынуждены перейти с перлов и пиэчпи на принципиально средообразующию java, которая стала расти в ширь apache-ми, springo-м и jdbc (насколько tomcat и иже с ними оказали влияние, мне не ведомо, в то время был абсолютно уверен, что это будущее).
| Но типа Java это mainstream
Вот чем java тогда не была, так это mainstream, но она осваивала новые области, незанятые другими языками. И если бы не js(который создавался как java для бедных) она былы бы основным web-языком.
|Такой начальник считает, что все языки программирования довольно сильно схожи.
Не только начальник, сколько создатели языков вынужденно шли эволюционным путем, просто не было программистов на «новых» языках, как в общем, и на старых, все быстро и фатально менялось. Обучение перестало быть фундаментальным, все выродилось во вкусовщину и сию-минутность, а в этом смысле все языки одинаковы на вкус, одинаково мозгодробительны. И остается лишь плач-ярославны о CASE-системах, высокоуровневых языках с интеграцией баз данных и экспертных системах на которые молились в 90х.
И DSL из той же слезной лужи, и чтот «меня терзают смутные сомнения»… все канет в Лету, не может борьба со сложностью победить вкусовщину, mainstream, как раз, и есть создание сложности, только за нее платят.
В 2002 ситуация только начала исправляться, в результате бума доткомов, появилась армия неприкаяных веб-дизайнеров, которые и были вынуждены перейти с перлов и пиэчпи на принципиально средообразующию java, которая стала расти в ширь apache-ми, springo-м и jdbc (насколько tomcat и иже с ними оказали влияние, мне не ведомо, в то время был абсолютно уверен, что это будущее).
| Но типа Java это mainstream
Вот чем java тогда не была, так это mainstream, но она осваивала новые области, незанятые другими языками. И если бы не js(который создавался как java для бедных) она былы бы основным web-языком.
|Такой начальник считает, что все языки программирования довольно сильно схожи.
Не только начальник, сколько создатели языков вынужденно шли эволюционным путем, просто не было программистов на «новых» языках, как в общем, и на старых, все быстро и фатально менялось. Обучение перестало быть фундаментальным, все выродилось во вкусовщину и сию-минутность, а в этом смысле все языки одинаковы на вкус, одинаково мозгодробительны. И остается лишь плач-ярославны о CASE-системах, высокоуровневых языках с интеграцией баз данных и экспертных системах на которые молились в 90х.
И DSL из той же слезной лужи, и чтот «меня терзают смутные сомнения»… все канет в Лету, не может борьба со сложностью победить вкусовщину, mainstream, как раз, и есть создание сложности, только за нее платят.
50 лет человеку, и до сих пор словно в стране эльфов живёт, честное слово.
Я один заметил что статья датирована маем 2002 года? А то тут уже про эльфов комменты
Lisp и Fortran были ветвями двух различных древ эволюции. Один брал свое начало из математики, а второй – из архитектуры машин.
Я вот например понимаю, что из математики брал начало Fortran, а из архитектуры Lisp, но все же многие могут понять с точностью до наоборот, поскольку порядок изложения не совпадает в первом и втором предложении.
Поскольку чуть выше про Lisp написано, что «этот язык 1950-х годов не относят к устаревшим, является тот факт, что его основой была не технология, а математика», то понять наоборот — что Lisp берёт начало из математики, а Fortran из архитектуры, будет естественно. Тем более, что такие ключевые для фортрана вещи, как Common-блоки и Equivalence, ничем, кроме архитектуры, объяснить нельзя. А в Lisp на архитектуру завязана только реализация, и то по необходимости.
Вы писали на лиспе и фортране? Лисп-машины вам о чем нибудь говорят? А то что на фортран математически ориентированный язык — это знал любой школьник в мое время. Я писал на обоих языках, и поэтому обратил внимание на ошибку в подаче материала, которая может ввести в заблуждение людей которые на застали данные языки.
Писал. И на лиспе, и на фортране. Действительно, фортран, как следует из его названия — formula translator — язык, ориентированный на математические задачи. И не более того. Это всего лишь переводчик формул на наиболее распространённую архитектуру.
Лисп ориентирован на что угодно, но построен на одной из математических моделей алгоритмов. К сожалению, у меня не было необходимости разбираться в нём очень глубоко, и писал я, скорее, в процедурном стиле, как ни глупо это звучит. setq был любимой функцией.
Лисп-машины — термин я слышал, подробно не разбирался. Всегда предполагал, что это специальная архитектура, созданная под лисп, но, поскольку мы сейчас не живём в мире таких машин, то либо я был не прав, либо эта архитектура оказалась чем-то неудачной.
Лисп ориентирован на что угодно, но построен на одной из математических моделей алгоритмов. К сожалению, у меня не было необходимости разбираться в нём очень глубоко, и писал я, скорее, в процедурном стиле, как ни глупо это звучит. setq был любимой функцией.
Лисп-машины — термин я слышал, подробно не разбирался. Всегда предполагал, что это специальная архитектура, созданная под лисп, но, поскольку мы сейчас не живём в мире таких машин, то либо я был не прав, либо эта архитектура оказалась чем-то неудачной.
Чуть ниже я уже написал, что не прав, автор действительно имел ввиду, то что написал.
Лисп построен исходя из математических моделей (как в общем-то и любой другой язык — теория компиляторов и все такое), но эти модели все равно ориентированны на архитектуру, т.е. делали так, чтобы язык максимально эффективно исполнялся на цифровых вычислительных машинах.
Имхо, тут как с курицей и яйцом, можно спорить бесконечно и правых не будет.
Лисп построен исходя из математических моделей (как в общем-то и любой другой язык — теория компиляторов и все такое), но эти модели все равно ориентированны на архитектуру, т.е. делали так, чтобы язык максимально эффективно исполнялся на цифровых вычислительных машинах.
Имхо, тут как с курицей и яйцом, можно спорить бесконечно и правых не будет.
Лисп построен исходя из математических моделей (как в общем-то и любой другой язык — теория компиляторов и все такое), но эти модели все равно ориентированны на архитектуру, т.е. делали так, чтобы язык максимально эффективно исполнялся на цифровых вычислительных машинах.
Это неверно. Лисп изначально требовал сборщик мусора, поэтому считался академическим, а не практическим языком, потому что мощностей машин не хватало на автоматическое управление памятью.
Кроме того, рекурсивные ф-ции основа Лиспа, когда первые версии Фортрана обходились без них, чтобы быть ближе к машинным архитектурам с ограниченным стеком или без него.
Возможно дело в том, что порядок изложения на самом деле совпадает, и резюмирует то, о чём написано в предыдущих ДЕВЯТИ абзацах. Какую кашу нужно иметь в голове, чтобы найти в статье ошибку, которой нет, потому что она согласуется с вашим представлением о мире, хоть и не согласуется с самой статьёй.
Перечитал статью внимательно и да — действительно, автор имел ввиду, то что имел ввиду. Я не прав — нет ошибок в изложении материала.
Но… Лисп — брал начало из математики, а фортран из архитектуры машин? Бог ты мой — откуда такие категоричные выводы?
1) Если подходить формально — все это математематика и архитектура — в программировании они всегда связанны.
2) Один простой факт о лиспе говорит что он машинно ориентированный — а именно польская запись всех выражений — зачем так сделали? говорят для скорости — так быстрей происходит разбор машиной выражений — это правда, и где тут математика? Все сделано в угоду машины, но не человека.
3) Фортран имел наиболее мощную математическую библиотеку в свое время, даже втроенный тип для комплексных чисел, огромное число математических вычислений проводилось именно на фортране. И все было сделано для людей, а не в угоду машине.
ПС. Короче, с автором статьи можно как минимум поспорить, не все тут однозначно.
Но… Лисп — брал начало из математики, а фортран из архитектуры машин? Бог ты мой — откуда такие категоричные выводы?
1) Если подходить формально — все это математематика и архитектура — в программировании они всегда связанны.
2) Один простой факт о лиспе говорит что он машинно ориентированный — а именно польская запись всех выражений — зачем так сделали? говорят для скорости — так быстрей происходит разбор машиной выражений — это правда, и где тут математика? Все сделано в угоду машины, но не человека.
3) Фортран имел наиболее мощную математическую библиотеку в свое время, даже втроенный тип для комплексных чисел, огромное число математических вычислений проводилось именно на фортране. И все было сделано для людей, а не в угоду машине.
ПС. Короче, с автором статьи можно как минимум поспорить, не все тут однозначно.
Один простой факт о лиспе говорит что он машинно ориентированный — а именно польская запись всех выражений — зачем так сделали?
Чтобы записывать выражения напрямую в нотации лямбда-исчисления Чёрча, как есть, без условностей, удобных машинам ))
Фортран имел наиболее мощную математическую библиотеку в свое время
Пока Лисп был академическим языком, Фортран был практическим, применяемым для решения задач. Поэтому была наработана большая библиотека численных вычислений.
даже втроенный тип для комплексных чисел
Это потому что императивные языки доросли до задания пользовательских типов данных только с Алголом, который передал это в Паскаль и Си. Ничего не поделаешь, считать надо, а тип описать нельзя, поэтому пришлось включить в язык.
В Лиспе с этим проблем не было изначально.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пол Грэм: «Месть ботанов», часть 1