hirthwork
24.01.2013 16:53 mcabber
Одним из величайших шагов вперёд в джаве является отсутствие тайпдефов. int — это всегда int, и он никогда не будет от тебя прятаться под псевдонимами типа apr_status_t, ngx_err_t и пр. Читать код становится несравнимо легче
Recommended by:
@Crazy_Owl,
@zw0rk
в этом треде будут рваться жопы плюсистов *ванга.jpg*
пиздец ты тупой, категорически не согласен с оп-постом.
а никто и не ожидал, что ты согласишься. поэтому тебя никто и не спрашивал
первый пошел
мало того! я через пару минут смогу аргументировать.
в этом треде я буду не плюсистом.
как будто кому-то не похуй
как анус потушишь?
да // глупый вопрос, не ожидал от тебя
238, перелогинься
http://ecn.channel9.msdn.com/events/Goin... — слайд 24:
Keep interfaces strongly typed
– Avoid very general types in interfaces, e.g.,
• int, double, …
• Object, …
Because such types can represent just about anything
– Checking of trivial types find only trivial errors
– Use precisely specified interfaces
(btw, советую слайды 44-45, они найс)
так вот. Юзая везде definition типосинонима вместо самого синонима, ты теряешь:
а) выразительность
б) гибкость кода (полиморфизм путем замены одного дефайна)
>very general types
>int, double
>very general
>int, double
>very general
Обосрался.
>б) гибкость кода (полиморфизм путем замены одного дефайна)
Гибкость кода уровня C++
бинарная совместимость уровня С++
Да, int — это very general. Интом у тебя может быть порядковый номер (индекс), может быть количество (длина в итемах), может быть степень многочлена, может быть просто принятые из ебеней 32 бита. Просто голый int может означать compile-time value. Он может означать счётчик ссылок на инстанс с атомарным инкрементом и атомарным декрементом — и недоступной остальной арифметикой. Много чего; голый int мало что говорит о *типе* переменной. По крайней мере, любой синоним говорит больше.
И трёхэтажная неведомая ёбаная хуйня всегда останется трёхэтажной неведомой ёбаной хуйнёй.
иди сюда и смотри на вот эту строчку, плюсофоб ты наш: http://hpaste.org/69747#line47
кококо-кококо, зачем нам синонимы для типов? кудах
снова соглашусь
ебать тебе бомбануло
вот здесь охуенные примеры ещё, прямо для самых тупых в точности то что имеется ввиду: http://en.wikibooks.org/wiki/Haskell/Typ...
ахаха, плюсофаг ссылается на книгу по haskell. Пойду пацанам покажу, никто не поверит ведь.
понимаешь?
отказываясь от синонимов типов, ты отрезаешь себе огромное подпространство исходников, в которых типы можно переименовывать; в которых есть статические переменные-типы. Через аналогию: это как програмить на прибитых гвоздями именах регистров eax, ebx, esp, esi, и т.д. — вместо того чтобы назначать им свои, удобные и понятные, имена.
я предупреждал. (/6)
во, ещё одну наглядность нашёл.
Скажем, если ты преаллокейтишь какой-нибудь массив фиксированного размера в каком-нибудь, а давайте-ка, паскале:
const MAX_PATH = 300;
type Path = array [1..MAX_PATH] of char;
— зачем ты этой константе даёшь символическое имя, MAX_PATH?
Отвечу сам: а) затем чтобы у этой сущности было ЕДИНСТВЕННОЕ место определения, которое в дальшейшем можно будет легко изменить (это называется ГИБКОСТЬ); б) затем чтобы детали реализации сущности были скрыты за АБСТРАКЦИЕЙ, и можно было бы писать циклы for i := 1 to MAX_PATH do ... — пользуясь ею и не переживая за (будущие) изменения, скрытые под ней.
И тут же второй вопрос: зачем ты этому ТИПУ даёшь символическое имя, Path?
Ответ: затем же. Чтобы можно было в функциях параметры писать, не задаваясь деталями того, как реализован тип. (или выстраивать устойчивые иерархии вложенных типов данных, этц)
procedure chdir(target: Path);
Синонимы типов — очень простой, но крайне важный механизм абстракции данных. То, что в жабе его нет — это позорнейший ОТСОС, ДНИЩЕ и говноедство.
и если вы меня ещё не подогреете — то я ничего больше писать не буду.
тащемта, и так уже всем понятно, кто соснул итт.
паяльничком себя подогрей
Плохо зделоли: нет unsignedю
ИТТ не соснул только @ulidtko. Типы должны ограничивать домен, а более того, во всех нормальных языках можно юзать dependent types (даже в тамком говне, как плюсы).
http://skipoleschris.blogspot.co.uk/2013...