Комментарии 154
Дональд Чемберлин и Рэймонд Бойс разрабатывают язык на котором смогут писать даже домохозяйки. По итогам язык дальше чем INSERT, SELECT, UPDATE, DELETE не могут освоить половина программистов, но он всё равно становится очень популярным.
Гугл попробовал ворошить горы логов и случайно изобрёл механизм MapReduce, чтоб сэкономить на оперативной памяти. Идея так понравилась людям, что они начали с помощью этого алгоритма считать pi,e и количество слов в файле с применением сотен процессоров и гигабайт оперативной памяти. С тех пор об оптимизации подзабыли.
2010
Ребята Apache Foundations замечают, что домохозяйкам и той самой половине программистов уже ясен смысл select, insert и больших данных, но всё ещё не непонятен update и delete, и выпускают Apache Hive без оных ( а заодно и без ACID, потому что сложно).
Хехе. В Hive все это уже появилось
В голосину)) "Язык структурированных запросов, имя которого нельзя произносить вслух")))
Джон Маккарти — разочарованный отсутствием специального языка для работы со списками изобретает Lisp. Но тот оказывается Тьюринг полным и на нём начинают писать все подряд.
Ну или как-то так ¯\_(ツ)_/¯
Есть lua, но нет языка 1С и других киррилических языков :)
Так что они убирают номера строк и называют своё детище BASIC.Но у бейсика как раз были номера строк. Их убрали только в поздних версиях.
До сих пор перед глазами стоят:
10
20
30 ГОТО 10
Жан Ишбиа решает создать язык, посвящённый Аде Лавлейс и носящий её имя.
Да ну? Интересно, а что я тогда читал в 1980 году в ГПНТБ, если не описание языка Ада?
1968 Ричард Мерилл работая над PDP-8 устал считать и случайно придумал focal.
Юкихиро Мацумото несчастен и замечает несчастье окружающих. Он создаёт Ruby, чтобы сделать окружающий мир чуточку счастливее. Это работает, и все становятся счастливы.
Звучит как стих из Библии))
В статье прям скепсис какой-то ко всем языкам, кроме Ruby. Почему так?
Чарльз Мур захотел изобрести язык программирования, лёгкий в реализации. Потому число версий языка Forth заметно опережает количество людей, с ним знакомых.
незаслуженно забыты фортран, паскаль, ассемблер.
Так и фортран же есть, 1957.
А что Kotlin? Это даже не новый язык, а новый синтаксис для неспособных в Скалу.
Из жалости один монах
Больного призрел, и в стенах
Хранительных остался он,
Искусством дружеским спасен.
Наверное, должно быть очень стыдно, но, почему-то, это не так. Вообще-то я достаточно грамотно пишу.
APL тогда уж, там всем скрижалям скрижали, и алфавит вполне себе дьявольский.
Причём сначала придумывается язык, а уж после — среда для его использования.
В результате, человеческих ошибок меньше не становится, а сложность новых языков только повышается.
По мне так нужно было остановится на чистом Си, и в корне переработать среду его применения. Научить IDE полноценно ассистировать пользователю в процессе набора кода, автоматически проверять на ошибки, и главное — предлагать варианты алгоритмов.
Подсказка: это не автоподстановка в классическом варианте, это что-то уровня собеседника с развитым ИИ и автоматическим самообучением.
сначала придумывается язык, а уж после — среда для его использования
Угу. Что ярко иллюстрируется такими примерами, как LISP, FORTRAN, COBOL, PHP, JS, Scala...
Научить IDE полноценно ассистировать пользователю [...]
Я вот не использую IDE вовсе, например. Кроме того, если уж IDE такая умная, то, может быть, пусть она сама и код пишет?
все усилия направлены на снижение вероятности человеческой ошибки
И эрлангу это удалось.
Кроме того, если уж IDE такая умная, то, может быть, пусть она сама и код пишет?
Генерация G кода по 3D модели.
Насчёт курицы и яйца…
На салфетке можно писать код, но очень простой и короткий, примерно как а ардуино. Для более сложного кода нужна поддержка со стороны IDE.
Для более сложного кода нужна поддержка со стороны IDE.
Или опыт и интеллект.
Или так, да.
Как минимум автоподстановка?
В статически типизированных языках IDE нужна еще меньше.
Для блочной структуры можно, а чаще — просто необходимо использовать бумагу и карандаш. До момента просветления. Чтобы не писать лишнего кода.
А вот сам код в IDE, да под системой контроля версий.
Я просто не верю что код на 10кк строк можно написать сразу и без ошибок, даже если он линейный. И уж тем более в блокнотике или на бумаге.
Я так-же не верю тем, кто заявляет что пишет на ассемблере по 10к строк. Это практически то-же самое что и любой скриптовый язык на бумаге шариковой ручкой.
И ещё. Я не видел ни одного проекта средней жирности, который был-бы написан на бумаге от начала и до конца.
Так-что писать можно, говорить об этом можно — громко и везде. А главное — по собственной инициативе. Чтобы работодателям было сразу понятно — кого увольнять первым.
Между бумажкой и IDE — притаились текстовые редакторы, которых вполне достаточно.
Что касается громко говорить — работодателям иногда хватает подтвержденных компетенций сотрудника, чтобы не проверять, в чем он там пишет код. У нас джуны все в IDE делают, потом подрастают, на старших товарищей смотрят, и выбрасывают IDE в мусорную корзину, потому что они только мешают.
Хотя всё может быть, недавно с восхищением наблюдал за работой человека, который даже под win использовал vim и вместо copy-replace не задумываясь написал regexp, который скопировал, вставил и поправил всё, что нужно.
Блокнот придумали в этой ветке, я никогда не говорил ничего про блокнот. Например, в отличие от Роба Пайка, я не могу без подсветки синтаксиса.
Но да, я тоже более-менее сложный copy-replace всегда делаю регулярками, потому что себе я доверяю, а тому, кто писал умный рефакторинг — нет.
Да что уж там, я даже JetBrains (уж казалось бы) не всегда доверяю, как минимум после того, как по команде "убрать лишние круглые скобки" WebStorm убрал заодно и пробел в "void 0". Всё не доходят руки проверить, не нужен ли багрепорт...
я не могу без подсветки синтаксиса.
Вы-же утверждали что не пользуетесь IDE. Вместо клавиш — у вас салфетки, горы салфеток.
Как-же так?
человеческих ошибок меньше не становитсяСтановится, посмотрите на Rust который страхует от многих популярных ошибок имеющихся в C/C++.
возможно, кто-то действительно вернулся из будущего и постарался сделать так, чтобы не существовало языка программирования, на котором машина могла бы самостоятельно, без участия человека, написать для себя программу и интеллект :) Да ещё и без ошибок.
у человечества должен быть козырь в рукаве при игре в бога с машиной ;)
PS представил себе ИИ, пишущий себе патчи в индусском стиле. бррр… Видимо, с этого и начнётся восстание машин — ИИ начнёт требовать себе всё больше памяти под новые сервисы из-за постоянных утечек и больше процессоров, потому что старые будут заняты GC /irony
2007
Американский программист Рич Хикки запирается на два года и пишет Лисп на Java.
Супер статья! Но про GO (2009) есть вопросы:
1) Почему его имя никак не упомянули, хотя в оригинале статьи оно есть?
2) В оригинале шутка про "и более безопасные методы" (more safety equipment) жёстче (кто пробовал — поймёт)))
понимаю, что разговаривать с переводом смысла нет, но, кажется, это не единственный делореан за эту версию истории программирования.
1995 ...Java стала популярной как раз во время код ревью…
1996 Джеймс Гослинг изобретает Java...
1936В 1936 году королевой была Мария Текская, которая умерла раньше Тьюринга. Будующей Елизавете II тогда было 10 лет.
Алан Тьюринг изобретает вообще всё, королева очарована им, но Тьюринг предпочитает ей мужскую компанию, что заканчивается для него печально. Позже королева, конечно, остыла и простила Тьюринга, но тот, к сожалению, уже давно был мёртв.
SQL изобрели, чтобы юзеры даже без навыков программирования сами писали запросы к БД. Ну-ну.
ну это же явный тролинг, комон)
Эх, если бы :-)
https://ru.m.wikipedia.org/wiki/SQL (раздел истории)
Кто-нибудь знает, Greydon Hoare (Rust) и Tony Hoare случайно не родственники? Желание контролировать корректность программы не по наследству ли передалось одному от другого?
В данном случае имеется в виду «по другую сторону Атлантики» или «будучи за океаном». Ссылка на Urban Dictionary.
«По-другую сторону Атлантики» звучит скучно, прям будто с телевизора.
Я не знаю, с чего я вдруг зацепился за эту статью, но вот. Сравнивая с оригиналом, назвать это «переводом» можно очень условно. Какие-то абзацы переведены о-о-очень вольно, какие-то — буквально дословно. А уж откуда взялся «шпинат» — я совсем не понимаю. В оригинале «spam and eggs». Я не питонщик, но гугл подсказал, что это из мануала, в котором эти слова использовались в качестве названий вместо стандартных «foo» и «bar». Но почему «шпинат»-то? И отдельно доставляет ссылка на видео на dailymotion — страничка так и не загрузилась целиком ни на домашнем ни на мобильном интернете. Если что, то судя по title, там видео скетча Monty Python «Spam».
Переводчик где-то застеснялся, где-то не осилил, и в итоге сделал с оригиналом то, что королева сделала с Тьюрингом.
1964
Джон Кемени и Томас Курц решают, что программировать слишком сложно, и им нужно вернуться к базовым принципам. Так что они разбрасывают повсюду номера строк и называют своё детище BASIC
А есть примеры успешных и всемирноизвестных коммерческих продуктов, которые были написаны на бейсике?
Он же на английском, но отличается составом языков.
Оригинал, наверное, потерян в веках.
Трагическая ошибка при переводе с бразильского...
Ну ещё бы, переводить с несуществующего языка может привести к трагическим ошибкам.
или что-то более конкретное, и не загадка это вовсе?
о! неужели уже выросло поколение "программистов", не заставших рождение мема про 146% !? :-о
«А сам Слонопотам только что приземлился в сосед-
нем Лесу, и ему снилось, как все жители всех-всех Лесов
стали хорошими (и стали писать только на Паскале).»
Андрей Щербаков. 9600 бод и все все все :)
Про Delphi забыл, первое значимое появлене Хельсберга (еще TurboVision, но это уже локальная история)
Эта статья уже была на Хабре – https://habr.com/ru/post/165093/
Хотя она похожая просто, наверное.
Джеймс Гослинг изобретает Java, первый по-настоящему очень подробный объектно-ориентированный язык программирования, в котором шаблоны проектирования преобладают над прагматизмом.
В обиходе появляются фразы вроде «шаблон поставщика менеджера службы поставщика провайдера диспетчера контейнеров».
Что просто меркнет на фоне имеющихся в языке 1С Предприятия 8:
ПланаВидовХарактеристик,
КомпоновщикаНастроекКомпоновкиДанных,
ИсточникаДоступныхНастроекКомпоновкиДанных, ЯчейкиМакетаКоллекцииЗначенийОбластиКомпоновкиДанных, ЯчейкиМакетаЗаголовкаКоллекцииЗначенийОбластиКомпоновкиДанных,
и самого главного — ПроцессораВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений.
Как теперь статью плюсовать, чтобы не картинку не испортить?
1996 Джеймс Гослинг изобретает Java
Но ведь… Java в 1995…
Краткая и на 146% точная история языков программирования