Pull to refresh

Comments 53

Сначала написал автору в личку, а потом залез в википедию и удивился…
PERL — Он таки «практический» или «практичный»? И почему?
«Прямым развитием машинного языка стал язык ассемблера. Это был первый размен скорости на удобство: ассемблер был чуть менее нативным, но гораздо более дружелюбным к программисту.» — о какой скорости идет речь? производительность при использовании ассемблера не падает по сравнению с байт кодом.
Это да, но его нужно еще транслировать в машинный код перед запуском — а на машинах того времени это вряд ли секунды.
Текст программы нужно ещё транслировать в машинный код. А в машинных кода можно использовать архитектурные особенности и «особенности» процессора, иногда существенно ускорив выполнение программы.

Но это применительно к старым процессорам. С современными на такое способны лишь единицы гиков и аутистов.
Ой ли :)
Но возможно «исключение из правил» проект Kolibri OS и подтверждает это.
это просто игрушка, даже авторы проекта этого не скрывают
Какие основания для этого само утверждения?
Поддержка от Google в рамках GSOC тоже не показатель?
Спасибо за статью.
Думаю, что в ближайшем будущем будет набирать обороты JS. Из-за его лавинообразного развития. После появления node.js его запихивают везде, область его применения увеличилась во много раз. Однако загадывать на долгосрочную перспективу не стоит. Всё еще может измениться.
Ну вы даете, написать статью про историю ЯП и не рассказать про такие основы основ как Smalltalk, SML, Scheme и другие. Создается впечатление что ООП появилось первым в C++, а лисп, с которого началось практически все что существует сегодня от сборщиков мусора, до лямбд и замыканий лишь упомянут, и поставлен (!!!) на уровень с Cobol.
Geekbrains — образовательная площадка для программистов.

О боже, и эти люди еще учат чему-то?
Учат тому, что Ассемблер это язык программирования, причём жирным шрифтом, тогда как это не язык, а транслятор мнемоник в машинные коды, соответственно для каждого процессора мнемоники разные, потому что разные машинные коды.
Да вы и сами не знаете разницу между Ассемблером и языком ассемблера, так что сходите поучитесь.
Рассматривая современный уровень макросредств ассемблеров
навряд ли их можно поставить в один ряд с уровнем трансляторов мнемоник в машинные кода.
FASM ассемблер проводит до ~10 трансляций ассемблерного кода пока не «сопоставит»
оптимально переходы по размеру (и другие параметры) при получении выходного файла.

P.S. Даже к изменению мнемоник от производителя можно подойти творчески, как в проекте AБ
Несмотря на внешнюю незамысловатость, Pascal оказался крайне эффективным языком не только в деле обучения, но и в серьезной разработке. Он остаётся крайне востребованным как в школах, так и в мире больших приложений: Total Commander, WinRAR, ранние версии Skype и Nero Burning ROM были написаны на Pascal.

Стоит упомянуть о Object Pacal в старых макосях, кроме того ваши примеры програм это Object Pascal/Delphi, а не обычный паскаль. Windows интерфейс скайпа все еще на Delphi/Vcl. WinRAR не на паскале написан.
Кстати Object C тоже достоен упоминания
Нет такого языка.
>>Развитие интернета в конце XX века требовало более качественных языков обработки текста и данных. Так на свет появились HTML, PHP, CSS и JavaScript, без которых сегодня очень трудно представить веб-разработку.

Ну, да. Без php, вообще очень трудно представить веб-разработку :) /sarcasm
Вот что меня удивляет, почему хорошо продуманные языки вроде Smalltalk, Haskel и т.п. не находят большой аудитории, зато наспех слепленные PHP, Perl и Javascript везде и всюду?
Почему более логичный и академичный немецкий менее распространен, чем «странный» английский? :)

Хм, даже интересно стало, что в нем академичного по сравнению с английским.

На нем разговаривают немецкие академики. Чаще, чем на английском. Очевидно же.
Более стройная структура, как мне кажется. Меньше исключений из правил.
Но ответ на исходный вопрос можете не спрашивать — у меня его тоже нет.
всё очень просто! У Англичан было больше колоний в былые времена))

Английский, хотя и относится к германским языком, подвергся очень сильному влиянию романских (они же латинские) языков. Две эти группы довольно сильно отличаются.


В германских языках приняты короткие слова и строгий порядок членов предложения. Типичный пример проявления германских языков в английском — это фразовые глаголы (например, "get up", "jump in" и т.п.). Другой пример — переход существительных в прилагательные (например, horse race — "лошадиные бега", а не "лошадь бега").


Латинские языки, с другой стороны, имеют более сложное словообразование ("objective opinion" а не "object opinion"), но и порядок слов у них может быть посвободней (см., например, современный французский).


Из-за смешения двух групп языков английский получился довольно "странным", с кучей исключений и тонкостей. Например, в английском абсолютно нечёткие правила чтения (вы же помните транскрипцию в англо-русских словарях? вот она там не просто так). Названия некоторых стран без какого либо объяснения могут иметь артикль the (Russia, но the Netherlands). Сокращения не всегда консистентны ("he's" — это "he is" или "he has"? "I'd" — это "I would" или "I had"?). Много остатков староанглийского (для большинства глаголов "not" ставится спереди, для модальных и некоторых обычных — позади основного, как это было принято раньше).


Я почти совсем не знаю немецкий, но вполне поддерживаю мысль, что английский — "странный" :)

Вот про исключения я и говорил. Один из моих любимых примеров:
https://www.youtube.com/watch?v=1B1vMOiEjhY
Потому что в них очень сильно намудрили (огромный порог вхождения), а пхп… Я его за три дня выучил и написал сайтик)) (без ооп и т.д. но зато написал)
Вы много программ написали на Smalltalk? Почему?
Маркетинг. Это же свободный рынок. Делаешь крутой язык/фреймворк. Платишь крутым спикерам. У тебя куча заказчиков, которые уверены, что это технология поможет им поднять эффективность разработки на 99999%. Разработчики верят, что им это поможет вообще ничего не делать. Не успел глазом моргнуть, а уже пошла движуха. Любые критикующие сливаются типичными RTFM/вы не умеете готовить!/у вас не те задачи. Когда приходит понимание что очередное чудо вовсе не чудо, уже понаписано куча проектов и вложено куча денег и всё это надо поддерживать, в том числе и костылями. А у нас всё хорошо. Ждем когда нас купит крутая компания или сделаем платную подписку, можно подсадить на свою платформу, в конце концов можно собирать пожертвования. Рынок есть рынок. Можно, стиснув зубы, войти в ряды, можно попытаться хапануть самому. Ну и самое классное, что замерить эффективность технологии невозможно, поэтому пиар так сильно и работает. Ведь всегда найдется человек, который расскажет, что он пишет сайты на асме и что это эффективнее чем писать на чем-то другом, мало того еще и пруфов накидают, на компании которые сменили асм на руби или руби на асм и все стало быстрее работать и разрабатываться, и тесты любые на реальных данных найдутся где любая выбранная технология будет в 10 раз эффективнее любых до абсурда приведенных конкурентов и ничего нельзя этому противопоставить, кроме своего опыта, но если вы не пиарщик, то на ваш опыт всем наплевать. Пока не будут выработаны методы оценки эффективности разработки, у нас будет продолжаться очень хорошо коррелирующий с рынком форекс и прочей дичи рынок стартапов, где 2% рады, а 98% не признаются, что проиграли.
Haskel — is a manufacturer of highly engineered fluid and gas handling equipment designed to generate, store and control high pressure gases and liquids.

При чём тут языки программирования?
http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html
«И вот пришел .NET. Это был великий проект, супер-пупер унифицирующий проект, призванный расчистить эту кашу раз и навсегда. Конечно, с управлением памятью. Останется и Visual Basic, но он заполучит новый язык, по духу фактически тот же Visual Basic, но с новым С-подобным синтаксисом фигурных скобок и точек с запятой. Самое главное, новый гибрид Visual Basic и С будет называться Visual C#, так что вам больше не придется говорить, что вы программируете на Бейсике.»

;-)
Господь с вами, тут про Haskel или Smalltalk ни слова, а вы про C# хотите.
> Уже сейчас появляются языки программирования, которые можно назвать языками сверхвысокого уровня. Они предназначены не для написания прикладных программ, а для обработки больших массивов данных и статистики. В их числе R, MATLAB и Julia.

R появился еще в 1993 году, не говоря о том, что S лежащий в его основе появился 40 лет назад, не похоже на «Уже сейчас появляются».
Да и особой сверхуровневости я в нем не заметил — он больше похож на разношерстную подборку конкретных функций под конкретные задачи, чем на продуманный язык программирования с четкой структурой.

