Какие языки стоит изучать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 17.09.06 09:45
Оценка:
Собственно интересная тема поднята вот в этой заметке в ответ на спорную с т.зр. автора (и для меня тоже) статью в eWeek о 10 языках, которые (как говорится в статье) вы должны изучить прямо сейчас.
Возможно туда стоило бы добавить ассемблер (думаю не принципиально какой), который полезен для понимания, как же это всё работает на самом нижнем уровне.
Есть ли у вас дополнения или претензии к этому списку?
Re: Какие языки стоит изучать?
От: Андрей Хропов Россия  
Дата: 17.09.06 11:49
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Собственно интересная тема поднята вот в этой заметке в ответ на спорную с т.зр. автора (и для меня тоже) статью в eWeek о 10 языках, которые (как говорится в статье) вы должны изучить прямо сейчас.

К>Возможно туда стоило бы добавить ассемблер (думаю не принципиально какой), который полезен для понимания, как же это всё работает на самом нижнем уровне.
К>Есть ли у вас дополнения или претензии к этому списку?

Персонально я бы сказал:

  1. Assembler — для понимания как все работает на самом низком уровне
  2. C — портабельный ассемблер, как совершенно верно замечено "when you need to make things fast"
  3. С++ — противоречивый язык, но для тренировки мозгов и для многих задач хорош.
  4. Nemerle(без макросов) — ИМХО лучшее на сегодня для того чтобы педалить код ,
    с макросами — только для любителей метапрограммирования.
  5. Lisp — классика функциональщины
  6. Haskell — мощная функциональщина на любителя
  7. Python — простой и понятный динамический язык

Smalltalk — классика ОО подхода, можно посмотреть, но синтаксис на любителя.
Erlang — возможно, для изучения быстрого мультитредного программирования.
JavaScript — только если нужно практически тесно работать с броузерами.

Perl — криптография какая-то, возможно кому-то и нравится.

VB, C#, Java — зачем, если есть Nemerle?

Личный опыт — немного asm, достаточно С, порядочно C++, немного Python и Nemerle.
(и MATLAB — вобщем-то не нравится, но производственная необходимость).
Re[2]: Какие языки стоит изучать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 17.09.06 11:58
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Персонально я бы сказал:


АХ>

    АХ>
  1. Lisp — классика функциональщины
    Очень спорное утверждение, на лиспе можно писать совсем без "функциональщины" практически, хотя её там хватает, но больше я бы выделил макросы, хотя там ещё много чего есть интересного и перенятого другими языками (к примеру мультиметоды)...
    АХ>
  2. Haskell — мощная функциональщина на любителя
    Да вот это уж функциональщина до предела, наверное
    АХ>

АХ>Smalltalk — классика ОО подхода, можно посмотреть, но синтаксис на любителя.

Местами я бы сказал, что перебор с этим подходом, хотя кому как

АХ>Perl — криптография какая-то, возможно кому-то и нравится.

Согласен, очень на любителя, я лично чураюсь
Re: Какие языки стоит изучать?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 17.09.06 12:54
Оценка: +1
Здравствуйте, Курилка, Вы писали:

К>Собственно интересная тема поднята вот в этой заметке


Ссылка битая.
The God is real, unless declared integer.
Re[2]: Какие языки стоит изучать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.06 13:39
Оценка: :))) :)
Здравствуйте, netch80, Вы писали:

К>>Собственно интересная тема поднята вот в этой заметке

N>Ссылка битая.

Не, ну, почему же быитая. Ты на нее внимательнее погляди. Очень даже ничего себе ссылка [url=]этой заметке[/url].
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Какие языки стоит изучать?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.06 16:34
Оценка: +2 :))) :))) :))) :))) :)
Здравствуйте, VladD2, Вы писали:

VD>Не, ну, почему же быитая. Ты на нее внимательнее погляди. Очень даже ничего себе ссылка [url=]этой заметке[/url].


Самое главное, это не помешало ее обсуждать
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[3]: Какие языки стоит изучать?
От: Андрей Хропов Россия  
Дата: 17.09.06 17:31
Оценка: :))
Здравствуйте, VladD2, Вы писали:

VD>Не, ну, почему же быитая. Ты на нее внимательнее погляди. Очень даже ничего себе ссылка [url=]этой заметке[/url].


Видимо из серии "Чтобы понять рекурсию надо сначала понять рекурсию"
Re[2]: Какие языки стоит изучать?
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 17.09.06 19:32
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>VB, C#, Java — зачем, если есть Nemerle?


