Ada_Ru форум

Обсуждение языка Ада

D

Оставить новое сообщение

Сообщения

Olleg Samoylov
D
2010-06-18 09:32:11

Уважаемые...

 

Быть может я, как и эта тема, далек от Ада программирования, но я ценю ваше мнение. И вот что мне интересно. Покритикуйте пожалуйста, в хорошем смысле слова, язык D. Желательно в сравнение с Адой.

Уважаемые...

 

Быть может я, как и эта тема, далек от Ада программирования, но я ценю ваше мнение. И вот что мне интересно. Покритикуйте пожалуйста, в хорошем смысле слова, язык D. Желательно в сравнение с Адой.

 

Язык D не применим в качестве промышленного языка по одной простой причине -- он постоянно меняется. Причем часто сильно и без обратной совметимости. Даже в сравнении с C# (который ну очень частно меняется) не говоря уже о Java/C++/Ada.

On Птн, 2010-06-18 at 13:56 +0400, Alexey Veselovsky wrote:

Язык D не применим в качестве промышленного языка по одной простой причине -- он постоянно меняется. Причем часто сильно и без обратной совметимости. Даже в сравнении с C# (который ну очень частно меняется) не говоря уже о Java/C++/Ada.

 

Он молодой и эм, когда он постоянно меняется? Две версии - 1 стабильная, 2 экспериментальная. А у Ады их больше - 83, 95, 2005. 2012. :)

 

Или вы про стандартную библиотеку?

Olleg Samoylov wrote:

 

 

On Птн, 2010-06-18 at 13:56 +0400, Alexey Veselovsky wrote:

> Язык D не применим в качестве промышленного языка по одной простой

> причине -- он постоянно меняется. Причем часто сильно и без обратной

> совметимости. Даже в сравнении с C# (который ну очень частно меняется)

> не говоря уже о Java/C++/Ada.

 

А ссылочки на материалы по D (с комментариями, если можно)?

 

 

Он молодой и эм, когда он постоянно меняется? Две версии - 1 стабильная,

2 экспериментальная. А у Ады их больше - 83, 95, 2005. 2012. :)

 

Или вы про стандартную библиотеку?

 

Ада всегда существовала как стандарт ISO (почти всегда - возникла

она как стандарт ANSI, но он без единого изменения был утвержден

стандартом ISO). По правилам ISO, информационный стандарт, если

он жив, должен раз в 10 лет проходить процедуру ревизии, что Ада

и делает. Язык развивается, сохраняя при этом практически полную

совместимость со старыми версиями - программа на Aде 83 с точностью

до конфликта идентификаторов с новыми ключевыми словами, откомпилируется

и ТОЧНО ТАК ЖЕ будет работать, будучи откомпилированной в реализации,

поддерживающей последнюю редакцию стандарта.

 

С точки зрения развития языка такая совместимость часть зло, но с

точки зрения индустрии - абсолютная необходимость

А ссылочки на материалы по D (с комментариями, если можно)?

 

Я бы рекомендовал прочитать вот это:

http://www.linux.org.ru/news/opensource/4243077 (только саму новость и ссылки в ней, коменты можно не читать :-) )

Язык D не применим в качестве промышленного языка по одной простой причине -- он постоянно меняется. Причем часто сильно и без обратной совметимости. Даже в сравнении с C# (который ну очень частно меняется) не говоря уже о Java/C++/Ada.

 

Он молодой и эм, когда он постоянно меняется? Две версии - 1 стабильная, 2 экспериментальная. А у Ады их больше - 83, 95, 2005. 2012. :)

 

Или вы про стандартную библиотеку?

 

Язык без стандартной библиотеки не нужен прикладному программисту. Стандартная библиотека от языка не отделима. Это раз.

 

Два -- сообщество кучкуется вокруг активностей. Основная активность -- разработка следующего D. Первый D разработали и выкинули. По сути.

Со скалой (Scala) та же ситуация.

 

