Почему Лисп умирает?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 26.05.07 10:19
Оценка: 71 (9) +2
Привет всем.

Наткнулся на очень необычную точку зрения. Хотя она именно цепляет своей необычностью, тем не менее здравое зерно в ней, на мой взгляд, есть. Сообщение было запощено в comp.lang.lisp неким Ben-ом.

Well, I finally reached enlightenment. I understand why people don't use lisp. It took me a long time. It isn't a lack of libraries, or the number of parentheses. The thing that kills a language is powerful syntax and abstractions.

I work in C# (worst language EVER!) and I had to write some loops to accumulate some values in some collections. I spent a good deal of time looking for some standard accumulate function. Nothing. So I
decided to roll my own using generics and anonymous functions. My manager looked at the code and asked "Who's going to maintain this? How will they understand it?"

That's not the first time I've encountered these questions. I heard it when I used function pointers in C. I heard it when I used templates in C++. I heard it when I used Lisp for ANYTHING.

I can certainly understand concerns about over engineering a solution. I've been the victim of many over complicated class structures. I think there's a difference between complicating a design and using the language syntax. When I simplified the implementation from six independent functions to one that gets an anonymous function, I thought I was making it easier. I didn't worry that future developers would have to know ALL the syntax of the language instead of just the set that intersects with C++.

I'm finding that regardless of the language used, many "professional" developers have a serious issue with the more powerful abstractions available to them. A language like Lisp that supports the abstractions so naturally (as opposed to the syntactic mutilation that happens in C#) is doomed.

Sorry about the rant. I am incredibly frustrated. How is C#'s poor readability my fault? I didn't design or select the doggone language.

I hope our product's translators understand the languages they translate. Maybe they figure knowing a few major words is enough, and they can wing the rest!

-Ben


Результат трансляции:

Гхм, я наконец достиг просветления. Теперь я понимаю, почему люди не используют Лисп. О, я долго шёл к этому. Причина не в недостатке библиотек, и не в количестве скобок. Та самая штука, которая убивает язык — это мощный синтаксис и мощные абстракции.

Я работаю на C# (кошмарнейший язык!) и я должен был написать некоторые циклы для суммирования некоторых занчений в некоторых коллекция. Я потратил целую кучу времени в поисках стандартной функции суммирования. Ничего. Потому я решил налабать свою на дженериках и анонимных функциях. Мой манагер посмотрел на код и спросил: "Чувак, да ты маньяк! Какого хрена ты здесь накатал? Ты думаешь у меня штат гениев чтобы разбирать твою помойку?"

Это не первый раз, когда мне задавали такие, с позволения сказать, вопросы. Меня доставали ими, когда я использовал указатели на функции в C. Меня доставали ими, когда я использовал шаблоны в C++. Мне капали на моск когда я использовал Лисп для хотя бы ЧЕГО-НИБУДЬ.

Я конешно могу понять штуки про стрельбу из пушки по воробьям. Я оказался жертвой соблазна владеть ядерным оружием. Я думаю, есть разница между усложнением дизайна и использованием синтаксиса языка. Когда я упрощал реализацию с шести независимых функций до одной, которая принимает анонимную функцию, я думал что я делаю вещи легче для понимания. Меня не особенно волновало то, что разработчики идущие вслед за мной вынуждены были знать ВЕСЬ язык вместо небольшой части, пересекающейся с C++.

Я наблюдаю такую ситуацию независимо от используемого языка. Многие "профессиональные" программуры обнаруживают серьёзные пробелы с более мощными абстракциями доступными для них. Язык типа Лиспа, который поддерживает абстракции настолько естественно (вместо синтаксических вывертов, что происходит в C#) оказывается обречённым на вымирание.

Я прошу прощения за этот поток сознания. Я офигенно разочарован. Как получилось, что ужасная читабельность C# оказывается моим провалом? Я не разрабатывал его и не выбирал этот долбаный язык!

Я надеюсь, переводчики нашего продукта понимают языки на которые они переводят. Хотя возможно они думают, что достаточно знать несколько мегаслов, и они могут подогнать остальное, что бы там ни оставалось!

— Бен


Вся ветка, которую я не советую читать — очень большая, и невозможно оторваться, но привожу здесь для полноты картины:
I finally understand why I'm not allowed to use Lisp
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 12:02
Оценка: 1 (1) +7 -1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

Спасибо за перевод.

ЗЫ

Просьба на будущее. Господа! Давайте перевод первым. А то получается так, что сначала читашь английский (естественно это получается медленее), а потом обнаруживаеш, что зрая напрягался и есть перевод.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 12:02
Оценка: +4
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

Мне кажется, что это:
LCR>"Чувак, да ты маньяк! Какого хрена ты здесь накатал? Ты думаешь у меня штат гениев чтобы разбирать твою помойку?"
слишком вольный перевод для этого:
LCR>"Who's going to maintain this? How will they understand it?"

Тут сказано "Кто будет поддерживать это? Кто это сможет понять?".

Не надо делать из менеджера полного идиота, а из рассказа очредное "обличени" маньяка-фанатика. Мужик хотя и в излишне экспессивной форме говорит о реальной проблеме (к Лиспу, правда отношения не имеющей) — о проблеме понимания фукнциональных абстраций.

Наезды его на язык в общем-то совершенно не обоснованныее. Дело тут именно в менталитете. Люди не привыкли к использованию абстракций на уровне выражений. Проблема есть, но она легко устранима.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Почему Лисп умирает?
От: Alex EXO http://aleksandr-zubarev.moikrug.ru/
Дата: 26.05.07 12:09
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD> Люди не привыкли к использованию абстракций на уровне выражений. Проблема есть, но она легко устранима.


Раскажи как?
Re: Почему Лисп умирает?
От: glyph  
Дата: 26.05.07 12:30
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Вся ветка, которую я не советую читать — очень большая, и невозможно оторваться, но привожу здесь для полноты картины:

LCR>I finally understand why I'm not allowed to use Lisp
Извините, но я не согласен ни с темой, ни с переводом.
Перевод, по моему мнению, слишком эмоционален. Сам грешен таким, так что интуитивно понимаю и сочувствую. Недостаток в том, что в переводе есть то, чего нет в оригинале.
+: не надо упаднический настроений. Жизнь показывает, что Lisp не умирает.
Re[2]: Почему Лисп умирает?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 26.05.07 12:31
Оценка: +1 :)
VladD2,

LCR>>"Чувак, да ты маньяк! Какого хрена ты здесь накатал? Ты думаешь у меня штат гениев чтобы разбирать твою помойку?"

VD>слишком вольный перевод для этого:
LCR>>"Who's going to maintain this? How will they understand it?"
VD>Тут сказано "Кто будет поддерживать это? Кто это сможет понять?".

А где же та экспрессия, с которой обычно менеджеры общаются с подчинёнными?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[2]: Почему Лисп умирает?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 26.05.07 12:41
Оценка:
glyph,

G>Извините, но я не согласен ни с темой, ни с переводом.


Да ничего страшного, я тоже не всегда согласен со многими утверждениями.

G>Перевод, по моему мнению, слишком эмоционален. Сам грешен таким, так что интуитивно понимаю и сочувствую. Недостаток в том, что в переводе есть то, чего нет в оригинале.


Да, согласен, я сегодня в ударе. Однако, главную мысль (она выделена жирным) я оставил без изменений. Специально, чтобы на неё обратили внимание. Я так понимаю, что ты (можно на ты?) именно с ней не согласен?

G>+: не надо упаднический настроений. Жизнь показывает, что Lisp не умирает.

Моя жизнь этого подтвердить не может
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[2]: Почему Лисп умирает?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 26.05.07 12:44
Оценка:
VladD2,

VD>Просьба на будущее. Господа! Давайте перевод первым. А то получается так, что сначала читашь английский (естественно это получается медленее), а потом обнаруживаеш, что зрая напрягался и есть перевод.


Хорошо, принял во внимание.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[3]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 13:16
Оценка:
Здравствуйте, Alex EXO, Вы писали:

VD>> Люди не привыкли к использованию абстракций на уровне выражений. Проблема есть, но она легко устранима.


AE>Раскажи как?


Тут есть два пути.
1. Обучать людей этому. В конце концов писть на Дельфи даже сложнее (сам тут давича попробовал, долго плевался ), чем на многих ФЯ. Но люди этому обучаются за 6 лет института и без проблем делают на практике.
2. Абстракции в основном плохо понимаются из-за их не очевидности, а порой и бердовости формы. Что знчит Map, Fold, Reduce? Бзе специального обучения и привывания это не очевидно. После С++ Map — это скорее кортенер хранящий пары ключ-значение. Об остальном даже говорить не приходится. Одна из попыток сделать пдобные вещи близе к народу сделана как раз в том самом C# на который так огрызается автор. Практически исчерпывающий список унивирсальных фукнций обработки списокв (всшего порядка) встроен в язык под видом SQL. SQL люди изучают и врде бы как даже понимают. Получается, что даже люди с довольно посредсвенным развитием мозгов смогут пользоваться этими мощьными вещами. Более того они даже будут пользоваться ими на более высоком уровне. Ведь в SQL-like-выражении они будут видеть именно запрос, а не последовательный вызов фунций.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 13:16
Оценка: +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>А где же та экспрессия, с которой обычно менеджеры общаются с подчинёнными?


Видимо у тебя были плохие менджеры. Лично я стараюсь общаться с подчиненными спокойно и конструктивно. Бывает, кончно, что срываюсь, но откровенно говоря мне и самом это не нравистя. Да и результат обывно отрицательный. Хотя иногда нужно жестко сказать "Так! Все! Дисскуссия закончена. Бдует как я сказал.". Но это только в тупиковых ситуациях, чтобы не стоять на месте пережовывая одно и то же по сто раз.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 13:16
Оценка:
Здравствуйте, glyph, Вы писали:

G>Извините, но я не согласен ни с темой, ни с переводом.

G>Перевод, по моему мнению, слишком эмоционален. Сам грешен таким, так что интуитивно понимаю и сочувствую. Недостаток в том, что в переводе есть то, чего нет в оригинале.

+1

G>+: не надо упаднический настроений.


+1

G>Жизнь показывает, что Lisp не умирает.


Сдается мне, что жизнь показывает, что он и не живет вовсе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Почему Лисп умирает?
От: Kisloid Мухосранск  
Дата: 26.05.07 14:10
Оценка:
Здравствуйте, VladD2, Вы писали:

G>>Жизнь показывает, что Lisp не умирает.


VD>Сдается мне, что жизнь показывает, что он и не живет вовсе.


Сдается мне, что программируемый язык программирования не может умереть в принципе.
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[3]: Почему Лисп умирает?
От: glyph  
Дата: 26.05.07 17:43
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Да, согласен, я сегодня в ударе. Однако, главную мысль (она выделена жирным) я оставил без изменений. Специально, чтобы на неё обратили внимание. Я так понимаю, что ты (можно на ты?) именно с ней не согласен?

Одновременно и согласен, и не согласен.
Согласен потому, что абстракции высокого уровня — это не то, что можно объяснить на пальцах. Для понимания таких вещей требуется определенная ступень развития мышления, которая есть не у каждого. Скажу более — не каждый стремится к развитию своего мышления до такого уровня. Приходилось слышать реплики типа "это все слишком сложно, я не буду использовать это в реальной жизни".
Не согласен потому, что критерий сложности субъективен. То, что кажется сложным сегодня, может оказаться естественным завтра, так что этот аспект я бы перенес из плоскости языка в плоскость человеческой натуры.
G>>+: не надо упаднический настроений. Жизнь показывает, что Lisp не умирает.
LCR>Моя жизнь этого подтвердить не может
Мой team-lead, которого я очень уважаю, на прошлом месте работы написал биллинговую систему для интернет-провайдера на lisp'е. Я вижу развивающиеся или совершенствующиеся проекты на elisp. Активность в c.c.l не падает. Функциональные языки становятся...эээ... несколько модными... Есть еще ряд прямых или косвенных признаков, да ты, наверное, и сам следишь... Так что жизнь — продолжается.
Re[4]: Почему Лисп умирает?
От: igna Россия  
Дата: 26.05.07 17:54
Оценка: -1
Здравствуйте, VladD2, Вы писали:

VD>Видимо у тебя были плохие менджеры. Лично я стараюсь общаться с подчиненными спокойно и конструктивно. Бывает, кончно, что срываюсь


Мне кажется, что если англоязычный менеджер сказал "Who's going to maintain this? How will they understand it?", он как раз слегка "сорвался". Ну во всяком случае испытал те же эмоции, что испытывает менеджер русскоязычный говоря "Чувак, да ты маньяк! Какого хрена ты здесь накатал? Ты думаешь у меня штат гениев чтобы разбирать твою помойку?"

Конечно, и по русски можно короче, но ... другими словами.
Re[4]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 17:57
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>Сдается мне, что программируемый язык программирования не может умереть в принципе.


Рано или поздно умирает все. Остается только память.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Почему Лисп умирает?
От: igna Россия  
Дата: 26.05.07 18:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Рано или поздно умирает все. Остается только память.


Потом умирает память и остается только память о памяти.
Re[3]: Почему Лисп умирает?
От: glyph  
Дата: 26.05.07 18:16
Оценка:
Здравствуйте, VladD2, Вы писали:

G>>Жизнь показывает, что Lisp не умирает.

