LINUX.ORG.RU

Андрей Александреску, The Case for D

 , ,


0

0

Перевод статьи The Case for D, выполненный сообществом сайта http://dprogramming.ru/d/

Мы, программисты, — странный народ. Достатчно взглянуть на то, как мы выбираем любимые языки и придерживаемся этих предпочтений в дальнейшем. Ожидаемая реакция программиста, заметившего на полке книжного магазинаиздание “Язык программирования XYZ” — “Даю себе ровно 30 секунд, чтобы найти в нём что-нибудь, что мне не понравится”. Изучение языка программирования требует времени и усилий, а результаты появляются не сразу. Попытка избежать этого — проявление инстинкта выживания. Ставки высоки, вложения рискованны, так что лучше уметь принимать быстрое решение “против”.

Изучение нового языка программирования может представлять интерес только в том случае, если язык удовлетворяет принципам, которые программист высоко ценит. Любое несовпадение создаёт у программиста впечатление небрежного и небезопасного или же навязчивого и нудного языка. Язык не может одновременно устраивать всех и каждого, он должен аккуратно выбирать основные координаты, позиционируя себя среди языков программирования.

>>> Перевод (pdf)

★★★★★

Проверено: maxcom ()

Спасибо переводчикам, очень хорошая статья. По делу и с юмором.

Особенно понравилось про нож для замороженной пивной банки!

gizzka ★★
()

Очень дваждую Александреску, дело говорит. Алсо Питон говно :3

anonymous
()

Что-то зоопарк компиляторов и runtime библиотек пугает. Как их пишут, если у языка нет reference документации. Только готовый компилятор в качестве наглядного пособия.

Заинтересовался, когда узнал, что у них есть DWT. Как оказалось пациент скорее мёртв, чем жив.

А так - удачи Андрею сотоварищи. Ждём killapp и тонны доков.

Nekto0n
()

Уррррааааа! Новая игрушка! Блестящая... Настоящая... «Больше объёма! Больше блеска!»

Всё хорошо. Чё с легаси-то делать?

anonymous
()

Забавно видеть, как люди упорно ставят ударение в слове «писать»? Чем же у них голова набита? :)

hbee ★★★★
()

Прочитал... некрофилия. D сейчас не больше, чем очередной МЕГА_СУПЕР_ПУПЕР язык программирования. Смотрите, мы изучили Java, C, С++ и реализовали все лучшее в нашем языке. Бросайтесь все переписывать на наш язык!
Крутизна доказывается на уровне HelloWorld. Ага, впечатляет.
"writeln выбрасывает exception при провале" Все, я уже влюбился :D

Дальнейшее комментировать не буду. Скажу просто, что совсем не впечатляет.

GreenE
()
Ответ на: комментарий от GreenE

Уууу... Это ещё мелочи... На самом деле, мы видели немало многострадального «hellow, world». Был от программистов на С, был от программистов на С++... На Java/Perl/Python... Даже от программистов на Хаскеле то же был.

Скажу сразу. Не так страшен сам по себе «hellow, world», как его технологические последствия. С ужасом ожидаю дальнейшего развития «hellow, world» от программистов на С#...

Галактика опасносе. Точнее не скажешь... :)))

anonymous
()
Ответ на: комментарий от anonymous

> Всё хорошо. Чё с легаси-то делать?

Как обычно: поддерживать как есть, пока все не забудут язык, на котором оно написано.

const86 ★★★★★
()
Ответ на: комментарий от const86

> Как обычно: поддерживать как есть, пока все не забудут язык, на котором оно написано.

Кхммм... Чёртов С. Ни как не забуду... :)))

anonymous
()
Ответ на: комментарий от GreenE

Питонер или Лиспер детектед.

anonymous
()

очень похоже на феерический бред.

есть такая байда как алгоритмы, именно их выбор определяет успех дела. а начём писать - дело десятое. умный пишет на Си(++), т.к. это работает быстро и кросплатформенно.

scaldov ★★
()
Ответ на: комментарий от scaldov

>есть такая байда как алгоритмы, именно их выбор определяет успех дела. а начём писать - дело десятое. умный пишет на Си(++), т.к. это работает быстро и кросплатформенно.

Аминь, как говорится.

Не, выбор алгоритма успех тебе только для кодека какого дай бог даст.
(алгоритмы)/(software development) = 0.1, не более.

ratatosk
()

переводится ни коим образом не «место для Д»

это переводится как угодно, но не так, как написали переводчики.

Случай Д
Версия Д
Дело о Д
Защита Д
Сторона Д

и т.д.

англоязычный автор явно хотел прокинуть аналогию с делопроизводством.

scaldov ★★
()
Ответ на: комментарий от ratatosk

