Подписывайся на наши каналы в тележке 👍 👉 Основной канал: t.me/extremecode 💊 Канал ИИ-шизика с АйТи базой: t.me/resident_shiz 💸 Канал про разработку стартапа (feat. @SeniorSoftwareVlogger): t.me/startup_reports
@@Yaroslav1986_UA я то конечно поугарал над видосом, который сделан чисто чтобы было куда рекламу воткнуть, я как бы не против рекламы, но в видео можно было и получше тему раскрыть, особенно когда видос от таких талантливых и шарящих в айти авторов
Забыл упомянуть, что языки с динамической типизацией так же пытаются усовершенствовать, но наоборот, для явного указания типа. В том же питоне, начиная с 3.6 стала продвигаться концепция полного покрытия типами a: int | str = 1
@@ExtremeCode в пхп есть тайпхинты, типа function(SomeType $someval) которые работают как ассерты в рантайме. Плюс инструменты psalm/phpstan, которые позволяют провести проверку типов до запуска.
Более того, в последнее время это повсеместно в пхп - всё должно быть типизировано (переменные, аргументы, возвращаемый тип метода). Неявные преобразования тоже не любят. Мотивируется это тем, что так проще выявлять ошибки еще на этапе написания кода (IDE тебе подскажет где ты вместо int подсовываешь string). Порой это раздражает ибо неудобно. Но в целом - полезно.
В Питоне типы еще проверять можно с помощью статического анализатора mypy, который в режиме strict заставляет типами покрывать весь код вообще. Большие проекты вроде FastAPI давно mypy юзают активно. Причем там даже дженерики умудрились завести. Но у него своя кривая обучения, я знаю о mypy уже больше полутора лет, а научился им пользоваться более-менее только сейчас. Например, он довольно медленный, и фиксится использованием демона dmypy, который крутится на фоне и проверяет код по мере изменений, и этот демон я довольно долго игнорировал. И главная проблема это заставить типизировать код остальных членов команды, потому что в своих то тасках я mypy использую, а большая часть базы все равно типизирована кое-как) Есть еще штуки типа pydantic которые позволяют валидировать сложные словари и всякие джейсоны, на вход джейсон, а на выходе объект с полями и типами. Мне кажется динамический язык + статические проверки -- это один из оптимальных вариантов в проге, если производительность не критична, либо боттлнэки легко фиксятся их переписыванием на Numba/CPython/C++. Либо у вас есть сверхсветовой JIT как в JS (который правда все равно жрет кучу памяти). А если у вас как в геймдеве (точнее в разработке движков) боттлнэк -- это большая часть кода, и нужно в цикле проверить миллион объектов за 16 мс минимизируя кэш-промахи, то тут только C++ и может быть Rust.
года 4 назад захотел стать программистом , отучился в шараге , попробовал поработать , понял что не моё, теперь думаю вернуться в родной город и выучиться на механика либо на сварщика, тем более я с детства в гаражах с дедом, так что я хуй знает что я тут делаю и зачем смотрю этот ролик , но вот так получилось , просто как факт.
Братан, очень интересная академическая инфа! Когда-то давно я её читал, но конечно же забыл. Теперь твой лик клоуна надёжно выжег эту информацию в паре сотен нейронов в моём мозгу, так что забыть это будет невозможно. Однако, теперь мне требуется психологическая помощь. :c
Я не программист, но тут так много и прикольно произносят все эти слова непонятные, словно они что-то означают, и еще такие ощущания, как будто альбом забугорных треков навернул.
Главная плюшка статической типизации не перформанс, а таки ошибки компиляции. Нормально разработанные типы позволяют выкинуть эдак половину тестов. А еще IDE нормальные вещи подсказывают, а не как когда "default import" в js. Короче статическая типизация тоже упрощает жизнь
Полностью согласна. Мне даже не уютно, когда приходится работать с js, а не ts. Я привыкла, что могу быстро глянуть интерфейсы и легко сориентироваться, где какая сущность.
@klerg321 я не спец сразу оговрюсь, но я слышал что то на подобие что статическая(или наоборот) нужная для больших проектов а динамическая(или наоборот не помню) для мелких задач , условно мелких конечно же, ваше мнение жду ответа
@@Maksimeo ну как-бы зерно в этом есть, в маленьком проекте все вмещается в голове и ты банально помнишь/быстро смотришь что куда приходит. Но вот только проекты имеют свойство случайно развиваться и усложняться на ровном месте...
То ли дело мои любимые С-решётки. Захотел себе статическую типизацию - вот держи тебе всякие int, char, bool Заходел динамическую, вот тебе тип dynamic
В числе преимуществ динамической типизации обычно указывается то, что программисту нужно меньше следить за этими самыми типами; но в итоге следить надо даже больше, потому что не дай бог оно где-нибудь неявно преобразовалось и в результат вываливается какой-нибудь [Object Object]
Так мы ж не долбоебы, раз захотел чето динамичное ебануть - ожидаешь\понимаешь что на стуле могут быть и пики точеные и хуи дроченые, именно за этим и заюзал динамику. Имею ввиду например юзаешь ты тайпскрипт (потому что колеги екс-джависты сцут без типов), создал переменную, в которой у тебя может быть либо айдишник хуйни либо сама хуйня, и в дальнейшем всегда уточняешь\проверяешь что именно там есть (чем то типо такого const myId = (item as Item)?.id || item
Это проблема не динамически типизированных языков, а слабо типизированных. Python динамически типизированный, но сильно типизированный, что означает он не производит переопределение типов.
@@louis-nicoladavout7580x = int, всё переопределяется, но не преобразовывается компилятором просто так. Ты не можешь просто так приплюсовать к строке число, не кинув в тот же конструктор str(). Хотя сделать "b" + "r" * 10 легко, но это уже задокументированная фича
Как человек, который писал на языках и со статической и с динамической типизацией скажу: писать на динамических языках намного сложнее. Особенно, если ты никогда на них не писал и только что свичнуля со статической
Всю жизнь писал на динамической и как попробовал статическую, то первое что мое внимание привлекло - как же много ненужных действий. Больше всего бесит что я не могу 1 и 0.1 сложить без танцев с бубнами. Канечна, кто-то там будет рассказывать про скорость, но в моем случае эта операция может присутствовать 1 раз за тик, и там ее скорость вообще ничего не значит. Естественно, какой-нибудь Петухон не шибко динамичный, потому что очень он уж много где требует приводить правильные и только правильные типы.
Как человек, который писал на языках и со статической и с динамической типизацией скажу: писать на статических языках намного сложнее. Особенно, если ты никогда на них не писал и только что свичнулся с динамической
@@vladampleev3440 на ассемблере что ли стал кодить? Большинство приложений как раз написано всякими, и если бы их писали нормальные, то эти приложения работали в десятки или даже сотни раз быстрей. Вот говорят пограмисты мелкософта самые лучшие, но вот UASM по сравнению с MASM работает раз 30-40 раз быстрей, ещё пытался ковырять масм идапро, и понял что там какой-то лютый хитрожопый говнокод, хотя исходников масма в открытом доступе нет, ну насколько знаю.
А я думал что сильная т. = статическая т. , так же про слабую и динамическую. Братан, хорош, давай, давай, вперёд, контент в кайф, можно таких вот шедевров почаще
Ну и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? Давайте, пока.
Лучше бы по ссылке в описании перешёл, освоил профессию {current_promo_proffesion} и ворвался в {current_big_company} на зарплату {current_big_money}. Я в тебя верю, ты избранный, {current_username} 😂
Приведенные примеры языков программирования, которые используют разные типы типизации, делают информацию более наглядной и понятной для зрителей. Это полезное видео для начинающих программистов и всех, кто хочет разобраться в основных понятиях типизации, что, безусловно, необходимо для успешной работы в программировании.
я понял то что в рекламе парадокс, тебе говорят что ты можешь устроиться в крупную компанию и сам исправить нынешнюю ситуацию со множеством открытых миров и дрочилен ради денег, однако сейчас подобным занимаются в основном только инди разрабы, а крупные студии в большинстве своём подчиняются издателям или сами хотят побольше заработать, т.е там ты исправить мало что сможешь
я пропустил, или не было видоса, где бы описывались преимущества того или иного подхода. в динамической тебе же все равно в голове надо держать какого типа у тебя переменная, чтоб не получилось как раз как в мемах про js.
Статическая типизация считается быстрее, потому что компилятору проще оптимизировать код и сделать его максимально быстрым, но интерпретируемые языки тоже не отстают. Код на js будет работать не хуже чем на c++, при условии что вы будете писать нормальный и предсказуемый код. Например в js, в состав v8 входит оптимизатор turbofan, который имеет крутые эвристики и может на лету оптимизировать код, да и ещё попутно делать jit компиляцию
Ну и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
у и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? Давайте, пока.
Вы ещё не видели язык rust. Вот там вместо шаблонов используются trait'ы. Это такие штуки, которые позволяют присосать методы к разным типам со своей реализацией. А функция в rust может принимать типы, у которых реализованы определённые trait'ы. Например перегрузка оператора плюс- это trait Add. И твоей собственной функции sum совершенно не обязательно принимать только один тип вектор чисел. Можно указать, что параметр может принимать итерируемый объект, у которого элементы могут складываться оператором плюс.
Не забыл про генерики в java/C#. Конкретно в java компилятор не делает миллион разных версий алгоритма под каждый тип, а происходит стирание типов, по факту просто апкаст до Object
Больше того, есть теория типов, в которой можно говорить о группах систем типов (лямбда-куб и прочее). Вообще, всё названное в ролике в итоге сводится именно к теории типов, так что автор прав - петухи, которые аппелируют к статической/динамической, сильной/слабой а-приори не знают о чём говорят.
как-то раз занесло меня на Ruby конференцию, где 2 часа я выслушивал про то, как они при помощи if и тамошнего аналога instanceOf пытаются сделать свой компилятор, не понимаю, зачем пытаться изобрести велосипед, если есть Spring Boot + Java
Когда в языке появляется что то новое, все хлопают в ладоши, радуясь этой фиче. А мне становится грустно. PHP - динамическая типизация (на максималках, объявили-инициализировали поле/переменную значением 0, на следующей строке кода пишем туда строку, на следующей строке дробное число). И тут (не вчера, но всё же) завезли статическую типизацию. И все рады - ура теперь мы можем проверять тип аргумента, возвращать результат указанного типа. А мне грустно. Нет, я всё понимаю - я пишу и на C#, но мне грустно. Потому что теперь у нас есть x2 синтаксиса PHP. Справа пишут с использованием статики, слева динамики, на потолке особо одаренные смешивают стили, на полу эту смесь стиля присыпают синтаксическим сахарком (удобно же, да?). Пиши как хочешь! Ура?! А стандарта написания кода...нет. PSR ушел, от него много где отказались. Идеальный код и прочее - частное мнение бородатого дяди за 100 бакс (цена его росписи на книжке). Все эти солиды драи - вообще ересь (в реальном проекте невозможно и лучше не соблюдать, приходит с практикой после юношеского - сейчас я буду писать код красиво..ага ну да..а как что то нестандартное все эти солиды будут так противоречить другим принципам...) В одной компании PSR статика, в другой свой код стайл динамика, в третьей опять 25 мы пишем на пыхе, но хотим попробовать (! маркер непрофессионализма - хотят попробовать за бабки заказчика, молодцы ребята) GO. Вывод - нет хорошего и плохого, есть работает или нет. И вообще по барабану как там написано, работает-стабильно=хорошо. Любой код, любой - или идет в топку и о нем забывают, или переписывают каждые 2-3 года. И всё равно как писать и какая там типизация. А то что на собесах хотят оно вообще ни с работой ни с реальностью не связано.
Первый ролик от экстрим цоде, который реально дал мне полезную инфу!👍 Я как-то давно пыталась понять разницу между динамической и слабой типизацией, читая статью в Википедии, но нихрена не поняла. А тут коротко и по делу автор пояснил. Наконец то я могу считаться программистом!💅
Я просто в шоке, программисты там уже совсем зажрались, тыкая кнопочки на своем кудахтере за 300к/наносек., что начинают спорить за всякую хуйню, пока настоящие мужики работают на заводе. Я не знаю, травку пощупайте на улице, или еще что-нибудь, чтоб занять себя чем-то, тогда и желание отпадет обсуждать какое говно лучше. А вообще братан хорош, давай давай контент в кайф, можно еще этого побольше
Я так и не понял: Зачем мне нужен нестрогий тип переменной если я и так знаю что в ней будет и сам разберусь как разные типы друг с другом "подружить"?
Подписывайся на наши каналы в тележке 👍
👉 Основной канал: t.me/extremecode
💊 Канал ИИ-шизика с АйТи базой: t.me/resident_shiz
💸 Канал про разработку стартапа (feat. @SeniorSoftwareVlogger): t.me/startup_reports
Братан, хорош, давай, давай, вперёд, контент в кайф, можно таких вот шедевров почаще?
Как я раньше жил то без инфы из этого ролика?
Так же как и после.
Да всем плевать на тебя, твою жизнь что там ещё у тебя) Просто поугарай, оцени труд автора и не душни в комментах))
@@Yaroslav1986_UA Выдал базу на 5 предложений, из которых половина - интеграция.
Вот это труд так труд, чувствуется уважение автора на губах.
До этого ты не жил.
@@Yaroslav1986_UA я то конечно поугарал над видосом, который сделан чисто чтобы было куда рекламу воткнуть, я как бы не против рекламы, но в видео можно было и получше тему раскрыть, особенно когда видос от таких талантливых и шарящих в айти авторов
Забыл упомянуть, что языки с динамической типизацией так же пытаются усовершенствовать, но наоборот, для явного указания типа. В том же питоне, начиная с 3.6 стала продвигаться концепция полного покрытия типами a: int | str = 1
Хотел упомянуть, но почему то мне казалось что подобное хотели в PHP ввести, но подтверждений я не нашел, поэтому просто оставил как есть
@@ExtremeCode в пхп есть тайпхинты, типа function(SomeType $someval) которые работают как ассерты в рантайме.
Плюс инструменты psalm/phpstan, которые позволяют провести проверку типов до запуска.
В пхп тоже есть всякие :bool для функций. И если уж так надо еще и тип сравнивать, есть ===, тут сравнение строки с числом не прокатит
Более того, в последнее время это повсеместно в пхп - всё должно быть типизировано (переменные, аргументы, возвращаемый тип метода). Неявные преобразования тоже не любят. Мотивируется это тем, что так проще выявлять ошибки еще на этапе написания кода (IDE тебе подскажет где ты вместо int подсовываешь string). Порой это раздражает ибо неудобно. Но в целом - полезно.
В Питоне типы еще проверять можно с помощью статического анализатора mypy, который в режиме strict заставляет типами покрывать весь код вообще. Большие проекты вроде FastAPI давно mypy юзают активно. Причем там даже дженерики умудрились завести. Но у него своя кривая обучения, я знаю о mypy уже больше полутора лет, а научился им пользоваться более-менее только сейчас. Например, он довольно медленный, и фиксится использованием демона dmypy, который крутится на фоне и проверяет код по мере изменений, и этот демон я довольно долго игнорировал. И главная проблема это заставить типизировать код остальных членов команды, потому что в своих то тасках я mypy использую, а большая часть базы все равно типизирована кое-как) Есть еще штуки типа pydantic которые позволяют валидировать сложные словари и всякие джейсоны, на вход джейсон, а на выходе объект с полями и типами. Мне кажется динамический язык + статические проверки -- это один из оптимальных вариантов в проге, если производительность не критична, либо боттлнэки легко фиксятся их переписыванием на Numba/CPython/C++. Либо у вас есть сверхсветовой JIT как в JS (который правда все равно жрет кучу памяти). А если у вас как в геймдеве (точнее в разработке движков) боттлнэк -- это большая часть кода, и нужно в цикле проверить миллион объектов за 16 мс минимизируя кэш-промахи, то тут только C++ и может быть Rust.
года 4 назад захотел стать программистом , отучился в шараге , попробовал поработать , понял что не моё, теперь думаю вернуться в родной город и выучиться на механика либо на сварщика, тем более я с детства в гаражах с дедом, так что я хуй знает что я тут делаю и зачем смотрю этот ролик , но вот так получилось , просто как факт.
Спасибо, что поделилися
Братан, очень интересная академическая инфа! Когда-то давно я её читал, но конечно же забыл. Теперь твой лик клоуна надёжно выжег эту информацию в паре сотен нейронов в моём мозгу, так что забыть это будет невозможно. Однако, теперь мне требуется психологическая помощь. :c
Я не программист, но тут так много и прикольно произносят все эти слова непонятные, словно они что-то означают, и еще такие ощущания, как будто альбом забугорных треков навернул.
Тип видео: рекламное.
Типизация: статическая.
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? давайте пока
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Главная плюшка статической типизации не перформанс, а таки ошибки компиляции.
Нормально разработанные типы позволяют выкинуть эдак половину тестов.
А еще IDE нормальные вещи подсказывают, а не как когда "default import" в js.
Короче статическая типизация тоже упрощает жизнь
Да ладно, правда чтоли?)
Полностью согласна. Мне даже не уютно, когда приходится работать с js, а не ts.
Я привыкла, что могу быстро глянуть интерфейсы и легко сориентироваться, где какая сущность.
@klerg321 я не спец сразу оговрюсь, но я слышал что то на подобие что статическая(или наоборот) нужная для больших проектов а динамическая(или наоборот не помню) для мелких задач , условно мелких конечно же, ваше мнение жду ответа
@@Maksimeo ну как-бы зерно в этом есть, в маленьком проекте все вмещается в голове и ты банально помнишь/быстро смотришь что куда приходит.
Но вот только проекты имеют свойство случайно развиваться и усложняться на ровном месте...
Братан, хорош, давай, давай, вперёд, контент в кайф, можно таких вот шедевров почаще
То ли дело мои любимые С-решётки.
Захотел себе статическую типизацию - вот держи тебе всякие int, char, bool
Заходел динамическую, вот тебе тип dynamic
dynamic у которого один на миллион юз-кейсов?
dynamic кал. лучше словарь используйте. concurrentdictioanry то же самое, только будет быстрее
братан хорош! контент в кайф!
Хорош братан давай-давай вперед, контент в кайф
Круто!
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Братан, хорош! Давай, давай, вперёд! Контент в кайф! Можно ещё? Вообще красавчик! Можно вот этого вот почаще?
У Пети было 5 яблок, ему дали 2 яблока, сколько у Пети яблок?
js: 5 яблок2 яблока.
python: 7 яблок.
delphi: Incorrect form1 name.
C/C++ еще не хватает с его громадным выводом ошибки компиляции на миллион символов
Delphi is dead
В числе преимуществ динамической типизации обычно указывается то, что программисту нужно меньше следить за этими самыми типами; но в итоге следить надо даже больше, потому что не дай бог оно где-нибудь неявно преобразовалось и в результат вываливается какой-нибудь [Object Object]
Так мы ж не долбоебы, раз захотел чето динамичное ебануть - ожидаешь\понимаешь что на стуле могут быть и пики точеные и хуи дроченые, именно за этим и заюзал динамику.
Имею ввиду например юзаешь ты тайпскрипт (потому что колеги екс-джависты сцут без типов), создал переменную, в которой у тебя может быть либо айдишник хуйни либо сама хуйня, и в дальнейшем всегда уточняешь\проверяешь что именно там есть (чем то типо такого const myId = (item as Item)?.id || item
Это проблема не динамически типизированных языков, а слабо типизированных.
Python динамически типизированный, но сильно типизированный, что означает он не производит переопределение типов.
@@louis-nicoladavout7580x = int, всё переопределяется, но не преобразовывается компилятором просто так. Ты не можешь просто так приплюсовать к строке число, не кинув в тот же конструктор str(). Хотя сделать "b" + "r" * 10 легко, но это уже задокументированная фича
Братан вперёд отличного!!! Видео зашло на ура!
Братан, хорош, давай, давай, вперёд, контент в кайф, можно таких вот шедевров почаще?
Братан, хорооош! Давай, давай, вперёд! Контент в кайф, можно ещё
Ваще красавчик!
Больше больше контента, спасибо что продолжаете помогать держать в тонусе желание вкатыаатся в АЙти
Снова годнота подъехала. Лучший канал про айтишичку!
Как человек, который писал на языках и со статической и с динамической типизацией скажу: писать на динамических языках намного сложнее. Особенно, если ты никогда на них не писал и только что свичнуля со статической
Всю жизнь писал на динамической и как попробовал статическую, то первое что мое внимание привлекло - как же много ненужных действий. Больше всего бесит что я не могу 1 и 0.1 сложить без танцев с бубнами. Канечна, кто-то там будет рассказывать про скорость, но в моем случае эта операция может присутствовать 1 раз за тик, и там ее скорость вообще ничего не значит. Естественно, какой-нибудь Петухон не шибко динамичный, потому что очень он уж много где требует приводить правильные и только правильные типы.
Как человек, который писал на языках и со статической и с динамической типизацией скажу: писать на статических языках намного сложнее.
Особенно, если ты никогда на них не писал и только что свичнулся с динамической
я покакал
@@vladampleev3440 Какая связь между динамичностью/статичностью типизации языка и необходимостью явного приведения типов?
@@vladampleev3440 на ассемблере что ли стал кодить? Большинство приложений как раз написано всякими, и если бы их писали нормальные, то эти приложения работали в десятки или даже сотни раз быстрей. Вот говорят пограмисты мелкософта самые лучшие, но вот UASM по сравнению с MASM работает раз 30-40 раз быстрей, ещё пытался ковырять масм идапро, и понял что там какой-то лютый хитрожопый говнокод, хотя исходников масма в открытом доступе нет, ну насколько знаю.
Братан, ХОРОШ!!! Давай, давай. Вперёд. Контент в кайф. Можно ещё?! Вообще красавчик!!!
Братан, хорош, давай-давай вперед, контент в кайф, можно еще? Ваще красавчик
братан, хорош, давай-давай, вперёд, контент - кайф. ваще красавчик!
братан хорош, давай давай вперед, контент в кайф, можно еще, ваще красавчик
Я не программист, я обычный скуф, но чувствую что становлюсь программистом, просто просматривая ваши видосы😮
Братан, хорош! Давай вперёд! Контент в кайф! Можно ещё? Ваще красавчик!
Братан, хорош, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
братан, хорош, давай-давай, вперёд, контент в кайф. Можно ещё? Ваще красавчик
Братан, хорош, давай! Контент в кайф, можно ещё? Вообще красавчик!
А я думал что сильная т. = статическая т. , так же про слабую и динамическую. Братан, хорош, давай, давай, вперёд, контент в кайф, можно таких вот шедевров почаще
Братан хорош давай давай вперёд контент вообще в кайф
братан хорош, контент в кайф!
братан, харош! давай, давай, вперед! контент в кайф! можно еще? ваще красавчик!
Очень тепло и лампово.
Давай чувак, жги!!!
Контент в кайф, вааще красавчик, всё по делу, класс.
Ну и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? Давайте, пока.
Лучше бы по ссылке в описании перешёл, освоил профессию {current_promo_proffesion} и ворвался в {current_big_company} на зарплату {current_big_money}. Я в тебя верю, ты избранный, {current_username} 😂
Большое спасибо за Ваш труд ❤ очень полезная информация
Опять нагундел очередную пасту с рекламой на 20% хронометража.
Приведенные примеры языков программирования, которые используют разные типы типизации, делают информацию более наглядной и понятной для зрителей. Это полезное видео для начинающих программистов и всех, кто хочет разобраться в основных понятиях типизации, что, безусловно, необходимо для успешной работы в программировании.
я понял то что в рекламе парадокс, тебе говорят что ты можешь устроиться в крупную компанию и сам исправить нынешнюю ситуацию со множеством открытых миров и дрочилен ради денег, однако сейчас подобным занимаются в основном только инди разрабы, а крупные студии в большинстве своём подчиняются издателям или сами хотят побольше заработать, т.е там ты исправить мало что сможешь
Хороший, полезный и интересный контент, спасибо
братан хорош давай давай вперед контент в кайф можно ещё вообще красавчик!
Супер информативно, побольше бы таких видео для "маслят", нраица
Братан, хорош, давай, давай, вперёд, контент в кайф
Как в си++ соединить 4 точки линиями и это нормально в окошке вывести только чтобы не grafics.h?
Братан хорош давай давай вперёд контент в кайф можно ещё ваще красавчик!!!
я пропустил, или не было видоса, где бы описывались преимущества того или иного подхода. в динамической тебе же все равно в голове надо держать какого типа у тебя переменная, чтоб не получилось как раз как в мемах про js.
Батя как всегда снял годноту.
Статическая типизация считается быстрее, потому что компилятору проще оптимизировать код и сделать его максимально быстрым, но интерпретируемые языки тоже не отстают. Код на js будет работать не хуже чем на c++, при условии что вы будете писать нормальный и предсказуемый код. Например в js, в состав v8 входит оптимизатор turbofan, который имеет крутые эвристики и может на лету оптимизировать код, да и ещё попутно делать jit компиляцию
красава!!! спасибо)
Странно вначале ролика ты сказал есть типизация трёх типов: статика/динамика, сильная/ слабая, а третий где?
Где третий пункт Лебовски?
типизация Шреденгера, когда яп не может понять ты накодил в сильной или слабой типизации
Явная и неявная
Ну и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
у и как бы если я какую-то рекламу до конца досматриваю , то никогда не поленюсь поставить лайк и написать в комменте типа братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? Давайте, пока.
Вы ещё не видели язык rust. Вот там вместо шаблонов используются trait'ы. Это такие штуки, которые позволяют присосать методы к разным типам со своей реализацией.
А функция в rust может принимать типы, у которых реализованы определённые trait'ы. Например перегрузка оператора плюс- это trait Add. И твоей собственной функции sum совершенно не обязательно принимать только один тип вектор чисел. Можно указать, что параметр может принимать итерируемый объект, у которого элементы могут складываться оператором плюс.
Братан, хорошо! Побольше давай контента
этот видос открыл мне глаза на все эти шаблоны в плюсах и дженерики в джаве, спасибо
Шаблоны - зло
@@ИванДунин-т7и стандартная библиотека с++ состоит из шаблонов, но тебе лучше знать.
Не забыл про генерики в java/C#. Конкретно в java компилятор не делает миллион разных версий алгоритма под каждый тип, а происходит стирание типов, по факту просто апкаст до Object
Братан, хорош, давай, давай, вперёд, контент по кайфу жи есть
Ну это.., братан давай впьерёд, кантентамана в кайф.
Больше того, есть теория типов, в которой можно говорить о группах систем типов (лямбда-куб и прочее). Вообще, всё названное в ролике в итоге сводится именно к теории типов, так что автор прав - петухи, которые аппелируют к статической/динамической, сильной/слабой а-приори не знают о чём говорят.
Отличный ролик.
Клевая подача!
как-то раз занесло меня на Ruby конференцию, где 2 часа я выслушивал про то, как они при помощи if и тамошнего аналога instanceOf пытаются сделать свой компилятор, не понимаю, зачем пытаться изобрести велосипед, если есть Spring Boot + Java
Рубисты устали милостыню просить
Братан, хорош! Давай-давай
Как раз искал видикс чтоб передернуть свой джеесный затвор, спасибо!
Мне кажется цель всех этих видео просто выложить годные накопившееся мемы😂
Норм инфа, дяка.
Когда в языке появляется что то новое, все хлопают в ладоши, радуясь этой фиче. А мне становится грустно. PHP - динамическая типизация (на максималках, объявили-инициализировали поле/переменную значением 0, на следующей строке кода пишем туда строку, на следующей строке дробное число). И тут (не вчера, но всё же) завезли статическую типизацию. И все рады - ура теперь мы можем проверять тип аргумента, возвращать результат указанного типа.
А мне грустно. Нет, я всё понимаю - я пишу и на C#, но мне грустно. Потому что теперь у нас есть x2 синтаксиса PHP. Справа пишут с использованием статики, слева динамики, на потолке особо одаренные смешивают стили, на полу эту смесь стиля присыпают синтаксическим сахарком (удобно же, да?). Пиши как хочешь! Ура?!
А стандарта написания кода...нет. PSR ушел, от него много где отказались. Идеальный код и прочее - частное мнение бородатого дяди за 100 бакс (цена его росписи на книжке).
Все эти солиды драи - вообще ересь (в реальном проекте невозможно и лучше не соблюдать, приходит с практикой после юношеского - сейчас я буду писать код красиво..ага ну да..а как что то нестандартное все эти солиды будут так противоречить другим принципам...)
В одной компании PSR статика, в другой свой код стайл динамика, в третьей опять 25 мы пишем на пыхе, но хотим попробовать (! маркер непрофессионализма - хотят попробовать за бабки заказчика, молодцы ребята) GO.
Вывод - нет хорошего и плохого, есть работает или нет. И вообще по барабану как там написано, работает-стабильно=хорошо. Любой код, любой - или идет в топку и о нем забывают, или переписывают каждые 2-3 года. И всё равно как писать и какая там типизация.
А то что на собесах хотят оно вообще ни с работой ни с реальностью не связано.
Давно не было видосов о том, как тяжело джунам
Спасибо 😁
Братан, братан хорош вообще давай, давай хочу ещё видео
братан, вперед, давай давай, воооооооОООООБще кайф, давай еще :3
Давай братан, жги. По больше образовательного экстримцоде!
Братан хорош давай давай вперёд контент в кайф можно таких вот шедевров почаще? ;
Экстрим цоде пошёл в базу, красота!
"Запиши уже новый эндинг" - хотел бы я сказать, но он итак прекрасен
Ооо, годнота подъехала)
Братан, давай ещё вут этого вот, почаще
Первый ролик от экстрим цоде, который реально дал мне полезную инфу!👍
Я как-то давно пыталась понять разницу между динамической и слабой типизацией, читая статью в Википедии, но нихрена не поняла. А тут коротко и по делу автор пояснил. Наконец то я могу считаться программистом!💅
Никто не может считаться программистом!
Я просто в шоке, программисты там уже совсем зажрались, тыкая кнопочки на своем кудахтере за 300к/наносек., что начинают спорить за всякую хуйню, пока настоящие мужики работают на заводе. Я не знаю, травку пощупайте на улице, или еще что-нибудь, чтоб занять себя чем-то, тогда и желание отпадет обсуждать какое говно лучше. А вообще братан хорош, давай давай контент в кайф, можно еще этого побольше
интеграция про подьем геймдева под новость с новой политикой юнити прям кайф))
Красава вообще брат
В айти подобные дилеммы сроду вопросу "папа или папа" скорее
Ахахаха) угарно преподнес)) просто таки эталонный IT сарказм) давай ещё! не останавливайся)))))
Динамическая типизациция в C++ это не шаблоны или auto, а вариации на тему variant/QVariant.
По итогу всё сводится к договорённостям внутри команды, выраженным в виде code style doc.
БРАТАН ХАРОШ, ДАВАЙ ДАВАЙ! ВПЕРЕД! КОНТЕНТ ВАЩЕ В КАЙФ, МОЖНО ЕЩЕ!?
Норм контент. С юмором и по делу
Братан хорош давай ещё на вентилятор подкинь 😂😂
Братан хорош, давай, давай еще, у тебя хорошо заянять получается☝️😼👍
Ура! Вперёд! Давай-давай!
Ничего не понял, но очень интересно. Пойду дальше путешествовать по TH-cam
Братан давай-давай🎉
Что ещё раз как-бы намекает на то, что программисты не такие уж и умные, как о них принято думать.
Я так и не понял:
Зачем мне нужен нестрогий тип переменной если я и так знаю что в ней будет и сам разберусь как разные типы друг с другом "подружить"?