Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Посоветуйте язык


Автор: xTr1m 26.7.2012, 13:26
День добрый. Сейчас основной язык c++ (встречается иногда java / c#, но по большому счету это одно и тоже). Конечно я не гуру c++ , но процесс его углубленного изучения идет медленно, да я и не куда и не спешу. Но вот задумался, что для развития мышления как программиста неплохо было бы выучить / поиграться еще с чем-нибудь нестандартным. Но при этом не хочется тратить время на совсем (ну или почти) неиспользуемые языки. На слуху Lisp, Haskell. Но у первого много "диалектов" и какой именно выбрать пока не разобрался, второй не уверен, что когда-нибудь смогу его применить (хотя может и ошибаюсь). то есть хочется чего-нибудь отличного от c++, но при этом чтобы, например, можно было найти под этот язык работу. а может есть и другие направления? Буду благодарен.

Автор: k0rvin 26.7.2012, 17:56
Scala — в некотором смысле смесь джавы и хаскелла, работает под JVM, так что может относительно легко взаимодействовать с имеющимся Java-кодом. Правда сложноват.
Clojure — тоже под JVM, диалект Lisp'а.
Python — довольно популярный динамический язык, легок в освоении, имеет кучу «батареек».
Ruby — тоже динамический, менее распространенный чем Python язык, в основном используется совместно с фреймворком для создания веб-приложений Ruby On Rails (http://russian.railstutorial.org/chapters/beginning)
Scheme — динамический язык, диалект Lisp'а, редко используется, но учится легко, особенно вместе с http://www.google.ru/search?client=safari&rls=en&q=sicp+по+русски&ie=UTF-8&oe=UTF-8&redir_esc=&ei=eVcRUMTNMeeM4gT9w4CgCA и http://www.htdp.org/; в качестве реализации лучше взять http://racket-lang.org/ (хотя это уже не совсем Scheme, но для тебя вряд ли будет существенна разница).
Common Lisp — более «промышленный» диалект Lisp'а, используется в реальной жизни, хоть и очень редко, вряд ли найдешь работу связанную с ним, даже на Западе ее не так много.
F# — майкрософтовский язык для .NET, очень похож на OCaml (и в некоторой степени на Хаскелл). Не думаю, что его активно применяют, но он по идее неплохо взаимодействует с C#-кодом.
Erlang — разработан компанией Ericsson для телекома, думаю используется редко и опять больше зарубежом.
Haskell — вроде даже где-то используется, в общем-то не сложный, если не углубляться, можно начать с http://learnyouahaskell.com/ =).
Go — системный язык от гугла, относительно новый, поэтому нигде не применяется, да и вряд ли будет, IMHO, но бегло взглянуть стоит.
Objective-C — используется компанией Apple для написания софта под Mac OS и iOS, работу найти относительно не сложно (под iOS), но нужна Mac OS для разработки.
Кстати, можешь попробовать писать софт для Android, там почти JVM и Java, поддерживается всеми современными IDE для джавы.

Это что навскидку вспомнил. Только учти, что для «развития мышления» больше подойдет как раз экзотика, нежели мейнстрим, он однообразен.

Автор: k0rvin 26.7.2012, 18:16
Вот еще вспомнил:
SmallTalk — вряд ли где-то сейчас используется, но это один из первых объектно-ориентированных языков, оказал влияние на Objective-C и Ruby, да и на ООП вообще, многие паттерны проектирования, описанные у GoF были придуманы как раз в SmallTalk'е, может заинтересует. Современные реализации: Squeak, Pharo и VisualWorks, книга: http://www.google.ru/search?client=safari&rls=en&q=smalltalk+blue+book&ie=UTF-8&oe=UTF-8&redir_esc=&ei=rV4RUKz9OfOM4gSEgoHgBw.
Prolog — язык логического программирования, не сильно распространен, но посмотреть стоит.

Автор: kemiisto 26.7.2012, 18:37
Цитата(k0rvin @  26.7.2012,  17:16 Найти цитируемый пост)
SmallTalk — вряд ли где-то сейчас используется, но это один из первых объектно-ориентированных языков, оказал влияние на Objective-C и Ruby, да и на ООП вообще, многие паттерны проектирования, описанные у GoF были придуманы как раз в SmallTalk'е, может заинтересует. Современные реализации: Squeak, Pharo и VisualWorks, книга: Blue Book.

По Смолтолку есть неплохая книга на православном. Автор Лесневский. ООП для начинающих. Там пол книги про Смолтолк, пол - про Java. Для затравки - самое то.

xTr1m, не люблю давать советы, но smile ситуация обязывает. Я лет 5 назад занимался этой ерундой. Это крайне неэффективная трата времени. Не изучайте языки - изучайте что-то более фундаментальное. Алгоритмы, структуры данных, методологии... Тут, как раз, надо бежать прочь от промышленных языков-калек и ковырять что-то девственно чистое, непоруганное. smile Наподобие того же Смолтолка, Хаскела, ...

Добавлено через 1 минуту и 42 секунды
Если всё-таки хотите языки посмотреть, то есть такая книжка Seven Languages in Seven Weeks. 

И да, приготовьтесь. Уже после пары недель у Вас начнуться рвотные позовы от C++. smile 

Автор: LSD 26.7.2012, 18:43
http://forum.vingrad.ru/forum/topic-351644.html smile 

Автор: k0rvin 26.7.2012, 18:48
Цитата(kemiisto @ 26.7.2012,  18:37)
По Смолтолку есть неплохая книга на православном. Автор Лесневский. ООП для начинающих. Там пол книги про Смолтолк, пол - про Java. Для затравки - самое то.

Ну, в гугле есть ссылка и на http://ru.smalltalk.wikia.com/wiki/Синяя_книга. Но раз эта неплохая, то конечно можно посмотреть/почитать =)

Добавлено через 6 минут и 10 секунд
Цитата(LSD @ 26.7.2012,  18:43)
http://forum.vingrad.ru/forum/topic-351644.html smile

Это сарказм? =) Впрочем, говорят, в штатах еще полно legacy-софта на Коболе, за сопровождение которого можно весьма неплохо рубить зеленых.

Но современный сайт на коболе порадовал  smile

Добавлено через 7 минут и 3 секунды
Цитата(kemiisto @ 26.7.2012,  18:37)
Тут, как раз, надо бежать прочь от промышленных языков-калек и ковырять что-то девственно чистое, непоруганное. smile Наподобие того же Смолтолка, Хаскела, ...

В таком случае предлагаю Agda =)