>Не, выбор алгоритма успех тебе только для кодека какого дай бог даст. (алгоритмы)/(software development) = 0.1, не более.

похапе детектед.

scaldov ★★
()

Не понимаю тупорылых студентов, забрасывающих Ди помидорами - им бы поучиться уму-разуму у людей, старше их в три раза, а не понтоваться свежевыученными замыканиями. Ди хорош многими чертами, которые не понять ламерам, не имеющим даже 5 лет коммерческой работы. Ди не просто превосходный _промышленный_ язык, но и для души вполне хорош.
У него нет удобных иструментов и это отпугивает школяров, боящихся ошибиться - надо это преодолевать! Пока попишем в ВИМе или Сцыте, а там и среда появится. Мне, после Дельфи-Перлов-Си-Цэшарпов, кажется, что Ди вмещает правильный набор современных решений - на нём бы переписать весь этот Линупс, было бы шикарно.

matumba ★★★★★
()
Ответ на: комментарий от ratatosk

> Не, выбор алгоритма успех тебе только для кодека какого дай бог даст. (алгоритмы)/(software development) = 0.1, не более.

Ндааа... И только прости, Господи, просто 3.14здецкие идиоты сидели и шлифовали алгоритмы того же ядра Linux (например, самый известный вариант — замена планировщика с того, что был «имени Л. Торвальдса») на несколько. Сразу. И «потоки» как таковые были сразу а не появились в результате шлифовки алгоритмов по порождению процессов?

Интересно, что же даст мне успех? Неужто IDE??? :)))))))))

anonymous
()

Идея компилируемого Питона, конечно, хороша, но... как-то они всё бестолково делают, загнётся, наверное...

anonymous
()

Я думаю, место D - исследовательский проект. Как plan9, или Minix.

Языков уже много. Что-то новое и стоящее должно появится после массовых квантовых или «хрензнаетчтотамвнутри»-компьютеров.

А пока останемся при своём, ибо профит невелик.

Например, мне проще выучить Icon, чем переписать noweb на Перле.

ip1981 ☆☆
()
Ответ на: комментарий от anonymous

Кстати, да. Алгоритмы суперкросплатформенны. Языки приходят и уходят, а суть остаётся.

ip1981 ☆☆
()
Ответ на: комментарий от matumba

> У него нет удобных иструментов и это отпугивает школяров

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

ip1981 ☆☆
()

Какой, простите, диод, пишет все слова с заглавных букв?

Но Прежде Чем Углубляться...

ГН негодуе.

//c:serota microns

anonymous
()
Ответ на: комментарий от scaldov

>>Не, выбор алгоритма успех тебе только для кодека какого дай бог даст. (алгоритмы)/(software development) = 0.1, не более.

похапе детектед.

Скорее так: дельфист детектед.

Вспоминается бородатая шутка про то, как поймать льва в пустыне... Дельфист пойдет искать компонент для поимки льва в пустыне.

ZigmunD
()

>есть только два Ъ языка - это java и perl

а как же архимодный(мудный?) язык пистон ?

anonymous
()

“Доброеутро, стадо! Проснись!” -Вот как мне кажется основное зерно статьи.

q4x2
()

однозначно D ненужен я конечно не против новых языков и если появиться новый удобный язык более удобный чем C/C++ судовольствием освою и возьму на вооружение но пока что ничего лучше нету C/C++

hk
()
Ответ на: комментарий от ip1981

> мои инструмент - vim и make, и я забрасываю Ди помидорами.

По инструментам — аналогично. А забрасывать помидорами... Нет. Это не интересно уже. За последнее время уже столько языков по-наплодили, что так и хочется сказать — «выключите уже нах этот долбаный ксерокс!»

anonymous
()
Ответ на: комментарий от matumba

> Мне, после Дельфи-Перлов-Си-Цэшарпов, кажется, что Ди вмещает правильный набор современных решений - на нём бы переписать весь этот Линупс, было бы шикарно.

Виндарас детектед? Из набора «Дельфи-Перлов-Си-Цэшарпов» хоть что-то более-менее знаете? Так, чтоб на этом деньги зарабатывать. Или только и можете выдавать маркетинговые заявления о «правильном наборе современных решений»? Например, по сути, даже Java на момент своего появления, не привнесла ничего нового. Основная идея была благополучно заимствована из языка Н. Вирта. Я про Оберон, а не про паскаль. Обо всём этом рассказано, например, в статье Михаэля Франца «Java. Критическая оценка», была опубликована в журнале «Мир ПК» #8 за 1997г. Прочтите для общего развития. http://www.osp.ru/pcworld/1997/08/157842/

Кстати, сам Франц в своё время разработал Juice. По странной причине, оно не пошло «в серию».

