Juan-Carlos Gandhi (
juan_gandhi) wrote2006-12-19 08:39 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
языки и люди
Я не буду распространяться на тему как язык формирует мышление; я о другом, о языках программирования. Вот есть два языка, джаваскрипт и джава. Люди, которые их путают - самые счастливые, наверное; те же, кто не путает, считает их за идиотов. Счастливых идиотов. Джавщики смотрят на джаваскрипт сверху вниз: "это не язык программирования", сказал мне один интервьюируемый болван. Джаваскрипт, однако, по выразительности куда как сильнее джавы. А претензии, что на джаваскрипте нельзя файл переименовать, довольно глупы: попробуйте сделать на джаве chmod или chown, а потом уж пеняйте.
Но штука в следующем. Несмотря на все прелести джаваскрипта, люди, которые на нем пишут, как правило, народ недалекий. Самые умные из них прочитают пару книжек, выучат дурацкое слово closure, и считают, что их образование закончено. Разговаривать с ними невозможно, приходится объяснять простейшие вещи из программирования. Зато они с апломбом тебе будут впаривать какую-нибудь элементарную вещь, понятую ими криво, и воспринятую в качестве великой истины программирования.
У джавщиков такое тоже встречается. Процентов 90 джавщиков уверены, что все имена методов должны быть глаголами, а все методы, возвращающие что-либо, не требующее особых вычислений, должны называться getXXX... Соответственно, если ты классу что-то сообщаешь, не требуя ничего взамен, то метод должен называться setXXX... Почему - никто толком не знает; говорят, так надо. Джош в обсуждениях таких вопросов не участвует, только вздыхает: "время ещё не пришло". Да. Супротив толпы не попрешь.
Так вот, с одной стороны, джавщики тоже народ довольно туповатый - но куда как лучше джаваскрипщиков. Плюс, среди джавщиков в авторитетах ходят очень умные люди, знающие, что такое контравариантность. Правда, некоторые умники впаривают доверчивой публике, мол, конструктор - это, батенька, функтор. Ну что ж, остается вздыхать.
А куда податься? Куда податься-то? В хаскельные программисты? Руби? Так чтобы на руби начать продукцию производить, надо сначала три года на си++ программировать, чтобы сделать руби языком, достойным промышленного применения...
Эх... точно мужик один сказал - во многих знаниях много печали.
Но штука в следующем. Несмотря на все прелести джаваскрипта, люди, которые на нем пишут, как правило, народ недалекий. Самые умные из них прочитают пару книжек, выучат дурацкое слово closure, и считают, что их образование закончено. Разговаривать с ними невозможно, приходится объяснять простейшие вещи из программирования. Зато они с апломбом тебе будут впаривать какую-нибудь элементарную вещь, понятую ими криво, и воспринятую в качестве великой истины программирования.
У джавщиков такое тоже встречается. Процентов 90 джавщиков уверены, что все имена методов должны быть глаголами, а все методы, возвращающие что-либо, не требующее особых вычислений, должны называться getXXX... Соответственно, если ты классу что-то сообщаешь, не требуя ничего взамен, то метод должен называться setXXX... Почему - никто толком не знает; говорят, так надо. Джош в обсуждениях таких вопросов не участвует, только вздыхает: "время ещё не пришло". Да. Супротив толпы не попрешь.
Так вот, с одной стороны, джавщики тоже народ довольно туповатый - но куда как лучше джаваскрипщиков. Плюс, среди джавщиков в авторитетах ходят очень умные люди, знающие, что такое контравариантность. Правда, некоторые умники впаривают доверчивой публике, мол, конструктор - это, батенька, функтор. Ну что ж, остается вздыхать.
А куда податься? Куда податься-то? В хаскельные программисты? Руби? Так чтобы на руби начать продукцию производить, надо сначала три года на си++ программировать, чтобы сделать руби языком, достойным промышленного применения...
Эх... точно мужик один сказал - во многих знаниях много печали.
no subject
- уважаемый лектор, вместо того чтобы матом ругаться лучше б скали что за зверь такой эта контра ... (хрен выговоришь). Нужно ее штыком и мечом или проще в застенках запытать?
no subject