Re[3]: не философия программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.10.06 01:29
Оценка: 251 (29) +9 -2 :))) :))) :))
Здравствуйте, eao197, Вы писали:

E>Для меня VladD2 == Nemerle

E>А до этого было VladD2 == C#
E>После этого будет VladD2 == <диферамбы очередной штуковине>

Нда, с булевыми выражениями у тебя не фантан.

VladD2 == это человек. Оценивать его можно исключительно по тому что он делает для себя и окружающий. Так вот он — это не малая доля этого сайта и твоя возможность свободно выражать мнение на этом сайте. VladD2 — это так же 2 уцелевших в этой стране журнала по программированию. И тот мальчик который бегает за всю команду покупать железки по магазинам. VladD2 — это куча статей и сообщений в форумах. VladD2 — это редактура чужих статей (и твоей в том числе, хотя надо признать, что она одна из немногих написанная дейсвительно хорошо). VladD2 — это несколько открытых проектов. VladD2 это... в общем, это очень много чего. И надо быть не образованным (иметь большие проблемы с булевой алгеброй) или не адекватным, чтобы приравнивать VladD2 к языку программирования (или вообще к чему-то что ему сейчас нравится).

Разумно было бы сказать что VladD2 — это программист которому нравятся некоторые языки и технологии. Когда-то VladD2 считал С лучшим языком програмирования (возможно потому что других не знал). Потом он узнал о COM, Delphi и С++. Эти технологии стали его фаваритнами на какое-то время. Потом он узнал о Яве, но ява была слишком тормозная и убогая, а компьютеры еще не очень шустрые и он не оценил эту технологию. Потом появился дотнет и C# и он оценил эти технологии, так как они были лучше С++ и COM во многих аспектах. Да немного поворчал на то что все это не привычно и долго не мог привыкнуть к отсуствию некторых привычных вещей, но потом понял, что кумулятивный эффект у новой технологии выше. Далее не без этого форума он познакомился с другими технологиями, что в итоге привело к созданию форума декларативное программирование. Метапрограммироване занимало VladD2 даже тогда когда он еще не познакомился с этими "другими технологиями". Он даже сделал открытый проект привносящий метапрограммирование в .net (точнее в C#). Концепции этих других технологий оказались привлекательными, но вот языки который VladD2 видел оказались далеки от его представления о... самое время сказать слово "идеал", но мы в своем повествовании обойдемся менее эмоциональным эпитетом и скажем "современный язык". VladD2 показалось странным и сильная религиозная накачка мира других языков. Ему было не ясно почему нужно отказываться от проверенных временем решений вроде ООП и КОП и строить "наш новый мир". И тут на горизонте появился новый язык который органично впитал в себе то новое и интересно и при этом не противопоставил себя тем проверенным и явно удобным решениям кторые VladD2 использовал до этого. Уж не помню кто дал ему ссылку на Nemerle, но точно помню, что ссылку давали не один раз. И проникся я не сразу.

Вообще VladD2 доволно наглый (в душе), так как считает, что умеет видить перспективные вещи. Простим ему эту слабость.

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

Является ли VladD2 фанатиком чего-то одного? Незнаю как фанатиком, но то что привычки ему не чужды — это точно. По крайней мере когда МС отровенно перестаравшись с рекламной компанией дотнета сформировала миф о том, что на COM поставлен жирный крест (по крайней мере так казалось тому самому VladD2), то он был сильно растерян и подавлен. Темболее, что по началу особых преимущество дотнета (порочившегося как замена КОМ-у), а вот странное ощущение "что тебя кинули" у него возникало. Но он пересилил себя и разобрался по глубже он понял, что в МС приняли действительно мудрое решение. Компонентная модель дотнета была намного более чистым решением. А его АПИ вообще было на голову проще и удобнее чем то что предлагал Виндовс напрямую. И хотя чувство "кинутости" от этого не прошло, он все же изучил и оценил новую технологию. А не могло ли это произойти просто потому что так повелел бог Майрософт и пророк его Дон Бокс? Вот уж дудки. VladD2 не из тех людей чтобы принимать что-то из-за рекламы и проповедей. Скорее реклама его отвращает. А единственная религия которую он проповедует это — атеизм .