Автор: xTr1m 27.7.2012, 08:24
Всем спасибо, пока внимание остановил на Python и Haskell. Objective-C тоже как то манит, мол это же MacOS + язык должен быть доработан, но все же мейнстрим, как я понимаю (еще подумаю =).
И да, углубиться в алгоритмы и методологии тоже хорошая идея. Но на все время не хватит, придется выбирать... Сложный выбор

Автор: Akella 28.7.2012, 18:11
Цитата(k0rvin @  26.7.2012,  17:56 Найти цитируемый пост)
писать софт для Android

 smile 

Автор: lukas 25.8.2012, 11:08
Цитата(xTr1m @  27.7.2012,  08:24 Найти цитируемый пост)
Objective-C тоже как то манит, мол это же MacOS + язык должен быть доработан, но все же мейнстрим, как я понимаю (еще подумаю =).


Это как раз один из тех языков, который может отбить желание программировать у новичков. 

Да и считать одним и тем же с++ и java/c#, ну вы там что hello world'ы пишете?

Автор: k0rvin 28.8.2012, 20:17
Цитата(lukas @ 25.8.2012,  11:08)
Это как раз один из тех языков, который может отбить желание программировать у новичков. 

Почему?

Автор: kemiisto 17.10.2012, 13:16
Цитата(k0rvin @  28.8.2012,  19:17 Найти цитируемый пост)
Почему?

Потому, что он убог чуть менее, чем полностью.

Автор: k0rvin 17.10.2012, 15:43
Цитата(kemiisto @ 17.10.2012,  13:16)
Потому, что он убог чуть менее, чем полностью.

А раскрыть тему? А то я как-то не заметил ничего особо убогого, язык как язык.

Автор: ТарасАтавин 14.9.2013, 16:15
mmz

Автор: Ilya81 3.6.2014, 12:00
По мне D - изначально хороший замысел, но приживётся ли он когда-нибудь... Для этого нужно, чтоб кто-то из крупных корпораций начал его продвигать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)