НЕНОРМАЛЬНОЕ ООП

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • Пишем объектно-ориентированный (ООП) код на языке Си
    Онлайн-курс и конкурс от Logitech и партнеров, выиграй MX Master 3 и другие призы: bit.ly/2YUBnKb
    Материалы по теме:
    www.state-mach...
    github.com/Qua...
    www.cs.rit.edu...
    Музыка:
    • Diamond Ortiz - Mirror...
    • (No Copyright) Epic Dr...
    • Shreksophone 🎷(with a ...
    • yansobakin - искала в ...
    _____________________________________________________________
    💰 Бонусы за спонсорство
    www.youtube.co...
    🖤 Telegram: t.me/extremeco...
    💙 VK: extreme...
    💜 Discord: dscrd.in/extre...
    🧡 Insta: / _extremecode
    🤎 GitHub: github.com/ext...

Komentáře • 677

  • @umaler5679
    @umaler5679 Před 3 lety +1203

    Следующее видео: "assembler - объектно ориентированный язык"

    • @Cinnamon-ph3gt
      @Cinnamon-ph3gt Před 3 lety +57

      ♂ASS♂embler

    • @c4llv07e
      @c4llv07e Před 3 lety +39

      @@Cinnamon-ph3gt Deep Dark Memory; git master; ♂f*cking♂ ELF32

    • @velnbur-live3399
      @velnbur-live3399 Před 3 lety +76

      ООП на машином коде

    • @myriaxont
      @myriaxont Před 3 lety +35

      Если учесть что тот же C++ и куча других ООП языков имеют промежуточное представление (.o объектный файл который содержит ассемблер), то можно сказать что в Ассемблере ООП используют нериально часто (правда в основном компиляторы)

    • @MrNachosVIDEOS
      @MrNachosVIDEOS Před 3 lety +12

      High Level Assembly
      en.wikipedia.org/wiki/High_Level_Assembly
      Всё уже давным давно сделано

  • @sawwor6463
    @sawwor6463 Před 3 lety +591

    279 дней изучать ся что бы сделать бесполезный ролик.
    Лучший

    • @ExtremeCode
      @ExtremeCode  Před 3 lety +122

      Ну а че нам, жсникам

    • @BStudioCD
      @BStudioCD Před 3 lety +49

      @@ExtremeCode за JS и двор стреляю себе в ногу

    • @Xelasilli
      @Xelasilli Před 3 lety +2

      @@BStudioCD псс, используй спонсорБлок

    • @volodyaleo
      @volodyaleo Před 2 lety +1

      Что ж, в эмбеддед в основном на си пишут и все эти приёмы применяют по сути.

    • @linuxoidovich
      @linuxoidovich Před rokem

      @@Xelasilli в нем этого нету.

  • @ogre6ajikuhwt430
    @ogre6ajikuhwt430 Před 3 lety +303

    Мм, реклама мыши спустя 273 дня. Ну наканецта!!1

    • @ExtremeCode
      @ExtremeCode  Před 3 lety +75

      из солнечной системы не так просто вылететь, как может показаться

    • @ogre6ajikuhwt430
      @ogre6ajikuhwt430 Před 3 lety +27

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

  • @Andrey-yh6yw
    @Andrey-yh6yw Před 3 lety +195

    Действительно, сколько можно терпеть отсутствие рекламы на видосах

  • @TheTerrapod
    @TheTerrapod Před 3 lety +70

    Я: работаю программистом и имею высокую покупательную способность, благодаря зарплате, в 13 раз привышающую МРОТ
    Какой то парень с ютуба с каналом про программирование: выиграй мыш

  • @apache5446
    @apache5446 Před 3 lety +406

    Как получить такую же Visual Studio с гоблином?

    • @cat_ashere
      @cat_ashere Před 3 lety +8

      Аналогичный вопрос. Где взять?!

    • @xpehish
      @xpehish Před 3 lety +24

      установить коммунификатор

    • @dulatello08
      @dulatello08 Před 3 lety +5

      Сам напиши аддон

    • @dedzuka
      @dedzuka Před 3 lety +1

      @@dulatello08 то есть там можно менять даже фон?
      Пошел изучать

    • @atlasua2021
      @atlasua2021 Před 3 lety +3

      Плагин на офф сайте есть.

  • @g0ra9
    @g0ra9 Před 3 lety +229

    Видео больше минуты? Забрасывайте канал

    • @mohnatyi_hleb
      @mohnatyi_hleb Před 3 lety +1

      @@slivfreecourse1387 есть курсы о том как создавать курсы?

  • @aleksandr3094
    @aleksandr3094 Před 3 lety +309

    Жду ролика "html - это ООП язык"

    • @brenkovd
      @brenkovd Před 3 lety +17

      ну Language же

    • @TheBreeng
      @TheBreeng Před 3 lety +11

      Я чуть кофе не поперхнулся, полегче

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +5

      Ну DOM же

    • @user-kv5fw7xz9c
      @user-kv5fw7xz9c Před 3 lety +1

      HTML - это вообще язык нотации объектов. (ну, ладно, XML)

    • @takiekakmi7532
      @takiekakmi7532 Před 3 lety +2

      Думаю, на тяге от подрыва пердака - можно будет пару раз слетать до Марса...

  • @g0ra9
    @g0ra9 Před 3 lety +81

    Нафига такой ролик длинный, можно было бы разделить на 20 отдельных роликов

    • @Gimli_Dwarf
      @Gimli_Dwarf Před 3 lety

      И вообще использовать сторонние, чем самому снимать велосипед.

  • @user-rs6pe4fy1r
    @user-rs6pe4fy1r Před 3 lety +65

    "Гибкий и приспособленный к различным в том числе творческий способ решать задачи" - во как ты слово "говнокод" завуалировал

  • @ExtremeCode
    @ExtremeCode  Před 3 lety +89

    Я 💜
    P.S.
    Наконец-то теперь смогу записывать свои любимые 30-и секундные видики

    • @sklyanskiy
      @sklyanskiy Před 3 lety +17

      Руки на стол! Быстро! И вытри их.

    • @ashurapsycho1591
      @ashurapsycho1591 Před 3 lety +1

      разблокайте меня в тг я буду хорошим кодером... (@LS_X2)

    • @andronwens2680
      @andronwens2680 Před 3 lety

      разбаните миня пожалуста в тг мой ник @DedSec256

    • @Gr1gor11
      @Gr1gor11 Před 3 lety

      Ты ж, вроде, шарпист

    • @andronwens2680
      @andronwens2680 Před 3 lety

      разбаните миня пожалуста в тг мой ник @DedSec256

  • @masterbedroom594
    @masterbedroom594 Před 3 lety +46

    "Яблоки + кирпичи = фиолетовый"
    😂
    Некоторым такое нравится, но если я правильно помню, в РФ запрещена пропаганда таких отношений.

    • @retrometanol2510
      @retrometanol2510 Před 3 lety

      Дк это же не пропоганда.

    • @ATtiny13a-PU
      @ATtiny13a-PU Před 3 lety +1

      кстати, это единственное, из-за чего я не перешёл с С++ на Rust.
      особенно это касается классов и перегрузки операторов.
      хотя в JS это действительно яблоки + кирпичи = фиолетовый...

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +3

      Толку от раста?
      Он как питон в нулевых
      Лучше с++ использовать
      Там есть даже auto, и forEach

    • @ATtiny13a-PU
      @ATtiny13a-PU Před 3 lety +1

      @@Gameplayer55055, ну как... Rust - язык повышенной безопасности. Он иногда быстрее С++, а ещё он не unsafe на каждом шагу. Но да, проку от этого мало, но иногда этот язык применяют.

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +3

      @@ATtiny13a-PU ждём-с, когда либ завезут как в питоне

  • @sirjorgenbjorgen2295
    @sirjorgenbjorgen2295 Před 3 lety +30

    Если в этом видео мы рассматриваем ООП в Си, это можно расценивать как намёк на реализацию паттерна PIDOR в js в следующем видео?

  • @user-gb1ch8rf1e
    @user-gb1ch8rf1e Před 3 lety +52

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

    • @NesseratiousChannel
      @NesseratiousChannel Před 3 lety +1

      И во что транслируется ObjC до сих пор.

    • @marvinnimnull9982
      @marvinnimnull9982 Před 3 lety +1

      @@NesseratiousChannel Нет, у cfront и objc разная модель выполнения. objc ближе к smalltalk и self, в целом я бы сказал - ничего общего.

  • @user-hr7vx8ni9c
    @user-hr7vx8ni9c Před 3 lety +136

    Никто:
    Экстрим: JS - прямой наследник C!

    • @purplep3466
      @purplep3466 Před 3 lety

      блин, а че я поверил на секунду?
      Наверное Экстрим по несколько дублей это перезаписывал :)

    • @liamsmith7052
      @liamsmith7052 Před 3 lety +2

      Не-не. Си прототип JS

  • @programisli
    @programisli Před 3 lety +16

    Ты что наезжаешь на наши СиСи-чки, это наш хардкор

  • @plan4ik
    @plan4ik Před 3 lety +103

    Афтар от прокрутки колесика улетел за пределы солнечной системы, где один день равен 279 земным, поэтому ролика не было, а остальные короткие видева он высирал пока вылетал, покровы сорваны.

  • @mac-w0rm
    @mac-w0rm Před 3 lety +31

    "Классы в JS это сахарок над прототипами"
    Так говоришь, будто в с++ классы это не сахарок над malloc ( ͡° ͜ʖ ͡°)

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +3

      Честно. Хейтил плюсы, до тех пор пока не написал проектик большой.
      Указатели упрощают жизнь короче

    • @gr4tisfaction
      @gr4tisfaction Před 2 lety

      @@Gameplayer55055 раст лучше кста

    • @Gameplayer55055
      @Gameplayer55055 Před 2 lety

      @@gr4tisfaction неа
      не лучше, а проще для понимания.
      для компа лучше таки с++ и то вообще Си
      в расте может лучше с памятью, но что мешает выделить память и ща собой освободить? хотя подкупает этим

    • @gr4tisfaction
      @gr4tisfaction Před 2 lety

      @@Gameplayer55055 с каких пор лучше?

    • @Gameplayer55055
      @Gameplayer55055 Před 2 lety

      @@gr4tisfaction по сути си это кроссплатформенный ассемблер и его никак не убить и не заменить. разве что если все процессоры пропадут и будут только квантовые компьютеры. остальные языки программирования чисто для удобства кодера

  • @old_waychannel5235
    @old_waychannel5235 Před 3 lety +10

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

  • @Dmitry-mj7on
    @Dmitry-mj7on Před 3 lety +15

    Наконец-то стало понятно, что инкапсуляция есть сокрытие

    • @marvinnimnull9982
      @marvinnimnull9982 Před 3 lety +1

      Распространённая ошибка, инкапсуляция и сокрытие - разные сущности. Впрочем, если с твоей стороны это был сарказм, то поддержу.

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +2

      Инкапсуляция это сокрытие вкусных методов от говнокодеров.
      Когда вместо ctrl пробел, нужно глазеть в доку

  • @yuriparfenov9026
    @yuriparfenov9026 Před 3 lety +26

    Двойное отрицание - это уже диалектика какая -то ))))

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +1

      Привести переменную к типу bool

  • @user-ss2rj4wz5s
    @user-ss2rj4wz5s Před 3 lety +5

    Extreme code прочитали очередную главу из книжки Боба Мартина и решили всем с энтузиазмом об этом поведать. Молодцы, ребят. Рады за ваш прогресс в изучении ООП. Не перестаëте узнавать что-то новое. Ток можно и побыстрее, конечно

    • @dia_the_ghost
      @dia_the_ghost Před 3 lety +1

      это не тот анкл боб который про клин код и солид рассказывал?

    • @user-ss2rj4wz5s
      @user-ss2rj4wz5s Před 3 lety

      @@dia_the_ghost да, это он

  • @TheEmberEve
    @TheEmberEve Před 3 lety +14

    От реализации ООП в Си возникло ощущение натягивания шкурки на кисель, но прикольно.

    • @var3ant
      @var3ant Před 3 lety +3

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

  • @olegmak4541
    @olegmak4541 Před rokem +5

    Начнем с того, что С++ изначально был библиотекой, для упрощения реализации ООП. И только в дальнейшем обособился в самостоятельный язык. Поэтому ООП, можно делать на любом языке системного программирования при желании, и даже в assembler, но реализация такого ООП будет аналогом ООП для Forth.

    • @sergueisoloviev1937
      @sergueisoloviev1937 Před 9 měsíci

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

  • @olegmak4541
    @olegmak4541 Před rokem +3

    В JS концепция называется не ООП, а ПОП (прототипо-орентированное программирование) - это реальный термин. Суть ПОП - упрощение модели ООП, нам не надо задавать классы и наследования: мы делаем прототип, который и является как бы классом объектов, шаблоном.

  • @kuklama0706
    @kuklama0706 Před rokem +2

    Основы организации оперативной памяти и работа с ней в С\С++ Часть первая.
    Основная проблема начинающих (да и не только) программистов часто заключается в тотальном нежелании обучаться работе с памятью. В ход идут любые условки, начиная от полного отказа динамического выделения до смены языка программирования, на более другой, который управляется с памятью самостоятельно. Со стороны разработчиков языка точно также предлагаются всё более изощренные решения, созданные казалось бы, для пущего удобства программистов - от языков со встроенным сборщиком мусора, типа Java, до хитрых классов-контейнеров, к уже существуюшим языка, типа STL. Всё это безусловно облегчает работу программиста, но во первых не добавляет понимания, а во вторых результат как правило имеет перерасход памяти да и особой скоростью работы не отличается. Причём это даже не является виной выбранного инструмента - без понимания как всё это работает, в итоге получается монстр, который, только что не вылетает от каждого чиха. Но памяти отжирает под гигабайт, причём на что именно - непонятно. Отлаживать такое, как вы понимате еще тяжелее, если вообще возможно. Ситуацию усугбляет тот факт, что специальной литературы по работе с памятью видимо не существует в природе (по крайней мере мне таковая не попадалась), либо авторы книг по программированию полагают, что просветление должно наступить, когда начинающий программист напишет свою маленькую кучу или пул памяти. Но поскольку время подобных извращений давно уже прошло, то в итоге имеем то что имеем. Конечно невозможно в небольшой статье охватить все аспекты работы с памятью, но я и не ставлю перед собой такой задачи. Самое главное - это понять основные принципы, а весь остальной опыт ляжетBоснову. И это - самое главное.
    1. Организация оперативной памяти в x86 архитектуре
    Не вдаваясь в историю и эволюцию самой архитектуры скажу просто: модель памяти в архитектуре x86 - плоская. Наверняка вам доводилось видеть сообщения от некоторых досовских программ вида: memory model: flat. Что это значит? Это значит что память (условно) представлена в виде одного-единственного адреса, который разом переносит нас к требуемой ячейке оперативной памяти. Возможно на других архитектурах существуют более сложные, двух или трёхмерные модели, где надо указывать например строку или столбец для доступа к определенной ячейке - нас они не интерисуют. Изначально адреса в памяти были абсолютными. Это значило, что обратившись по первым 64 килобайтам оперативной памяти можно было например покоцать таблицу векторов прерываний или скажем копию биоса, либо другие интересные вещи. Адреса на тот момент были 16-битными, но их перестало хватать практически сразу же, поскольку 16-битная адресация позволяет получить доступ только к первым 64 килобайтам. Чтобы хоть как-то поправить положение в языки программирования был введен костыль в виде модификатора FAR (далёкий), который на самом деле позволял объявлять 32-битные переменные и адресовать до 4 гигабайт памяти. Затем в процессоры был введен защищеный режим и трансляция адресов, после чего доступ к памяти стал не абсолютным а относительным. Ну а сама шина адресация внутрии процессора выросла до 36 бит (а то и больше).
    Относительная адресация предполагает что весь 4-х гигабайтный диапазон адресов выделяется одному приложению. Как при этом работает внутренняя трансляция нас не заботит, но мы совершенно точно уверены, что перемещаясь по выделенной нам памяти не нарушим работу соседнего приложения, чтобы мы там ни вытворяли.
    Правда и сама наша программка будучи замеченной в доступе "невтуда" аварийно завершит свою работу с Unhandled Exception, который любой пользователь компьютера видел неоднократно. Обратите внимание что ни одна программка не в состоянии потребить более 4 гигабайт оперативной памяти (а на практике - еще меньше), именно в силу ограничения разрядности указателя. Во многом переход на 64-битные системы состоялся именно благодаря необходимости использовать больше памяти. Подобные вещи безусловно важны для баз данных, вполне возможно что в недалёком будущем и видеоигры будет потреблять свыше четырёх гигабайт памяти.
    Так или иначе, мы рассмотрим классические 32-битные адреса, работу с ними и методы оптимизации.

  • @sandroisu1274
    @sandroisu1274 Před 3 lety +8

    Как юмор - огонь, больше никак не рассматривать)

  • @ernestkhalimov3834
    @ernestkhalimov3834 Před 3 lety +21

    Чисто смесь айтишной темы и е*нутости Азазина))

    • @seelairu
      @seelairu Před 3 lety +1

      У азазина всё таки более чёрный юмор, а тут всё лайтово

    • @Skeleton597
      @Skeleton597 Před 3 lety

      @@seelairu, азазлинг тоже начинал с малого

    • @konstantingodunov2161
      @konstantingodunov2161 Před 3 lety +3

      @@Skeleton597 он тоже жабаскриптизером был?

  • @antonmaklakov
    @antonmaklakov Před 3 lety +27

    Ждём суть языка СИ за 30 секунд)

    • @nameundef8076
      @nameundef8076 Před 3 lety +5

      Можно и за 3 секунды:
      Указатели рулят

  • @imtheseventh
    @imtheseventh Před 3 lety +6

    я вот совсем не прогер ни разу(js на 5% и node+react не в счет), но с первой части поржал, потом было что то на эльфийском. и в конце земфира с неожиданной гармонизацией вообще отправила мозг в hardreset. зачётная дурь. хочу исчо.

  • @exgort
    @exgort Před 3 lety +3

    Уже два месяца учу js и программирование по твоим урокам, через месяц в январе начну проходить собесы, надеюс вся инфа, что я здесь узнал, пригодиться! Спасибо экстримА**льный код

    • @slava9519
      @slava9519 Před 2 lety +2

      Ну как? Устроился?

    • @norskiy9765
      @norskiy9765 Před rokem

      ​@@slava9519 да, он уже тимлид, который шарит за Си.

    • @lol_hp
      @lol_hp Před rokem

      Ну как устроился?

    • @abbze8272
      @abbze8272 Před 9 měsíci

      Как успехи?))

  • @kirsanov2008
    @kirsanov2008 Před 3 lety +2

    Си жив!

  • @user-dj3eg6bc2k
    @user-dj3eg6bc2k Před 3 lety +3

    *ОооООооООО, наконец ролик, который идёт более 30 секунд*

  • @stasuchuvadov
    @stasuchuvadov Před 3 lety +9

    4:19
    Мне срочно нужна ссылка на гитхаб этого умника

  • @ko_fes
    @ko_fes Před 3 lety +3

    1:30-1:37 - ill-formed выражение: в си и в плюсах по стандарту нельзя приводить указатель на функцию к указателю на данные и наоборот, - так можно делать в POSIX системах (там есть функции в ядре, которым нужна такая фича) и в некоторых документировано описанных случаях, но по стандарту так делать нельзя.

    • @user-kv5fw7xz9c
      @user-kv5fw7xz9c Před 2 lety

      Пф, даже предупреждение не выдаёт.

  • @chestiycode6012
    @chestiycode6012 Před 3 lety +1

    как же мне нравится канал Extreme code обожаю просто

  • @liamsmith7052
    @liamsmith7052 Před 3 lety +7

    Однажды ты спросишь, кого я люблю больше, ООП или ш**х. И ты ответишь segmentation fault, потому что undefined is not a function.

  • @HeavyHeavyvich
    @HeavyHeavyvich Před 3 lety +5

    www.cs.rit.edu/~ats/books/ooc.pdf
    Авторы забыли библию по данному писецу.
    "Object Oriented Programming with ANSI-C " аж 1993 года!

  • @gavr_sas
    @gavr_sas Před 3 lety +1

    Да, на самом деле посмотрите язык Vala, замечательная штука, скрывает ужас ООП на C под красивым C# или Python синтаксисом, да еще и сама кучу фич имеет вроде нуллабилити. GC нет, подставляет вызовы деструктора или декремент счетчика ссылок на объект в компайл тайме, или можно контролить память по владению (owned unowned ссылки, в rust тоже есть похожее)

  • @rikishihiradate2922
    @rikishihiradate2922 Před 3 lety +1

    В си можно взять и положить в структуру указатель на функцию и она превращается в метод. Хотя, та самая инкапсуляция там вроде работать не будет, и максимум что ты получишь - это вызов метода через точку.

  • @copokakaka
    @copokakaka Před 3 lety

    УРА! Вы вернулись! Пока вас не было - бросил трогать клаву и начал пить, купил "MX Master 3" - реально бомба особенно при рефакторинге легаси-портяночного-монолита. Но по мимо этого -дерганул так, что часть сказанного в данном видосе - вообще не понял! Вы заканчивайте умничать про языки динозавров! А то понадумали себе, что маслята без вас развивались. Давай больше контента по высокоуровневым языкам для всяких там энтерпрайз, понятного обычным маслятам.
    Маслят!.. Братва! - поддержите лайком. А то - чё они!!?

  • @the_timick
    @the_timick Před 3 lety +4

    Просто выпал с "Привет, отписчики!"

  • @kkona3568
    @kkona3568 Před 3 lety +11

    Ну я щитаю, канал можно переименовывать в ExtremeGovno

  • @user-kt5gx7gw7i
    @user-kt5gx7gw7i Před 3 lety +1

    Такого качества рекламной интеграции никто не ожидал, жду новую рекламу (соответственно и видосик)

  • @AnuarLife
    @AnuarLife Před 3 lety +27

    Я: учу js
    Ютуб:

  • @user-bf7ix7fq3d
    @user-bf7ix7fq3d Před 3 lety +13

    Прикол в том, что в университете мы учим С, и нам запретили в курсаче использовать С++ фишки. А ООП хочеца)))

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +2

      Напиши курсач с помощью инлайн ассемблера

    • @Gameplayer55055
      @Gameplayer55055 Před 3 lety +1

      Ты помучаешся, зато преподу тоже достанется

    • @user-bf7ix7fq3d
      @user-bf7ix7fq3d Před 3 lety

      @You Tube Ну, оно через них в Си и реализуется.

  • @user-ry2ed3yd1u
    @user-ry2ed3yd1u Před 3 lety +4

    Си живее всех живых.
    На чём же ещё писать embedded?

    • @liamsmith7052
      @liamsmith7052 Před 3 lety +1

      Как ни странно, второй по популярности в этой области JS)

    • @user-ry2ed3yd1u
      @user-ry2ed3yd1u Před 3 lety +1

      @@liamsmith7052 аххахах

  • @Dik131WZD
    @Dik131WZD Před 3 lety +1

    Я помню, что в моём школьном учебнике впервые затрагивали тему ооп ещё при изучении Pascal. Правда, тут же следующей главой переходили на Delphi

  • @vladoss4643
    @vladoss4643 Před rokem +1

    Очень нравится музыка интерстеллар на фоне рекламы)

  • @aiscorp1
    @aiscorp1 Před 3 lety +2

    Мышь на самом деле классная, год кайфую от горизонтального скрола по файлам

  • @exception05
    @exception05 Před rokem +3

    Ну да, ну да, чистый Си мёртвый язык. А почему он уже лет 20 занимает первые места в индексе TIOBE по популярности? Скорей уж javascript по сравнению с ним мертвенький. Конечно, я не мыслю так прямолинейно, но цифры говорят, что чистый Си далёк от состояния мёртвого.

  • @user-mi4qz2ng4y
    @user-mi4qz2ng4y Před 3 lety +3

    Класс, теперь у вас запои длятся не год, а несколько недель 👍👍

  • @user-pe1hy7vg5l
    @user-pe1hy7vg5l Před 2 lety +1

    Забайтить на повышение температуры в тёмном месте и на комментарий таки получилось:
    1. То, что "2" + "2" = "22", а "22" - "2" = 20 - действительно смешно. От того что по адресу указателя находится другой тип данных он не перестает быть указателем. Возможность в Си использовать в одном выражении разные типы данных появляется за счёт того что мы напрямую работаем с каждым байтом памяти как с числовым значением, причем как в стеке, так и в куче . В языках типо пхп или джаваскривта происходят неявные преобразования просто потому что так хочется.
    2. Bool-ов в Си вообще нет. Если использовать двойное отрицание на инте он не скукожится до одного байта.
    По твоей логике питон еще более близкий наследник си, потому что там тоже ооп через жепу, например в приватные поля можно обращаться из любого места в коде. Любые типы данных (даже вызываемые) можно присвоить по указателю. Да и вообще в питоне можно вызывать код на си, а на си не пробегая второй круг с бубном у костра можно вызывать код на питоне.
    Часть про ООП в Си кайфарик и всё по делу.

  • @user-pc7ih3cb4y
    @user-pc7ih3cb4y Před 3 lety

    Пишу на ванильном js’e классы, не юзаю сборщики, но пишу модульно, подключаю модули через «type=module” и кайфую) все что хочешь - сокрытие через #, инкапсуляция, наследование. Типизации строгой нет пока, но решаю docType’ом и все нормас

  • @Snegurjan
    @Snegurjan Před 3 lety +2

    Каждый ролик - шедевр.Ну у тебя и чуство юмора,браво!!!

  • @nomad_wizard6865
    @nomad_wizard6865 Před 3 lety +1

    Эх... под конец наверное самую верную (очевидную) вещь сказал.)) Хотя есть кадры, что именно так и писали. Почитай про семейство вирусов Стакснет (Вики), а именно про Дуку.)

  • @cosmojin
    @cosmojin Před rokem

    изучал си когда вкатывался в gtk, так знакомство с ооп на чистом си для меня произошло в самом начале его изучения

  • @TheIgoorR
    @TheIgoorR Před 3 lety +2

    Друждище, есть проблема с твоей аргументацией по поводу того что С - устарел. Ультрасовременное ядро Linux 5.11 практически полностью написано на С

    • @starfeek4268
      @starfeek4268 Před 3 lety

      Разве оно понемного не переписывается на Rust?

  • @user-sg6gv6jq3z
    @user-sg6gv6jq3z Před 3 lety +4

    Информативно и с фирменным стилем.)

  • @spechulfapticks3108
    @spechulfapticks3108 Před 3 lety

    Ожидание того стоило. Хоть и есть длинный пробел по времени, но зато качество не падает. Пойду посмотрю, можно ли это покрасивше замутить

  • @Leopold_z
    @Leopold_z Před 9 měsíci

    1:20 вроде так должно быть проще для восприятия:
    using type1 = int(*)(int);
    using type2 = type1(*)(type1);
    тогда:
    int (*(*chmo)(int(*)(int)))(int);
    превращается:
    int (*(*chmo)(type1))(int);
    затем:
    type1 (*chmo)(type1);
    и еще:
    type2 chmo;
    Вроде бы правильно, но со словами автора немного не сходится: он говорит, что есть функция, которая принимает int и возвращает type1. Получается что-то вроде type1(*)(int) или int(*(*)(int))(int), но такого фрагмента я не вижу. Поправьте меня, если ошибаюсь.

  • @ko_fes
    @ko_fes Před 3 lety +1

    И да, на самом деле на C/C++ + asm можно писать самомодифицирующийся код, что позволяет делать их псевдо-динамическими языками программирования, только скорость работы приложений с использованием подобного подхода будет на порядок хуже, чем без использования подобных техник, т.к. подобная техника напрямую ухудшает работу бренч-предиктора и ухудшает быстродействие пайплайна работы процессора.
    Но ради фана можно такое сделать, потому что МЫ МОЖЕМ.
    Если лень писать код, то вот ссылка на репу с "плохим" примером сравнения скорости работы переходов при таком подходе: github.com/kofes/asm_jmp.git

  • @JoeSmith-ll9yn
    @JoeSmith-ll9yn Před 3 lety +1

    ну родоначальник ООП изначально рассказывал нам о том, что ООП применим только для языков с динамической типизацией

  • @mrtiming7130
    @mrtiming7130 Před 3 lety

    Прости, но после просмотра рекламы мне сложно думать, досмотрю позже.
    Я правда настолько сильно залип, слушая музыку(из интерстеллара вроде) и смотря предоставленный видеоряд, что не могу думать.
    Пойду прилягу :)

  • @kittenfrompicture
    @kittenfrompicture Před 3 lety +6

    Отписчики? Ок, отписался-подписался и колокольчик поставил

  • @needfreenames
    @needfreenames Před 3 lety

    Лучшая рекламная интеграция в мире!

  • @fealllback5539
    @fealllback5539 Před 3 lety +2

    Музыка в конце: Земфира - искала (miami remix)

  • @Shimanskiys
    @Shimanskiys Před 3 lety +4

    Сначала меня заболела голова от инфы , но потом я посто о@уел когда он не назвал не самые языки программирования 2021 года , ну на которых легко , все , наверное , но это не точно . Блеет я устал так долго писать ...

  • @yankilo
    @yankilo Před 3 lety

    Реклама одной из самых красивых и удобных мышей - отличная реклама

  • @max_mgtow
    @max_mgtow Před 3 lety +2

    Жук, ты ли это?😆

  • @dmitryn.4506
    @dmitryn.4506 Před 3 lety +2

    Автор явно живёт в своём узком мирке (просто сужу по высказыванию), раз уж С по его мнению мёртв (спишем это на любовь автора к радикальным суждениям и высказываниям). С совсем не мёртв, а даже очень активно используется, однако на него совершенно нет никакого хайпа ибо сложно, очень специфично и узконаправленно. Про него никому не интересно делать контент, потому что показать зрелищно будет просто нечего! Это не сайтик сделать на JS и не игрушку на готовом движке под C#. С активно используется в очень специфичных и сложных местах, где нужно выжимать огромную производительность из практически ничего... Это портативные устройства, микроконтроллеры, драйверы, операционные системы, компиляторы, отдельные библиотеки и их части. Всё это просто не на виду, но оно есть и оно развивается постоянно. Так, если взять Python, то может оказаться, что некоторые его библиотеки весьма эффективно работают, несмотря на то, что Python не очень-то быстрый, а оказывается, что просто эти библиотеки на чистом С написаны, а такие мощные модули регулярно появляются, значит кто-то да пишет на С и очень активно между прочим... Очень часто для разработки серьёзных игр используются куски C-кода, для максимальной оптимизации работы с памятью в узких местах. Волшебный V8 (движок JavaScript), который удивительным образом выдаёт весьма высокую производительность (хотя, с учётом интерпретируемости и местами кривости и запутанности самого JavaScript, должен был бы он работать медленно), творит такие чудеса, потому что написан на C++, и очень сомневаюсь, что там не используется ни одного куска кода на чистом C... А давайте вообще глобально посмотрим. Вот есть хайповая область "разработка сайтов"... А что под капотом? Чтобы сайт нормально работал нужен качественный HTTP Server, как правило это Apache или nginx, а на чём они написаны? Оба на С написаны! То есть, на "мёртвом языке" работает практически весь, мать его, Интернет !!! :)
    Я понимаю, что автор не хотел плохо высказываться о С, и простите за многословие, просто у меня неконтролируемо бомбит от любителей усиленно "умерщвлять языки", которыми они лично не пользуются... :) Не к автору претензия, ибо шарит и пользуется, пусть и для развлекательных целей ;)

  • @alexanderpogudaev8496
    @alexanderpogudaev8496 Před 2 lety

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

    • @euginekosenko2268
      @euginekosenko2268 Před rokem

      Активно используется для написания компиляторов других языков :-)

  • @jeromewicks3896
    @jeromewicks3896 Před 3 lety +5

    настоящему программисту мышка не нужна

    • @cryptoworkdonkey
      @cryptoworkdonkey Před 3 lety

      @Melorum , просто кто умеет в Vim - тому мышка как третья нога. Только мешает нормальному процессу написания кода.

  • @MegaToyy
    @MegaToyy Před 3 lety +3

    Давай ООП на Идише!

  • @serafimagrigoryan9208
    @serafimagrigoryan9208 Před rokem +2

    Как говнокодерша на ванильном ЖСе со стажем, одобряю данный видосий и ставлю тебе за него {}+true лайков.

  • @user-yi3ud1ld8c
    @user-yi3ud1ld8c Před 3 lety +2

    КАК ЖЕ Я ОРНУЛ ОТ РЕКЛАМЫ

  • @andrejfox5350
    @andrejfox5350 Před 3 lety

    Ну наконец-то, дождались

  • @duduvs7605
    @duduvs7605 Před 3 lety

    Си будет жить, пока жив линукс.

  • @tdrkDev
    @tdrkDev Před 3 lety +1

    почему это си почти мёртвый? огромный кусок линукса написан на си.

  • @L1texxxomg
    @L1texxxomg Před 3 lety

    Кстати, мышь хорошая. В компании, где работаю, рабочие машины -- маки. Так вот со всеми кнопками на мыши можно делать почти всё то же, что и на тачпаде. Удобно, под мак прямо рекомендую
    А вот logitech flow нормально не работает: пробовал подключать рабочий мак и свой ноут (win 10). И там и там мышь работает, когда переключаешь, но вод сам flow вообще не работает. Может, из-за каких-то ограничений на рабочей машине, всё же стоит Apple Device Management, и какие-то настройки безопасности. Но суть такова

  • @syabrochanel
    @syabrochanel Před 11 měsíci +1

    JS не такой и уж точно не единственный наследник Сишечки. Есть же божественный Lua! Давай видос по Lua

    • @Ad1s
      @Ad1s Před 9 měsíci

      Ну, в Луа скобок нет (если кто ещё не придумал, как писать функции через таблицы, конечно), да и точки с запятой опциональны... С типизацией тоже весело всё...
      По синтаксису это скорее плод порочной любви Питона и Паскаля, насколько мог удостовериться.
      Да и ООП там есть из коробки, пусть и тоже довольно весёлое, с ковыряниями через метатаблицы.
      Так что сложно сказать)
      Или я где-то чего-то не понимаю и наследие кроется в чём-то более глобальном, чем местные проявления синтаксиса и реализаций?
      Или вообще дело в том, что байткод LVM подозрительно напоминает Си и прекрасно в него интегрируется?

    • @syabrochanel
      @syabrochanel Před 9 měsíci

      @@Ad1s та ну, что-то у вас сведения непонятные. Все тут есть) Ни питона ни паскаля, ООП действительно веселое

    • @syabrochanel
      @syabrochanel Před 9 měsíci +1

      @@Ad1s вообще JS младше Lua и унаследовал много фич из него, по этом считаю несправедливо не упомянуть его как наследника Си наряду с JS. (Хотя в обоих случаях это лишь отдельние языки с Си подобным синтаксисом) Но луа хотя бы интересный 🤔

    • @Ad1s
      @Ad1s Před 9 měsíci

      @@syabrochanel Ну как же нет паскаля - а эти бесконечные do ... end в циклах? Да и функцию без энда не закроешь.
      Правда, языку действительно стоит поаплодировать за качество их имплементации. Одно удовольствие их тыкать.
      Но я правда очень хотел бы получить чуть более развернутое объяснение наследства Си в Луа, потому что звучит интересно. Мне раньше казалось, что единственные вещи, роднящие эту парочку - то, что одно было написано на другом и может напрямую работать с его потоком вывода stdout, или как там его)

    • @syabrochanel
      @syabrochanel Před 9 měsíci +1

      @@Ad1s ну на самом деле их родство не больше чем у JS с Си, но lua прекрасно подключается в любые приложения, к нему можно дописать библиотеку, и легко портируется на разные платформы благодаря Си. `do end` это же вместо `{}` не особо вижу разницу 😅 к тому же к JS ближе LuaJIT, но он дальше от ANSI C, хоть и позволяет подключить любую shared библиотеку даже без хедера или скомпилировать машинный код из Си прямо в рантайме, он все же платформозависим

  • @sozidatel79
    @sozidatel79 Před 3 lety +1

    Давайте SOLID и GRASP на C, посмотрим как там дела обстоят.

  • @sanok1058
    @sanok1058 Před 3 lety +3

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

    • @marvinnimnull9982
      @marvinnimnull9982 Před 3 lety

      Почему нет? Классы и иерархии там есть.

    • @retrometanol2510
      @retrometanol2510 Před 3 lety

      @@marvinnimnull9982 ООП - объектно ореинтированное ПРОГРАММИРОВАНИЕ.Процесс написания сайта на HTML,это вёрстка,а не программирование.

    • @marvinnimnull9982
      @marvinnimnull9982 Před 3 lety

      @@retrometanol2510 Вёрстка, это вёрстка, семантическая структура сайта, это семантическая структура сайта. Язык конфигурационных файлов sendmail тьюринг-полный, xml/xsl тоже. В чём разница между программированием и конфигурированием? Перефразируя известную цитату - "конфигурации бедняка - программы богатого человека" - всё зависит от того на каком метауровне ты это рассматриваешь.

    • @euginekosenko2268
      @euginekosenko2268 Před rokem

      @@marvinnimnull9982разница в полноте по Тьюрингу

  • @Crazmuss
    @Crazmuss Před 3 lety +1

    >указатель на функцию, которая принимает указатель на функцию, которая принимает целое число, которое принимает целое число, которое принимает указатель на функцию, которое принимает и возвращает целое число.
    Я, немного знающий питон: А что не так? И кстати, что такое целое число? Типа указатель на область памяти, которую можно интерпретировать как число? А воид это что?

    • @fedor3911
      @fedor3911 Před 3 lety +8

      Как мы видим Питон вызывает серьезные поражения мозга. АсмСишную терапию срочно

  • @tankostroy1061
    @tankostroy1061 Před 2 lety

    0:38 BrainFuck и JSFuck: это святое!

  • @user-js3sy2qv7m
    @user-js3sy2qv7m Před 3 lety

    Я помню этот код как правило мне давал 11 при обеих числах 1.
    let a = prompt('Первое число' , 1);
    let b = prompt('Второе число' , 1);
    let c = a + b;
    ситуацию спас parseInt
    let a = parseInt(prompt('Певое число' , 1));
    let b = parseInt(prompt('Второе число' , 1));
    let c = a + b;
    Так что даже при любой типизации можно работать вполне нормально.

  • @Rostik-pk1ik
    @Rostik-pk1ik Před 3 lety

    Ураа, рад вашему возвращению. Видео клас!

  • @vladimirpushchin7089
    @vladimirpushchin7089 Před rokem

    Мыш действительно крутая! Ну как крутая, лучше просто нет

  • @GerAllexander
    @GerAllexander Před 2 lety

    Братан, хорош, хорош, давай ещё. Контент в кайф. Можно вот этого побольше?

  • @maxlie
    @maxlie Před 3 lety

    на C написан же руби, который возводит ооп в абсолют. Кто знаком с исходниками ЯП написанных на C не удивляется реализациям ооп на онном.

  • @MIXEL3D3
    @MIXEL3D3 Před 3 lety +1

    Фух, у меня не разрывался шаблон по ходу ролика. Значит я уже не маслёнок :3

  • @dmitryefimkin6550
    @dmitryefimkin6550 Před 10 měsíci

    Если что-то выглядит - как костыли, работает - как костыли... может это и есть. Они. :)
    Думаю настало время пройтись по FreeRTOS и многозадачности.

  • @g-manchanel1710
    @g-manchanel1710 Před 3 lety +13

    Экстрим код узнаёт, что ООП - это способ реализации программ, а не способ организации языка или кода. Смотреть без смс и регистрации.
    Когда он узнает, что ООП можно реализовать в ФП - он умрёт нахуй :D

  • @kavoikapsho
    @kavoikapsho Před 3 lety

    так долго не было видосов, ибо он ждал того самого рекламодателя

  • @natuscoding8143
    @natuscoding8143 Před 3 lety

    Подожди Артем, YoptaScript - это вообще тема. Скоро все будем писать на YoptaScript

  • @eduardstreltsov3961
    @eduardstreltsov3961 Před 3 lety

    Самая пиздатая мышь, это правда не передать словами

  • @user-jv4od5en6z
    @user-jv4od5en6z Před 3 lety

    Самая крутая реклама мыши из всех что я видел

  • @jennbob5521
    @jennbob5521 Před 3 lety +3

    ОНО ЖИВОЕ!

  • @Bez_truopa
    @Bez_truopa Před rokem +1

    Следующее видео: "YoptaScript - будущее IT или позор? "

  • @BHy4OK
    @BHy4OK Před 3 lety +1

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

    • @retrometanol2510
      @retrometanol2510 Před 3 lety

      Если тебе нужны бабки,то учи 1с и пиши индусский код.Ну ещё заказчика-идиота найди и будет profit.