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

  Рет қаралды 218,666

ExtremeCode

ExtremeCode

Күн бұрын

Пікірлер: 674
@umaler5679
@umaler5679 3 жыл бұрын
Следующее видео: "assembler - объектно ориентированный язык"
@Cinnamon-ph3gt
@Cinnamon-ph3gt 3 жыл бұрын
♂ASS♂embler
@c4llv07e
@c4llv07e 3 жыл бұрын
@@Cinnamon-ph3gt Deep Dark Memory; git master; ♂f*cking♂ ELF32
@velnbur-live3399
@velnbur-live3399 3 жыл бұрын
ООП на машином коде
@myriaxont
@myriaxont 3 жыл бұрын
Если учесть что тот же C++ и куча других ООП языков имеют промежуточное представление (.o объектный файл который содержит ассемблер), то можно сказать что в Ассемблере ООП используют нериально часто (правда в основном компиляторы)
@MrNachosVIDEOS
@MrNachosVIDEOS 3 жыл бұрын
High Level Assembly en.wikipedia.org/wiki/High_Level_Assembly Всё уже давным давно сделано
@sawwor6463
@sawwor6463 3 жыл бұрын
279 дней изучать ся что бы сделать бесполезный ролик. Лучший
@ExtremeCode
@ExtremeCode 3 жыл бұрын
Ну а че нам, жсникам
@BStudioCD
@BStudioCD 3 жыл бұрын
@@ExtremeCode за JS и двор стреляю себе в ногу
@Xelasilli
@Xelasilli 3 жыл бұрын
@@BStudioCD псс, используй спонсорБлок
@volodyaleo
@volodyaleo 3 жыл бұрын
Что ж, в эмбеддед в основном на си пишут и все эти приёмы применяют по сути.
@linuxoidovich
@linuxoidovich Жыл бұрын
@@Xelasilli в нем этого нету.
@ogre6ajikuhwt430
@ogre6ajikuhwt430 3 жыл бұрын
Мм, реклама мыши спустя 273 дня. Ну наканецта!!1
@ExtremeCode
@ExtremeCode 3 жыл бұрын
из солнечной системы не так просто вылететь, как может показаться
@ogre6ajikuhwt430
@ogre6ajikuhwt430 3 жыл бұрын
@@ExtremeCode я думаю, вам стоит записывать исключительно платные видео на закрытой площадке, чтоб мы эту хуйню больше не видели
@Andrey-yh6yw
@Andrey-yh6yw 3 жыл бұрын
Действительно, сколько можно терпеть отсутствие рекламы на видосах
@liamsmith7052
@liamsmith7052 3 жыл бұрын
А как же Си и JS.
@apache5446
@apache5446 3 жыл бұрын
Как получить такую же Visual Studio с гоблином?
@cat_ashere
@cat_ashere 3 жыл бұрын
Аналогичный вопрос. Где взять?!
@xpehish
@xpehish 3 жыл бұрын
установить коммунификатор
@dulatello08
@dulatello08 3 жыл бұрын
Сам напиши аддон
@dedzuka
@dedzuka 3 жыл бұрын
@@dulatello08 то есть там можно менять даже фон? Пошел изучать
@atlasua2021
@atlasua2021 3 жыл бұрын
Плагин на офф сайте есть.
@TheTerrapod
@TheTerrapod 3 жыл бұрын
Я: работаю программистом и имею высокую покупательную способность, благодаря зарплате, в 13 раз привышающую МРОТ Какой то парень с ютуба с каналом про программирование: выиграй мыш
@ExtremeCode
@ExtremeCode 3 жыл бұрын
купи мыш
@ExtremeCode
@ExtremeCode 3 жыл бұрын
Я 💜 P.S. Наконец-то теперь смогу записывать свои любимые 30-и секундные видики
@sklyanskiy
@sklyanskiy 3 жыл бұрын
Руки на стол! Быстро! И вытри их.
@ashurapsycho1591
@ashurapsycho1591 3 жыл бұрын
разблокайте меня в тг я буду хорошим кодером... (@LS_X2)
@andronwens2680
@andronwens2680 3 жыл бұрын
разбаните миня пожалуста в тг мой ник @DedSec256
@Gr1gor11
@Gr1gor11 3 жыл бұрын
Ты ж, вроде, шарпист
@andronwens2680
@andronwens2680 3 жыл бұрын
разбаните миня пожалуста в тг мой ник @DedSec256
@aleksandr3094
@aleksandr3094 3 жыл бұрын
Жду ролика "html - это ООП язык"
@brenkovd
@brenkovd 3 жыл бұрын
ну Language же
@TheBreeng
@TheBreeng 3 жыл бұрын
Я чуть кофе не поперхнулся, полегче
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Ну DOM же
@СергейБолдин-в9м
@СергейБолдин-в9м 3 жыл бұрын
HTML - это вообще язык нотации объектов. (ну, ладно, XML)
@takiekakmi7532
@takiekakmi7532 3 жыл бұрын
Думаю, на тяге от подрыва пердака - можно будет пару раз слетать до Марса...
@lnv-lnv
@lnv-lnv 3 жыл бұрын
"Гибкий и приспособленный к различным в том числе творческий способ решать задачи" - во как ты слово "говнокод" завуалировал
@АндрейТукмачёв-н7о
@АндрейТукмачёв-н7о 3 жыл бұрын
Никто: Экстрим: JS - прямой наследник C!
@purplep3466
@purplep3466 3 жыл бұрын
блин, а че я поверил на секунду? Наверное Экстрим по несколько дублей это перезаписывал :)
@liamsmith7052
@liamsmith7052 3 жыл бұрын
Не-не. Си прототип JS
@g0ra9
@g0ra9 3 жыл бұрын
Видео больше минуты? Забрасывайте канал
@mohnatyi_hleb
@mohnatyi_hleb 3 жыл бұрын
@@slivfreecourse1387 есть курсы о том как создавать курсы?
@sirjorgenbjorgen2295
@sirjorgenbjorgen2295 3 жыл бұрын
Если в этом видео мы рассматриваем ООП в Си, это можно расценивать как намёк на реализацию паттерна PIDOR в js в следующем видео?
@programisli
@programisli 3 жыл бұрын
Ты что наезжаешь на наши СиСи-чки, это наш хардкор
@g0ra9
@g0ra9 3 жыл бұрын
Нафига такой ролик длинный, можно было бы разделить на 20 отдельных роликов
@Gimli_Dwarf
@Gimli_Dwarf 3 жыл бұрын
И вообще использовать сторонние, чем самому снимать велосипед.
@plan4ik
@plan4ik 3 жыл бұрын
Афтар от прокрутки колесика улетел за пределы солнечной системы, где один день равен 279 земным, поэтому ролика не было, а остальные короткие видева он высирал пока вылетал, покровы сорваны.
@ilnev3738
@ilnev3738 3 жыл бұрын
Бадумтс
@МаксимАлексеев-ч4й
@МаксимАлексеев-ч4й 3 жыл бұрын
Extreme code прочитали очередную главу из книжки Боба Мартина и решили всем с энтузиазмом об этом поведать. Молодцы, ребят. Рады за ваш прогресс в изучении ООП. Не перестаëте узнавать что-то новое. Ток можно и побыстрее, конечно
@dia_the_ghost
@dia_the_ghost 3 жыл бұрын
это не тот анкл боб который про клин код и солид рассказывал?
@МаксимАлексеев-ч4й
@МаксимАлексеев-ч4й 3 жыл бұрын
@@dia_the_ghost да, это он
@АлинаЛебедева-м5ь
@АлинаЛебедева-м5ь 3 жыл бұрын
Теперь зрители экстрим кода знают, во что примерно транслировался плюсовой код, пока он был зависим от си
@NesseratiousChannel
@NesseratiousChannel 3 жыл бұрын
И во что транслируется ObjC до сих пор.
@marvinnimnull9982
@marvinnimnull9982 3 жыл бұрын
@@NesseratiousChannel Нет, у cfront и objc разная модель выполнения. objc ближе к smalltalk и self, в целом я бы сказал - ничего общего.
@masterbedroom594
@masterbedroom594 3 жыл бұрын
"Яблоки + кирпичи = фиолетовый" 😂 Некоторым такое нравится, но если я правильно помню, в РФ запрещена пропаганда таких отношений.
@retrometanol2510
@retrometanol2510 3 жыл бұрын
Дк это же не пропоганда.
@ATtiny13a-PU
@ATtiny13a-PU 3 жыл бұрын
кстати, это единственное, из-за чего я не перешёл с С++ на Rust. особенно это касается классов и перегрузки операторов. хотя в JS это действительно яблоки + кирпичи = фиолетовый...
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Толку от раста? Он как питон в нулевых Лучше с++ использовать Там есть даже auto, и forEach
@ATtiny13a-PU
@ATtiny13a-PU 3 жыл бұрын
@@Gameplayer55055, ну как... Rust - язык повышенной безопасности. Он иногда быстрее С++, а ещё он не unsafe на каждом шагу. Но да, проку от этого мало, но иногда этот язык применяют.
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
@@ATtiny13a-PU ждём-с, когда либ завезут как в питоне
@Dmitry-mj7on
@Dmitry-mj7on 3 жыл бұрын
Наконец-то стало понятно, что инкапсуляция есть сокрытие
@marvinnimnull9982
@marvinnimnull9982 3 жыл бұрын
Распространённая ошибка, инкапсуляция и сокрытие - разные сущности. Впрочем, если с твоей стороны это был сарказм, то поддержу.
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Инкапсуляция это сокрытие вкусных методов от говнокодеров. Когда вместо ctrl пробел, нужно глазеть в доку
@old_waychannel5235
@old_waychannel5235 3 жыл бұрын
Бля, прошел год, а я ведь будучи маленьким масленком учился и готовился к собеседованию по твоим видикам. Эх, было же время... Кстати я устроился на ту каторгу и теперь хаваю легаси код словно это бургер. Спасибо бро
@kuklama0706
@kuklama0706 Жыл бұрын
Основы организации оперативной памяти и работа с ней в С\С++ Часть первая. Основная проблема начинающих (да и не только) программистов часто заключается в тотальном нежелании обучаться работе с памятью. В ход идут любые условки, начиная от полного отказа динамического выделения до смены языка программирования, на более другой, который управляется с памятью самостоятельно. Со стороны разработчиков языка точно также предлагаются всё более изощренные решения, созданные казалось бы, для пущего удобства программистов - от языков со встроенным сборщиком мусора, типа Java, до хитрых классов-контейнеров, к уже существуюшим языка, типа STL. Всё это безусловно облегчает работу программиста, но во первых не добавляет понимания, а во вторых результат как правило имеет перерасход памяти да и особой скоростью работы не отличается. Причём это даже не является виной выбранного инструмента - без понимания как всё это работает, в итоге получается монстр, который, только что не вылетает от каждого чиха. Но памяти отжирает под гигабайт, причём на что именно - непонятно. Отлаживать такое, как вы понимате еще тяжелее, если вообще возможно. Ситуацию усугбляет тот факт, что специальной литературы по работе с памятью видимо не существует в природе (по крайней мере мне таковая не попадалась), либо авторы книг по программированию полагают, что просветление должно наступить, когда начинающий программист напишет свою маленькую кучу или пул памяти. Но поскольку время подобных извращений давно уже прошло, то в итоге имеем то что имеем. Конечно невозможно в небольшой статье охватить все аспекты работы с памятью, но я и не ставлю перед собой такой задачи. Самое главное - это понять основные принципы, а весь остальной опыт ляжетBоснову. И это - самое главное. 1. Организация оперативной памяти в x86 архитектуре Не вдаваясь в историю и эволюцию самой архитектуры скажу просто: модель памяти в архитектуре x86 - плоская. Наверняка вам доводилось видеть сообщения от некоторых досовских программ вида: memory model: flat. Что это значит? Это значит что память (условно) представлена в виде одного-единственного адреса, который разом переносит нас к требуемой ячейке оперативной памяти. Возможно на других архитектурах существуют более сложные, двух или трёхмерные модели, где надо указывать например строку или столбец для доступа к определенной ячейке - нас они не интерисуют. Изначально адреса в памяти были абсолютными. Это значило, что обратившись по первым 64 килобайтам оперативной памяти можно было например покоцать таблицу векторов прерываний или скажем копию биоса, либо другие интересные вещи. Адреса на тот момент были 16-битными, но их перестало хватать практически сразу же, поскольку 16-битная адресация позволяет получить доступ только к первым 64 килобайтам. Чтобы хоть как-то поправить положение в языки программирования был введен костыль в виде модификатора FAR (далёкий), который на самом деле позволял объявлять 32-битные переменные и адресовать до 4 гигабайт памяти. Затем в процессоры был введен защищеный режим и трансляция адресов, после чего доступ к памяти стал не абсолютным а относительным. Ну а сама шина адресация внутрии процессора выросла до 36 бит (а то и больше). Относительная адресация предполагает что весь 4-х гигабайтный диапазон адресов выделяется одному приложению. Как при этом работает внутренняя трансляция нас не заботит, но мы совершенно точно уверены, что перемещаясь по выделенной нам памяти не нарушим работу соседнего приложения, чтобы мы там ни вытворяли. Правда и сама наша программка будучи замеченной в доступе "невтуда" аварийно завершит свою работу с Unhandled Exception, который любой пользователь компьютера видел неоднократно. Обратите внимание что ни одна программка не в состоянии потребить более 4 гигабайт оперативной памяти (а на практике - еще меньше), именно в силу ограничения разрядности указателя. Во многом переход на 64-битные системы состоялся именно благодаря необходимости использовать больше памяти. Подобные вещи безусловно важны для баз данных, вполне возможно что в недалёком будущем и видеоигры будет потреблять свыше четырёх гигабайт памяти. Так или иначе, мы рассмотрим классические 32-битные адреса, работу с ними и методы оптимизации.
@Євген-н2ь
@Євген-н2ь 3 жыл бұрын
*ОооООооООО, наконец ролик, который идёт более 30 секунд*
@copokakaka
@copokakaka 3 жыл бұрын
УРА! Вы вернулись! Пока вас не было - бросил трогать клаву и начал пить, купил "MX Master 3" - реально бомба особенно при рефакторинге легаси-портяночного-монолита. Но по мимо этого -дерганул так, что часть сказанного в данном видосе - вообще не понял! Вы заканчивайте умничать про языки динозавров! А то понадумали себе, что маслята без вас развивались. Давай больше контента по высокоуровневым языкам для всяких там энтерпрайз, понятного обычным маслятам. Маслят!.. Братва! - поддержите лайком. А то - чё они!!?
@mac-w0rm
@mac-w0rm 3 жыл бұрын
"Классы в JS это сахарок над прототипами" Так говоришь, будто в с++ классы это не сахарок над malloc ( ͡° ͜ʖ ͡°)
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Честно. Хейтил плюсы, до тех пор пока не написал проектик большой. Указатели упрощают жизнь короче
@gr4tisfaction
@gr4tisfaction 2 жыл бұрын
@@Gameplayer55055 раст лучше кста
@Gameplayer55055
@Gameplayer55055 2 жыл бұрын
@@gr4tisfaction неа не лучше, а проще для понимания. для компа лучше таки с++ и то вообще Си в расте может лучше с памятью, но что мешает выделить память и ща собой освободить? хотя подкупает этим
@gr4tisfaction
@gr4tisfaction 2 жыл бұрын
@@Gameplayer55055 с каких пор лучше?
@Gameplayer55055
@Gameplayer55055 2 жыл бұрын
@@gr4tisfaction по сути си это кроссплатформенный ассемблер и его никак не убить и не заменить. разве что если все процессоры пропадут и будут только квантовые компьютеры. остальные языки программирования чисто для удобства кодера
@chestiycode6012
@chestiycode6012 3 жыл бұрын
как же мне нравится канал Extreme code обожаю просто
@exgort
@exgort 3 жыл бұрын
Уже два месяца учу js и программирование по твоим урокам, через месяц в январе начну проходить собесы, надеюс вся инфа, что я здесь узнал, пригодиться! Спасибо экстримА**льный код
@slava9519
@slava9519 2 жыл бұрын
Ну как? Устроился?
@norskiy9765
@norskiy9765 Жыл бұрын
​@@slava9519 да, он уже тимлид, который шарит за Си.
@lol_hp
@lol_hp Жыл бұрын
Ну как устроился?
@abbze8272
@abbze8272 Жыл бұрын
Как успехи?))
@sandroisu1274
@sandroisu1274 3 жыл бұрын
Как юмор - огонь, больше никак не рассматривать)
@olegmak4541
@olegmak4541 2 жыл бұрын
Начнем с того, что С++ изначально был библиотекой, для упрощения реализации ООП. И только в дальнейшем обособился в самостоятельный язык. Поэтому ООП, можно делать на любом языке системного программирования при желании, и даже в assembler, но реализация такого ООП будет аналогом ООП для Forth.
@sergueisoloviev1937
@sergueisoloviev1937 Жыл бұрын
Точно, чтобы указатель на контекст каждый раз заново не писать
@ko_fes
@ko_fes 3 жыл бұрын
1:30-1:37 - ill-formed выражение: в си и в плюсах по стандарту нельзя приводить указатель на функцию к указателю на данные и наоборот, - так можно делать в POSIX системах (там есть функции в ядре, которым нужна такая фича) и в некоторых документировано описанных случаях, но по стандарту так делать нельзя.
@СергейБолдин-в9м
@СергейБолдин-в9м 2 жыл бұрын
Пф, даже предупреждение не выдаёт.
@Snegurjan
@Snegurjan 3 жыл бұрын
Каждый ролик - шедевр.Ну у тебя и чуство юмора,браво!!!
@yuriparfenov9026
@yuriparfenov9026 3 жыл бұрын
Двойное отрицание - это уже диалектика какая -то ))))
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Привести переменную к типу bool
@gavr_sas
@gavr_sas 3 жыл бұрын
Да, на самом деле посмотрите язык Vala, замечательная штука, скрывает ужас ООП на C под красивым C# или Python синтаксисом, да еще и сама кучу фич имеет вроде нуллабилити. GC нет, подставляет вызовы деструктора или декремент счетчика ссылок на объект в компайл тайме, или можно контролить память по владению (owned unowned ссылки, в rust тоже есть похожее)
@antonmaklakov
@antonmaklakov 3 жыл бұрын
Ждём суть языка СИ за 30 секунд)
@sorrynomorenickname
@sorrynomorenickname 3 жыл бұрын
Можно и за 3 секунды: Указатели рулят
@РожковПавел-ь6м
@РожковПавел-ь6м 3 жыл бұрын
Такого качества рекламной интеграции никто не ожидал, жду новую рекламу (соответственно и видосик)
@TheEmberEve
@TheEmberEve 3 жыл бұрын
От реализации ООП в Си возникло ощущение натягивания шкурки на кисель, но прикольно.
@var3ant
@var3ant 3 жыл бұрын
Страуструп плюсы написал на си изначально. В начале всё было на макросах и некоторой магии.
@stasuchuvadov
@stasuchuvadov 3 жыл бұрын
4:19 Мне срочно нужна ссылка на гитхаб этого умника
@olegmak4541
@olegmak4541 2 жыл бұрын
В JS концепция называется не ООП, а ПОП (прототипо-орентированное программирование) - это реальный термин. Суть ПОП - упрощение модели ООП, нам не надо задавать классы и наследования: мы делаем прототип, который и является как бы классом объектов, шаблоном.
@kingtulip59
@kingtulip59 3 жыл бұрын
Ну наконец-то, дождались
@cosmojin
@cosmojin Жыл бұрын
изучал си когда вкатывался в gtk, так знакомство с ооп на чистом си для меня произошло в самом начале его изучения
@ЭдуардВершинин-я5я
@ЭдуардВершинин-я5я 3 жыл бұрын
Информативно и с фирменным стилем.)
@kirsanov2008
@kirsanov2008 3 жыл бұрын
Си жив!
@rikishihiradate2922
@rikishihiradate2922 3 жыл бұрын
В си можно взять и положить в структуру указатель на функцию и она превращается в метод. Хотя, та самая инкапсуляция там вроде работать не будет, и максимум что ты получишь - это вызов метода через точку.
@ernestkhalimov3834
@ernestkhalimov3834 3 жыл бұрын
Чисто смесь айтишной темы и е*нутости Азазина))
@seelairu
@seelairu 3 жыл бұрын
У азазина всё таки более чёрный юмор, а тут всё лайтово
@Skeleton597
@Skeleton597 3 жыл бұрын
@@seelairu, азазлинг тоже начинал с малого
@konstantingodunov2161
@konstantingodunov2161 3 жыл бұрын
@@Skeleton597 он тоже жабаскриптизером был?
@the_timick
@the_timick 3 жыл бұрын
Просто выпал с "Привет, отписчики!"
@СапогКассиопеи
@СапогКассиопеи 2 жыл бұрын
Забайтить на повышение температуры в тёмном месте и на комментарий таки получилось: 1. То, что "2" + "2" = "22", а "22" - "2" = 20 - действительно смешно. От того что по адресу указателя находится другой тип данных он не перестает быть указателем. Возможность в Си использовать в одном выражении разные типы данных появляется за счёт того что мы напрямую работаем с каждым байтом памяти как с числовым значением, причем как в стеке, так и в куче . В языках типо пхп или джаваскривта происходят неявные преобразования просто потому что так хочется. 2. Bool-ов в Си вообще нет. Если использовать двойное отрицание на инте он не скукожится до одного байта. По твоей логике питон еще более близкий наследник си, потому что там тоже ооп через жепу, например в приватные поля можно обращаться из любого места в коде. Любые типы данных (даже вызываемые) можно присвоить по указателю. Да и вообще в питоне можно вызывать код на си, а на си не пробегая второй круг с бубном у костра можно вызывать код на питоне. Часть про ООП в Си кайфарик и всё по делу.
@syabrochanel
@syabrochanel Жыл бұрын
JS не такой и уж точно не единственный наследник Сишечки. Есть же божественный Lua! Давай видос по Lua
@Ad1s
@Ad1s Жыл бұрын
Ну, в Луа скобок нет (если кто ещё не придумал, как писать функции через таблицы, конечно), да и точки с запятой опциональны... С типизацией тоже весело всё... По синтаксису это скорее плод порочной любви Питона и Паскаля, насколько мог удостовериться. Да и ООП там есть из коробки, пусть и тоже довольно весёлое, с ковыряниями через метатаблицы. Так что сложно сказать) Или я где-то чего-то не понимаю и наследие кроется в чём-то более глобальном, чем местные проявления синтаксиса и реализаций? Или вообще дело в том, что байткод LVM подозрительно напоминает Си и прекрасно в него интегрируется?
@syabrochanel
@syabrochanel Жыл бұрын
@@Ad1s та ну, что-то у вас сведения непонятные. Все тут есть) Ни питона ни паскаля, ООП действительно веселое
@syabrochanel
@syabrochanel Жыл бұрын
@@Ad1s вообще JS младше Lua и унаследовал много фич из него, по этом считаю несправедливо не упомянуть его как наследника Си наряду с JS. (Хотя в обоих случаях это лишь отдельние языки с Си подобным синтаксисом) Но луа хотя бы интересный 🤔
@Ad1s
@Ad1s Жыл бұрын
@@syabrochanel Ну как же нет паскаля - а эти бесконечные do ... end в циклах? Да и функцию без энда не закроешь. Правда, языку действительно стоит поаплодировать за качество их имплементации. Одно удовольствие их тыкать. Но я правда очень хотел бы получить чуть более развернутое объяснение наследства Си в Луа, потому что звучит интересно. Мне раньше казалось, что единственные вещи, роднящие эту парочку - то, что одно было написано на другом и может напрямую работать с его потоком вывода stdout, или как там его)
@syabrochanel
@syabrochanel Жыл бұрын
@@Ad1s ну на самом деле их родство не больше чем у JS с Си, но lua прекрасно подключается в любые приложения, к нему можно дописать библиотеку, и легко портируется на разные платформы благодаря Си. `do end` это же вместо `{}` не особо вижу разницу 😅 к тому же к JS ближе LuaJIT, но он дальше от ANSI C, хоть и позволяет подключить любую shared библиотеку даже без хедера или скомпилировать машинный код из Си прямо в рантайме, он все же платформозависим
@GerAllexander
@GerAllexander 2 жыл бұрын
Братан, хорош, хорош, давай ещё. Контент в кайф. Можно вот этого побольше?
@Rostik-pk1ik
@Rostik-pk1ik 3 жыл бұрын
Ураа, рад вашему возвращению. Видео клас!
@imtheseventh
@imtheseventh 3 жыл бұрын
я вот совсем не прогер ни разу(js на 5% и node+react не в счет), но с первой части поржал, потом было что то на эльфийском. и в конце земфира с неожиданной гармонизацией вообще отправила мозг в hardreset. зачётная дурь. хочу исчо.
@HeavyHeavyvich
@HeavyHeavyvich 3 жыл бұрын
www.cs.rit.edu/~ats/books/ooc.pdf Авторы забыли библию по данному писецу. "Object Oriented Programming with ANSI-C " аж 1993 года!
@ExtremeCode
@ExtremeCode 3 жыл бұрын
закинул
@aiscorp1
@aiscorp1 3 жыл бұрын
Мышь на самом деле классная, год кайфую от горизонтального скрола по файлам
@spechulfapticks3108
@spechulfapticks3108 3 жыл бұрын
Ожидание того стоило. Хоть и есть длинный пробел по времени, но зато качество не падает. Пойду посмотрю, можно ли это покрасивше замутить
@Евгений-э1ц3щ
@Евгений-э1ц3щ 3 жыл бұрын
Пишу на ванильном js’e классы, не юзаю сборщики, но пишу модульно, подключаю модули через «type=module” и кайфую) все что хочешь - сокрытие через #, инкапсуляция, наследование. Типизации строгой нет пока, но решаю docType’ом и все нормас
@vladoss4643
@vladoss4643 2 жыл бұрын
Очень нравится музыка интерстеллар на фоне рекламы)
@Leopold_z
@Leopold_z Жыл бұрын
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), но такого фрагмента я не вижу. Поправьте меня, если ошибаюсь.
@AnuarLife
@AnuarLife 3 жыл бұрын
Я: учу js Ютуб:
@Анатолій-р5х
@Анатолій-р5х 3 жыл бұрын
Си живее всех живых. На чём же ещё писать embedded?
@liamsmith7052
@liamsmith7052 3 жыл бұрын
Как ни странно, второй по популярности в этой области JS)
@Анатолій-р5х
@Анатолій-р5х 3 жыл бұрын
@@liamsmith7052 аххахах
@nomad_wizard6865
@nomad_wizard6865 3 жыл бұрын
Эх... под конец наверное самую верную (очевидную) вещь сказал.)) Хотя есть кадры, что именно так и писали. Почитай про семейство вирусов Стакснет (Вики), а именно про Дуку.)
@thinkalittle3458
@thinkalittle3458 3 жыл бұрын
0:50 Си же строготипизированный язык, а джаваскрипт нет
@kkona3568
@kkona3568 3 жыл бұрын
Ну я щитаю, канал можно переименовывать в ExtremeGovno
@Dik131WZD
@Dik131WZD 3 жыл бұрын
Я помню, что в моём школьном учебнике впервые затрагивали тему ооп ещё при изучении Pascal. Правда, тут же следующей главой переходили на Delphi
@TheIgoorR
@TheIgoorR 3 жыл бұрын
Друждище, есть проблема с твоей аргументацией по поводу того что С - устарел. Ультрасовременное ядро Linux 5.11 практически полностью написано на С
@starfeek4268
@starfeek4268 3 жыл бұрын
Разве оно понемного не переписывается на Rust?
@exception05
@exception05 Жыл бұрын
Ну да, ну да, чистый Си мёртвый язык. А почему он уже лет 20 занимает первые места в индексе TIOBE по популярности? Скорей уж javascript по сравнению с ним мертвенький. Конечно, я не мыслю так прямолинейно, но цифры говорят, что чистый Си далёк от состояния мёртвого.
@liamsmith7052
@liamsmith7052 3 жыл бұрын
Однажды ты спросишь, кого я люблю больше, ООП или ш**х. И ты ответишь segmentation fault, потому что undefined is not a function.
@mrtiming7130
@mrtiming7130 3 жыл бұрын
Прости, но после просмотра рекламы мне сложно думать, досмотрю позже. Я правда настолько сильно залип, слушая музыку(из интерстеллара вроде) и смотря предоставленный видеоряд, что не могу думать. Пойду прилягу :)
@ДанилоНовосад-ь7х
@ДанилоНовосад-ь7х 3 жыл бұрын
Класс, теперь у вас запои длятся не год, а несколько недель 👍👍
@serafimagrigoryan9208
@serafimagrigoryan9208 Жыл бұрын
Как говнокодерша на ванильном ЖСе со стажем, одобряю данный видосий и ставлю тебе за него {}+true лайков.
@needfreenames
@needfreenames 3 жыл бұрын
Лучшая рекламная интеграция в мире!
@vuitlik5449
@vuitlik5449 3 жыл бұрын
4:38 Если руки у тебя растут не из плеч, как ты дуешь на колесо?
@y9maly
@y9maly 3 жыл бұрын
Капец. Моя 3 реклама в жизни. Которая, кажись. Пригодилась
@y9maly
@y9maly 3 жыл бұрын
Бля 8к
@-f1st3k15
@-f1st3k15 3 жыл бұрын
Как же я скучал)
@somebody1097
@somebody1097 3 жыл бұрын
Спасибо ребята! На мотивации от ваших видосов апнул прогу и теперь работаю на юнити Вы лучше всех, целую в попу
@jotarokujo1124
@jotarokujo1124 3 жыл бұрын
4:50 Мне жалко человека, который писал 3 часа эту длинную switch проверку ради одного фрагмента)
@DenisShaver
@DenisShaver 3 жыл бұрын
Скриптом может?
@jotarokujo1124
@jotarokujo1124 3 жыл бұрын
@@DenisShaver немного не понимаю, о чем ты)
@DenisShaver
@DenisShaver 3 жыл бұрын
@@jotarokujo1124 Текстовик закатать свитчами с селекторами на скрипте?
@ДобрыйПитонПРОГРАММИРУЙ
@ДобрыйПитонПРОГРАММИРУЙ 3 жыл бұрын
Я тебя разубедил. Все готово))) А если честно твои ролики кайфовые. И этот не чем не хуже остальных твоих роликов.
@КритикЛатунский-х1т
@КритикЛатунский-х1т 3 жыл бұрын
О, видосик наконец подоспел
@yankilo
@yankilo 3 жыл бұрын
Реклама одной из самых красивых и удобных мышей - отличная реклама
@eeddeellwweeiiss
@eeddeellwweeiiss 3 жыл бұрын
Офигенное аутро. Лайк за Земфиру
@kavoikapsho
@kavoikapsho 3 жыл бұрын
так долго не было видосов, ибо он ждал того самого рекламодателя
@andreikashin
@andreikashin 3 жыл бұрын
Артем, ты где там лазаешь, какое-то ГТК, линупс?
@vadimsemko2627
@vadimsemko2627 3 жыл бұрын
Лайк за кальянную - так уютно
@ko_fes
@ko_fes 3 жыл бұрын
И да, на самом деле на C/C++ + asm можно писать самомодифицирующийся код, что позволяет делать их псевдо-динамическими языками программирования, только скорость работы приложений с использованием подобного подхода будет на порядок хуже, чем без использования подобных техник, т.к. подобная техника напрямую ухудшает работу бренч-предиктора и ухудшает быстродействие пайплайна работы процессора. Но ради фана можно такое сделать, потому что МЫ МОЖЕМ. Если лень писать код, то вот ссылка на репу с "плохим" примером сравнения скорости работы переходов при таком подходе: github.com/kofes/asm_jmp.git
@d-mass-32
@d-mass-32 3 жыл бұрын
Автор явно живёт в своём узком мирке (просто сужу по высказыванию), раз уж С по его мнению мёртв (спишем это на любовь автора к радикальным суждениям и высказываниям). С совсем не мёртв, а даже очень активно используется, однако на него совершенно нет никакого хайпа ибо сложно, очень специфично и узконаправленно. Про него никому не интересно делать контент, потому что показать зрелищно будет просто нечего! Это не сайтик сделать на JS и не игрушку на готовом движке под C#. С активно используется в очень специфичных и сложных местах, где нужно выжимать огромную производительность из практически ничего... Это портативные устройства, микроконтроллеры, драйверы, операционные системы, компиляторы, отдельные библиотеки и их части. Всё это просто не на виду, но оно есть и оно развивается постоянно. Так, если взять Python, то может оказаться, что некоторые его библиотеки весьма эффективно работают, несмотря на то, что Python не очень-то быстрый, а оказывается, что просто эти библиотеки на чистом С написаны, а такие мощные модули регулярно появляются, значит кто-то да пишет на С и очень активно между прочим... Очень часто для разработки серьёзных игр используются куски C-кода, для максимальной оптимизации работы с памятью в узких местах. Волшебный V8 (движок JavaScript), который удивительным образом выдаёт весьма высокую производительность (хотя, с учётом интерпретируемости и местами кривости и запутанности самого JavaScript, должен был бы он работать медленно), творит такие чудеса, потому что написан на C++, и очень сомневаюсь, что там не используется ни одного куска кода на чистом C... А давайте вообще глобально посмотрим. Вот есть хайповая область "разработка сайтов"... А что под капотом? Чтобы сайт нормально работал нужен качественный HTTP Server, как правило это Apache или nginx, а на чём они написаны? Оба на С написаны! То есть, на "мёртвом языке" работает практически весь, мать его, Интернет !!! :) Я понимаю, что автор не хотел плохо высказываться о С, и простите за многословие, просто у меня неконтролируемо бомбит от любителей усиленно "умерщвлять языки", которыми они лично не пользуются... :) Не к автору претензия, ибо шарит и пользуется, пусть и для развлекательных целей ;)
@alexanderpogudaev8496
@alexanderpogudaev8496 3 жыл бұрын
Си хоронят уже не первый десяток лет, а он всё жив. Пока другие языки появляются, видят свой час славы и уходят в небытие, Си продолжает использоваться причем весьма активно.
@euginekosenko2268
@euginekosenko2268 Жыл бұрын
Активно используется для написания компиляторов других языков :-)
@natuscoding8143
@natuscoding8143 3 жыл бұрын
Подожди Артем, YoptaScript - это вообще тема. Скоро все будем писать на YoptaScript
@Bez_truopa
@Bez_truopa 2 жыл бұрын
Следующее видео: "YoptaScript - будущее IT или позор? "
@ГригорийШумилов-ф5р
@ГригорийШумилов-ф5р 3 жыл бұрын
Прикол в том, что в университете мы учим С, и нам запретили в курсаче использовать С++ фишки. А ООП хочеца)))
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Напиши курсач с помощью инлайн ассемблера
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Ты помучаешся, зато преподу тоже достанется
@ГригорийШумилов-ф5р
@ГригорийШумилов-ф5р 3 жыл бұрын
@You Tube Ну, оно через них в Си и реализуется.
@kittenfrompicture
@kittenfrompicture 3 жыл бұрын
Отписчики? Ок, отписался-подписался и колокольчик поставил
@Obi_Gun
@Obi_Gun 3 жыл бұрын
Приятная реклама! Я заинтересовался
@max_mgtow
@max_mgtow 3 жыл бұрын
Жук, ты ли это?😆
@tankostroy1061
@tankostroy1061 2 жыл бұрын
0:38 BrainFuck и JSFuck: это святое!
@alexeycherkashin6251
@alexeycherkashin6251 2 жыл бұрын
4:52 огромный switch case как оказалось решает, чётное это число или нечётное
@vladimirpushchin7089
@vladimirpushchin7089 2 жыл бұрын
Мыш действительно крутая! Ну как крутая, лучше просто нет
@fealllback5539
@fealllback5539 3 жыл бұрын
Музыка в конце: Земфира - искала (miami remix)
@Антон-к7е7м
@Антон-к7е7м 3 жыл бұрын
Самая крутая реклама мыши из всех что я видел
@Rezedent12
@Rezedent12 3 жыл бұрын
Расскажи людям про gambas.
@Raspredval1337
@Raspredval1337 3 жыл бұрын
лять, сразу видно, аффтор не шарит за ооп в си. Объявляем в хеадере пустую структуру, указатель на эту структуру называем хандлом, например HShop, где H это намек на то, что это хандл. Дальше объявляем интерфейс "класса": -- HShop.h -- typedef struct { } __HShop, *HShop; HShop CreateShop(__параметры__); int GetVasilya(HShop hShop); void SetVasilya(HShop hShop, int iVasya); void DestroyShop(HShop hShop); дальше делаем имплементацию сего добра в отдельном .c файле. И собираем данный файл в библиотеку. Вот вам и сокрытие данных: -- HShop.c -- #include #include "HShop.h" typedef struct { наши_поля_класса; int vasya; } __impl; HShop CreateShop(__параметры__) { __impl* lpRet = malloc(sizeof(__impl)); __lpRet->vasya = 0; } int GetVasilya(HShop hShop) { __impl* lpObj = (__impl*)hShop; return lpObj->vasya; } void SetVasilya(HShop hShop, int iVasya) { __impl* lpObj = (__impl*)hShop; lpObj->vasya = iVasya; } void DestroyShop(HShop hShop) { __impl* lpObj = (__impl*)hShop; printf("Goodbuy, Vasya: %d ", lpobj->vasya); free(lpObj); } PS: указатели и bool это тоже целые числа, так что почему бы и не кастовать их друг к другу. Это даже шарп может
@duduvs7605
@duduvs7605 3 жыл бұрын
Си будет жить, пока жив линукс.
@Crazmuss
@Crazmuss 3 жыл бұрын
>указатель на функцию, которая принимает указатель на функцию, которая принимает целое число, которое принимает целое число, которое принимает указатель на функцию, которое принимает и возвращает целое число. Я, немного знающий питон: А что не так? И кстати, что такое целое число? Типа указатель на область памяти, которую можно интерпретировать как число? А воид это что?
@fedor3911
@fedor3911 3 жыл бұрын
Как мы видим Питон вызывает серьезные поражения мозга. АсмСишную терапию срочно
@natuscoding8143
@natuscoding8143 3 жыл бұрын
Артем, смотри. Получается whitespace является заменой JS, потому что там тоже есть переменные?
@tdrkDev
@tdrkDev 3 жыл бұрын
почему это си почти мёртвый? огромный кусок линукса написан на си.
THE MOST FREQUENT MISCONCEPTIONS ABOUT OOP
19:37
ExtremeCode
Рет қаралды 561 М.
Двойные стандарты АйТи
9:30
ExtremeCode
Рет қаралды 279 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Ты должен писать плохой код
10:41
ExtremeCode
Рет қаралды 461 М.
деды программировали
9:28
ExtremeCode
Рет қаралды 263 М.
Программирование для избранных
11:44
ExtremeCode
Рет қаралды 353 М.
Вся суть чистого кода
8:15
ExtremeCode
Рет қаралды 211 М.
ПЛОХОЙ КОД - твой ЛУЧШИЙ друг
7:57
ExtremeCode
Рет қаралды 218 М.
Признаки слабого программиста
11:21
ExtremeCode
Рет қаралды 480 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН