Изменения

Перейти к навигации Перейти к поиску
Строка 19: Строка 19:

=== Особые случаи ===
=== Особые случаи ===
 
* Ассемблер — по сути не язык программирования вовсе, а способ записи команд процессора в виде мнемоник, но с добавлением некоторых возможностей метапрограммирования, вроде шаблонов и псевдонимов. Предполагается, что с помощью ассемблера можно делать крутые трюки, которые позволяют реализовать то, что невозможно на ЯВУ, но по факту большая часть работы программиста на ассемблере — это перекладывание данных с места на место. В ассемблере нет типов данных, поэтому чтобы сложить два числа, нужно заранее знать, представлены ли они как целые числа, числа с плавающей запятой или что-то иное, и в зависимости от этого применять разные операции сложения. А ещё там есть стек, про который нужно постоянно знать, что, когда и в каком порядке в него положили, ибо если забрать со стека что-то лишнее, или наоборот забыть забрать когда надо — программа в лучшем случае повиснет, а скорее просто уйдёт в разнос, портя данные и совершая случайные операции.
* Lisp (изначально LISP, от LISt Processor) — первый в мире язык высокого уровня,<ref>Первые трансляторы появились почти одновременно с Фортраном, назвать который ЯВУ — сильно ему польстить, и [[Тот, кого нельзя называть|Коболом, про который чем меньше, тем лучше]].</ref> создавался как а) средство быстрой и удобной обработки списков чего угодно и б) средство доказательства теорем в компьютерной алгебре. Впоследствии нашёл широкое применение в области искусственного интеллекта. Радикально опередил своё время, впервые выдвинув множество крайне сложных и продвинутых концепций вроде метапрограммирования, процедур первого уровня, замыканий и продолжений, лямбда-функций, ленивого вычисления и т. п., что теперь часто приписывают тому же Хаскелю (который на самом деле и есть наследник Лиспа в направлении чисто математических приложений). Тем не менее вполне жив и по сей день. Отличается полным отсутствием синтаксиса как такового — любая программа состоит только из литералов и разделителей (пробелов и обычных круглых скобок), а всё, что кажется синтаксисом — на самом деле просто синтаксический сахар и определено в библиотеке через скобочки. Язык был настолько ''опередивший время'', что для простенькой программы которая делает всё то же, что и обычная программа, которой более чем хватало 8-бит и 256 килобайт памяти, для работы LISP-машины было нужно не менее 24-бит, не менее 40-мегабайт физической и не менее 400-мегабайт виртуальной памяти, так что в итоге получалась офигенно дорогая игрушка ценой за этот шкаф от $50 тысяч долларов и выше, при цене обычного компьютера ([[:w:en:Kenbak-1]]) умеющего делать тоже самое на обычном языке программирования от $750. В итоге, функциональные языки программирования обрели практическое применение только, когда большие объёмы памяти, существенно упав в цене, стали привычной обыденностью.
* Lisp (изначально LISP, от LISt Processor) — первый в мире язык высокого уровня,<ref>Первые трансляторы появились почти одновременно с Фортраном, назвать который ЯВУ — сильно ему польстить, и [[Тот, кого нельзя называть|Коболом, про который чем меньше, тем лучше]].</ref> создавался как а) средство быстрой и удобной обработки списков чего угодно и б) средство доказательства теорем в компьютерной алгебре. Впоследствии нашёл широкое применение в области искусственного интеллекта. Радикально опередил своё время, впервые выдвинув множество крайне сложных и продвинутых концепций вроде метапрограммирования, процедур первого уровня, замыканий и продолжений, лямбда-функций, ленивого вычисления и т. п., что теперь часто приписывают тому же Хаскелю (который на самом деле и есть наследник Лиспа в направлении чисто математических приложений). Тем не менее вполне жив и по сей день. Отличается полным отсутствием синтаксиса как такового — любая программа состоит только из литералов и разделителей (пробелов и обычных круглых скобок), а всё, что кажется синтаксисом — на самом деле просто синтаксический сахар и определено в библиотеке через скобочки. Язык был настолько ''опередивший время'', что для простенькой программы которая делает всё то же, что и обычная программа, которой более чем хватало 8-бит и 256 килобайт памяти, для работы LISP-машины было нужно не менее 24-бит, не менее 40-мегабайт физической и не менее 400-мегабайт виртуальной памяти, так что в итоге получалась офигенно дорогая игрушка ценой за этот шкаф от $50 тысяч долларов и выше, при цене обычного компьютера ([[:w:en:Kenbak-1]]) умеющего делать тоже самое на обычном языке программирования от $750. В итоге, функциональные языки программирования обрели практическое применение только, когда большие объёмы памяти, существенно упав в цене, стали привычной обыденностью.


16

правок

Навигация