Showing posts with label javascript. Show all posts
Showing posts with label javascript. Show all posts

Thursday, December 23, 2010

И снова JavaScript

Я сегодня понял 2 вещи.

Первая - нет в интернете такой статьи про JavaScript, читая которую периодически будешь повторять про себя: "Логично". ВСЕ статьи про JavaScript строятся в форме:
- Вы хотите X?
- Ну давайте попробуем вот так (далее идёт небольшой листинг, который хочется назвать "логичным")
- Не получилось? Потому что нужно вот так! (далее идёт, возможно, такой же по размеру листинг, только после предложенных правок логичным его точно не назовёшь. После листинга идёт не менее броузерной страницы чистого текста с попытками объяснить хитрожопость JavaScript).

Надо признать, что старость - не радость. Моё подростковое "со всем можно разобраться" становится всё слабее. С одной стороны хочется сказать, что время, которое я уже потратил на JS просто не окупается, а разобраться-то вообще можно, но нет. На самом деле ощущения сейчас идут больше в сторону "тошнит и не хочу". Я не в состоянии разобраться как писать нормальные программы на JS, потому что меня слишком сильно тошнит.

Вторая вещь, которую я понял - я больше никогда даже пытаться не буду писать на JavaScript. Потому что даже зацепиться не за что. Всё не так как должно быть. Более того, всё более явно приходит "профессионализм". Я сейчас не про тот профессионализм, который в смысле "много знать, много уметь", а про тот, при котором понимаешь, что если забьёшь на одну тему, от которой тошнит, ничего не потеряешь, а скорее даже приобретёшь.

Tuesday, December 14, 2010

Про динамическую типизацию. Особенно слабую.

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

Если прокрутить вниз до "Very Long Term History", можно наткнуться на замечательный факт: Objective C с 42го места в 2005 году поднялся до 8 места в 2010. Причина, естественно, не в том, что все резко поняли, какие они идиоты и осознали как прекрасен Objective C, а в том, что из-за iPhone/iPad он сейчас востребован.

Ситуация исключительно идиотская. Objective C - это полная хрень. Это такая лажа, что просто выворачивает. Если взять всё самое плохое из C и JavaScript, получится нечто получше Objective C - настолько он хреновый.

Я вообще о чём... А, вспомнил. Я вчера пытался отрефакторить свой хреновый код, написанный на JavaScript с использованием jQuery и понял несколько вещей:
1. JavaScript - это полнейший фуфел.
2. jQuery, из-за того что JavaScript, это тоже полнейший фуфел.
3. Динамическая типизация, а особенно слабая динамическая типизация - это жопа.
4. Буду в дальнейшем избегать динамической типизации при любой возможности.

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

Кто мне покажет прелести слабой динамической типизации? Вот прям какой-нибудь пример, чтоб я прозрел?

Monday, December 13, 2010

Немного про веб #2

Не так давно я написал про веб. С тех пор поковырялся ещё немного, отношение немного изменилось.

Ниже идут только эмоции, если вам хочется мыслей, этот пост не читайте.

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

На самом деле - нет. Единственное, что с помощью Django можно сделать легко - это блог. Ну и всё остальное, что хоть как-то похоже на блог. На этом халява заканчивается. Гибкость и универсальность исчезает. Остаётся недофреймворк, в котором для получения нужного поведения нужно половину реализовать руками. Я опять утрирую, но это близко к истине.

Например, как я понял, модель непосредственно завязана на sql. Причём завязана она непосредственно на select/insert/update/delete. А у вас хранимые процедуры? Ну... гугл, красные глаза, возможно что-то и выйдет.

Python
Питон нынче моден. Быстрое прототипирование, биндинги чуть ли не со всеми существующими библиотеками, и т.д. При этом при всём с ним что-то не то. Когда я изучал C#, было просто интересно. Т.е. он не напрягал, он заставлял решать маленькие задачки, которые действительно интересно было решать. Когда я изучал Java, там вообще смешно было. Java ничем не отличается от C#. И всё было как-то легко и непринуждённо. Любезный читатель может здесь указать на то, что все эти 3 языка совершенно одинаковые. Соглашусь.

А вот с питоном как-то не срослось. Как обычно, делал лабораторные, как обычно читал книжки и статьи, но почему-то не цепляет. Странный он. То ли это динамическая типизация, то ли ещё что-то. Короче, сильное ощущение дискомфорта.

JavaScript и jQuery
JavaScript ужасен сам по себе. jQuery интересен только пока смотришь короткие примеры. JavaScript - это такая жопа, самая большая жопа из всех популярных на сегодняшний день ЯП. Слабая динамическая типизация - это ужаснейшая идея. Это фишка, которая позволяет из простого hello world сделать такой ужас, что потом не разберёшь. jQuery интересен тем, что он есть и популярен - это единственная причина, по которой я решил его использовать (т.к. проект у меня сейчас учебный, делаю выбор в сторону попсы).

Так вот, если от Python можно отказаться и использовать что-нибудь другое, то от JavaScript уже не откажешься. Потому что альтернатив нет.

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

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