?

Log in

программистское, планы - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

программистское, планы [янв. 4, 2007|11:46 am]
Anatoly Vorobey

Еще раз перечитал все советы по поводу того, какие языки программирования стоит изучить, и сам об этом подумал. Сформировался шорт-лист (правда, он не очень шорт).

Примерно так: Python, Ruby, Lua, Clean, Self, J, Erlang. Эти языки хотелось бы знать и понимать в первую очередь. Во вторую очередь, пожалуй, войдут D, OCaml, Io, Beta.

В прошлом году я изучил два новых для себя языка: Haskell и Lisp (кстати, Haskell надо обновить в какой-то мере). Если в этом году выйдет, скажем, шесть из вышеперечисленных, будет неплохо, думаю.

Вот и займемся. Начну прямо сегодня с Lua, потому что он такой компактный и легкий.

СсылкаОтветить

Comments:
[User Picture]From: moon_aka_sun
2007-01-04 10:23 am
> Вот и займемся. Начну прямо сегодня с Lua, потому что он такой компактный и легкий.

Это примерно как путешествовать по Израилю - "А что вы планируете делать после обеда?"
(Ответить) (Thread)
[User Picture]From: avva
2007-01-04 10:36 am
С Lua интересен не столько сам язык, сколько, во-первых, почитать имплементацию (она ж маленькая), во-вторых, неплохо бы понять, как именно выглядит встраивание его в качестве скрипт-языка в какое-то приложение - мне это ясно только в очень общих чертах, а у них наверняка примеры есть.
(Ответить) (Parent) (Thread) (Развернуть)
Monotone - (Анонимно) Развернуть
[User Picture]From: cmm
2007-01-04 10:32 am
> Начну прямо сегодня с Lua

ты ж вроде Scheme и Javascript уже знаешь?
плюнь и сбереги себе полчасика. :)
(Ответить) (Thread)
[User Picture]From: avva
2007-01-04 10:34 am
Javascript не знаю. Забавно, кстати.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dzz
2007-01-04 11:35 am
Ой, коллега, погоня за языками - это, IMHO, разновидность технологического фетишизма ;)

В мире не так много языков, различающихся парадигмой. Фактически, знание С/С++/Java , Lisp, Форта и Пролога исчерпывает технологическую новизну. Детали неиспользуемых языков всё равно выветриваются через пару лет.
(Ответить) (Thread)
[User Picture]From: avva
2007-01-04 11:56 am
Я бы к этому списку добавил как минимум Smalltalk и Haskell. Но в принципе вы правы. С одной стороны. С другой - недостаточно просто головой понимать парадигму, полезно в ней руками покопаться на примере двух-трех реально полезных языков, тогда начинаешь действительно что-то понимать.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: gianthare
2007-01-04 12:38 pm
Чем J, лучше уж натуральный APL выучить. Пользоваться ты ими все равно не будешь, а APL хоть эстетичный. А потом, по стилю, если не по определению, этот обычный функциональный язык.
(Ответить) (Thread)
[User Picture]From: gianthare
2007-01-04 12:48 pm

Вот определение quicksort на J

quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)

I rest my case
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: evgeniysharapov
2007-01-13 07:22 pm
APL несомненно лучше и изящнее. Но проблема в реализации. Свободных бесплатных реализаций - хотя бы для обучения нет.
С другой стороны можно просто на бумаге писать. Так как APL заставляет думать, а не код ( которого много не получается ) печатать.
J, кстати, в этом плане симпатичнее, так не сильно отличается от APL, кроме того легко можно реальные программы писать с гуями и со сторонними библиотеками.

По поводу не использования - ваша неправда. Спецы не APL нужны.
(Ответить) (Parent) (Thread)
From: 9000
2007-01-04 12:57 pm

And in your copious free time take a look (literally) at this: http://www.dangermouse.net/esoteric/piet/samples.html :)
(Ответить) (Thread)
[User Picture]From: gianthare
2007-01-04 01:02 pm
Какая прелесть. Напоминает программирование на Рыбе http://community.livejournal.com/fipl/profile, хотя помощнее будет.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dimchansky
2007-01-04 02:38 pm
По Haskell, кстати, _darkus_ выпустил книжку.
Сейчас готовит второй том (больше практики).
(Ответить) (Thread)
[User Picture]From: avva
2007-01-04 02:55 pm
Ну, я его книгу не куплю, конечно: ведь это тот самый ублюдок, который как-то прославился в ЖЖ тем, что опубликовал объявление о работе с условием обращаться только людям со славянской внешностью.

Но к счастью, хороших английских книг и материалов в сети по Хаскелю хватает.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: tuganbaev
2007-01-04 04:07 pm
А Форт обсуждали? Такой удобный и красивый для своих задач. И такой бесконечный...
(Ответить) (Thread)
[User Picture]From: vzaliva
2007-01-04 04:36 pm
lua - гадость. зачем придумывать новый встаиваемый язык
с очередным псевдо-C синтаксисом когда есть guile.

(Ответить) (Thread)
[User Picture]From: slobin
2007-01-05 11:04 am
Синтаксис скорее не псевдо-Cи, а псевдо-Паскаль. И это существено. Я встречал массу народу, для которых синтаксис Лиспа состовляет проблему.

... Человеку свойственно ошиваться ...

