1.1, Crazy Alex (??), 15:57, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Эх, сделали бы они некий вид структур... Передать не могу, как утомило нарываться на то, что кто-то когда-то, передавая хэш с параметрами, перепутал имя одного из параметров.
Впрочем, и то, что есть, очень полезно - один лексический контекст чего стоит. Думаю, после его введения использование var моментально станет дурным тоном.
| |
|
2.5, Аноним239 (?), 16:46, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Сделай свои любимые структуры себе сам.
obj = {a:1,b:2}
Object.seal(obj)
obj.a = 5 //Ok
obj.c = 5 //No
| |
|
3.7, Crazy Alex (??), 16:49, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
1) это должно быть удобным
2) это должно проверяться в момент передачи параметра в функцию.
Смысл здесь - защититься от глупых описок и от забытых обязательных параметров.
| |
|
4.15, Аноним239 (?), 17:01, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> 1) это должно быть удобным
что в этой одной строчке неудобно? Слишком мало печатать?
> 2) это должно проверяться в момент передачи параметра в функцию.
function(a,b){
if (arguments.length!==2){throw new Error('Мало параметров')}
}
> Смысл здесь - защититься от глупых описок и от забытых обязательных параметров.
Не надо свои быдлокодерские привычки переносить на всех.
По сравнению с 95% покрытием кода тестами, статическая проверка компилятором -детский лепет.
| |
|
|
6.20, Df232z (ok), 17:36, 13/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
>А покрытие тестами в модульном RIA, где половина параметров в модуль как пришла, так и ушла транзитом (а в ряде сценариев - не используется вобще), а связи на лету меняются в зависимости от состояния - это 5. Отдельный модуль так протестировать - не вопрос, но не целое приложение. Ну или у вас объем тестов будет в десять раз больше объёма кода.
Зачем вы лезете в эту область, хотя вы не программист?
| |
|
7.36, Аноним (-), 18:41, 13/02/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Зачем вы лезете в эту область, хотя вы не программист?
Зато Д'Артаньянов в треде явно многовато.
| |
7.42, Crazy Alex (ok), 19:01, 13/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я как раз программист. И JS у меня не первый язык и даже не десятый, так что сравнить фичи языка я уж как-нибудь в состоянии, как и оправданность 95% покрытия тестами модульного, на лету собирающегося приложения.
| |
|
8.48, Df232z (ok), 19:13, 13/02/2012 [^] [^^] [^^^] [ответить] | –4 +/– | Вы заблуждаетесь Человек высказавший такое мнение - не программист Так же как... текст свёрнут, показать | |
|
|
10.61, Df232z (ok), 19:33, 13/02/2012 [^] [^^] [^^^] [ответить] | –3 +/– | Домыслы непрограммиста Для непрограммистов я могу посоветовать брать исходные т... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
4.13, Crazy Alex (ok), 16:57, 13/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не сделаете. С удобным синтаксисом, во всяком случае. Впрочем, если не шутите - пишите в личку, обсудим :-)
| |
|
5.115, arisu (ok), 09:05, 14/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не сделаете. С удобным синтаксисом, во всяком случае. Впрочем, если не шутите
> — пишите в личку, обсудим :-)
а что, проект действительно востребован? не то, чтобы я был готов взяться за него вот прямо сейчас, но…
| |
|
4.110, terr0rist (ok), 00:10, 14/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> За пять долларов сделаю тебе еще и статическую типизацию в JS.
Готов скинуться. Сделайте уж для всех :)
| |
|
5.114, arisu (ok), 09:04, 14/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> За пять долларов сделаю тебе еще и статическую типизацию в JS.
> Готов скинуться. Сделайте уж для всех :)
благодарю, не стоит за всех расписываться. мне вот не нужна, например.
впрочем, не вижу, на самом деле, проблемы сделать опциональную типизацию с type inference. только какой тогда сакральный смысл писать на js, если всё равно внешним процессором исходник гонять? уж лучше сделать компилятор в js того же стронгтолка, например, или typed scheme.
| |
|
|
|
|
1.2, Tav (ok), 16:10, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Браузеры должны поддерживать универсальный байт-код, в который можно было бы компилировать программы на различных языках, а не содержать встроенный высокоуровневый ЯП, который теперь все равно нередко используется в качестве промежуточного представления (компиляторы чего угодно в JavaScript), а он для этого плохо приспособлен.
| |
|
2.3, Crazy Alex (??), 16:22, 13/02/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Оно бы да - но на это шансов яво меньше, чем на постепенное приведение JS к пр... большой текст свёрнут, показать | |
|
3.4, uhbif18 (?), 16:42, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Лол. "Немного"
Вы в курсе сколько необязательной типизации в Питоне ждут ?
| |
3.12, jOKer (ok), 16:55, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | На самом деле, куда большее неприятие у меня лично вызывает полная неопределен... большой текст свёрнут, показать | |
|
|
5.18, jOKer (ok), 17:31, 13/02/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Хм словами это да Ну пускай так у меня выполняется колбак, допустим, щ... большой текст свёрнут, показать | |
|
6.21, Df232z (ok), 17:46, 13/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ОК, можете считать меня неосилятором, но без семафоров, критических секций и защищенных
> переменных я себя ощущаю как поверх желе - отбросить может в
> любую сторону. И это несколько напрягает.
Вы бредите? Какие семафоры? Какие секции? Потрудитесь перед использованием языка программирования хоть прочитать спецификацию.
| |
|
7.22, jOKer (ok), 17:50, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
А вы прочитать пост целиком!
Я собсно об этом и пишу: напрягает что этих механизмов нет как нет
| |
|
8.23, arisu (ok), 17:55, 13/02/2012 [^] [^^] [^^^] [ответить] | +1 +/– | кагбэ потому, что в оригинале и многопоточности нет а потому механизмы, тобой п... текст свёрнут, показать | |
|
9.24, jOKer (ok), 18:00, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | Прозвучала та фраза которая нужна Именно это и есть напряг, поскольку с момента... текст свёрнут, показать | |
|
|
|
12.28, arisu (ok), 18:13, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | вот именно например, прекращаем говорить, что 171 после аякса без многопоточн... текст свёрнут, показать | |
|
|
|
11.30, jOKer (ok), 18:16, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | ОК Покажите мастер-класс и продемонстрируйте кусок кола который стыкует синхрон... текст свёрнут, показать | |
|
|
9.35, Аноним (-), 18:40, 13/02/2012 [^] [^^] [^^^] [ответить] | +1 +/– | С появлением веб-воркеров она появилась Заметь как работают в peacekeeper тесты... текст свёрнут, показать | |
|
10.38, arisu (ok), 18:47, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | дык я специально про оригинал оговорку сделал давал человеку шанс исправить ска... текст свёрнут, показать | |
|
|
12.53, arisu (ok), 19:21, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | он, кажется, вычитал где-то умную вещь что настоящий программист может писать п... текст свёрнут, показать | |
|
|
10.39, arisu (ok), 18:49, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | ну вот кажется, ты его плохому научил он и обычный-то js не смог осилить 8230... текст свёрнут, показать | |
|
|
|
|
6.65, Crazy Alex (ok), 19:38, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Второй вариант - чтобы не плодить спагетти - через события всё разруливать, тоже вполне приличный код получается и писать проще, но архитектура видна хуже, чем у автомата.
То есть
Dispatcher.bind('XYZresponse', function(arg){
console.log(arg) //prints '5'
})
xrhGet({
url: '/someurl/,
function(){
Dispatcher.trigger("XYZresponse", 5);
});
| |
|
7.71, Df232z (ok), 19:48, 13/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Первый бесплатный урок:
С большой буквы в js пишутся только имена Конструкторов.
Это общепринятая практика.
| |
7.75, arisu (ok), 19:55, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
а если немного глубже пойти в js (я понимаю, почему ты не стал человека пугать, понимаю), то передавать в триггер можно замыкание. а потом и триггер упразднить, всё равно одно замыкание у нас уже есть. и получим автомат, где состояния представлены замыканиями. диковатая немного конструкция с точки зрения пуриста, но вполне жизнеспособная.
ладно, ладно: где *переключение состояний* представлено замыканиями. а потом уже вышеописаного мутанта.
| |
7.96, jOKer (ok), 20:37, 13/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Алексей, это действительно работает!
Вы мне доказали свою правоту и без слов "бредите", "прочитайте спецификацию" и т. д. Это впечатляет! Надеюсь Вы не будете за иллюстрацию в коде своей правоты просить мзду, как некоторые товасчи? :) Шутю, конечно!
Но (кроме шуток!), переходить от написания бакэндов на строгих ЯП к модели яваскрипта действительно очень не легко, и тут Вы все правильно угадали.
В общем за _вежливый_ диалог - спасиб. За намеки - тем более. Остальное - добью сам.
Удачи во всем!))
P. S.
Кстати, воркеры (я о них оказывается знал, просто не сразу понял о чем речь) в dojo и jquery тоже (местами), - не всегда адекватно себя ведут. Скажем так, я сталкивался с проблемами. Такое чувство. что с контекстами там не все прозрачно, или я не все еще тут понимаю.
| |
|
|
|
4.111, Аноним (-), 07:35, 14/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Лично мне, как питонятнику, было бы прикольно писать скрипты на питоне, не только на стороне сервера. Да и рубиновцы, я думаю, тоже не отказались бы писать скрипты на ruby прямиком на страницах.
То есть ты хочешь сказать что давай каждый будет писать кто в лес кто по дрова? И теперь вместо использования фаербага надо выучить тучу ваших язычков и плюс найти то что заменит фаербаг для ваших язычков? А для того чтобы поправить для себя какой-нибудь опенсурс форум, портальчик и ещё что-нибудь надо оглядываться и искать не дураков пишущих не на этих ваших язычках?
| |
|
5.116, arisu (ok), 09:12, 14/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
у меня, скажем, компилятор для гибрида нескольких языков, который выплёвывает на выходе исполняемый js. правда, человекочитаемым выхлоп не является. но js. тебе сильно полегчает от этого, если придётся в скрипт залезть?
вообще-то код универсальной виртуальной машины (при условии, что она сделана достаточно минималистично) разобрать попроще будет. а поскольку оно всё изначально объектное (кто сказал c++? прототипы, прототипы), то дописывать и править любой метод любого объекта можно на любом языке, который поддерживает генерацию кода для нашей vm.
не вижу, собственно, откуда столько паники. ну, помимо того, что ты кухонный теоретик, и считаешь, что на работу людей набирают так же, как на пятничное бухалово.
| |
|
|
|
2.6, Аноним239 (?), 16:48, 13/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Браузеры должны
Браузеры тебе ничего не должны.
JVM в виде java-аплетов уже пролетела, как фанера над Парижем.
| |
|
3.11, Crazy Alex (??), 16:53, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
JVM пролетела отнюдь не из-за байткода, а из-за громоздкости языка, толщины рантайма и необходимости этот рантайм отдельно устанавливать. Ну и дыры не последнюю роль сыграли. Причем всё кроме необходимости установки сейчас бы сожрали и не поморщились, включая дыры - каналы толстые, языков под JVM навалом, есть и весьма приличные (скала та же). Ну и не в курсе, насколько хоорошо оном огло с самой страницей взаимодействовать - но это точно лечится, вон, тот же флеш интегрируется идеально.
| |
|
4.19, Аноним (-), 17:35, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> вон, тот же флеш интегрируется идеально.
Настолько что не работает копипаст и нельзя ссылкой заадресовать часть мувика более гранулярно чем "монолитная болванка, одна штука". Ну вот тут я могу послать юзера на лично ваш отцитированный комент. А теперь то же самое но с флешом - слабо?
| |
|
5.46, Crazy Alex (ok), 19:08, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не о том речь. А о том, что можно из JS вызывать AS (и таким образом информировать о DOM-событиях либо запрашивать сервис) и наоборот из AS дергать JS, и таким образом предоставлять флешу возможность делать нужные изменения в DOM, причем изменения эти ограничиваются тем, что допустит JS-обёртка. То есть сам механизм плагинов это позволяет, вопрос лишь в том, умели ли этим пользоваться апплеты. А то, что адоб не осилил нормально реализацию сделать - кто б спорил.
Кстати, я не в курсе - а что сейчас модно использовать, чтобы организовать взаимодействие с недоверенным скриптом - ифреймы?
| |
|
6.54, Аноним (-), 19:21, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | Можно, но костыльно Кстати в порядке извращения видится запуск яваскриптового п... большой текст свёрнут, показать | |
|
7.59, Crazy Alex (ok), 19:29, 13/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
NoScript - это не о том :-) Задача выглядит примерно так. Вот вы хостер какой-то среды - от фейсбука до блгосервиса. И вы хотите дать возможность сторонним программистам писать приложения для вашей среды. Вопрос: как их интегрировать в страницу и при этом не поступиться безопасностью пользователя? у того же фейсбука для этого используется жуткая система костылей и подпорок в виде переопределения доступных стороннему скрипту браузерных объектов. У вконтакта с флешовыми приложениями всё держится как раз на том, что бридж "JS-флеш" может очень точно ограничить взаимодействие флешки со страницей четким API. Вот и вопрос - можно ли подобное сделать как-то менее извращенно, чем у фейсбука?
| |
|
8.79, arisu (ok), 20:00, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | молиться, поститься 8230 будут костыли 8212 просто в силу того, что встроен... текст свёрнут, показать | |
|
|
10.87, arisu (ok), 20:12, 13/02/2012 [^] [^^] [^^^] [ответить] | +/– | ну, единственное, что тут может утешить, хоть и с оттенком издевательства 8212... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
2.51, Аноним (-), 19:15, 13/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
+1.
Уже много кто допер мозгами до этого. Кто-нибудь понаглее придет в браузерную среду и потеснит существующих олдфагов на рынке.
| |
|
1.10, vladimir2k9 (?), 16:52, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
может тут кто прояснит ситуацию с репозиторием (dev ppa) хромиума под убунту, уже месяц нет обновлений
| |
1.108, baronos (?), 23:11, 13/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Если включить данную опцию, то в хроме не будет работать включение расширений для gnome-3 с сайта extensions.gnome.org
| |
|