Я же вроде кажется говорил, что есть лишь два языка развитие которых меня однозначно радуют -- С++ и erlang. У всех остальных какое-то не правильное развитие.

On Птн, 2010-06-18 at 15:52 +0400, Alexey Veselovsky wrote:

Язык без стандартной библиотеки не нужен прикладному программисту. Стандартная библиотека от языка не отделима. Это раз.

 

Она там есть.

 

 

Два -- сообщество кучкуется вокруг активностей. Основная активность -- разработка следующего D. Первый D разработали и выкинули. По сути.

 

Это опять же критика не самого языка, а процесса его разработки. :)

Olleg Samoylov wrote:

 

> Два -- сообщество кучкуется вокруг активностей. Основная активность --

> разработка следующего D. Первый D разработали и выкинули. По сути.

 

Это опять же критика не самого языка, а процесса его разработки. :)

 

Жизненный ресурс не бесконечен. Когда в качестве ссылки на материалы

по D вы дали страничку в викпедии, и на той страничке в третьей строке

написано

Язык D имеет C-подобный синтаксис, он лёгок в изучении

 

я понял, что свой оставшийся жизненный ресурс я на D тратить не стану.

Вот Вам критика языка - не заслуживает траты жизненного ресурса на

ознакомление с ним. Ничего личного, чисто профессиональное решение

на основе той информации, которую Вы сами про D сюда выложили.

On Fri, 18 Jun 2010 17:12:00 +0400, you wrote:

 

Olleg Samoylov wrote:

 

Два -- сообщество кучкуется вокруг активностей. Основная активность -- разработка следующего D. Первый D разработали и выкинули. По сути.

 

Это опять же критика не самого языка, а процесса его разработки. :)

 

Жизненный ресурс не бесконечен. Когда в качестве ссылки на материалы по D вы дали страничку в викпедии, и на той страничке в третьей строке написано

 

Язык D имеет C-подобный синтаксис, он лёгок в изучении

 

я понял, что свой оставшийся жизненный ресурс я на D тратить не стану. Вот Вам критика языка - не заслуживает траты жизненного ресурса на ознакомление с ним. Ничего личного, чисто профессиональное решение на основе той информации, которую Вы сами про D сюда выложили.

 

Так это не информация о языке, а о его разработчиках (и пользователях (:-))

Если разработчики считают синтаксис С достижением, а легкость изучения критерием выбора языка, то меня уже не интересует, что они там

разрабатывали... Ясно, что, как, и для кого.

 

Кто обещал, что должно быть легко? Вот математику изучать тяжело, а вязание крючком просто.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On Птн, 2010-06-18 at 17:12 +0400, Sergey I. Rybin wrote:

 

Язык D имеет C-подобный синтаксис, он лёгок в изучении

 

я понял, что свой оставшийся жизненный ресурс я на D тратить не стану. Вот Вам критика языка - не заслуживает траты жизненного ресурса на ознакомление с ним. Ничего личного, чисто профессиональное решение на основе той информации, которую Вы сами про D сюда выложили.

 

А на основании чего вы сделали такие глубокие выводы, на основании того что он чем-то похож на C или потому что легок в изучении? :) Но как я уже и писал, меня интересовало мнение тех, кто сам в нем покопался из своего любопытства. Изучать его я никого и не просил.

On Птн, 2010-06-18 at 15:23 +0200, Dmitry A. Kazakov wrote:

Если разработчики считают синтаксис С достижением, а легкость изучения критерием выбора языка, то меня уже не интересует, что они там

разрабатывали... Ясно, что, как, и для кого.

 

Ясно для кого. Как альтернатива C++. Отсюда и C/C++/java подобный синтаксис и возможность вызывать C библиотеки прямо из кода без

враперов. Но при этом они анонсировали что они тщательно изучили

современные языки и вобрали в себя лучшее. Поэтому я и заинтересовался. Думал тут мне что толкового скажут. Аргументацию типа "фу, он же похож на С" я воспринимаю как неприятие формы, а не содержания. :)

 

