о языках (программистское)
Dec. 16th, 2006 06:51 pmКажется, пора задумываться о том, какой язык следующим изучать. Из очевидных кандидатов пока вижу Ruby и Python. Из функциональных - может быть, OCaml. Других идей пока особо нет.
В этом году я выучил два новых языка: Haskell и Lisp, и оба мне очень понравились, как и сам процесс, по которому я успел соскучиться. А также поучаствовал в разработке нового языка (Perl 6), хотя пока что не очень активно, но все только начинается. Я хорошо знаю C/C++, Java, Perl; весьма уважаю и знаю на уровне чтения Smalltalk и Forth, хотя реально на них не работал; ну и всякие менее важные языки и ассемблеры, конечно, что-то помню, что-то не очень. Паскаль и Бейсик не будем вспоминать :)
Учитывая этот интеллектуальный багаж, если вы мне можете посоветовать следующий интересный язык, который стоит изучить и освоить, и объяснить, почему, я вам заранее благодарен.
no subject
Date: 2006-12-16 05:04 pm (UTC)Из недавно виденных вспоминается язык K (см. напр. kx.com) -- современный извод APL, реально (и успешно) применяющийся в банковских OLAP-приложениях. Попытки понять его идеи сильно расширяют/поворачивают сознание :) Увы, конкретно K вроде закрытый; есть какие-то open-source варианты подобных вещей. (Есть, например, более открытый J -- но он, по признанию самих разработчиков, для понимания сложен чрезвычайно.)
Есть ещё Nemerle, функциональный язык на базе .net, интересный, кроме практической применимости :), тем, что на нём написан набор вполне "процедурных" конструкций, облегчающий его использование средним программистом на C#.
no subject
Date: 2006-12-16 05:22 pm (UTC)no subject
Date: 2006-12-16 05:31 pm (UTC)Про J. Для понимания он не так уж и сложен (ранги функций, которыми так пугают на Вики, вполне понимаемы), но вот запомнить, что делает тот или иной глагол в монадной или диадной ипостасти мне было не под силу. Ну, за исключением тривиальных +-*/ с точками и двоеточиями. Мнемоники нет. Да и прочитать исходный текст весьма и весьма сложно (раздача понятных имён частям речи в J сильно тормозит работу программы — так устроен интерпретатор). Но сознание расширяет не хуже кислородной подушки.
Функционалия под .NET. Есть уже упомянутый Nemerle, есть и внутримикрософтовский F#. Что удивительно, второй на C# похож в меньшей степени.
Есть ещё весьма интересый Rebol. Новой парадигмы он не предлагает, но зато умещает довольно обширный функционал в какие-то сотни килобайт, предоставляя высокоуровневые функции для работы с популярными сервисами. К сожалению, язык закрытый.
no subject
Date: 2006-12-16 06:00 pm (UTC)На C# вроде бы Nemerle "внутри" не похож, но есть C#-подобная обёртка из макросов, которой пользоваться вовсе не обязательно. (NB: сам не пробовал.)
Если о закрытых -- есть интересный Erlang :) Он про применение идей FP к многопроцессорной / многомашинной высокопараллельной среде.
Вроде бы и Lua вмещает много хорошего в сотни килобайт. Но на Rebol посмотрю, спасибо :)
no subject
Date: 2006-12-16 06:11 pm (UTC)no subject
Date: 2006-12-16 06:16 pm (UTC)no subject
Date: 2006-12-16 07:24 pm (UTC)K J
Date: 2006-12-16 09:59 pm (UTC)no subject
Date: 2006-12-18 09:37 am (UTC)отличия от J.
+ порще чем J
+ есть некоторые вещи которых нету в J (триггеры, зависимости)
+ есть СУБД, которая реально и совсем без проблем работает, причём лучше чем многие популярные oracle и прочие.
+ легко встраивается почти везде всего одной командой.
+ втроен аналог RPC
no subject
Date: 2007-01-03 09:32 am (UTC)- коммунити герметичнее
- нет билда для PPC
no subject
Date: 2007-01-03 08:45 pm (UTC)2) в рассылке можно получить ответ на любые вопросы, т.к. создатели языка там очень активны.
3) наверно нету.