PE в PE
  • TypeScript — это не только про аннотацию типов. Примеры из практики

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

  • TypeScript — это не только про аннотацию типов. Примеры из практики

    Брайан Керниган

    Хватит цитатами разговаривать, своих мозгов не хватает?

    и кровавое месиво

     Да, если это-что то размером с ls или grep. Во всех остальных случаях кровавое месиво.

    ембедед этой бритвой сделан?

    По тому и работает как говно если туда не влиты хреналиарды бабок.

    Підтримав: User
  • TypeScript — это не только про аннотацию типов. Примеры из практики

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

    Любая, потому что есть тип Any. Любая система типов — набор ограничений, и в TS этот набор сильно получше чем в некоторых языках, так что если типы мешают писать код, то дело не в типах, а в том кто пишет. Про надмножество это действительно не вранье, потому что с any можно писать код и в TS, как в том самом джаваскрипте, к этому в добавок идёт возможность ползоватся типами. Мол «типы нинужны» это сильное заявление, но ещё ни один джаваскриптизер не написал большого продукта, без ошибок которые бы не ловились системой типов.

    Иногда он неправильно обрабатывает типы и находит ошибки там, где их нет, а пропускает там, где они есть.

    Конечно, а что вы хотели от языка без своего рантайма которы бы это форсил? Написать кривой каст из кривого жс-фреймворка который отдаёт бог весть что и чтобы это работало как надо? Не, извольте подключить либу которая это делает(а она есть).

    ошибки они не в системе типов, а в логике программы,

    вот конкретно вот эта строчка показывает что томик теории Б вы даже не видели и не слышали что это такое. Типы — способ зафорсить определённую логику программы. Например, тип Int форсит то, что сюда не будет передано ничего кроме инта, если не использовать кастов. Есть такие типы которые форсят, например, что переданная реализация алгоритма сортировки действительно сортирует и действительно за n log n. Если вам об этом рассказывали, то не значит этого не существует. Типы — инструмент для того чтобы проверять логику программы, если им не пользоватся, ничего и не будет.

    можно без труда покрыть типами и проблема не решится.

    как я уже написал — проблема неправильного применения.

    В рантайме проверки типов нет, а при взаимодействии клиента и сервера или микросервисов друг с другом все проверки нужно делать руками.

    Либы — есть, руками не нужно.

    бегут от сложности предметной области

    Для сложности предметной области есть специально обученные BA. Ну и архитекторы, остальным держать всё в голове не только бесполезно но и вредно, вот тогда они начинают входить в состояние:

    и они меньше заботятся о тестах и ревью кода.
    чтоб не концентрироваться на душных задачах бизнеса.

    Они и не джолжны концентрироватся на задачах БИЗНЕСА, на задачах бизнеса концентрируются BA, менеджеры и прочие, разрабы решают технические задачи. Если они решают «задачи бизнеса» это уже не разрабы. Я вот не видел бизнесмена которому для развития бизнеса нужно обновить версию вебпака. А вот более низкая комиссия при оплате онлайн, или меньше косты на вэб-хозяйство, или интеграция с сервисом доставки — вот это надо. Но только эти вещи связаны с решаемыми техническими задачами совсем не прямо а через цепочку рапределния обязанностей.

    . В нем нет автовывода

    Автовывода чего? Вскод умеет делать инференцию.

    а вместо него все много раз дублируется и захламляет код

    да нет же

    я и захламляет код, снижая его читаемость и понятность.

    Т.е. вот эта бестиповая каша в которой нужно все инварианты в глове держать «типа проще».

    Тайпскрипт некоторые идеи передаст в js и отомрет

    я не думаю что продукт от майков так легко сдастся.

    Нет четкой спецификации синтаксиса языка

    Есть, прямо в чейнджлоге.

    язык состоит из отдельных фич, которые можно включить и выключить в конфиге.

    Это называется «модульность» и вообще считается за добродетель.

    Тестирование решает те же проблемы

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

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

    Тесты не проверяют что «всё работает правильно». Тесты проверяют что есть сабсет данных на которых имплементации работают правильно. Типы тоже умеют проверять «сложное поведение». Чекеры типа Z3 умеют проверять сложное поведение, тесты-нет. Но такие штуки ещё более сложны в использовании потому что не интегрированы в язык.

    Ну и как показал уже Илья в докладах — это экономически не выгодно. Деньги потраченные на юниттесты дают лучший результат.

    А почему тогда процессороделы не против вкинуть многобабок в верификацию теми же типами? «с жиру бесятся»?

  • Как выучить backend embedded-разработчику?

  • Математика понятным языком, такое бывает?

    бсолютно не пристосовані для самостійного вивчення

    сейчас то очень много возможностей чтобы самому выучить какую-то тему.

    Підтримав: Roman Pavlyuk
  • Математика понятным языком, такое бывает?

    внезапно, не хотят что-то менять.

    дак меняют же, предлагают упрощения для доказательств с новыми понятиями, сокращениями далее, в целом когнитивная сложность уменьшается.

    Программирование потому и выстрелило, что оторвалось от математики,

    Да никуда оно не отрывалось те кто изобретают процессоры и в наборы инструкций очень даже используют математику. Выстрелило оно потому что есть непосредственное практическое применение с извлечением быстрых денег.

    Вместо этого стали писать на понятном ЛЮДЯМ языке

    бурх это иллюзия. Спрашиваешь ты понимаешь что делает этот код — да. Тыкаешь в багу — «ты понимаешь что эта бага тут тоже есть» — нет, не понимаю. Понимание того что там написано — это понимание всех значимых свойств объекта. И «непонятные» языки в этом как раз сильно помогают.

    потому — малопродуктивной.

    чем меряете продуктивность.

    перестанут давать деньги.

    чем отличается профессор математики от пиццы? Пицца может накормить семью из 4 человек.

  • Математика понятным языком, такое бывает?

    вместо того, чтобы просто объяснить вещи несведущему читателю.

    Ты не поверишь, но для математиков то что в википедии написано достаточно удобоваримо. Если бы там всё формулировалось на пальцах, это был бы лютый треш который невозможно читать. Если я открывают «теория категорий для математиков» там нет воды, все быстро приходит к сути, а за книгой Бартоша можно просто заснуть.

    У них всё просто: будь добр отлично знать — right now — программу старших классов школы и 1-2 курсов института или давай, до свидания.

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

    Хочется, чтобы как в детских книгах ...

    Нельзя, математика = формализм, формализм из песни не выкинуть. Нельзя скипать простые вещи и делать сразу сложные.

  • Читабельність коду. Способи, кращі практики та помилки

    Статья ни о чём.

    незрозумілий код вже не змінити, його можна тільки викинути

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

    є ілюзія того, що можна зараз зробити швиденько, а потім відрефакторити.

    Действительно это имеет смысл, если требования не до конца известны. И это применяется не только в SD но и в прочей инженерии.

    Роберт Мартін.

     ну, в прочем, после этого имени можно не читать.

    «Cognitive complexity of functions should not be too high»

    это только капля в море

    Дуже просте правило: якщо ти не в змозі швидко написати простий тест, то код треба рефакторити до тих пір, поки тест не буде значно простіший за код. Більшість проблем, пов’язаних з юніт-тестами, — це проблеми поганого коду.

    Далеко не всегда, это зависит от задачи которая решается.

    Потрібно витратити час на ручне тестування

    Только, исключительно автотесты

    Код, дизайн якого базується на тестах — простіший, і тому його легше читати та змінювати.

    пруфы

    якщо код буде читати нейтив.

     да какая разница

    Форматування дуже важливе,
    Не треба писати коментарі

    Ваш к.о.

    Короче, тема сичистого кода не раскрыта вовсе.Ни как эту сложность снижать, ни из чего она берётся, ни что такое есть чистый код формальным и чётким определением,и так далее. Поток воды.

  • Читабельність коду. Способи, кращі практики та помилки

    Обьективная и вычисляемая.

  • +1 мова у портфель. Чому варто вивчити Ruby

    У вас є конкретні претензії?

    Да конкретная претензия — он на рубях, а руби язык-помойка.

  • +1 мова у портфель. Чому варто вивчити Ruby

    не особо хороша, фич маловато будет.

  • +1 мова у портфель. Чому варто вивчити Ruby

    в каком месте он найкращий. Вы в котором году застряли?

  • Играете ли в Heroes III?

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

  • JDK 17 та її можливості

    В скале это было чуть ли ни с самого начала? Лет 10 как есть.

  • Від Shadow developer до Senior у 23. Кілька простих порад, як зростати швидше

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

  • Білоруська геймдев-компанія APPSULOVE відкрила офіс у Києві: наймуть до 50 спеціалістів

    Lead Monetization Manager

    Для этих людей есть отдельный котел...

  • Створено нову мову програмування Ć: розповідаємо, які її особливості

    Идиото-ориентированное программирование это зло и самообман.

    все на этом свете в той или иной мере идиоты. Даже Кармак, даже Торвальдс делают баги и ошибки, чет забывают и так далее. Это янво не самообман, пофиксить баги фиков разрабов не получится, а вот фиксом инструметария-пожалуйста.

    Сильно разработка софта на iOS подешевела?

    брух, с чего бы ей дешеветь, спрос упал чтоле? ЗАрплаты разрабов могут подрасти ввиду больше продуктивности.

  • Створено нову мову програмування Ć: розповідаємо, які її особливості

    подразумевают, что кодировка одна,

    И негде это подразумение не фиксируют, потом оно забывается, а код ломается нафиг, и не пофиксишь никак потом.

    но обычно подразумевается что человек знает что делает.

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

  • Где лучше всего купить игровой комп с RTX 3080?

    Маск — просто идол для поклонения.

    Дак никто не против.

  • Где лучше всего купить игровой комп с RTX 3080?

    Ну это маск воду баламутил же.

← Сtrl 123 Ctrl →