Потому что для Nemerle (пока) нет нормального IDE. Вообще, Nemerle пока не готов для коммерческого использования. На Nemerle можно пока писать что-то "для души". Ну и ещё всяким Васям Пупкиным проще на Яве писать, чем учить новый язык. Да и тому же Васе Пупкину вряд ли будет понятно (и есть действующие примеры), чем C# лучше Nemerle — с его точки зрения это C# с немного странноватым синтаксисом и неуместным сахаром.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Почему у Nemerle есть будущее :)
От: Андрей Хропов Россия  
Дата: 17.09.06 23:03
Оценка: +1
Здравствуйте, konsoletyper, Вы писали:

K>Здравствуйте, Андрей Хропов, Вы писали:


АХ>>VB, C#, Java — зачем, если есть Nemerle?


K>Потому что для Nemerle (пока) нет нормального IDE. Вообще, Nemerle пока не готов для коммерческого использования. На Nemerle можно пока писать что-то "для души". Ну и ещё всяким Васям Пупкиным проще на Яве писать, чем учить новый язык. Да и тому же Васе Пупкину вряд ли будет понятно (и есть действующие примеры), чем C# лучше Nemerle — с его точки зрения это C# с немного странноватым синтаксисом и неуместным сахаром.


А вот что говорит небезызвестный Сергей Дмитриев, руководитель JetBrains в недавней статье рядом на том же eWeek :

Sergey Dmitriev, founder and chief executive of JetBrains, in Prague, Czech Republic, said any modern software platform and language should have 12 main features: object orientation; support for language extensions and meta-programming; an intelligent IDE; clear syntax and readable program code; support for collections; support for writing GUI applications; support for writing Web applications; support for multithreading; support for functional types, closures and continuations; garbage collection; an effective virtual machine/runtime; and the ability to deploy to any operating system.

Итак, по пунктам для Nemerle:

  1. object orientation +
  2. support for language extensions and meta-programming +
  3. an intelligent IDE : работа над этим ведется и небезуспешно, см. здесь (для VS2005) и http://nemerle.org/Editors]здесь (есть уже для MonoDevelop, в процессе для SharpDevelop).
  4. clear syntax and readable program code : кому что нравится, по-моему вполне читаемо (чай не Perl )
  5. support for collections + см. System.Collections и Nemerle.Collections
  6. support for writing GUI applications + см. WinForms и Gtk#
  7. support for writing Web applications + см. ASP.NET
  8. support for multithreading + см. System.Threading
  9. support for functional types, closures and continuations +
  10. garbage collection +
  11. an effective virtual machine/runtime + достаточно эффективный (см. к примеру здесь
    Автор: Андрей Хропов
    Дата: 05.06.06
    и
    здесь
    Автор: Андрей Хропов
    Дата: 16.09.06
    )
  12. and the ability to deploy to any operating system + ну не то чтобы любая (поменьше чем у Java), но на основных есть:
    здесь.

Итак, Nemerle проходит по 11 из 12, да и оставшийся — вопрос времени.
Я что-то не вижу еще языка который набирал бы 11 или 12 .

Я бы к этому от себя добавил еще:
  1. Integrated Unit testing +
  2. Integrated Aspect Oriented Programming +
  3. Integrated Design-by-Contract +
  4. Auto Documentation generation — да, по-моему это пока не работает (хотя не знаю точно), впрочем уже это-то сделать не проблема
  5. Language Integrated Query + фактически уже есть (здесь), а когда появится встроенное от MS, то оно тоже будет работать.

см. также более fine-grained сравнение
здесь
Автор: VladD2
Дата: 18.05.06
.

Есть языки которые могут посоперничать?
Не согласны что все в этих списках важно?

Насчет Василиев Пупкиных я не согласен.
На мой взгляд, Nemerle, если не писать свои макросы и не заморачиваться с функциональщиной, никак не сложнее для понимания чем C#.

А что до коммерческого применения, то тут ИМХО самое важное — качество библиотек.
А у Nemerle они от .NET, так что вполне на уровне.
Re[3]: Какие языки стоит изучать?
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.09.06 00:51
Оценка: 7 (2) :))) :)
Здравствуйте, konsoletyper, Вы писали:

K>Потому что для Nemerle (пока) нет нормального IDE. Вообще, Nemerle пока не готов для коммерческого использования. На Nemerle можно пока писать что-то "для души". Ну и ещё всяким Васям Пупкиным проще на Яве писать, чем учить новый язык. Да и тому же Васе Пупкину вряд ли будет понятно (и есть действующие примеры), чем C# лучше Nemerle — с его точки зрения это C# с немного странноватым синтаксисом и неуместным сахаром.


