JS и его "недостатки"
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.123] |
|
|
Правила раздела:
| Страницы: (66) « Первая ... 52 53 [54] 55 56 ... 65 66 ( Перейти к последнему сообщению ) |
JS и его "недостатки"
|
Сообщ.
#796
,
|
|
|
|
Цитата D_KEY @ Вот уж точно образцом не является язык, где практически весь контроль правильности программы выполняется в рантайме. Контроль типов? Не, не слышали... Васик с синтаксисом C Видимо, дело в том, что на js можно писать, не зная этих нюансов, на С++ же ты без знаний сделаешь равзе что глючную и падающую поделку. |
|
Сообщ.
#797
,
|
|
|
|
Цитата trainer @ Вот уж точно образцом не является язык, где практически весь контроль правильности программы выполняется в рантайме. Контроль типов? Не, не слышали... Васик с синтаксисом C Соглашусь. |
|
Сообщ.
#798
,
|
|
|
|
Цитата D_KEY @ Практика показывает, что на С++ один старший специалист вполне может присматривать за двумя-трёмя специалистами среднего уровня и даже студентами. И они все вместе могут выдавать код вполне приличного качества. А вот тот список на js, что то я не уверен, что эти нюансы приходят с опытом. Что то они больше похоже на те, которые ты либо знаешь, либо нет. Не зависимо от уровня. Видимо, дело в том, что на js можно писать, не зная этих нюансов, на С++ же ты без знаний сделаешь равзе что глючную и падающую поделку. С++ в этом смысле странный язык. Вроде сложен и порог вхождение должен быть высоким, но при этом много С++-программистов отвратного уровня знаний. |
|
Сообщ.
#799
,
|
|
|
|
Цитата Повстанець @ Практика показывает, что на С++ один старший специалист вполне может присматривать за двумя-трёмя специалистами среднего уровня и даже студентами. Это никак не противоречит тому, что я говорил |
|
Сообщ.
#800
,
|
|
|
|
Имею мнение, хрен оспоришь - весь этот брэд с "ускорениями" за счет замыканий в JS - феерическое говно, за которое "профессионалам" нужно замораживать руки жидким азотом и отбивать кувалдой, медленно и нежно. Идите на ассемблере ускоряйте копирование из регистра в регистр путем допайки перемычки между процессорными ножками.
|
|
Сообщ.
#801
,
|
|
|
|
applegame, да ладно, тут ведь возможна ситуация замкнутого круга
- Глупые разработчики на JS используют замыкание, потому что это круто! - Разработчики JS-интерпретатора видя, что замыкания часто используются, оптимизируют их обработку. - Умные разработчики на JS используют замыкания, потому что они быстрее, делая их крутыми. Круг замкнулся |
|
Сообщ.
#802
,
|
|
|
|
замыкания позволяют безболезненно очистить память и повысить инкапсуляцию кода, но никак не ускорить, applegame где ты это вычитал?
|
|
Сообщ.
#803
,
|
|
|
|
Цитата Serafim @ Там в кавычках написано, примерно как "ускоритель" интернета.замыкания позволяют безболезненно очистить память и повысить инкапсуляцию кода, но никак не ускорить, где ты это вычитал? ![]() Вот это: ![]() ![]() var some = function(num){ return (function(num){ return 42 + (num|0)||0; })(num); }; some(23); //65 и, упаси боже, вот это: ![]() ![]() namespace('MySpace.SomeFoo', function(){ return this.some = function(num){ return (function(num){ return 42 + (num|0)||0; })(num); }; })); MuSpace.SomeFoo.some(23); //65 /* Немного магии */ this.namespace=function(space,cb){var ns,stack,_i,_len,_ref;stack='';_ref=space.split('.');for(_i=0,_len=_ref.length;_i<_len;_i++){ns=_ref[_i];stack+=ns;eval('if(typeof '+stack+'=="undefined"){'+stack+'=function(){}}');stack+='.';}return cb.apply(eval(space));}; Синтаксически бессмысленный код ради недокументированных оптимизаций явно указывает либо на убожество языка, либо программиста, либо обоих в совокупности. Придумывателей жабаскриптовых триков вроде "|0" вообще надо отдать в поликлинику для опытов. |
|
Сообщ.
#804
,
|
|
|
|
Цитата applegame @ Придумывателей жабаскриптовых триков вроде "|0" вообще надо отдать в поликлинику для опытов. Ты не понимаешь, у них "специфика" |
|
Сообщ.
#805
,
|
|
|
|
Цитата applegame @ Придумывателей жабаскриптовых триков вроде "|0" вообще надо отдать в поликлинику для опытов. это в любом языке так, где есть бинарные операции Цитата applegame @ однозначно, невозможно оправдать никакими оптимизациями и инкапсуляциями. Когда у тебя проект на 5к+ строк - это айяйяй как не оправдывает Добавлено Цитата applegame @ Синтаксически бессмысленный код ради недокументированных оптимизаций синтаксически бессымысленный, недокументированные оптимизации? т.е. ты хочешь сказать, что оператора "или" нет в синтаксисе языка? Или этот оператор не документирован? Добавлено Цитата Serafim @ Когда у тебя проект на 5к+ строк - это айяйяй как не оправдывает не, ну я конечно понимаю, что ты пишешь код одними функциями в процедурном стиле, но знаешь, не все люди такие... назови пожалуйста другой прототипно-ориентированный язык где всё делается по другому и в сто раз лучше |
|
Сообщ.
#806
,
|
|
|
|
Цитата Serafim @ замыкания позволяют безболезненно очистить память и повысить инкапсуляцию кода, но никак не ускорить, applegame где ты это вычитал? ![]() Да, кстати, расскажи, какая память тут очищается и и что инкапсулируется: ![]() ![]() var some = function(num){ return (function(num){ return 42 + (num|0)||0; })(num); }; some(23); //65 Добавлено Цитата Serafim @ это в любом языке так, где есть бинарные операции ![]() В любом нормально типизированном языке бинарные операции не проводятся над произвольным типом данных. |
|
Сообщ.
#807
,
|
|
|
|
Цитата Serafim @ это в любом языке так, где есть бинарные операции Только не бинарные, а битовые наверно? |
|
Сообщ.
#808
,
|
|
|
|
Цитата Мяут-Настоящий @ Только не бинарные, а битовые наверно? Ну, вот зачем же вы так грузите сриптовиков? Им же теперь вики читать придётся |
|
Сообщ.
#809
,
|
|
|
|
Цитата applegame @ А разве аналогичных триков во всяких перлах/пэхапэ нет?Придумывателей жабаскриптовых триков вроде "|0" вообще надо отдать в поликлинику для опытов Насколько я понимаю - это такой обход ситуации, когда переменная не определена или содержит null. К бинарным операциям вообще и битовым в частности отношения не имеет. |
|
Сообщ.
#810
,
|
|
|
|
Цитата trainer @ Некоторые пытаются придумывать. Однако, и там за это полагается по рукам бить.А разве аналогичных триков во всяких перлах/пэхапэ нет? Цитата trainer @ За подобные обходы по яйцам бить следует Насколько я понимаю - это такой обход ситуации, когда переменная не определена или содержит null. Это я тебе как пхп-шник и перлойд говорю (хотя с перлом всё интереснее). |