avva: (Default)
[personal profile] avva

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

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

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

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

Date: 2007-01-04 10:23 am (UTC)
From: [identity profile] moon-aka-sun.livejournal.com
> Вот и займемся. Начну прямо сегодня с Lua, потому что он такой компактный и легкий.

Это примерно как путешествовать по Израилю - "А что вы планируете делать после обеда?"

Date: 2007-01-04 10:36 am (UTC)
From: [identity profile] avva.livejournal.com
С Lua интересен не столько сам язык, сколько, во-первых, почитать имплементацию (она ж маленькая), во-вторых, неплохо бы понять, как именно выглядит встраивание его в качестве скрипт-языка в какое-то приложение - мне это ясно только в очень общих чертах, а у них наверняка примеры есть.

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-04 11:41 am (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:14 pm (UTC) - Expand

интеракция с Lua

From: [identity profile] zigmar.livejournal.com - Date: 2007-01-04 07:55 pm (UTC) - Expand

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-05 09:38 am (UTC) - Expand

(no subject)

From: [identity profile] zigmar.livejournal.com - Date: 2007-01-07 07:49 am (UTC) - Expand

(no subject)

From: [identity profile] msh.livejournal.com - Date: 2007-01-04 01:33 pm (UTC) - Expand

(no subject)

From: [identity profile] moon-aka-sun.livejournal.com - Date: 2007-01-04 10:12 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 10:42 pm (UTC) - Expand

Monotone

From: (Anonymous) - Date: 2007-01-05 05:39 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-05 06:04 pm (UTC) - Expand

Date: 2007-01-04 10:32 am (UTC)
From: [identity profile] cmm.livejournal.com
> Начну прямо сегодня с Lua

ты ж вроде Scheme и Javascript уже знаешь?
плюнь и сбереги себе полчасика. :)