Кто обещал, что должно быть легко? Вот математику изучать тяжело, а вязание крючком просто.

 

Я согласен с мнением Вирта, что язык программирования должен быть минималистичен по своей природе. :)

Olleg Samoylov wrote:

 

А на основании чего вы сделали такие глубокие выводы, на основании того

что он чем-то похож на C или потому что легок в изучении? :)

 

1. То, что синтаксис С - ужасен, нечитаем и провоцирует ошибки, известно

давным-давно любому всерьез программирующему человеку. Делать язык

похожим на С, да еще этим хвастаться? Что хорошего могут сделать

эти люди? :)

 

2. Ада, при всей ее вылизаности, при условии того, что она устроена на порядок

проще, чем С++, и на порядок лучше описана - СЛОЖНЫЙ в изучении язык.

Когда нечто подается как простой в изучении язык - это либо порожняк,

либо написавший такое не понимает, что он пишет, либо написавший

просто врет. Стоит ли знакомиться с предметом?

 

На мой взгляд, каждого аргумента достаточною.

 

Но как я

уже и писал, меня интересовало мнение тех, кто сам в нем покопался из

своего любопытства. Изучать его я никого и не просил.

 

На самом деле я считаю, что моя реакция - вполне по делу и вполне

техническая. Серьезный язык - это не только синтаксис, семантика

и компилятор. Это нечто бОльшее. D серьезным языком ни разу не

выглядит.

Olleg Samoylov wrote:

 

Ясно для кого. Как альтернатива C++. Отсюда и C/C++/java подобный

синтаксис и возможность вызывать C библиотеки прямо из кода без

враперов.

 

Альтернатива - но с тем же синтаксисом. Не в лоб, а по лбу :)

 

Кстати, и из Ады можно С-шные подпрограммы вызывать без враперов :)

On Птн, 2010-06-18 at 17:39 +0400, Sergey I. Rybin wrote:

1. То, что синтаксис С - ужасен, нечитаем и провоцирует ошибки,

известно

давным-давно любому всерьез программирующему человеку.

 

Я думаю более 90% всерьез программирующих людей программируют на C/C ++/С#/Java. :)

 

Я не столь категоричен, я не фанатик. Что-то мне нравится C, что-то в Ada. В Ada, например, параметрический вызов функций, в C например обрамление блоков. Мне кажется для обрамления блоков {} гораздо

нагляднее, чем слова begin, end.

On 06/18/2010 03:45 PM, Alexey Veselovsky wrote:

А ссылочки на материалы по D (с комментариями, если можно)?

 

Я бы рекомендовал прочитать вот это:

http://www.linux.org.ru/news/opensource/4243077 (только саму новость и ссылки в ней, коменты можно не читать :-) )

 

Прочитал. Составить общее представление не смог. Но...

 

1. Синтаксис - эээ... ну как обычно, думаю все поняли.

 

PS. Выражаясь словами автора:

 

"Симбиоз с C++ также делает её очень сложной для понимания

программистами, назнакомыми с C++. потому что сложно увидеть суть через синтаксический хлам."

 

2. Нравится, что переменные для каждой нити свои, но не уверен что это останется полезным при первом появлении ссылки на объект.

 

3. Нравится разделение на value type и классы. Действительно, Ada серьёзно проигрывает и требует использования ссылочных типов из-за отсутствия соответствующего понятия.

 

4. Нравится введение понятий "сигнал" и "слот". Очень хороший, полезный и надёжный способ взаимодействия объектов должен получиться, но примера так и не нашёл.

 

5. alias this это похоже на "syntax sugar", для решения некоторых задач удобно, но в целом... Думаю это страшно.

 

6. Интересно возможно ли применить "диапазоны" вместо "курсоров" в Ada.Containers?

 

Вывод: стелят мягко, да вот не факт что спать будет удобно.

Спасибо, мне понравилось. :)

On 06/18/2010 06:06 PM, Olleg Samoylov wrote:

 

Мне кажется для обрамления блоков {} гораздо