VD>Сдается мне, что жизнь показывает, что он и не живет вовсе.
Влад, я Вас очень уважаю и считаю авторитетом в длинном ряду вопросов, но некоторые Ваши взгляды разделить не могу. Очень не хочу скатываться во флейм, но, читая rsdn.decl, иногда складывается впечатление, что Вы несколько предвзято относитесь ко всему, кроме Nemerle.
Несомненно, в Ваших утверждениях есть изрядная доля истины. Однако, не стоит забывать, что любой опыт крайне субъективен.
В общем, без лишнего пафоса:
Да, действительно, после С++ или другого императивного языка map, foldr\foldl, reduce и filter неочевидны. Но для меня было открытием, что Scheme в MIT преподается как первый язык программирования.
У многих generic programmers понимание SQL заканчивается на внешних объединениях и группировках. Немногие читали "Введение в основы баз данных" мр-а Дейтела, и лишь единицы нашли документы, на которые он ссылается. Так что говорить о том, что пользуясь SQL, человек понимает, что лежит в основе, — это все равно, что сказать, что если я переключаю каналы телевизора, то, значит, разбираюсь в электронике.
В основе SQL лежит работа со списками и кортежами, но использовать SQL для решения нереляционных задач идея не менее бредовая, чем map, Вы не находите?
Я понимаю Вашу точку зрения. Но лично я считаю, что если, вместо понижения планки "средний программист" поднять порог вхождения в профессию "программист" вообще, то можно добиться значительно лучших результатов.
Re[5]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 18:24
Оценка: +2
Здравствуйте, igna, Вы писали:

I>Мне кажется, что если англоязычный менеджер сказал "Who's going to maintain this? How will they understand it?", он как раз слегка "сорвался". Ну во всяком случае испытал те же эмоции, что испытывает менеджер русскоязычный говоря "Чувак, да ты маньяк! Какого хрена ты здесь накатал? Ты думаешь у меня штат гениев чтобы разбирать твою помойку?"


Менеджер который (не в шутку) называет подчиненного "чувак" и разговаривает подобным образом — это быдло. И обсуждать его высказвания вообще не стоит.

В любом случае подобного рода "доработки" это явный перебор. Творчество в переводе не должно искажать смысл.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 18:40
Оценка:
Здравствуйте, glyph, Вы писали:

G>Согласен потому, что абстракции высокого уровня — это не то, что можно объяснить на пальцах.


Открвоенно говоря никак не могу понять почему тут вообще идут разговоры об "абстракциях высокого уровня".

Ничего высокоуровневого в применении стантдартных ФВП вроде fold и map нет. Это очень низкоуровневая оптимизация — декомпозиция фунций на уровне выражений.

Программисты каждый день работают с действительно высокоуровневыми абстракциями и никаких прблем не истытывают. Большинство тех же паттернов проектирования намного сложнее, но народ их понимает и принимает.

Любому ребенку можно объяснить, что одну сложную процедуру/фукцнию можно (и, зачастую, нужно) разбить на более универсальную (абстрактуню), а частности передать в нее в как аргументы.

То что в императивных языках не принято (хотя это не совсем так, вспоминаем STL) производить декомпозицию на подобного рода урове (уровне выражений) — это всего лишь дурной стериотип.

G> Для понимания таких вещей требуется определенная ступень развития мышления,


Ненужно так растопыривать пальцы. Дайте мне любого программиста понимающего что такое декомпозиция фунция и я за пять минут объясню им все что нужно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Почему Лисп умирает?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.07 19:29
Оценка: 3 (2)
Здравствуйте, glyph, Вы писали:

G>Влад, я Вас очень уважаю и считаю авторитетом в длинном ряду вопросов, но некоторые Ваши взгляды разделить не могу. Очень не хочу скатываться во флейм, но, читая rsdn.decl, иногда складывается впечатление, что Вы несколько предвзято относитесь ко всему, кроме Nemerle.


Я ко всему отношусть соврешенно спокойно и разумно. Nemerle еще (надеюсь) не живет. А Лисп уже, потому как назвать жизнью это нельзя. Используются отдельными личностями для мелких задач.

G>Несомненно, в Ваших утверждениях есть изрядная доля истины. Однако, не стоит забывать, что любой опыт крайне субъективен.


Речь не об опыте. Речь о фактах. Я знаю сотни, если не тысячи контор в России и много зарубежных и ни разу не слылаш, чтобы какой-то коммерческий софт писался на Лиспе. Сообщение о том, что протитип GC .NET-а был сперва написан на Лиспе уже воспринимается как спер-достижение, при этом забываетс о том, что далее все было типо переписано на С++, т.е. дальше игрушек одного человека дело не пошло.

