juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2006-12-19 08:39 am

языки и люди

Я не буду распространяться на тему как язык формирует мышление; я о другом, о языках программирования. Вот есть два языка, джаваскрипт и джава. Люди, которые их путают - самые счастливые, наверное; те же, кто не путает, считает их за идиотов. Счастливых идиотов. Джавщики смотрят на джаваскрипт сверху вниз: "это не язык программирования", сказал мне один интервьюируемый болван. Джаваскрипт, однако, по выразительности куда как сильнее джавы. А претензии, что на джаваскрипте нельзя файл переименовать, довольно глупы: попробуйте сделать на джаве chmod или chown, а потом уж пеняйте.

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

У джавщиков такое тоже встречается. Процентов 90 джавщиков уверены, что все имена методов должны быть глаголами, а все методы, возвращающие что-либо, не требующее особых вычислений, должны называться getXXX... Соответственно, если ты классу что-то сообщаешь, не требуя ничего взамен, то метод должен называться setXXX... Почему - никто толком не знает; говорят, так надо. Джош в обсуждениях таких вопросов не участвует, только вздыхает: "время ещё не пришло". Да. Супротив толпы не попрешь.

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

А куда податься? Куда податься-то? В хаскельные программисты? Руби? Так чтобы на руби начать продукцию производить, надо сначала три года на си++ программировать, чтобы сделать руби языком, достойным промышленного применения...

Эх... точно мужик один сказал - во многих знаниях много печали.

Re: А куда податься?

[personal profile] alll 2006-12-19 05:19 pm (UTC)(link)
Таки вам чтобы программировать или чтобы с программистами разговаривать? :)

[identity profile] birdwatcher.livejournal.com 2006-12-19 06:08 pm (UTC)(link)
Эти языки очень похожи тем, что были так безумно интродуцированы. Написал, допустим, на джаве -- оказывается, нельзя просто скомпилировать и запустить, а нужна виртуальная машина. Написал, допустим, на джаваскрипте -- оказывается, нельзя в первой строчке написать #!/usr/bin/javascript и тоже запустить, а все это живет где-то внутри браузера.
*Я говорю, конечно, о положении дел на момент обнародования этих удивительных языков.

[identity profile] ygam.livejournal.com 2006-12-19 06:13 pm (UTC)(link)
http://ygam.livejournal.com/130137.html?thread=1044569#t1044569

[identity profile] sab123.livejournal.com 2006-12-19 06:18 pm (UTC)(link)
Гм, странно. На меня народ в Гугеле произвел толковое впечатление. Чай не финансовая контора какая-нибудь. Хотя народ в области веб-технологий меня обычно тоже пугает.

[identity profile] malayshik.livejournal.com 2006-12-19 06:31 pm (UTC)(link)
Голаз из толпы:
- уважаемый лектор, вместо того чтобы матом ругаться лучше б скали что за зверь такой эта контра ... (хрен выговоришь). Нужно ее штыком и мечом или проще в застенках запытать?

[identity profile] spamsink.livejournal.com 2006-12-19 07:47 pm (UTC)(link)
Попробуй податься в верилоговские программисты. Функциональных Hardware Description Languages пока, вроде, не изобрели. Будешь первым - станешь знаменит.

[identity profile] othodi-mozga.livejournal.com 2006-12-19 07:49 pm (UTC)(link)
А что делать с людьми, для которых уже нет разницы на чем писать ?

[identity profile] ex-chrobin.livejournal.com 2006-12-19 08:00 pm (UTC)(link)
мне на днях заявили - "javascript - это не язык. это сабскрипт". на вопрос, что такое сабскрипт (я сабскрипт и суперскрипт только из типографии знаю), ответить ничего не смогли. хотя неглупый человек, в общем.

это все действие сми, я считаю.

а насчет руби - там тоже достаточно дуболомов.

[identity profile] furia-krucha.livejournal.com 2006-12-19 08:21 pm (UTC)(link)
Знал я одного Джоша в гугле. Макдоналда. Это не он?

[identity profile] cema.livejournal.com 2006-12-19 08:38 pm (UTC)(link)


И правда болван. Джаваскрипт куда интереснее и выразительнее, т.е. "языкастее".

А замыкание мне ни разу по делу использовать не пришлось. Код же люди должны поддерживать!

[identity profile] http://users.livejournal.com/_under_score_/ 2006-12-21 02:45 am (UTC)(link)
"Почему - никто толком не знает; говорят, так надо."

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

[identity profile] bacek.livejournal.com 2007-02-03 04:41 am (UTC)(link)
Изучения javascript'а по хорошему надо с "On Lisp"а начинать. Хотя это практически к любому языку относится...