Что определяет успех, и популярность языка программирования для реальной разработки программного обеспечения только частично связана с качеством самого языка. Как чистый язык, D возможно имеет много преимуществ перед C++ и Java. По крайней мере это - вероятная альтернатива как чистый язык при прочих равных условиях.
Однако другие вещи имеют значение для разработки программного обеспечения - почти больше, чем сам язык: мобильность (сколько платформ делает это, работают), поддержка для отладочных средств, поддержка IDE, стандартное качество библиотеки, динамическая поддержка библиотеки, привязка для общих API, документации, сообщества разработчиков, импульса и коммерческой поддержки, только для именования некоторых. В каждых из тех отношений D находится безнадежно позади Java, C++ и C#. На самом деле я утверждал бы, что это находится даже позади так называемых языков "сценариев" как Python, Perl, PHP, Ruby, и даже JavaScript в этих отношениях.
Грубо говоря, Вы просто не можете создать крупномасштабное, межплатформенное приложение с помощью D. С незрелой стандартной библиотекой никакая поддержка в любых современных IDE (существуют плагины и для Visual Studio и для Xamarin Studio / MonoDevelop), ограниченная динамическая/общая поддержка библиотеки, и небольшое количество привязки к другим языкам, D является просто не опцией сегодня.
, Если Вам нравится то, что Вы видите D, любой ценой, изучите его - это не должно занимать много времени, если Вы уже знаете Java и C++. Я не думаю, что евангелизм был бы полезен - в этой точке, если D собирается успешно выполниться, в чем это действительно нуждается, больше людей, бесшумно использующих его и обращающихся к его главным недостаткам как стандартная библиотека и поддержка IDE.
Наконец, что касается C++, в то время как большинство соглашается, язык слишком сложен, тысячи компаний успешно используют C++ в качестве части здорового соединения языков путем разрешения только меньшего, четко определенного подмножества языка. Все еще трудно разбить C++, когда и необработанная производительность и маленькое использование памяти требуются.
Как язык, я всегда чувствовал, что D ближе к C#, чем C++. Не в функциях и библиотеках, а в "чувстве". Это намного более чисто, более хорошо... забава (чем C++). По моему скромному мнению, самое большое препятствие в становлении вероятной альтернативой является инструментами, IDE и отладчиком. Если D преодолеет некоторые препятствия широко распространенного использования/принятия, больше инструментов и библиотек проявят. (Я сам возвращусь к D, если будет применимый IDE и отладчик.)
D является хорошим языком и прилично популярный , но как все языки, это - просто другой инструмент. Какой инструмент использовать зависит от вида человека, который Вы, как Вы думаете, среда, в которой Вы работаете, какие ограничения языков вводят программу, и самое главное, сама программа. Если бы у Вас есть время, я определенно рекомендовал бы изучить D. Худший вариант развития событий, Вы никогда не будете использовать его. Более вероятно Вы изучите, какие аспекты его Вам нравится большинство, и при каких условиях это сияет самое яркое, и используйте в своих интересах это для при создании новых программ.
я рекомендовал бы смотреть сравнительная таблица D для наблюдения то, что функции для языка и видят, звучит ли это правильным для Вас.
Мне нравится этот D, работа гения, прежде всего, один ум - Walter Bright, компилятор Zortech которого был фантастическим в его день.
В контрастном C++ слишком много дизайна комитета, даже если Bjarne является влиянием. Слишком много дополнительных функций и странного нового синтаксиса. Это различие отражается в простоте изучения и простоте повседневного использования, меньшего количества ошибок.
более когерентный вывод языков к лучшей производительности и радости программиста - но это субъективно и спорно! (я предполагаю, что должен провалить свой собственный ответ)
Я соглашаюсь, что C++ становится тупиковым языком - и он причиняет боль мне, чтобы сказать что, используя его в течение прошлых 17 лет.
я думаю, что D является законным преемником C++. С точки зрения языка это "делает все правильные вещи" (даже если я не соглашаюсь с каждым мелким решением). Я думаю с C и C++ на снижении нет никакого другого системного языка уровня, который может действительно сделать то, что они делают при поддержании себя в мире современных языков - кроме D! Мало того, что D исполняет эту роль - это выделяется в нем! Взгляда на D1.x должно быть достаточно, чтобы убедить Вас в том, что - но когда Вы смотрите на D2.0, это сдувает Вас. Именно мое мнение, что нет никакого другого языка вокруг сегодня работ, а также D2.0 в образовании моста парадигм императивного и функционального программирования - который только собирается стать более значительным в ближайшие годы.
Отсутствие основного принятия - или даже видимость - а также крупный масштаб, зрелый, библиотеки - препятствие, конечно. Однако я не думаю, что можно списать его из-за этого. Я убежден, что D будет расти для становления одним из самых важных языков вокруг в течение следующих нескольких лет - и те, которые относятся к нему, серьезно теперь будут хорошо помещенными для взятия на себя инициативу, когда то время настает.
я думаю, что различие собирается появиться должное, в значительной степени, к участию Andrei Alexandrescu. Это не должно дискредитировать Walter Bright всегда, который выполнил в важном задании, приносят D к миру. Но Alexandrescu является важным, и принуждение, число в, конечно, сообществе C++ - и существует то, куда большая часть потенциала D переключатели собирается прибыть из. И он также сделал значительный и существенный вклад в D2.0 в его поддержке функционального программирования.
может все еще оказаться, что D обречен быть Betamax системных языков уровня - но мои деньги находятся на нем оборачивающийся в течение следующих двух лет.
Только добавить мои собственные события в соединение:
приблизительно год назад я работал над мелкомасштабным игровым проектом (3 кодера) длительность 3 месяцев, где мы использовали D в качестве нашего основного языка. Мы выбрали его частично в качестве эксперимента, частично потому что это уже имело привязку для SDL и некоторых других инструментов, которые мы использовали, и главным образом для преимуществ появляется для имения по C++.
Мы любили использовать его. Это было быстро для изучения и легкий записать. Многие из него - функции, доказанные неоценимый, и я пропускаю их вернувшийся к C++.
Однако следующие моменты сделали наши жизни более трудными:
В целом, мы любили писать D. Это заставило на самом деле запись кодировать легкий и было быстро для изучения. Проблемы, которые я упомянул, повторяют ответ, который был принят для этого вопроса - это - "дополнительные" биты, которым нужно обращение в D, ядро его твердо.
Это действительно зависит от того, что Ваши потребности - крупномасштабное коммерческое применение, записанное в D , делает , существуют на стороне сервера, и для этого, D (обычно использующий Танго/Манго) является идеальным соответствием, и Вы, вероятно, будете в состоянии служить большему количеству запросов, чем с любым другим языком/платформой.
Для большего количества специализированных решений с точки зрения протоколов и интерактивности (который многие) у Вас будет больше проблем при нахождении необходимых библиотек, и отсутствие инструментов, вероятно, будет влиять на Вас больше.
Это похоже на очень хорошо разработанный язык; намного лучше, чем C - C++ - Objective C. Я могу жить без IDE или отладчика некоторое время, но не без хорошей, зарегистрированной библиотеки для D 2.0.
я перепроверю через 6 месяцев...
Один подход должен искать задания в Вашей области. Найдите работы, которые требуется делать и видеть, какие навыки они просят. Если они просят C++ или Ruby или Oracle или D, то это - навык, который должен главным образом помочь Вам получить задание, которое Вы хотите.
Работает отлично для моих собственных любимых проектов. Я использовал бы его для проектов работодателей, но для того, чтобы не знать, как трудно это будет для них, чтобы найти, что кто-то принимает источник после того, как я буду идти дальше. Нет никаких технических причин для предотвращения его, по крайней мере, на поддерживаемых платформах. (удар по древесине)