Забыт Ada с его строгой типизацией, Fort как пример того, что все можно сделать из ничего. Ничего о verilog и его собратьях.
Правильнее Forth (Форт) привел к созданию направления конкатенавных языков.
Пример Factor, 8th и других разных Форт-подобных или использующих стек как один из основных элементов организации вычислительной модели.
А Форт, где то, ровесник С и до сих пор не утратил своей актуальности, если посмотреть проекты, где он в той или иной степени
«реализован».
Из 'скриптовых' языков также познавателен и Euphoria.
Примеры решения задач на разных языках программирования rosettacode.org/wiki/Rosetta_Code
Вообще сейчас Forth используется практически на каждом компьютере и принтере. Ибо Postscript — это Forth, а PDF — это запакованный Postscript с ресурсами.
Postscript — это, всё же, Postscript, а Forth — это Forth и авторы у них разные.
Хотя определённая доля общего дизайна в этих языках присутствует.
Да, вы правы, опечатка. На самом деле можно ещё аналогичных языков привести и не только к Forth. Но на мой взгляд основная разница не в названии а в подходе. Пишем на C, не забываем обрабатывать исключения и делать range check, в ответ получаем исключительную гибкость в части кода, C# + dot Net быстрая разработка но скорость исполнения оставляет желать лучшего. Перешли на ASM — «сами, все сами» за компактность и быстродействие на высоте ну и так далее. Статья была бы существенно познавательнее и интереснее если бы описывала различия языков с этой точки зрения.
Немного «рекламы» (пришло информационное письмо) :)
Стартовал сбор средств на разработку 8th во встроеных системах для IOT устройств на площадке indiegogo
https://www.indiegogo.com/projects/8th-mobile-desktop-and-now-embedded#/
Предварительная компоновка платы (сделанная одним из пользователей 8th) такая: http://8th-dev.com/e8thv1a_ast.png
на STM32F756
UFO just landed and posted this here
Статья ради статьи?

Простая и максимально поверхностная пробежка оп ЯП.
Нет ни слова ни про Scala, Erlang, Go, Rust, R, SQL (который хоть и не является языком программирования, но HTML-то вы указали). Ровно одно слово про COBOL, несмотря на его историческое значение.
Совсем ничего нет про «железные» языки: от программируемых калькуляторов (тоже ведь ЯП!) до FPGA.

Не помешали бы и краткие фрагменты кода, демонстрирующие особенности языков.

Может стоило хорошо перевести статью из Вики и углубляться по ссылкам или взять за основу
любую из диаграмм, изображающих зависимости и развитие языков?
image
Форт где то на окраине оказался :)
А на самом деле где то так https://www.complang.tuwien.ac.at/forth/family-tree/
хотя и далеко в не полной генеалогии.
Простите, но HTML и CSS к языкам «обработки данных» отношения не имеют. Тема не раскрыта.
Учащимся из энциклопедии: обработка данных — «систематизированная последовательность операций, совершаемых с данными для получения новой информации путем вычислений, пересмотра и уточнения имеющейся информации» Языки разметки HTML и CSS таковыми не являются. А расширение аудитории ресурса обязательно ведет к его деградации?
Схема языков http://joyreactor.cc/post/109678
Картинку не получилось вставить :)
Agda & Coq — вот вам то самое будущее. А насчёт человекоориентированных языков — спасибо, не надо.
UFO just landed and posted this here
Как можно было назвать perl, не указав awt?

Да и R язык не сверхвысокого уровня. По возможностям он близок к обрезанному питону. Я вообще не понимаю, чего такого особенного есть в языках R или матлаб. Обычные динамические языки высокого уровня. Да, для них есть прикладные библиотеки определённой направленности. Но те же самые библиотеки можно подключать и к питону. Проект sage называется.

Ну и как тут справедливо заметили, куда-то потерялась вся ветка развития функциональных языков, ни древние ML, ни современный haskell. Ещё почему-то обошли стороной попытки построения ИИ в пределах отдельно взятого языка prolog и распределённый erlang с его let it crash.
«В их числе R, MATLAB и Julia.» — Это весьма специфичные write-only языки.

Ну и я не думаю, что в будущем что-то может радикально измениться в плане используемых языков — с каждым годом наследие старых языков становится всё больше и переход на что-либо новое все более болезненным и рискованным. Ведь суть не cтолько в синтаксическом сахаре, сколько в библиотеках и сообществе.
Можно сказать больше.
Суть в существующих и работающих проектах не суть определяемых, зачастую, языком программирования.
Sign up to leave a comment.