Информация об изменениях

Сообщение Re: Какой бы язык изучить? от 24.08.2019 19:53

Изменено 25.08.2019 4:52 Буравчик

Re: Какой бы язык изучить?
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Если голову поломать, и заодно понять концепции, которые пока не вошли в мейнстрим, но вполне могут войти, то рекомендую Haskell. В нем функциональное программирование, функции высшего порядка, система типов, иммутабельность, функциональные структуры данных. Это все в нем невозможно не использовать. Для ознакомления и прокачки достаточно на уровне решения простых алгоритмических задач (project euler и т.п.). Не запариваться про лямбда-исчисление, теорию категорий и т.п., просто решать задачки.

Как полезная замена — наверное, стоит посмотреть на F#, но по красоте он не дотягивает до Haskell и накладывается отпечаток .NET

Если просто посмотреть, что в других языках бывает (другие концепции):
Smalltalk - (я в свое время балдел), динамика, чистейший ООП (ВСЕ есть объект, даже if-else и while всего лишь методы в объекте), идеальный REPL (программа = runtime), функции высшего порядка, очень простой синтаксис. Сейчас не используется язык.
Lisp-подобный язык какой-нибудь, современный — программа = данные, "отсутствие" синтаксиса (тот же форт, только лучше, понятнее для человека, а не компа).
Пролог - необычный, странный. Сам по себе, наверное, не используется, но возможно выстрелит когда-нибудь datalog (пролог-подобный язык запросов)
Ассемблер - чтобы понять как внутри комп работает. Система команд, регистры, память, условные переходы, флаги процессора. Простейшие алгоритмы посмотреть (циклы, поиск, вызов процедуры, реализация ООП), особенно кто на Си пишет.

Как писать крупные проекты на этих языках я не знаю. И вообще, у меня нет большого опыта их использования. Поэтому не могу сказать про полезность. Но мозги приходится поднапрячь при ознакомлении, и в дальнейшем это помогает.

Немножко не по теме, но все же: SQL, XSLT, XPath
И языки разметки, совсем не по теме, но зато очень полезно: XML, JSON, jsonlines/hjson, YAML, INI
Re: Какой бы язык изучить?
Здравствуйте, Basil2, Вы писали:

B>Что скажете?


Если голову поломать, и заодно понять концепции, которые пока не вошли в мейнстрим, но вполне могут войти, то рекомендую Haskell. В нем функциональное программирование, функции высшего порядка, система типов, иммутабельность, функциональные структуры данных. Это все в нем невозможно не использовать. Для ознакомления и прокачки достаточно на уровне решения простых алгоритмических задач (project euler и т.п.). Не запариваться про лямбда-исчисление, теорию категорий и т.п., просто решать задачки.

Как полезная замена — наверное, стоит посмотреть на F#, но по красоте он не дотягивает до Haskell и накладывается отпечаток .NET

Если просто посмотреть, что в других языках бывает (другие концепции):
Smalltalk - (я в свое время балдел), динамика, чистейший ООП (ВСЕ есть объект, даже if-else и while всего лишь методы в объекте), идеальный REPL (программа = runtime), функции высшего порядка, очень простой синтаксис. Сейчас не используется язык.
Lisp-подобный язык какой-нибудь, современный — программа = данные, "отсутствие" синтаксиса (тот же форт, только лучше, понятнее для человека, а не компа).
Пролог - необычный, странный. Сам по себе, наверное, не используется, но возможно выстрелит когда-нибудь datalog (пролог-подобный язык запросов)
Ассемблер - чтобы понять как внутри комп работает. Система команд, регистры, память, условные переходы, флаги процессора. Простейшие алгоритмы посмотреть (циклы, поиск, вызов процедуры, реализация ООП), особенно кто на Си пишет.
UPD: Еще Erlang интересен, наверное.

Как писать крупные проекты на этих языках я не знаю. И вообще, у меня нет большого опыта их использования. Поэтому не могу сказать про полезность. Но мозги приходится поднапрячь при ознакомлении, и в дальнейшем это помогает.

Немножко не по теме, но все же: SQL, XSLT, XPath
И языки разметки, совсем не по теме, но зато очень полезно: XML, JSON, jsonlines/hjson, YAML, INI