LINUX.ORG.RU
ФорумTalks

Я тут прозрел

 ,


0

1

Люди, мужи-братия, до меня дошло.

Статическая типизация — одна из лучших вещей, если не считать стейк из нежной телятины.

Особенно, когда рефакторишь много быдлокода. Чужого быдлокода. Чужого жабабыдлокода. Да если бы мне пришлось чинить такую же кучу чужого динамического кода, я б уже сдох, наверное.

★★★★★

Ответ на: комментарий от quiet_readonly

Есть куча попыток запилить над js статическую типизацию.

PolarFox ★★★★★
()
Ответ на: комментарий от quiet_readonly

Ну есть скала, где статическая типизация особо и не заметна.

А ObjC очень прост, поэтому и анализируется хорошо.

note173 ★★★★★
()
Ответ на: комментарий от chg

ты еще не прозрел. прозреешь окончательно, когда поймешь, что не-быдлокода не бывает.

thesis ★★★★★
()
Ответ на: комментарий от AlexCones

man матрица, диалог Смита с Бэйном в ресторане.

Насколько помню, там было нечто лососеобразное.

shimon ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

Вчера читал «Дедлайн» ДеМарко, так вот он предлагает делать еще хардкорнее: дизайнить 5/6 времени, отлаживать именно формальный дизайн, а кодировать оставшуюся 1/6 времени. Это, по его предположению, может помочь сэкономить на отладке, почти полностью устранив ошибки в интеропе модулей.

stevejobs ★★★★☆
()
Ответ на: комментарий от note173

Блин, точняк! Перезаписали Бейна, а Сайфера «купили»! Блин, надо пересмотреть.

AlexCones ★★★
()
Ответ на: комментарий от shimon

И да, я это к чему - лососи, жрачка там... Это всё матрица, нет никаких вкусов. Вы чувствуете то, что внушит вам матрица. А вот код - это да, код - это железно, на века. Так что не сравнивайте код с жрачкой, пожалуйста.

AlexCones ★★★
()

Да если бы мне пришлось чинить такую же кучу
чужого динамического кода, я б уже сдох,
наверное.

Не пришлось бы - еще на середине проекта быдлокодера убил бы тимлидер.

DNA_Seq ★★☆☆☆
()
Последнее исправление: DNA_Seq (всего исправлений: 2)
Ответ на: комментарий от stevejobs

И он типа практически правб, если дело идёт не о разработке UI, а о чистой логике.

В текущем проекте код работает с двумя СУБД (postgres и oracle), вытягивает описания, структуры, типы и параметры таблиц, индексов, констрейнтов, процедур и функций - и за всё время реальной отладке подверглись 2 SQL-запроса.

Всё остальное просто автоматически решилось за счёт безжалостной статической типизации: всегда известно ЧТО в конкретную точку может прийти, и всегда известно как оно будет отвечать на внешние воздействия и каким воздействиям его можно подвергнуть.

И если в некоторую точку может прийти «непойми что», то без явной подгонки его не задействуешь, а значит и явно придётся сделать проверку типа, поэтому какое-нибудь «у этой фигни нет такого метода, у той муйни нет такого поля а вот это вообще не объект» и тому подобное тупо невозможно, поскольку отсекается ещё на этапе компиляции.

no-dashi ★★★★★
()

Ага. Со статической типизацией из говна можно лепить не куличики, а целые башни. Безопасно мазать не в два слоя, а сразу в восемь.

Vit ★★★★★
()

А на каком году жизни дошло? А то может поздно уже...

Barlog_M
()
Ответ на: комментарий от stevejobs

Вчера читал «Дедлайн» ДеМарко, так вот он предлагает делать еще хардкорнее: дизайнить 5/6 времени, отлаживать именно формальный дизайн, а кодировать оставшуюся 1/6 времени. Это, по его предположению, может помочь сэкономить на отладке, почти полностью устранив ошибки в интеропе модулей.

Фигня это. Для такого дизайна нужен настолько хорошо тренированный мозг, что уж проще будет его использовать, чтобы евреев с арабами замирить.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

дык там для щас тренированные мозги для обратного процесса юзаются.

Deleted
()
Ответ на: комментарий от annulen

В жабе для этого обычно использую фабрики фабрик фабрик :)

извините вы наверное хотели сказать абстрактные фабрики фабрик фабрик :)

ggrn ★★★★★
()
Ответ на: комментарий от Deleted

Ты так говоришь, словно со статической типизацией нельзя написать быдлокод.

При чём здесть типизация?

Быдлокод даже струёй по снегу написать можно.

grim ★★☆☆
()

Поздравляю.

Добавлю ещё, что полностью отсутствующий код вполне таки является быдлокодом (ни МПХ не работает). Так что писать с нуля тоже гораздо проще в статике.

Miguel ★★★★★
()

Ты не расстраивайся, человеческая глупость не знает границ, и со статическиой типизацией можно набыдлокодить много чего непонятного.

AF ★★★
()
Ответ на: комментарий от grim

Быдлокод даже струёй по снегу написать можно.

а исполнять его кто потом будет?

Harald ★★★★★
()

Я это понял, когда мне в качестве курсовой выдали на доработку 15к строк быдлокода дипломной работы другого студента на Python...

snizovtsev ★★★★★
()
Ответ на: комментарий от snizovtsev

Причем там tuple повсеместно используются как struct. Итого вместо понятного именованного поля получаем что-то вроде tmp[1], res[5] и т.п. запись, которая ничего не говорит.

snizovtsev ★★★★★
()
Ответ на: комментарий от snizovtsev

Причем там tuple повсеместно используются как struct. Итого вместо понятного именованного поля получаем что-то вроде tmp[1], res[5] и т.п. запись, которая ничего не говорит.

У меня сейчас основная работа - намного больше такого же кода, но на перле. use constant? Не, не слышали!

shimon ★★★★★
() автор топика

Если наличие (или отсутствие) какой-то сраной типизации и миска рисакусок мяса - это лучшее, что есть в вашей жизни, то лучше немедленно убить себя об стену, ибо жизнь ваша никчёмна и скучна.

mv ★★★★★
()

Как вегетарианец протестую: статическая типизация - несравнимо лучше стейка!

theos ★★★
()
Ответ на: комментарий от shimon

Предпочитаю 320 Нм крутящего момента, двухподвес и, да, динамическую типизацию. Жить, так по-полной!

mv ★★★★★
()
Ответ на: комментарий от aiqu6Ait

Ни про то, ни про другое. Сейчас пишу код в QtCreator с плагином, использующим clang для посветки и автодополнения. Это - кайф. Любая ошибка, будь то неверное число аргументов, забытый return в конце функции, нарушение квалификатора const или использование незахваченной переменной внутри лямбды, тут же подчёркивается ровно в том месте, которое порождает ошибку. И если я допустил новый тип ошибки, то в первый раз навожу на подчёркивание и читаю сообщение - а потом уже и глядеть не надо, по диапазону подчёркивания и контексту мгновенно понимание приходит.

Автодополнение не такое кайфовое, в дополнении для C++ сплошь видны недоработки, если сравнивать с тем же clang для Objective-C или с KDevelop для C++. Скорость работы тоже не фонтан, частенько бывают видимые паузы между нажатием '.' и выводом дополнения.

quiet_readonly ★★★★
()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.