Я как главный Вася Пупкин прошу не упоминать мое имя в суе.

А интеграция со студией в процессе разработки.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Какие языки стоит изучать?
От: Курилка Россия http://kirya.narod.ru/
Дата: 18.09.06 07:34
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Курилка, Вы писали:


К>>Собственно интересная тема поднята вот в этой заметке


N>Ссылка битая.


Блин, извиняюсь — вот она
Re[4]: Почему у Nemerle есть будущее :)
От: Klapaucius  
Дата: 18.09.06 12:32
Оценка: +1
Здравствуйте, Андрей Хропов, Вы писали:

АХ>
  • support for multithreading + см. System.Threading

    Можно еще Nemerle.Concurrency посмотреть.

    АХ>Я что-то не вижу еще языка который набирал бы 11 или 12 .


    Вообще-то есть еще Scala. Правда я не видел плагин к Эклипсу для Скалы, но он точно есть. Надо будет посмотреть.
    ... << RSDN@Home 1.2.0 alpha rev. 655>>
  • 'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
    Re[5]: Почему у Nemerle есть будущее :)
    От: DrDred Россия  
    Дата: 18.09.06 13:11
    Оценка: +1
    Здравствуйте, Klapaucius, Вы писали:

    K>Вообще-то есть еще Scala. Правда я не видел плагин к Эклипсу для Скалы, но он точно есть. Надо будет посмотреть.


    Есть-то он есть...
    Вот этот вот плагин имхо очень далек от совершенства... Автокомплита нет, расцветка работает по какому-то странному алгоритму... Жаль на самом деле, ибо уж очень симпатичный язык...
    --
    WBR, Alexander
    Re[6]: Почему у Nemerle есть будущее :)
    От: Lazy Cjow Rhrr Россия lj://_lcr_
    Дата: 18.09.06 13:55
    Оценка: +1
    DrDred,

    K>>Вообще-то есть еще Scala. Правда я не видел плагин к Эклипсу для Скалы, но он точно есть. Надо будет посмотреть.


    DD>Есть-то он есть...

    DD>Вот этот вот плагин имхо очень далек от совершенства... Автокомплита нет, расцветка работает по какому-то странному алгоритму... Жаль на самом деле, ибо уж очень симпатичный язык...

    У меня есть скромное противоположное мнение

    Автокомплит совершенно точно есть.
    Если код корректный, то расцветка работает правильно.
    Ну и когда ошибки в плагине являются решающим фактором для отказа от языка, мне остаётся только развести руками . Если проект небольшой, то вполне можно обходиться Фар/Вим + ант, имо.
    quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
    Re[7]: Почему у Nemerle есть будущее :)
    От: DrDred Россия  
    Дата: 18.09.06 14:52
    Оценка:
    Здравствуйте, Lazy Cjow Rhrr, Вы писали:

    LCR>DrDred,


    K>>>Вообще-то есть еще Scala. Правда я не видел плагин к Эклипсу для Скалы, но он точно есть. Надо будет посмотреть.


    DD>>Есть-то он есть...

    DD>>Вот этот вот плагин имхо очень далек от совершенства... Автокомплита нет, расцветка работает по какому-то странному алгоритму... Жаль на самом деле, ибо уж очень симпатичный язык...

    LCR>У меня есть скромное противоположное мнение


    LCR>Автокомплит совершенно точно есть.

    Ну значит у меня неправильные пчелы, т.к. в корректном коде, когда я пытаюсь го использовать, весь код становится серым, и ничего он не показывает Рад слышать, что у кого-то не так Значит есть куда копать...

    LCR>Если код корректный, то расцветка работает правильно.

    LCR>Ну и когда ошибки в плагине являются решающим фактором для отказа от языка, мне остаётся только развести руками . Если проект небольшой, то вполне можно обходиться Фар/Вим + ант, имо.
    ??? А где было сказано про отказ от языка? Удобный плагин — это всего лишь одна составляющая удобства использования языка с разработке... Для изучения языка можно вполне обходиться (и обхожусь ) консолью и редактором...
    --
    WBR, Alexander
    Re[4]: Какие языки стоит изучать?
    От: konsoletyper Россия https://github.com/konsoletyper
    Дата: 18.09.06 17:17
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    K>>Потому что для Nemerle (пока) нет нормального IDE. Вообще, Nemerle пока не готов для коммерческого использования. На Nemerle можно пока писать что-то "для души". Ну и ещё всяким Васям Пупкиным проще на Яве писать, чем учить новый язык. Да и тому же Васе Пупкину вряд ли будет понятно (и есть действующие примеры), чем C# лучше Nemerle — с его точки зрения это C# с немного странноватым синтаксисом и неуместным сахаром.


    VD>Я как главный Вася Пупкин прошу не упоминать мое имя в суе.


    Да ничего личного. Просто я хотел подчеркнуть, что некоторые товарищи не дорастают до ФП, даже до такого компромиссного (куда уж немерле до хаскеля ). Что уж говорить, один знакомый вообще задал вопрос: "А зачем нужно ООП? Я вот и без него неплохо пишу." . А если так придираться, то все языки — это brainfuck со странноватым синтаксисом и кучей никому не нужного сахара.

    VD>А интеграция со студией в процессе разработки.


    Так держать (+2). А мне плоды ваших трудов пожинать . Вот такой я нехороший. (а мог бы быть хорошим, если каждый месяц на новую VS SDK не пересаживались).
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[4]: Почему у Nemerle есть будущее :)
    От: konsoletyper Россия https://github.com/konsoletyper
    Дата: 18.09.06 17:17
    Оценка:
    Здравствуйте, Андрей Хропов, Вы писали:

    АХ>Насчет Василиев Пупкиных я не согласен.

    АХ>На мой взгляд, Nemerle, если не писать свои макросы и не заморачиваться с функциональщиной, никак не сложнее для понимания чем C#.

    Оно то конечно так. Только как внушить В. Пупкину, что Nemerle лучше. Ведь чем мы отличаемся от В. Пупкина? Тем, что мы ленивые товарищи, и чем меньше и изящнее программа, тем нам лучше. Но Вася Пупкин своего времени не ценит и эстетического чувства не имеет, так что экономически ему выгоднее писать на том, что он знает (C# или Java).

    АХ>А что до коммерческого применения, то тут ИМХО самое важное — качество библиотек.

    АХ>А у Nemerle они от .NET, так что вполне на уровне.

    Тут важно ещё иметь хорошую IDE. Пока люди, возглавляемые ТоварищемКоторыйПросилНеУпоминатьЕгоИмяВсуе пишут IDE, о коммерческом применении Nemerle не может быть и речи. Так что пожелаем им успехов и творческих сил.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[5]: Какие языки стоит изучать?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 18.09.06 21:46
    Оценка:
    Здравствуйте, konsoletyper, Вы писали:

    K>Так держать (+2). А мне плоды ваших трудов пожинать . Вот такой я нехороший. (а мог бы быть хорошим, если каждый месяц на новую VS SDK не пересаживались).


    Так и делаем, только вот задержались малость по причине того, что я был в отпуске, а там интернет такой, что СДК не покачаешь. За это время я нехило разобрал проект и никак не соберу (времени не хватает). Через пару дней надеюсь апгрэйднуться до свежего СДК.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[4]: Почему у Nemerle есть будущее :)
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 18.09.06 21:46
    Оценка: :)
    Здравствуйте, Андрей Хропов, Вы писали:

    АХ>
  • support for language extensions and meta-programming +

    Вот тут я несоглашусь. Не "+", а +++++++++++++++++++++++++++++++++++++++++++++

    АХ>А что до коммерческого применения, то тут ИМХО самое важное — качество библиотек.

    АХ>А у Nemerle они от .NET, так что вполне на уровне.

    Важны так же качество компилятора (качественные сообщения об ошибках и предупреждения, отсуствие внутренних ошибок компилятора (ну, чтобы а глаза не попадались)) и качество IDE (функциональностью, стабильность производительность).

    Вот с этим пока не все ОК, но работы ведутся и уверен, что в сделующем году будет релиз не только C# 3.0, но и C# 25.0, т.е. Nemerle 1.0.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
  • Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[7]: Почему у Nemerle есть будущее :)
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 18.09.06 21:46
    Оценка:
    Здравствуйте, Lazy Cjow Rhrr, Вы писали:

    LCR>Ну и когда ошибки в плагине являются решающим фактором для отказа от языка, мне остаётся только развести руками .


    И зря. На самом деле, деля большинства это действительно одиз из важнейших факторов.

    LCR> Если проект небольшой, то вполне можно обходиться Фар/Вим + ант, имо.


    Откровенно говоря даже супер-хайтек-язык начинает смотреться хреновенько по сравнению с C# с хорошей IDE. Ведь как не был бы читабелен код, но без подсказок IDE и без навигации изучать большой исходник дико трундо. Отладчик тоже важеная вещь. А уж писать без комплита и хинтов ой как не быстро получается. Если ты ко всему этому не привык, то может тебе и пофигу. Но для тех кто привык IDE становится как наркотик. Ты словно на игле. Писать в нопэде (утриновано) уже ломает.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.