G>Да, действительно, после С++ или другого императивного языка map, foldr\foldl, reduce и filter неочевидны.


Не очевидны. Но множество программистов пользуются совершенно чудовищным STL где есть аналоги этих фукнций (acomulate и что-то еще). При этом вроде как люди их воспринимают довольно неплохо. Так что дело не в тех людях, что пользуются этими технологиями, а в тех кто их объясняет.

Сам грешен пытался изучать Лисп по чудовищнейшей книжке какой-то дамы (так как дама этипиты преберегу). Бросил на сердине, так как это просто ни в какие ворота не лезит. 90% всего остального материала по ФП тоже ни в какие ворота.

G> Но для меня было открытием, что Scheme в MIT преподается как первый язык программирования.


Насколько я пониял они уже хотят использовать Питон.
В прочем это не важно. Я видел их лекции. Это тоже по больше мере понты, а не наормальное (доходчивое) изложение. Хотя лучше чем то что обычно доступно на русском.

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

G>У многих generic programmers понимание SQL заканчивается на внешних объединениях и группировках.


Ради псроведливости надо заметить, что в стандартном фунциональном наборе все заканчиваетя на свртке, конвертации и фильтрации. Я что-то не видел фунций аналогичных join и т.п.

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

Так почему же до людй до которых доходит SQL не могут дойти такие примитивные вещи как организация вычисления на соврешенно примитивных фукциях?

G> Немногие читали "Введение в основы баз данных" мр-а Дейтела, и лишь единицы нашли документы, на которые он ссылается.


Не надо так плохо думать о людях. Даже набор аннатация на нашем сайте содержим 10 книг. Эти кники читало большинство наших посетителей.

В общем, не надо уж так плохо думать о людях.

G>Так что говорить о том, что пользуясь SQL, человек понимает, что лежит в основе, — это все равно, что сказать, что если я переключаю каналы телевизора, то, значит, разбираюсь в электронике.


Я даже не собираюсь говорить о том, что лежит в основе. Это к делу не относится. Важен сам факт того, что люди легко осваивают SQL и используют его в работе. Значит и многие фишки ФП могут легко быть исползованы.

G>В основе SQL лежит работа со списками и кортежами,


Ага. И такие рассуждения за рамками научных статей я считаю полнейшим балшитом. Люди думаю о SQL как о языке доступа к табличкам из БД (выражаясь расхожими штампами "доступа к релляционным данным", но по факту люди думаю именно о табличках). Это им просто и понятно. И не нужно прегружать мозги чем-то еще.

G> но использовать SQL для решения нереляционных задач идея не менее бредовая, чем map, Вы не находите?


Нет не нахожу. Более того не нахожу различий со стандартным набором фунций из любого ФЯ. Разница конечно есть, но она чисто синтаксическая. Вместо Filter используется Where, вместо Map используется Select и т.п. Более того. Join и GroupBy отлично влелись в эти ряды и выглядят очень естественно.

Конечно язык не чистый SQL. Но люди не воспринимают его как ФП со всеми его заморочками. Они говорят "Это эдокий SQL доступа к объектам. Отсюда и отличия.".

G>Я понимаю Вашу точку зрения. Но лично я считаю, что если, вместо понижения планки "средний программист" поднять порог вхождения в профессию "программист" вообще, то можно добиться значительно лучших результатов.


Вот это уже просто вредительское рассуждение. Причем я понимаю откуда корни. Корти почти те же, что и непопулярности фунций высшего порядка. Как в том случае обучением занимаются не педагоги, а программисты. Так и в этом случае о потребностях рынка думают не экономисты и предприниматели, а опять же программисты.

То сколько нужно программистов определяет рынок. Конечно никто не отказался бы если бы вдруг уровень программистов, волшебным образом, стал выше. Но это утопия. На улучшение обстановки с образованием нужно затратить много лет и миллиарды долларов. МИТ и МГУ — это вышка образования и в этих вузах учится ничтожное количество людей. А потребности рынка огромны.

По этому если есть некие средства повышения производительности и/или повышения качества труда программистов, то глупо их не использовать.

Отсюда наши попытки писать про "это" и попытки МС предоставить "правильные по мнению едениц" технологии массам — все является благим делом. МС большой и может сделать больше. Ну, так нечего со снобистским взглядом смотреть на это и говорить охать.

Охать нужно о другом. О тех, не побоюсь этого слова, неучах которые обучают программистов. И мне по барабану полные ли это дебилы знающие только С на тройку или они гении в программировании, но бездари в педагогике. Я вижу результат. Он ужасен.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.