IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 07:38
Оценка: 7 (2) +4 :))
Навеяно увлеченными рассказами про функциональные языки программирования в темах C++ vs ???
Автор: zip_
Дата: 30.11.05
и Goto's are evil?
Автор: Cyberax
Дата: 28.11.05
.

Пусть на меня не обижаются приверженцы этих языков, но действительно интересно понять, отчего же, если OCaml, Haskell, SML и пр. насколько хорошие языки, позволяют писать мало кода и получать высокую скорость работы, они все еще не мейнстрим?

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

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

На самом деле, не сложно привести примеры IDE для C++ созданных на C++.
Равно как и IDE для Java на Java.
Как и IDE для Smalltalk на Smalltalk.
Даже на скриптовых языках (вроде Ruby и Python) пишутся IDE (хоть и используются в них C/C++ компоненты вроде Scintilla, FOX, wxWidgets или Qt).

А вот что извесно про IDE для OCaml на самом OCaml? (Cameleon, последняя стабильная версия которого, судя по сайту, вышла в октябре 2003-го).
А для Haskell?
А для SML и других языков ML-группы?


Я знаю про наличие плагинов для Emacs-ов, Vim-ов, Eclipse-ов, jEdit-ов и даже Visual Studio. Только плагины, имхо, это далеко не полноценная реализация IDE.




На самом деле даже я расцениваю этот вопрос не как самый серьезный (изрядная доля шутки в нем есть), но все же...
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: IDE: критерий универсальности ЯП? :)
От: mrozov  
Дата: 07.12.05 08:06
Оценка: -2
Браво! Ты только что доказал, что .net — не универсальный язык, хуже smalltalk и питона.

Или я что-то пропустил?
Re: IDE: критерий универсальности ЯП? :)
От: aik Австралия  
Дата: 07.12.05 08:11
Оценка: 1 (1) +1
Здравствуйте, eao197, Вы писали:

E>Пусть на меня не обижаются приверженцы этих языков, но действительно интересно понять, отчего же, если OCaml, Haskell, SML и пр. насколько хорошие языки, позволяют писать мало кода и получать высокую скорость работы, они все еще не мейнстрим?


Что на рынок пропихивается — тем и пользуются. "Мало кода", "скорость" — это все мимо рынка. Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.
Re[2]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 08:15
Оценка: +3
Здравствуйте, mrozov, Вы писали:

M>Браво! Ты только что доказал, что .net — не универсальный язык, хуже smalltalk и питона.

M>

А разве .net -- это язык?

M>Или я что-то пропустил?


А разве Mono Develop не на C# пишется?
Да и C# помоложе OCaml-а с SML-ем будет, я думаю.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 08:18
Оценка:
Здравствуйте, aik, Вы писали:

E>>Пусть на меня не обижаются приверженцы этих языков, но действительно интересно понять, отчего же, если OCaml, Haskell, SML и пр. насколько хорошие языки, позволяют писать мало кода и получать высокую скорость работы, они все еще не мейнстрим?


aik>Что на рынок пропихивается — тем и пользуются. "Мало кода", "скорость" — это все мимо рынка. Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.


Рынок в данном случае -- это отмазка. Для Python, Perl и Ruby не было никакой коммерческой поддержки. Тем не менее, они популярны. И IDE для них пишутся, часто силами одиночек-энтузиастов.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 08:18
Оценка:
Здравствуйте, aik, Вы писали:

aik>Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.


Разве Java продавалась?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: IDE: критерий универсальности ЯП? :)
От: aik Австралия  
Дата: 07.12.05 08:26
Оценка:
Здравствуйте, eao197, Вы писали:

E>>>Пусть на меня не обижаются приверженцы этих языков, но действительно интересно понять, отчего же, если OCaml, Haskell, SML и пр. насколько хорошие языки, позволяют писать мало кода и получать высокую скорость работы, они все еще не мейнстрим?

aik>>Что на рынок пропихивается — тем и пользуются. "Мало кода", "скорость" — это все мимо рынка. Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.
E>Рынок в данном случае -- это отмазка. Для Python, Perl и Ruby не было никакой коммерческой поддержки. Тем не менее, они популярны. И IDE для них пишутся, часто силами одиночек-энтузиастов.

Эти мрачные языки могут только мечтать о популярности Java или VisualBasic. Даже на JavaScript больше лабают.
Разве что Perl тут некоторое исключение, он вовремя появился и занял рынок быстрых парсеров. И то в ASP его не шибко любят и с ростом количества серверов его популярность будет падать.
Re[3]: IDE: критерий универсальности ЯП? :)
От: Oyster Украина https://github.com/devoyster
Дата: 07.12.05 08:29
Оценка:
Здравствуйте, eao197, Вы писали:

aik>>Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.


E>Разве Java продавалась?


А C++ продавался? А C# продаётся?

Я думаю, в этом контексте речь идёт об использовании Java девелоперами, что влечёт за собой покупку софта для серверов (ну и по мелочи — средства разработки и т.д.).
Re[3]: IDE: критерий универсальности ЯП? :)
От: Oyster Украина https://github.com/devoyster
Дата: 07.12.05 08:29
Оценка:
Здравствуйте, eao197, Вы писали:

E>А разве Mono Develop не на C# пишется?

E>Да и C# помоложе OCaml-а с SML-ем будет, я думаю.

Да и о SharpDevelop не стоит забывать.
Re[3]: IDE: критерий универсальности ЯП? :)
От: aik Австралия  
Дата: 07.12.05 08:29
Оценка:
Здравствуйте, eao197, Вы писали:

aik>>Даже синтаксис жавы был позаимствован у c/c++ чтоб жаба выглядело не сильно иначе и лучше продавалась.

E>Разве Java продавалась?

Конкретно Java компилятор и SDK — нет. А софт, тренинги всякие — еще как.
Re: IDE: критерий универсальности ЯП? :)
От: Дарней Россия  
Дата: 07.12.05 08:37
Оценка:
Здравствуйте, eao197, Вы писали:

E>Как и IDE для Smalltalk на Smalltalk.


интересно, какие именно?
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: IDE: критерий универсальности ЯП? :)
От: _vovin http://www.pragmatic-architect.com
Дата: 07.12.05 08:54
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, eao197, Вы писали:


E>>Как и IDE для Smalltalk на Smalltalk.


Д>интересно, какие именно?


Каждая имплементация сразу идет с IDE. Идеологически иначе невозможно, пропадет то самое sea of live objects.
Re: IDE: критерий универсальности ЯП? :)
От: reductor  
Дата: 07.12.05 09:15
Оценка: 3 (1) +2
Здравствуйте, eao197, Вы писали:

E>Навеяно увлеченными рассказами про функциональные языки программирования в темах


E>Пусть на меня не обижаются приверженцы этих языков, но действительно интересно понять, отчего же, если OCaml, Haskell, SML и пр. насколько хорошие языки, позволяют писать мало кода и получать высокую скорость работы, они все еще не мейнстрим?


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


Вам не кажется, что лучше один раз увидеть, чем 100 раз услышать?
Не проще ли выучить пару таких языков и написать что-нибудь, чтобы попробовать "на зуб"?
Это не агитация, а просто предложение наилучшего способа найти ответ на этот вопрос, который когда-то меня мучил точно так же как вас.
А вот что точно никогда не даст правильного ответа — это голосование какой вкус у устриц среди тех, кто устриц не пробовал.


E>Вирт считал скорость самокомпиляции одним из важнейших критериев оценки качества компилятора. А вот я думаю, а почему бы не взять в качестве критерия оценки универсальности языков программирования наличие IDE, написанных на этом языке? ;) Ведь написание даже текстового редактора -- это уже не простая задача (не зря же GoF использует текстовый процессор для иллюстрации основных паттернов).

E>А уж IDE, в которой текстовый редактор, это только небольшая часть, еще более сложный продукт.


Напоминает заседание какого-нибудь вселенского собора 397 года с выяснением стоит ли осуждать монофизитство.
Проголосовали и решили осудить.

Вообще, можно по-другому подходить к вопросу, оценивать языки по тому признаку — нужен ли им IDE.
Тоже неплохо получится.
Re[2]: IDE: критерий универсальности ЯП? :)
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 07.12.05 09:16
Оценка: +1
Здравствуйте, mrozov, Вы писали:

M>Браво! Ты только что доказал, что .net — не универсальный язык


Если вместо слова ".net" ты хотел написать "C#" — то все-равно мимо

1) SharpDevelop
2) Прототип ReSharper IDE вполне нормально живет....
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[3]: IDE: критерий универсальности ЯП? :)
От: Дарней Россия  
Дата: 07.12.05 09:22
Оценка:
Здравствуйте, _vovin, Вы писали:

_>Каждая имплементация сразу идет с IDE. Идеологически иначе невозможно, пропадет то самое sea of live objects.


ну вот например ObjectStudio
тянет за собой MFC-шные библиотеки, и если посмотреть спаем, то по стилям окон видно, что они написаны на MFC
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: IDE: критерий универсальности ЯП? :)
От: Voblin Россия http://maslyaew.narod.ru/
Дата: 07.12.05 09:24
Оценка: 10 (2) :))) :)))
Здравствуйте, eao197, Вы писали:

Молотком можно забить гвоздь, Топором можно забить гвоздь. Пассатижами — тоже. Даже лампочкой можно забить гвоздь!
Но транзистором гвоздь забить нельзя. Поэтому транзистор не универсален.
Re[4]: IDE: критерий универсальности ЯП? :)
От: reductor  
Дата: 07.12.05 09:28
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, _vovin, Вы писали:


_>>Каждая имплементация сразу идет с IDE. Идеологически иначе невозможно, пропадет то самое sea of live objects.


Д>ну вот например ObjectStudio

Д>тянет за собой MFC-шные библиотеки, и если посмотреть спаем, то по стилям окон видно, что они написаны на MFC
Д> :xz:

VisualWorks
Smalltalk/X
Squeak

Еще вроде Visual Age, но тут не уверен — пару раз видел только.

Но конечно называть то, что идет со смоллтолком IDE — это слишком.
Ну то есть в случае с ним сочетание "Integrated Development Environment" лишено всякого смысла.
Кстати еще забавно указание его в теме про "функциональные" языки. в смоллтолке же лямбда на лямбде сидит и лямбдой погоняет.
он больше функциональный, чем ОО-язык.
Re[2]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 10:12
Оценка: 3 (2) +3
Здравствуйте, reductor, Вы писали:

R>Вам не кажется, что лучше один раз увидеть, чем 100 раз услышать?

R>Не проще ли выучить пару таких языков и написать что-нибудь, чтобы попробовать "на зуб"?

Нет, не проще. Есть масса вещей, которые хотелось бы знать или уметь. Но выучить их не представляется возможным в силу ограниченного ресурса времени и, прошу, прощения, мозгов. И если у меня есть выбор между изучением Scheme (OCaml, SML, Haskell) или доработкой собственных проектов, то я выберу доработку. Потому что вижу, что это мне даст сейчас и как это может отразиться на мне завтра. Я могу потратить месяц на изучение Scheme и понять, что у меня нет проектов, в которых я могу применять Scheme, либо я могу потратить тот же месяц на доработку, к примеру, RuCodeGen
Автор: eao197
Дата: 16.11.05
и упростить себе повседневные рутинные операции.

Фокус в том, чтобы за повседневностью не проморгать появление нового перспективного направления в программировании. И когда внезапно возникает шумиха вокруг очередной серебрянной пули, то становится интересно узнать, какая проба на этой пуле поставлена. Например, простым вопросом: а можно ли на функциональных языках делать IDE?
А что? Вопрос, как вопрос. IDE -- это сложная задача. Раз на конкретном языке ее можно решать, значит язык заслуживает внимания для того, чтобы быть использованным в сравнимых по сложности задачах.

R>А вот что точно никогда не даст правильного ответа — это голосование какой вкус у устриц среди тех, кто устриц не пробовал.


Я не ставлю вопрос о вкусе устриц. Скорее я ставлю вопрос о том, имеет ли смысл вообще заниматься потреблением устриц. Вполне возможно, что полезнее для здоровья и безопаснее для кошелька будет вообще не связываться с этим процессом.

R>Вообще, можно по-другому подходить к вопросу, оценивать языки по тому признаку — нужен ли им IDE.

R>Тоже неплохо получится.

Это уже другой вопрос.
IDE -- это пример задачи, которую можно решить с помощью языка программирования. Универсальные языки (т.е. те, которые могут применяться для широкого спектра задач) с этой задачей справляются.

А если язык не универсальный, то совершенно нет уверенности в надобности его изучения. Вот выучу я латынь или суахили. И что? Я же не лингвист, не врач, не организатор туристических туров в Африку. Вот так же и с функциональными языками. Ну может быть они хорошие, может быть очень хорошие. И что? Петь им диферамбы, но работать на C++/Java/C#/Python/Perl/Ruby? Пытаться делать на них проекты, для которых хорошо подходят мейнстримовые технологии? Или же лучше относиться к ним, как к фундаментальной науке: она нужна, она двигает прогресс, но ее занимаются где-то там и результаты до нас доходят спустя время и в очень адаптированном к среднему потребителю виде. И учиться следует не столько тому, как работают монады в Haskell-е или lambda в Scheme, а тому, во что это превращается в обычных универсальных языках. Например, как использовать блоки кода в Ruby, lambda в Python, функторы в C++ или делегаты в C#.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: IDE: критерий универсальности ЯП? :)
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 07.12.05 10:12
Оценка:
Здравствуйте, aik, Вы писали:

aik>Эти мрачные языки могут только мечтать о популярности Java или VisualBasic.




aik>Даже на JavaScript больше лабают.


Откуда дровишки?

aik>Разве что Perl тут некоторое исключение, он вовремя появился и занял рынок быстрых парсеров. И то в ASP его не шибко любят и с ростом количества серверов его популярность будет падать.


Есть такая платформа HP NonStop (в девичестве Tandem), супер-пупер надежная, супер дорогая и пр., для серьезного бизнеса (банки, биржи, телекоммуникации, AOL и пр.). Посмотри на список софта, который туда спортировали: http://www.itug.org/member/ituglib/user/search.cfm (достаточно просто нажать "I Agree, Begin Search" чтобы получит полный список).
Как не странно, там есть Perl, Python, Ruby и Tcl. Казалось бы, зачем серьезным дядькам из HP заниматься портированием на серьезную платформу для серьезного бизнеса такие мрачные, не популярные, и никому не нужные языки?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: IDE: критерий универсальности ЯП? :)
От: Oyster Украина https://github.com/devoyster
Дата: 07.12.05 10:20
Оценка:
Здравствуйте, xvost, Вы писали:

X>2) Прототип ReSharper IDE вполне нормально живет....


[Офф]
JetBrains готовится выпустить свою .NET IDE на рынок?
[/Офф]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.