Пытался VladD2 изучить и альтернативные вещи вроде Питона и Руби. Однако чего-то сверхъестественного он в них не увидел, хотя, несомненно многое было очень интересно и грамотно. Но VladD2 в душе идеолист и без видимых причин не будет принимать вещи обладающие серьезными промахами в дизайне. А таковых у Питона и Руби было слишком много. У Руби меньше, но они усиливались безнадежными тормозами (у VladD2 была дурацкая привычка первым же примером делать быструю сортировку ).

Вообще языки не позволяющие писать эффективный реализаций алгоритмов его почему-то всегода отталкивали. Видимо потому, что в душе VladD2 битовыжиматель как Дворкин, например. Разница тут только в том, что VladD2 сделав n-ное количество бессысленных оптимизаций (когда оптимизация ускоряющая алгоритм в сотри наз давала менее 1% прироста для программы или давала прирост там где и так скорости хватало с запасом), понял, что силы в жизни надо тратить только на то что полезно. Нито к старости так и не закончишь выжимание битов из какого-нибудь пустяка. Он понял, что профайлер более точный инструмент, чем чутьё. А оптимизировать надо только то что находится на самых листовых ветках алгоритмов.

Ну, да я не об оптимизациях... Поняв, что все оптимизировать глупо VladD2 все же понял, что порой оптимизация важна. А на интерпретируемых языках ее достичь порой просто невозможно. Ну, а так как он, как мы помним, максималист, то применение некулюжих С/С++ (а к этому времени его мнение об этих языка было именно таким) не выход.

Интересным оказалось знакомство с Лиспом и ОКамлом (точнее с МЛ-ем, так как ООП в ОКамле был ну просто никакой). Лисп вообще не ординарный язык, и если бы не два недостатка (кторые VladD2 до сих пор считает смертным грехом) — отсуствия полноценного синтаксиса и динамическая типизация, то пожалуй, что это могло бы стать очередным увлечением VladD2. Особенно было интересно метапрограммирование и функции высшего порядка (в комплексе, т.е. лямбды, сами ФВП, замыкания).

ОКамл оказался интересным в виду некоторых синтаксических особенностей таких как паттерн-матчинг и кортежи. Но синтаксис этого языка так же резко не понравился. Видимо сыграли привычки. Что особенно понравилось в этом языке — так это вывод типов и способнсоть порождать (хотя бы потенциально) код не уступающих С/С++ по производительности. Это давало возможность писать любые приложения без дурацких вставок на глюкодромных языках. Но некоторые особенности удручили. Так отсуствие upcast-а и слудующая из этого практически полная некомпонентность языка практически поставли на нем крест. Так же раздражал let ... in ... так как читалось это все весьма непривычно. Такое ощущение что код вывернут на изнанку. Последней каплей стала повсеместная утиная типизация и весьма странный ООП. Вообще в моей голове не укладывается как ООП может существовать в языке без upcast-а.

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

К чему все это я? Да к тому, что любой выбор VladD2 — это осознанный выбор основанный на пробах и ошибках, а не слепая вера и тем более хождение на поводу у пиара и маркетинга. Так же надо заметить, что VladD2 довольно разумен чтобы не идти на поводу и у другой крайности — бега от пиара и/или страшных слов типа Microsoft, IBM и т.п. Ведь это даже более глупо, чем идти на поводу у этих самых Microsoft и IBM. Как замечательно сказал IT "идти на поводу у меньшинства требует еще меньше мозгов чем идти на поводу у большинства" (то есть не менее глупо). И я с этим согласен.

Фанатик же — это человек, который влюблен в предмет своего вожделения. Он не меняет своего мнения просто потому что мнения у него в сущности нет. У него есть только привязанность.

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

Вот такое вот мое нескромное мнение о VladD2, дифирамбах и фанатиках.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
http://nemerle.org/Banners/?g=dark
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.