Изо всего выше изложенного возникает два вопроса — а что, собственно, нового может предложить D? И что понимается под «правильным набором современных решений»? Уж не те ли пирожки, которые уже не по одному разу выср@ь успели? Переварить — тем более.

anonymous
()

В качестве затравки для интерисующихся. «Литературное программирование» Кнута.

Ссылки:

http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE...

http://community.livejournal.com/ru_perl/249441.html

Хоть уже и не программирую, но когда почитал - понял, что вот «на это» стоило бы «сменить» Си (для себя).

progserega
()
Ответ на: комментарий от ip1981

> «Ну и кто заказывал мю^W Ди?»

Ну как кто... Вестимо кто... Пожалуй, объясню. На мой непосвящённый взгляд, процесс «мышления» и процесс «дефикации» сходны своей РЕГУЛИРУЕМОСТЬЮ.

Вот, когда оно перестаёт «регулироваться», тогда и появляются... Некоторые «неприятности»... В интеллектуальном или ином смыслах... Отсюда делайте выводы. :)

anonymous
()

классический “hello, world” для других языков, таких как Java (код пропущен из-за ограниченного размера статьи)

Толсто.

emperor
()

что бы ни говорил досточтимый ip1981, мне D нравится. нравится потому, что для написания программы нужно отжиманий меньше, чем с C/С++, а результат работает совершенно сравнимо по скорости. плюс хватает разных вкусностей вроде приятного представления комплексных чисел, нормальный test framework, библиотека алгоритмов для работы над множествами, ну, и богатая tango. и не забывать лёгкую работу с system API из каропки. всё, что нужно на скорую руку, раньше гнал на ruby, сейчас - D.

hawai
()
Ответ на: комментарий от hawai

Вас комрят с рук вместо того, чтобы научить добывать еду самому.

На C++ можно забабахать такую комплексную алгебру, какую вы хотите, сохранив совместимость со всем миром.

http://github.com/ip1981/integrate/tree/master/complex/

http://github.com/ip1981/integrate/tree/master/vector/

ip1981 ☆☆
()
Ответ на: комментарий от hawai

>hawai раз вам так нравиться - D, покажите ваш первый проект который вы уже написали? или вы токо в теории любите?

hk
()
Ответ на: комментарий от ip1981

>Вас комрят с рук вместо того, чтобы научить добывать еду самому.

Ну раз уж пошли кривые аналогии... Нахрен кондитера учить выращивать зерновые? Вы так никаких булочек/пирожных/тортов не дождётесь...

yyk ★★★★★
()
Ответ на: комментарий от yyk

Вот тут кривые аналогии и пошли...

Кондитер делает из муки (и ещё кой-чего) всякую всячину, а умные языки дают вам готовые батоны.

ip1981 ☆☆
()
Ответ на: комментарий от ip1981

Хорош троллить, языку не хватает юзеров, фанаты двигают его в массы, будет пригодным - приживется, не будет - уйдет в небытие, всё просто

AVATAR
()
Ответ на: комментарий от AVATAR

А кто тролит-то? Я что ли? Это всё Александресску.

ip1981 ☆☆
()
Ответ на: комментарий от ip1981

>Вот тут кривые аналогии и пошли...

>Кондитер делает из муки (и ещё кой-чего) всякую всячину, а умные языки дают вам готовые батоны.


Ты хочешь сказать, что C++ - умный язык? Вот тот вот "портабельный ассемблер на стероидах"?

yyk ★★★★★
()
Ответ на: комментарий от ip1981

Для многих он совсем не тупой, а сложный, очень много тонкостей, знание которых приходят только с опытом. Разработчики D, как я понял, пытаются оградить юзверов от этого

AVATAR
()
Ответ на: комментарий от hk

>hawai раз вам так нравиться - D, покажите ваш первый проект который вы уже написали? или вы токо в теории любите?

толсто.

читайте внимательно:

всё, что нужно на скорую руку, раньше гнал на ruby, сейчас - D.

я пишу на С++. я не гоню проекты этерпрайз масштаба на D. хотя бы потому, что язык ещё не созрел (D1 - бедноват, D2 - нестабилен). я его использую для повседневных нужд, когда мне нужно сгонять что-то по-быстрому, типа парсилки-конвертера XML, чистильщика файлов, автоматизации и скриптов в проекте. руби оказался хуже из-за долгого запуска runtime - становится неудобно, когда надо обработать больше 10 тыр файлов.

а зачем Вам мой проект? ну так, для любопытства? D от этого станет лучше/хуже?

hawai
()
Ответ на: комментарий от AVATAR

«In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.»

«The fact is, C++ compilers are not trustworthy. They were even worse in 1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++.»

(c) Linus Torvalds :)

Cosmicman ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.