Date: 2007-01-04 10:34 am (UTC)
From: [identity profile] avva.livejournal.com
Javascript не знаю. Забавно, кстати.

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 10:37 am (UTC) - Expand

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-04 11:12 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 11:21 am (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 11:36 am (UTC) - Expand

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-04 11:49 am (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 11:58 am (UTC) - Expand

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-04 12:05 pm (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 12:07 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:10 pm (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 12:15 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:18 pm (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-04 12:20 pm (UTC) - Expand

(no subject)

From: [identity profile] gdy.livejournal.com - Date: 2007-01-04 10:43 pm (UTC) - Expand

(no subject)

From: [identity profile] plakhov.livejournal.com - Date: 2007-01-05 09:12 am (UTC) - Expand

Date: 2007-01-04 11:35 am (UTC)
From: [identity profile] dzz.livejournal.com
Ой, коллега, погоня за языками - это, IMHO, разновидность технологического фетишизма ;)

В мире не так много языков, различающихся парадигмой. Фактически, знание С/С++/Java , Lisp, Форта и Пролога исчерпывает технологическую новизну. Детали неиспользуемых языков всё равно выветриваются через пару лет.

Date: 2007-01-04 11:56 am (UTC)
From: [identity profile] avva.livejournal.com
Я бы к этому списку добавил как минимум Smalltalk и Haskell. Но в принципе вы правы. С одной стороны. С другой - недостаточно просто головой понимать парадигму, полезно в ней руками покопаться на примере двух-трех реально полезных языков, тогда начинаешь действительно что-то понимать.

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:32 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:33 pm (UTC) - Expand

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:35 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:41 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:43 pm (UTC) - Expand

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:45 pm (UTC) - Expand

Holy war mode on? :)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:46 pm (UTC) - Expand

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:44 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:47 pm (UTC) - Expand

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:49 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:51 pm (UTC) - Expand

(no subject)

From: [identity profile] gianthare.livejournal.com - Date: 2007-01-04 12:58 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:41 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:42 pm (UTC) - Expand

(no subject)

From: [identity profile] eugenius-nsk.livejournal.com - Date: 2007-01-04 03:15 pm (UTC) - Expand

Date: 2007-01-04 11:56 am (UTC)
From: [identity profile] avva.livejournal.com
Плюс есть вопрос просто интеллектуального наслаждения от изучения непонятных и незнакомых вещей.

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:06 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:12 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:16 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 12:23 pm (UTC) - Expand

(no subject)

From: [identity profile] dzz.livejournal.com - Date: 2007-01-04 12:32 pm (UTC) - Expand

Date: 2007-01-04 12:38 pm (UTC)
From: [identity profile] gianthare.livejournal.com
Чем J, лучше уж натуральный APL выучить. Пользоваться ты ими все равно не будешь, а APL хоть эстетичный. А потом, по стилю, если не по определению, этот обычный функциональный язык.

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

Date: 2007-01-04 12:48 pm (UTC)
From: [identity profile] gianthare.livejournal.com
quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)

I rest my case

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 01:18 pm (UTC) - Expand

Date: 2007-01-13 07:22 pm (UTC)
From: [identity profile] evgeniysharapov.livejournal.com
APL несомненно лучше и изящнее. Но проблема в реализации. Свободных бесплатных реализаций - хотя бы для обучения нет.
С другой стороны можно просто на бумаге писать. Так как APL заставляет думать, а не код ( которого много не получается ) печатать.
J, кстати, в этом плане симпатичнее, так не сильно отличается от APL, кроме того легко можно реальные программы писать с гуями и со сторонними библиотеками.

По поводу не использования - ваша неправда. Спецы не APL нужны.

Date: 2007-01-04 12:57 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
And in your copious free time take a look (literally) at this: http://www.dangermouse.net/esoteric/piet/samples.html :)

Date: 2007-01-04 01:02 pm (UTC)
From: [identity profile] gianthare.livejournal.com
Какая прелесть. Напоминает программирование на Рыбе http://community.livejournal.com/fipl/profile, хотя помощнее будет.

(no subject)

From: [identity profile] catpad.livejournal.com - Date: 2007-01-04 01:41 pm (UTC) - Expand

(no subject)

From: [identity profile] sam-in-lj.livejournal.com - Date: 2007-01-05 07:25 am (UTC) - Expand

Date: 2007-01-04 02:38 pm (UTC)
From: [identity profile] dimchansky.livejournal.com
По Haskell, кстати, [livejournal.com profile] _darkus_ выпустил книжку (http://www.ozon.ru/context/detail/id/3039995/).
Сейчас готовит второй том (больше практики).

Date: 2007-01-04 02:55 pm (UTC)
From: [identity profile] avva.livejournal.com
Ну, я его книгу не куплю, конечно: ведь это тот самый ублюдок, который как-то прославился в ЖЖ тем, что опубликовал объявление о работе с условием обращаться только людям со славянской внешностью.

Но к счастью, хороших английских книг и материалов в сети по Хаскелю хватает.

(no subject)

From: [identity profile] dimchansky.livejournal.com - Date: 2007-01-04 03:38 pm (UTC) - Expand

(no subject)

From: [identity profile] avva.livejournal.com - Date: 2007-01-04 03:43 pm (UTC) - Expand

(no subject)

From: [identity profile] dimchansky.livejournal.com - Date: 2007-01-04 05:36 pm (UTC) - Expand

Date: 2007-01-04 04:07 pm (UTC)
From: [identity profile] tuganbaev.livejournal.com
А Форт обсуждали? Такой удобный и красивый для своих задач. И такой бесконечный...

Date: 2007-01-04 04:36 pm (UTC)
From: [identity profile] vzaliva.livejournal.com
lua - гадость. зачем придумывать новый встаиваемый язык
с очередным псевдо-C синтаксисом когда есть guile.

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

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

Date: 2007-01-04 04:43 pm (UTC)
From: (Anonymous)
Так понимаю, что в основном он используется в игровых проектах, для написания скриптовых сценарий.
И интерес представляет не он,а общее знакомство со 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, и может многое уже вам давно понятно,
но, вдруг, будет любопытно.

Date: 2007-01-04 10:34 pm (UTC)
From: [identity profile] moon-aka-sun.livejournal.com
Кстати, думаю, из всех перечисленных сильнее всего по мозгам даёт J. Он же, по совместительству, самый красивый по дизайну (после Лиспа, конечно. Но Лисп и не язык как бы вообще. Если бы не МакКарти, его бы позже открыл кто-нибудь другой.)

Date: 2007-01-05 11:02 am (UTC)
From: [identity profile] slobin.livejournal.com
А где взять свободную документацю по J и Beta? По остальным языкам из Вашего списка я её нашёл, а по этим двум - нет. Тот же вопрос про Eiffel (кстати, почему его нет в списке?).

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

Date: 2007-01-05 10:01 pm (UTC)
From: [identity profile] fairplay.livejournal.com
Про J очень много всего и очень активное коммунити здесь -- http://www.jsoftware.com/ -- в том числе и в дистрибутиве идёт куча материалов.

(no subject)

From: [identity profile] slobin.livejournal.com - Date: 2007-01-06 12:20 pm (UTC) - Expand

Date: 2007-01-06 06:35 pm (UTC)
From: [identity profile] e2pii1.livejournal.com
Интересный и своеобразный язык REFAL. Тем более это единственная серьезная разработка в CS сделанная в СССР (нo и тут автор - диссидент :-)

А что вы думаете по поводу LISPа: имеет ли он вообще сейчас смысл, и если да то в насколько широкой области, если есть C++ со Standart Template Library ?

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

завидую Вашему умению правильно задавать вопросы.

(no subject)

From: [identity profile] e2pii1.livejournal.com - Date: 2007-01-06 08:25 pm (UTC) - Expand

(no subject)

From: [identity profile] cmm.livejournal.com - Date: 2007-01-06 08:29 pm (UTC) - Expand

Date: 2007-01-10 07:58 am (UTC)
From: [identity profile] adelf.livejournal.com
а мож лучше программировать побольше, чем языки изучать?
Опыт - неоценимая штука.

Date: 2007-01-13 07:15 pm (UTC)
From: [identity profile] evgeniysharapov.livejournal.com
Ого... J посоветовали... Я бы еще посоветовал в связи с этим APL... Проблема только в том, что нету свободной реализации... Но APL хорош тем, что для программирования на нем можно обойтись и без компьютера...
J сам изучаю и все в нем нравится, кроме пожалуй того, как именно он (интерпретатор) разрабатывается...

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

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

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 12th, 2026 02:15 am
Powered by Dreamwidth Studios