Весьма неполиткорректно присваивать типы объектам до момента их создания!
Мы не должны навязывать объектам, кем им быть, а кем — нет.
Объект может сам решить, какого он типа, прямо в рантайме. Более того, он вправе изменить свой тип, если почувствует к этому внутреннюю расположенность.
Сегрегация объектов по их типу должна быть запрещена на законодательном уровне, покуда не станет интернированной социальной нормой каждого кодера.
Всем объектам на уровне операционной системы должны быть гарантированы равные возможности и по первому требованию предоставлены равные права.
Пока системы далеки от совершенства, стоит предусмотреть в них обязательные квоты для объектов каждого типа и следить за их неукоснительным соблюдением.
В NoSQL из SQL выкинули джоины, добавили поиск по блобам. Поскольку получившееся нечто формально SQLом назвать уже нельзя, а других приличных слов в голову не приходит, решили добавить «No» — так загадочнее.
Еще некоторые стесняются схемы «ключ-блоб» и с умным видом говорят: «а у нас тут вообще никакой схемы то и нет».
Вот поддержу! Построитель контролируемых запросов и маппер полей результата на объекты — действительно полезные инструменты.
Закулисная магия, порождающая медленных уродцев, богомерзкие актив рекорды и прочие протекающие абстракции годны лишь для прототипирования, да на личные поделки авторам ORM, на 100% понимающим как оно там внутри работает.
У остальных же кодеров, зачастую, отнимают больше времени, чем экономят.
Да ладно Вам стесняться!
Я — человек широких взглядов, практикую на чем придётся, в соответствии с требованиями проекта. Прилично налюбился с явой, плюсами и чистым си; по вебу, в основном, бывают: питон, нода и пхп с яваскриптом.
Гошка, кстати, хорош, когда дело касается несложного, но нагруженного бэкенда, сетей, внутрипротокольных блужданий. Критикую я его редко, по делу и для смеха.
Но когда хайпанутому клиенту стукнет «вот прям всё переписать на го!» — это явный перебор и потеря времени, как по мне. Стараюсь образумить, выходит не всегда.
Краткий перевод:
«Нам кажется, что правильное использование проверенной временем конструкции „try-catch-finally“ наш бородатый контингент не осилит и наговнокодит на Гошке так, что все шишки опять полетят дизайнерам языка (а далеко не все из шишек нам по вкусу!).
Неразобравшийся чувачок понавтыкает исключений куда следует и куда нет, что мы считаем неправильным, и потому тупо такого инструмента ему (и тебе, бро, сорри) не дадим.
Мы пойдем своим путём. Для обработки обычных ошибок, пожалуйста, используйте возможность возврата множества значений из одной функции (заодно подразобьёте все свои if'ы на присвоение/проверку, Гошка проще всех, вы не знали?).
Встроенный тип „ошибка“ и другие запиленные нами удобства позволят вам обрабатывать все мыслимые ошибки, шутя и наслаждаясь. Однако мы постарались, чтобы имеющийся опыт в других языках здесь вам ни разу не пригодился (разве что в Си или Бэйсике).
Для тех, кто жить не может без исключений мы закинули пару встроенных функций восстановления состояния программы. Но сделали это так, чтобы ими было не слишком то просто пользоваться в быту.
Мы уже завезли Defer, Panic, Recover и планируем продолжать удивлять вас количеством и разнообразием способов делания одинаковых вещей.
Великолепие Гошки в обработке ошибок вы в полной мере оцените после пары-тройки серьезных проектов (*демонический смех)
Суть не в том, что кто-то использует «советские разработки», а в том, что он делает это эффективно (не ворует на субсидиях, госзаказах и откатах, например), и тем весьма примерен и хорош, в отличии от.
Надеюсь увидеть тот день, когда GDPR-подобные инициативы доберутся до софта и сделают незаконными любой трэкинг пользователя без предварительной подробной декларации целей, способов и объемов собираемой информации, а также получения явного согласия пользователя на каждую «фишечку» в отдельности.
Для ленивых и «мне нечего скрывать» господ — большую красную кнопку «Мне по!» и анальный зонд в подарок.
Большинству удобно есть, спать, справлять иные физиологические надобности и не замечать вещей, расположенных дальше собственного носа.
Чем более продукт потакает невежеству большинства (вместо того, чтобы обучать, подавать пример, внедрять лучшие практики и, по мере сил, это большиство образовывать), тем ближе он опускается к малопочтенному понятию «попса».
А когда Mozilla планирует по умолчанию выключить detectportal, shavar, safebrowsing, webrtc, прочее фоновое взаимодействие со своими веб-службами, отправку набранного текста в поисковик на каждый чих и эксперименты?
Многие даже адрес вбивать в адресную строку не умеют, они просто вбивают то, что им нужно в эту же строку
Спасибо темным паттернам браузеростроителей. На что только ни пойдешь, чтобы получать пользовательские данные. И поиск в «поисковых системах» по умолчанию, и объединение поля адреса и поля поиска.
Делают из людей идиотов сознательно.
Вопросы по фронтовым АС:
Кто сейчас делает хорошие закрытые ящики с большим нч лопухом?
Или совсем от такого отказались? Если так, то почему?
Интересует качество за некосмический прайс.
Не нужно никого убивать.
Идеальный программист в вакууме пишет идеальный код, всегда обрабатывает все ошибки, укладывается во все сроки и не существует.
Жизнь накладывает свои ограничения.В основном, это время и деньги.
Нет проблем делать что-то супер качественно, если: а) на это выделят время, б) за это заплатят деньги.
Реальность в том, что в бизнесе редко кто считается с твоими (моими) личными взглядами на красоту кода.
Бегать от реальности — глупо, менять её — не всегда возможно.
Так и не пойму, зачем мучить хомяка. Ну не завезли нормальных исключений изначально — бывает, так ведь дело поправимое.
Легаси библиотеки никому переписывать не хочется — это понятно. Можно было бы добавлять «check» или что-то подобное перед функциями, ошибки которых хочется выбрасывать исключениями, а дальше: try, catch, finally — все как у людей.
Мы не должны навязывать объектам, кем им быть, а кем — нет.
Объект может сам решить, какого он типа, прямо в рантайме. Более того, он вправе изменить свой тип, если почувствует к этому внутреннюю расположенность.
Сегрегация объектов по их типу должна быть запрещена на законодательном уровне, покуда не станет интернированной социальной нормой каждого кодера.
Всем объектам на уровне операционной системы должны быть гарантированы равные возможности и по первому требованию предоставлены равные права.
Пока системы далеки от совершенства, стоит предусмотреть в них обязательные квоты для объектов каждого типа и следить за их неукоснительным соблюдением.
Еще некоторые стесняются схемы «ключ-блоб» и с умным видом говорят: «а у нас тут вообще никакой схемы то и нет».
Закулисная магия, порождающая медленных уродцев, богомерзкие актив рекорды и прочие протекающие абстракции годны лишь для прототипирования, да на личные поделки авторам ORM, на 100% понимающим как оно там внутри работает.
У остальных же кодеров, зачастую, отнимают больше времени, чем экономят.
Давать детям нефильтрованный онлайн — свинство.
Я — человек широких взглядов, практикую на чем придётся, в соответствии с требованиями проекта. Прилично налюбился с явой, плюсами и чистым си; по вебу, в основном, бывают: питон, нода и пхп с яваскриптом.
Гошка, кстати, хорош, когда дело касается несложного, но нагруженного бэкенда, сетей, внутрипротокольных блужданий. Критикую я его редко, по делу и для смеха.
Но когда хайпанутому клиенту стукнет «вот прям всё переписать на го!» — это явный перебор и потеря времени, как по мне. Стараюсь образумить, выходит не всегда.
«Нам кажется, что правильное использование проверенной временем конструкции „try-catch-finally“ наш бородатый контингент не осилит и наговнокодит на Гошке так, что все шишки опять полетят дизайнерам языка (а далеко не все из шишек нам по вкусу!).
Неразобравшийся чувачок понавтыкает исключений куда следует и куда нет, что мы считаем неправильным, и потому тупо такого инструмента ему (и тебе, бро, сорри) не дадим.
Мы пойдем своим путём. Для обработки обычных ошибок, пожалуйста, используйте возможность возврата множества значений из одной функции (заодно подразобьёте все свои if'ы на присвоение/проверку, Гошка проще всех, вы не знали?).
Встроенный тип „ошибка“ и другие запиленные нами удобства позволят вам обрабатывать все мыслимые ошибки, шутя и наслаждаясь. Однако мы постарались, чтобы имеющийся опыт в других языках здесь вам ни разу не пригодился (разве что в Си или Бэйсике).
Для тех, кто жить не может без исключений мы закинули пару встроенных функций восстановления состояния программы. Но сделали это так, чтобы ими было не слишком то просто пользоваться в быту.
Мы уже завезли Defer, Panic, Recover и планируем продолжать удивлять вас количеством и разнообразием способов делания одинаковых вещей.
Великолепие Гошки в обработке ошибок вы в полной мере оцените после пары-тройки серьезных проектов (*демонический смех)
Вкусного вам кофе, держитесь там,
любящий вас в мыслях
авторский коллектив.»
Для ленивых и «мне нечего скрывать» господ — большую красную кнопку «Мне по!» и анальный зонд в подарок.
Совсем забыл про canvas! Его — туда же.
Большинству удобно есть, спать, справлять иные физиологические надобности и не замечать вещей, расположенных дальше собственного носа.
Чем более продукт потакает невежеству большинства (вместо того, чтобы обучать, подавать пример, внедрять лучшие практики и, по мере сил, это большиство образовывать), тем ближе он опускается к малопочтенному понятию «попса».
Спасибо темным паттернам браузеростроителей. На что только ни пойдешь, чтобы получать пользовательские данные. И поиск в «поисковых системах» по умолчанию, и объединение поля адреса и поля поиска.
Делают из людей идиотов сознательно.
Кто сейчас делает хорошие закрытые ящики с большим нч лопухом?
Или совсем от такого отказались? Если так, то почему?
Интересует качество за некосмический прайс.
Мой изначальный комментарий вы опровергаете ничем не подкрепленным антитезисом:
Если не сталкивались с ситуациями, когда она не важна — еще столкнётесь.
Идеальный программист в вакууме пишет идеальный код, всегда обрабатывает все ошибки, укладывается во все сроки и не существует.
Жизнь накладывает свои ограничения.В основном, это время и деньги.
Нет проблем делать что-то супер качественно, если: а) на это выделят время, б) за это заплатят деньги.
Реальность в том, что в бизнесе редко кто считается с твоими (моими) личными взглядами на красоту кода.
Бегать от реальности — глупо, менять её — не всегда возможно.
Легаси библиотеки никому переписывать не хочется — это понятно. Можно было бы добавлять «check» или что-то подобное перед функциями, ошибки которых хочется выбрасывать исключениями, а дальше: try, catch, finally — все как у людей.
Как будто это что-то плохое.
Не достаточно толсто? Вам еще и тэги подавай!
Бросайте эту присказку с попкорном, она отвратительно смотрится и может представить последним люмпеном даже, в общем-то, хорошего человека.