|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Modus ponens
|
Хаха... снова Ява снова ООП Ява испохабила идею классов и типов на столько, что изза этого теперь рождаются такие споры. В теории категорий сила, а Ява курит в сторонке. Между типами и классами нет ничего общего, и их частичное пересечение - случайность возведенная в степень правила языками для идиотов.
Числа - типы, булевые величины - типы, строки в AS3 - вообще не понятно что, тяжелое наследие ECMAScript, так же как и массивы, очевидно. Очевидно, что литералы должны были это как-то выделить / объяснить программисту, но попытка не удалась, и никто этого не понял, а еще хуже, использовал в итоге не правильно, добавив еще литералов "по образцу" не поняв смысл образца... Тип определяется набором правил применимых ко всем "особям" типа. Класс это фабрика создающая, иногда, однотипные объекты. Заметте, что "особи", я просто лучшего слова не придумал, не обязаны вообще быть объектами, или могут быть объектами разных классов. ЗЫ. Слава богу AS3 еще не совсем Ява. нету смайлика :fight: ....
__________________
Hell is the possibility of sanity |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
Так что если Вы считаете, что знаете некий сакральный, самый правильный способ их ставить -- Вам еще многое предстоит. Добавлено через 51 секунду В слове "C++" Вы допустили 3 ошибки.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Цитата:
Кому что соблюдать, само собой, решает сам. |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
Традиционно специально для Вас расскажу второй раз и медленно: мне приходилось работать с таким количеством способов расстановки фигурных скобок, что ни один из них более не вызывает у меня рвотных судорог. Соответственно, IDE у меня настроена на тот способ, который указан в стайлгайде. А в IDEA у меня указан для Java совсем другой способ. И меня это совершенно не беспокоит. А вера в единственно правильный способ оформления -- это у Вас пройдет. Добавлено через 3 минуты Цитата:
P.S. В смысле -- не первым гибридным, а первым популярным гибридным.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ Последний раз редактировалось Crazy; 28.06.2011 в 19:47. |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Тупо в качестве примера фигурных скобок и двойных стандартов: http://www.flasher.ru/forum/showpost...27&postcount=8
Добавлено через 5 минут Цитата:
public function curlyBraces(): void { var o:Object = {}; } public function newOperator(): void { var o:Object = new Object(); } function curlyBraces():void /* disp_id 0*/ { // local_count=2 max_scope=1 max_stack=1 code_len=8 0 getlocal0 1 pushscope 2 newobject {0} 4 coerce Object 6 setlocal1 7 returnvoid } function newOperator():void /* disp_id 0*/ { // local_count=2 max_scope=1 max_stack=1 code_len=11 0 getlocal0 1 pushscope 2 findpropstrict Object 4 constructprop Object (0) 7 coerce Object 9 setlocal1 10 returnvoid } Разница в скорости действительно странна (особенно то, кто быстрее), но ничего странного в том, что код разный, я не вижу.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Ссылка из указанной мной статьи, так что я в курсе. Только это не объяснение -- это констатация факта.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
Modus ponens
|
C++ все еще оставлял лазейку для инакомыслящих, ну, уже хотя бы в виде вседозволенности. Т.е. если сравнивать с историей - C++ - это Окрябрьская революция, а Ява - это 22-53 годы. Можно сказать, что причиной была революция, но могло бы получится и по-другому, а не получилось.
ЗЫ. Я думаю, что если покопать ECMA документацию, то можно докопаться и до ответа на вопрос почему по-разному создаются объекты. Я так подозреваю, что способ с new должен создать все свойства, которые объявили на прототипе, а {} должен создать "без прикрас". Но зачем это нужно, этого уже никто не поймет. К сожалению не первый факт из ECMA сочинений, который вызывает недоумение. А может причина была еще прозаичнее - какой-нибудь представитель компании производящей браузеры на заседании коммитета по особо важным делам поведал о том, что они уже воплотили это в жизнь способом #1, а представитель конкурирующей организации не согласился, т.как они уже воплотили, но способом #2. И, как всегда, чтобы никого не обидеть, решили, что вместо стандарта лучше предложить венигрет.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 28.06.2011 в 20:55. |
Часовой пояс GMT +4, время: 02:28. |
|
« Предыдущая тема | Следующая тема » |
|
|