Лютый JavaScript

May 08, 2011 19:35

Сейчас всё чаще приходится писать на JavaScript и всё больше меня этот язык восхищает. Поражаюсь, как можно было сделать его настолько простым и при этом настолько мощным. При этом большая часть непредсказуемости (типа "1" + 2 - 3 = 9), о которой так часто ворчат, берёт начало из преобразований типов. А чего вы ждали, конвертируя метры в килограммы ( Read more... )

javascript, dev

Leave a comment

localstorm May 8 2011, 19:04:23 UTC
Я не одобряю Джаваскрипт.

Reply

Не мог удержаться tonsky May 8 2011, 19:59:07 UTC
Что-то мы не слышали о твоих достижениях, критиковать всякий горазд

Reply

Надо было крепче держаться localstorm May 8 2011, 20:03:39 UTC
При чем тут мои достижения? Если учесть, что я особо так и про твои не слышал, то вообще не понятно.

Reply

Re: Надо было крепче держаться tonsky May 8 2011, 20:18:47 UTC
Так, решил намекнуть на двойные стандарты.

Reply

Re: Надо было крепче держаться localstorm May 9 2011, 04:10:49 UTC
Разница в том, что тут речь о технологии, у которой есть преимущества и недостатки. Её можно использовать, а можно не использовать. И даже так -- использовать все равно придется, но она херовая, и что делать с этим не понятно.

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

Reply

Re: Надо было крепче держаться tonsky May 9 2011, 07:49:30 UTC
Можно подумать, джаваскрипт - не частное решение, придуманное в нетскейпе за несколько месяцев под влиянием личных предпочтений одного человека и факторов, которые не то что на поверхности не лежат, а, может, и самому автору неизвестных. Ты стенаешь, что во всех браузерах js разный, я - что все почтовики делают неправильный интерфейс. Все браузеры не исправишь, все почтовики тоже, so, what the difference?

Reply

Re: Не мог удержаться localstorm May 8 2011, 20:09:38 UTC
Помнится как-то раз я ответил в том же ключе, мол сделай что-нибудь, а не просто критикуй. Ты мне ответил, что работа у тебя такая -- критиковать и предлагать. А делают пусть другие. Так что поговорим о достижениях в другой раз, ок?

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

Reply

Re: Не мог удержаться tonsky May 8 2011, 20:21:38 UTC
Сдается мне, ты путаешь javascript и dom

Reply

Re: Не мог удержаться localstorm May 9 2011, 04:05:43 UTC
Неправильно сдается. DOM -- это один из примеров. Другой пример -- AJAX. Пока не завернешь его в несколько оберток -- это просто гвоздь в ягодице. И таких примеров на самом деле много, как уже писалось и выше и ниже. Календари те же, нет бы стандартный компонент иметь... На каждый пук нужна либа, где все грабли обойдены, которую ещё и обновлять нужно, а то выйдет браузер новый, а там багов навалом.. И весь код состоит из
if (window.opera) ...
if (navigator.appVersion.indexOf("MSIE") != -1) {
...
}

Даже имя браузера одинаковым образом нельзя извлечь...

Reply

Re: Не мог удержаться tonsky May 9 2011, 07:26:55 UTC
Ну о чем я и говорю. Ты путаешь язык и его браузерные биндинги. Но даже что касается браузерных биндингов, большую часть всех несовместимостей давно порешали и сами вендоры, и jquery team. Честно говоря, я давненько не писал browser-specific кода, а я, как ты знаешь, веб-разработкой типа занимаюсь.

Reply

ystrot May 8 2011, 20:38:37 UTC
Ну и зря, это славный язык. И для небольшого скриптинга он подходит куда лучше джавы в виду своей простоты. Вот когда на нём пытаются в ручную писать огромные, а-ля десктопные приложения, вот тогда разработчиков можно только пожалеть.

Reply

localstorm May 9 2011, 03:59:41 UTC
А никто и не спорит, что для мелких скриптов подходит. Просто мне кажется несколько кощунственной мысль, что что-то подходит только для простых вещей. Мне кажется, что простое должно быть просто, но если хочешь не простое, это должно быть нормально сделано.

Я так понимаю, что писать кросс-платформенный код на С++ зачастую проще, чем кросс-браузерный на JavaScript. Почему так? Почему так в языке с управляемой памятью? С виртуальной машиной и даже с, казалось бы, стандартизованным API?

Reply

tonsky May 9 2011, 07:37:23 UTC
> Просто мне кажется несколько кощунственной мысль, что что-то подходит только для простых вещей.
Мне куда более кощунственным кажется подход популярного языка программирования джавы, когда даже простое сложно.

> Я так понимаю, что писать кросс-платформенный код на С++ зачастую проще, чем кросс-браузерный на JavaScript. Почему так? Почему так в языке с управляемой памятью? С виртуальной машиной и даже с, казалось бы, стандартизованным API?

Неправильно понимаешь, писать на джаваскрипте давно уже легко и приятно, за исключением некоторых краевых случаев (скажем честно - весьма редких). Для С++ придется как минимум писать нативный гуй для каждой из платформ, ну или брать кросплатформенный (сколько их, кстати, нормальных? один?) и мириться с тем, что он везде будет выглядеть как говно. Те части, что браузер берет на себя (рендеринг текста + element flow, лайаут, стили) он делает очень хорошо; если ты заметил, даже в дектопных гуях периодически компоненты учат показывать хтмл. Так что в смысле средства отображения гуя я лучше браузера и ( ... )

Reply


Leave a comment

Up