(Ответить) (Parent) (Thread)
From: (Anonymous)
2007-01-04 04:43 pm
Так понимаю, что в основном он используется в игровых проектах, для написания скриптовых сценарий.
И интерес представляет не он,а общее знакомство со script-engine технологией.
К примеру, развиваемая Microsоft в рамках Windows.
http://www.rsdn.ru/article/com/wscript.xml

http://www.script-debugger.com/articles/axscript.asp
http://www.script-debugger.com/articles/language.asp


Но на текущий момент я полагаю это уже устарело, и следующий уровень,вот например: Олег Шило
http://www.codeproject.com/csharp/cs-script_for_cp.asp
http://www.members.optusnet.com.au/~olegshilo/
http://www.members.optusnet.com.au/~olegshilo/help/Development_tools.html
http://notepad-plus.sourceforge.net/uk/site.htm
На codeproject достаточно много проектов на эту тему,но мне гдянулся стиль и подход автора.

Пара ссылок( помимо них еще есть)
http://www.codeproject.com/csharp/CSharpScript.asp
http://www.codeproject.com/dotnet/nscript.asp - вот это наверно первая ласточка по-этому вопросу на codeproject,но дальнешего развития не было.

http://alintex.com/products.aspx(
http://alintex.com/Documentation/ascript/index.html?tutorial7multiplefileslangs.htm
http://alintex.com/Documentation/ascript/extensionsscriptregion.htm ....
)

Из забавного - автор собственного варианта ide для .net написал в своей биографии
(= arr (toarray (map (fn (s) (escape regex s)) del) (typeof string)))(= re (new regex (join string "|" arr)))(each m (matches re name) (do (= tokens (cons (value m) (cons (substring name lastend (- (index m) lastend)) tokens))) (= lastend (+ (index m) (length m)))))(reverse (cons (substring name lastend) tokens))
(http://www.codeproject.com/script/profile/whos_who.asp?vt=arts&id=38829)
Учитывая, что он использует в своем проектк L(isp)#, для забавы попробовал проинтерпретировать (http://www.lsharp.org),но L# не прожевал этого, но зато другим меня позабавил, на чем только это не пишут
скраипты для управления MSSQL ;)- Northwind.ls (http://www.lsharp.org/samples.html).


PS. Сие все сумбурно,imho, и может многое уже вам давно понятно,
но, вдруг, будет любопытно.
(Ответить) (Thread)
[User Picture]From: moon_aka_sun
2007-01-04 10:34 pm
Кстати, думаю, из всех перечисленных сильнее всего по мозгам даёт J. Он же, по совместительству, самый красивый по дизайну (после Лиспа, конечно. Но Лисп и не язык как бы вообще. Если бы не МакКарти, его бы позже открыл кто-нибудь другой.)
(Ответить) (Thread)
[User Picture]From: slobin
2007-01-05 11:02 am
А где взять свободную документацю по J и Beta? По остальным языкам из Вашего списка я её нашёл, а по этим двум - нет. Тот же вопрос про Eiffel (кстати, почему его нет в списке?).

... Серебром о серебро звенят подковы ...

(Ответить) (Thread)
[User Picture]From: fairplay
2007-01-05 10:01 pm
Про J очень много всего и очень активное коммунити здесь -- http://www.jsoftware.com/ -- в том числе и в дистрибутиве идёт куча материалов.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: e2pii1
2007-01-06 06:35 pm
Интересный и своеобразный язык REFAL. Тем более это единственная серьезная разработка в CS сделанная в СССР (нo и тут автор - диссидент :-)

А что вы думаете по поводу LISPа: имеет ли он вообще сейчас смысл, и если да то в насколько широкой области, если есть C++ со Standart Template Library ?
(Ответить) (Thread)
[User Picture]From: cmm
2007-01-06 08:10 pm
> А что вы думаете по поводу LISPа: имеет ли он вообще сейчас смысл, и если да то в насколько широкой области, если есть C++ со Standart Template Library ?

завидую Вашему умению правильно задавать вопросы.
(Ответить) (Parent) (Thread) (Развернуть)
From: adelf
2007-01-10 07:58 am
а мож лучше программировать побольше, чем языки изучать?
Опыт - неоценимая штука.
(Ответить) (Thread)
[User Picture]From: evgeniysharapov
2007-01-13 07:15 pm
Ого... J посоветовали... Я бы еще посоветовал в связи с этим APL... Проблема только в том, что нету свободной реализации... Но APL хорош тем, что для программирования на нем можно обойтись и без компьютера...
J сам изучаю и все в нем нравится, кроме пожалуй того, как именно он (интерпретатор) разрабатывается...

APL и потом J заинтересовался после того, как мой классмейт показал мне алгоритмы записанные на APL. То есть все алгоритмы - из linear programming, integer proramming, dynamic programming, nonlinear programming, sequencing & scheduling он записывал в APL. Типа для тренировки. Ни один алгоритм не занимал больше 12 строчек.

(Ответить) (Thread)
[User Picture]From: fairplay
2007-01-17 12:56 pm
Кое-какая есть, A+ (и есть даже её куцый порт под win32 -- http://www.vector.org.uk/aflat/ )
Ещё я нашёл apl2c (не открытый, но free) и версию для IBM 1130 (для эмулятора :)
(Ответить) (Parent) (Thread)