о языках (программистское)
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)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:K J
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2006-12-16 05:14 pm (UTC)no subject
Date: 2006-12-16 05:24 pm (UTC)весьма симпатичный язык, с красивой открытой реализацией, + он встраиваемый, то есть его можно реально использовать при необходимости.
no subject
Date: 2006-12-16 05:27 pm (UTC)no subject
Date: 2006-12-16 05:30 pm (UTC)школеуниверситете в курсе IT :) Вот, кстати, необычный пример языка, оказавшегося вдруг весьма удобным как встраиваемый.(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2006-12-16 05:29 pm (UTC)no subject
Date: 2006-12-16 05:48 pm (UTC)no subject
Date: 2006-12-16 05:54 pm (UTC)no subject
Date: 2006-12-16 06:07 pm (UTC)no subject
Date: 2006-12-16 06:26 pm (UTC)С Ocaml'ем мучаюсь сейчас. С учётом того, что раньше я функциональными языками не занимался, даётся нелегко. С другой стороны, в нём чувствуется определённая логичность.
no subject
Date: 2006-12-16 08:06 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2006-12-16 06:33 pm (UTC)Правда к нему должна быть приложена макось иначе не интересно :)
no subject
Date: 2006-12-16 06:38 pm (UTC)no subject
Date: 2006-12-16 06:39 pm (UTC)(no subject)
From:Фортран IV :) (-)
Date: 2006-12-16 07:03 pm (UTC)no subject
Date: 2006-12-16 07:06 pm (UTC)no subject
Date: 2006-12-17 07:36 am (UTC)no subject
Date: 2006-12-16 07:10 pm (UTC)Про Руби слышала только, что очень эффективен, но при этом трудно его debug.
no subject
Date: 2006-12-16 08:46 pm (UTC)Если под "эффективностью" подразумевалась скорость работы программы, то наоборот :)
Если скорость работы программиста - то все верно.
no subject
Date: 2006-12-16 07:40 pm (UTC)no subject
Date: 2006-12-16 08:02 pm (UTC)В списке изученных нет целого направления - логических языков. Так что имеет смысл посмотреть Prolog.
В принципе Mercury/Oz тоже слегка логическтй, но его стоит посмотреть из других соображений.
Ну и APL-подобные языки - J или K.
no subject
Date: 2006-12-16 08:42 pm (UTC)В Nemerle интересны синтаксические макросы (помимо семейства Лиспов по-моему такого нету нигде) и вывод типов a la Хаскель - не сами по себе, а в приложении к "традиционной" императивно-объектной модели.
Из интересного "само по себе" хороши
* Io или Self (прототипно-ориентированные)
* Dylan (очень отдаленный потомок Лиспов)
* по слухам, "старые стройные" языки, типа Oberon или Eiffel
* Links (делает один из авторов Хаскеля; функциональный язык для веба, "компилирующийся" в набор HTML-JavaScript-SQL-bytecode), еще есть Hop на ту же тему
Бывают еще всякие incredible strange things, типа Esterel :)
no subject
Date: 2006-12-16 08:55 pm (UTC)no subject
Date: 2006-12-16 11:01 pm (UTC)Почему-то никто не упоминает TCL.
no subject
Date: 2006-12-17 06:32 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2006-12-17 12:13 am (UTC)Илья Винарский как-то писал про такие задачки, как "если бы хорошо если бы язык программирования поддерживал формальные спецификации" поэтому отнесу к языкам :)
(кстати, сегодня попался забавный комментарий http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=392)
очень интересно (пока еще не до конца) было разобраться в кнутовской системе "literate programming"
no subject
Date: 2006-12-17 02:24 am (UTC)no subject
Date: 2006-12-17 02:29 am (UTC)no subject
Date: 2006-12-17 03:31 am (UTC)Python и Ruby
Date: 2006-12-17 05:16 am (UTC)Я думаю нужно учить Python и Ruby хотя бы для того чтобы понимать "как должно быть" - одного перла не достаточно.
Re: Python и Ruby
Date: 2006-12-17 10:08 am (UTC)Re: Python и Ruby
From:Re: Python и Ruby
From:Prolog? Not!
Date: 2006-12-17 05:21 am (UTC)Smalltalk
Date: 2006-12-17 09:32 am (UTC)Нужен контекст, задача, предметная область, как бы это банально не звучало.
Исходя из этого, можно обсуждать необходимость освоения того или иного языка.
А если просто для души, то мой выбор Smalltalk (точнее, Dolphin Smalltalk)
http://www.object-arts.com/content/navigation/home.html
(если бесплатная Community Edition версия). Но это только для Windows...
no subject
Date: 2006-12-17 09:39 am (UTC)