|
|
  |
Перспективы языка D, Помогите составить мнение |
|
|
|
May 27 2011, 05:36
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(demiurg_spb @ May 27 2011, 08:33)  А что бы на это сподвигнуться нужна задача, но до сих пор как-то обходился С и С++, как и подавляющее большинство наших коллег. В ближайшее время, думаю, вряд ли что измениться. Ну все-таки С++ (не говоря про С) на сегодняшний день уже довольно убогий. И в первую очередь засчёт очень скудных средств препроцессора. Шаблоны в С++ несколько улучшают ситуацию, но вот почитал я того же Александреску - это ж свихнуться можно. Книга напоминает сборник магических заклинаний. Интересно, захватывает, но крыша потихоньку едет набекрень. Кодогенерация таким способом - это для маниаков. Old-school в виде процедурного программирования тоже нынче уже не катит. Нужно что-то новое.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 28 2011, 05:18
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(MrYuran @ May 27 2011, 12:36)  Ну все-таки С++ (не говоря про С) на сегодняшний день уже довольно убогий. И в первую очередь засчёт очень скудных средств препроцессора. Ну, уж и убогий. Вполне мощный современный низкоуровневый ЯП. Его недостатки в виде препроцессора, местами дурацкого синтаксиса - это наследие С, совместимость с которым была поставлена во главу угла и именно благодаря которой этот ЯП смог стать таким используемым. И если на больших машинах сейчас множество задач вполне успешно решаются с использованием высокоуровневых (скриптовых) языков, то в embedded плюсам самая ниша - эффективная реализация при внушительной мощи языковых средств. Самый главный недостаток плюсов - это, имхо, сложность. Но тут причина не столько в самом языке, сколько в его низкоуровневости, которая подразумевает тучи нюансов почти по всем аспектам. Поэтому эффективно разрабатывать ПО на нём можно только если имеется достаточный опыт. Думается, что с D, как продолжением этой линейки, ситуация будет аналогичной. Цитата(MrYuran @ May 27 2011, 12:36)  Шаблоны в С++ несколько улучшают ситуацию, но вот почитал я того же Александреску - это ж свихнуться можно. Книга напоминает сборник магических заклинаний. Интересно, захватывает, но крыша потихоньку едет набекрень. Кодогенерация таким способом - это для маниаков. Это с непривычки.  Да, многие финты там возникают оттого, что в языке не были предусмотрены определённые средства - например, оператор определения типа на этапе компиляции - ведь эта функциональность вполне бесплатно даётся (в смысле накладных рантайма), делается компилятором, совместимость с прежними версиями не нарушает, но до сих пор не добавили - вот Александреску и наизобретал финтов, как это реализовывать. На самом деле там у него почти все навороты относятся к области, где давно рулят ЯП более высокого уровня, в том числе и функциональные. Конечно, сравнивать по удобству и безопасности эти языки с С++ некорректно (как и С++ сравнивать с ними по эффективности кода  ). Это просто другая ниша. Естественно, что использовать средство не в своей нише - это всегда сложности и риск. Как бы то ни было, Александреску - это отдельная тема. Подавляющее большинство кода пишется не в таком стиле, и плюсы вполне себя оправдывают.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
May 28 2011, 09:04
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(dxp @ May 28 2011, 09:18)  Да, многие финты там возникают оттого, что в языке не были предусмотрены определённые средства - например, оператор определения типа на этапе компиляции Для этого в gcc есть: typeof и ещё много чего полезного, но не стандартного. Цитата(MrYuran @ May 27 2011, 09:36)  Ну все-таки С++ (не говоря про С) на сегодняшний день уже довольно убогий. Ничего не стоит на месте.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
May 28 2011, 09:26
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(dxp @ May 28 2011, 08:18)  Думается, что с D, как продолжением этой линейки, ситуация будет аналогичной. Ну, там сразу позиционируется гибрид lazy-programming и Сишных красот. Повторюсь, не нравится бессистемность развития, - информации, куда идти, нету, она пока что собирается. Цитата(demiurg_spb @ May 28 2011, 12:04)  Для этого в gcc есть *** Ничего не стоит на месте. Но развивается иногда кривым путем, как в той истории с Fixed Point
Сообщение отредактировал _Pasha - May 28 2011, 09:27
|
|
|
|
|
Jul 8 2011, 15:23
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 5-05-06
Пользователь №: 16 804

|
Насколько я знаю, в мире существует под 10 тысяч языков программирования. Создать новый язык нетрудно - трудно сделать его настолько полезным, чтобы окупились затраты по переходу на него целой армии разработчиков. Еще трудно написать толстую кипу библиотек поддержки - и отладить их. Уже реализованные проекты зачастую учитывают, например, известные ошибки библиотек - как Вам идея все это перенести под новый язык, с его специфическими ошибками? Когда-то язык Си славился малым размером, сейчас его наследника, Си++, маленьким никак не назовешь. Мое сочувствие лицам, изучающим с нуля его сейчас. С другой стороны, нет необходимости учить С++ целиком - в нем много подмножеств, достаточных для программирования. А чтобы новый язык, типа D, оттеснил такого признанного лидера, он должен быть на порядок лучше. Грубо говоря, резко повысить скорость написания и отладки кода и гарантировать резкое повышение надежности. Косметических улучшений будет недостаточно.
|
|
|
|
|
Jul 8 2011, 19:51
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(AndrewKirs @ Jul 8 2011, 18:23)  Насколько я знаю, в мире существует под 10 тысяч языков программирования. Создать новый язык нетрудно - трудно сделать его настолько полезным, чтобы окупились затраты по переходу на него целой армии разработчиков. Еще трудно написать толстую кипу библиотек поддержки - и отладить их. Уже реализованные проекты зачастую учитывают, например, известные ошибки библиотек - как Вам идея все это перенести под новый язык, с его специфическими ошибками? Когда-то язык Си славился малым размером, сейчас его наследника, Си++, маленьким никак не назовешь. Мое сочувствие лицам, изучающим с нуля его сейчас. С другой стороны, нет необходимости учить С++ целиком - в нем много подмножеств, достаточных для программирования. А чтобы новый язык, типа D, оттеснил такого признанного лидера, он должен быть на порядок лучше. Грубо говоря, резко повысить скорость написания и отладки кода и гарантировать резкое повышение надежности. Косметических улучшений будет недостаточно. Хм, а я думал что никакой язык не может быть гораздо лучше других. Потому что их роль в производительности программиста никакая. Языки создаются под приложения. Поэтому сначала рождаются либы, а потом язык под них и только для того чтобы сохранить контроль над либами или связять свой бренд накрепко с ними. Поэтому любой язык может вдруг подняться только потому что появится новый тип приложений, а вовсе не от того что он что то там повышает и ускрояет. Взять тот же PHP. Повышают и ускоряют нынче интегрированные среды разработки, а не языки.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|