нагляднее, чем слова begin, end.

 

А я бы сказал - наоборот. Обилие значочков на мой взгляд делает код менее понятным при быстром просмотре. Если же встречается begin/end, то уже видно на что обращать внимание не нужно вовсе.

Olleg Samoylov wrote:

 

Я думаю более 90% всерьез программирующих людей программируют на C/C

++/С#/Java. :)

 

Хуже того, 90% всерьез программирующих людей - это индусы и китайцы!

(ну, может еще не 90%, но все к этому идет)

 

Я не столь категоричен, я не фанатик. Что-то мне нравится C, что-то в

Ada. В Ada, например, параметрический вызов функций, в C например

обрамление блоков. Мне кажется для обрамления блоков {} гораздо

нагляднее, чем слова begin, end.

 

Не хочу влезать в детали (нет ресурса, опять же). В целом, даже

пройдя по ссылкам и почитавши (очень толковую!) статью, ссылку на

которую дал Алексей, могу сказать (отбросив все эмоции) - на сколь-нибудь

детальное ознакомление с D не вдохновился. Не уверен, что я

в этом прав, но - мой жизненный ресурс, как хочу, так и трачу :)

sma

Вставлю свои 5 копеек. Спор о выборе языка подобен спору о выборе религии. Он почти не имеет смысла. Любые оценки субъективны. Единственным критерием истины (но не всегда надёжным) является рынок и время. Поживём - увидим...

P.S. Сам зарабатываю на жизнь языком C/C++. Пытаюсь пристроить Аду, правда пока без особого успеха. На мой взгляд, читабельность языка - дело привычки. Сильно вычурные, завумные конструкции в языке - скорее недостаток. 99% - кода пишутся на на самом простом подмножестве языка что в Аде что в Си. В программировании - главное Алгоритм. Язык дело десятое (в прямом смысле (не более 10% трудозатрат на кодирование)).

__________ Information from ESET NOD32 Antivirus, version of virus signature database 5142 (20100524) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru/.ml

sma wrote:

 

 

Вставлю свои 5 копеек. Спор о выборе языка подобен спору о выборе

религии. Он почти не имеет смысла.

 

Полностью согласен!

 

Любые оценки субъективны.

 

Категорически возражаю! Возможны математически точные аргументы (требующие

иногда привлечения некоторых элементов психологии, но тоже достаточно

четко описанных и вполне проверяемых)

 

Единственным критерием истины (но не всегда надёжным) является рынок и

время. Поживём - увидим...

 

Ни фига подобного. Рынок далеко не всегда отбирает решения,

лучшие в техническом и технологическом смысле!

 

99% - кода пишутся на на самом простом подмножестве языка

что в Аде что в Си.

 

Полностью согласен! Добавить еще стиль кодирования с его автоматическим

контролем - и вообще этот вопос можно снять.

 

В программировании - главное Алгоритм. Язык дело

десятое (в прямом смысле (не более 10% трудозатрат на кодирование)).

 

Категорически возражаю! Разработка алгоритма - копейки! Равно как и

кодирование. Даже отладка - относительная ерунда, хотя жрет больше,

чем алгоритм + кодирование. Жизнь программиста гробится на СОПРОВОЖДЕНИЕ кода,

причем, как правило, не важно - своего или чужого. И вот тут выбор

языка может существенно вам жизнь сэкономить.

 

Это если за индустрию говорить...

Разработка алгоритма - копейки!

 

Ого, вот это вы рубанули! :) Разработка алгоритма доказательства, что для любого натурального числа n > 2 уравнение a^n + b^n = c^n не имеет натуральных решений a, b и c - это тоже копейки? ;)

 

Таки разработка алгоритма, как и доказательство любой другой теоремы, может быть совсем не копейки. Вот трансляция уже существующего

алгоритма с одного языка на другой (в том числе с человеческого на язык программирования) - это да, вопрос сугубо технический. Но это не разработка алгоритма :)

Новое сообщение:
Страницы: 1 2

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти