LINUX.ORG.RU
 

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


0

0

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

>>-----Цитата---->>

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

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

<<-----Цитата----<<

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


[#]  

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

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

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

** ()
[#]  

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

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

anonymous ()
[#]  

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

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

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

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

()
[#]  

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

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

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

anonymous ()
[#]  
hbee

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

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

** ()
[#]  
GreenE

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

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от GreenE 17.11.2009 10:25:57  

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

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

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

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

anonymous ()
[#] Ответ на: Андрей Александреску, The Case for D от anonymous 17.11.2009 10:03:51  
const86

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

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

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

***** ()
[#] Ответ на: Андрей Александреску, The Case for D от const86 17.11.2009 10:37:04  

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

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

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

anonymous ()
[#]  
scaldov

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

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

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

** ()
[#] Ответ на: Андрей Александреску, The Case for D от scaldov 17.11.2009 10:51:12  

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

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

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

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

* ()
[#]  
scaldov

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

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

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

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

и т.д.

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

** ()
[#] Ответ на: Андрей Александреску, The Case for D от ratatosk 17.11.2009 11:04:43  
scaldov

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

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

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

** ()
[#]  
matumba

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

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

**** ()
[#] Ответ на: Андрей Александреску, The Case for D от ratatosk 17.11.2009 11:04:43  

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

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

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

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

anonymous ()
[#]  

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

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

anonymous ()
[#]  
ip1981

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

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

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

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

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

## ()
[#] Ответ на: Re: Андрей Александреску, The Case for D от anonymous 17.11.2009 11:11:30  
ip1981

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

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

## ()
[#] Ответ на: Андрей Александреску, The Case for D от matumba 17.11.2009 11:11:16  
ip1981

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

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

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

## ()
[#]  

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

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

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

ГН негодуе.

//c:serota microns

anonymous ()
[#] Ответ на: Андрей Александреску, The Case for D от scaldov 17.11.2009 11:09:33  
ZigmunD

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

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

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

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

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

* ()
[#]  

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

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

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

anonymous ()
[#]  
q4x2

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

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

()
[#]  

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 11:26:22  

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

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

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

anonymous ()
[#] Ответ на: Андрей Александреску, The Case for D от matumba 17.11.2009 11:11:16  

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

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

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

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

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

anonymous ()
[#]  

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

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

Ссылки:

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

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

* ()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 11:45:45  

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

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

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

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

anonymous ()
[#]  
emperor

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

>>-----Цитата---->>

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

<<-----Цитата----<<

Толсто.

()
[#]  
hawai

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от hawai 17.11.2009 12:05:31  
ip1981

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

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

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

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

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

## ()
[#] Ответ на: Андрей Александреску, The Case for D от progserega 17.11.2009 11:59:32  
ip1981

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

Ваще!

Я на днях допилил noweb, в том числе под Винду. Всё никак не нарадуюсь!

## ()
[#] Ответ на: Андрей Александреску, The Case for D от hawai 17.11.2009 12:05:31  

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 12:08:15  

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

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

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

**** ()
[#] Ответ на: Андрей Александреску, The Case for D от yyk 17.11.2009 12:15:18  
ip1981

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

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

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

## ()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 12:17:22  

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 12:17:22  

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

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

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


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

**** ()
[#] Ответ на: Андрей Александреску, The Case for D от yyk 17.11.2009 12:23:59  
ip1981

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

Я хочу сказать, что D - умный язык, слишком умный.

А C++ - тупой, поэтому хороший. Забыли умную Винду?

## ()
[#] Ответ на: Андрей Александреску, The Case for D от ip1981 17.11.2009 12:25:04  

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от AVATAR 17.11.2009 12:33:47  

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

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

()
[#]  

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

Интересный материал. Правда, очень уж много ошибок в русском тексте.

** ()
[#] Ответ на: Андрей Александреску, The Case for D от hk 17.11.2009 12:10:20  
hawai

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

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

толсто.

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

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

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

()
[#] Ответ на: Андрей Александреску, The Case for D от AVATAR 17.11.2009 12:33:47  
Cosmicman

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

"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 :)

** ()