@@Cinnamon-ph3gt Deep Dark Memory; git master; ♂f*cking♂ ELF32
@velnbur-live33993 жыл бұрын
ООП на машином коде
@myriaxont3 жыл бұрын
Если учесть что тот же C++ и куча других ООП языков имеют промежуточное представление (.o объектный файл который содержит ассемблер), то можно сказать что в Ассемблере ООП используют нериально часто (правда в основном компиляторы)
@MrNachosVIDEOS3 жыл бұрын
High Level Assembly en.wikipedia.org/wiki/High_Level_Assembly Всё уже давным давно сделано
@sawwor64633 жыл бұрын
279 дней изучать ся что бы сделать бесполезный ролик. Лучший
@ExtremeCode3 жыл бұрын
Ну а че нам, жсникам
@BStudioCD3 жыл бұрын
@@ExtremeCode за JS и двор стреляю себе в ногу
@Xelasilli3 жыл бұрын
@@BStudioCD псс, используй спонсорБлок
@volodyaleo3 жыл бұрын
Что ж, в эмбеддед в основном на си пишут и все эти приёмы применяют по сути.
@linuxoidovich Жыл бұрын
@@Xelasilli в нем этого нету.
@ogre6ajikuhwt4303 жыл бұрын
Мм, реклама мыши спустя 273 дня. Ну наканецта!!1
@ExtremeCode3 жыл бұрын
из солнечной системы не так просто вылететь, как может показаться
@ogre6ajikuhwt4303 жыл бұрын
@@ExtremeCode я думаю, вам стоит записывать исключительно платные видео на закрытой площадке, чтоб мы эту хуйню больше не видели
@Andrey-yh6yw3 жыл бұрын
Действительно, сколько можно терпеть отсутствие рекламы на видосах
@liamsmith70523 жыл бұрын
А как же Си и JS.
@apache54463 жыл бұрын
Как получить такую же Visual Studio с гоблином?
@cat_ashere3 жыл бұрын
Аналогичный вопрос. Где взять?!
@xpehish3 жыл бұрын
установить коммунификатор
@dulatello083 жыл бұрын
Сам напиши аддон
@dedzuka3 жыл бұрын
@@dulatello08 то есть там можно менять даже фон? Пошел изучать
@atlasua20213 жыл бұрын
Плагин на офф сайте есть.
@TheTerrapod3 жыл бұрын
Я: работаю программистом и имею высокую покупательную способность, благодаря зарплате, в 13 раз привышающую МРОТ Какой то парень с ютуба с каналом про программирование: выиграй мыш
@ExtremeCode3 жыл бұрын
купи мыш
@ExtremeCode3 жыл бұрын
Я 💜 P.S. Наконец-то теперь смогу записывать свои любимые 30-и секундные видики
@sklyanskiy3 жыл бұрын
Руки на стол! Быстро! И вытри их.
@ashurapsycho15913 жыл бұрын
разблокайте меня в тг я буду хорошим кодером... (@LS_X2)
@andronwens26803 жыл бұрын
разбаните миня пожалуста в тг мой ник @DedSec256
@Gr1gor113 жыл бұрын
Ты ж, вроде, шарпист
@andronwens26803 жыл бұрын
разбаните миня пожалуста в тг мой ник @DedSec256
@aleksandr30943 жыл бұрын
Жду ролика "html - это ООП язык"
@brenkovd3 жыл бұрын
ну Language же
@TheBreeng3 жыл бұрын
Я чуть кофе не поперхнулся, полегче
@Gameplayer550553 жыл бұрын
Ну DOM же
@СергейБолдин-в9м3 жыл бұрын
HTML - это вообще язык нотации объектов. (ну, ладно, XML)
@takiekakmi75323 жыл бұрын
Думаю, на тяге от подрыва пердака - можно будет пару раз слетать до Марса...
@lnv-lnv3 жыл бұрын
"Гибкий и приспособленный к различным в том числе творческий способ решать задачи" - во как ты слово "говнокод" завуалировал
@АндрейТукмачёв-н7о3 жыл бұрын
Никто: Экстрим: JS - прямой наследник C!
@purplep34663 жыл бұрын
блин, а че я поверил на секунду? Наверное Экстрим по несколько дублей это перезаписывал :)
@liamsmith70523 жыл бұрын
Не-не. Си прототип JS
@g0ra93 жыл бұрын
Видео больше минуты? Забрасывайте канал
@mohnatyi_hleb3 жыл бұрын
@@slivfreecourse1387 есть курсы о том как создавать курсы?
@sirjorgenbjorgen22953 жыл бұрын
Если в этом видео мы рассматриваем ООП в Си, это можно расценивать как намёк на реализацию паттерна PIDOR в js в следующем видео?
@programisli3 жыл бұрын
Ты что наезжаешь на наши СиСи-чки, это наш хардкор
@g0ra93 жыл бұрын
Нафига такой ролик длинный, можно было бы разделить на 20 отдельных роликов
@Gimli_Dwarf3 жыл бұрын
И вообще использовать сторонние, чем самому снимать велосипед.
@plan4ik3 жыл бұрын
Афтар от прокрутки колесика улетел за пределы солнечной системы, где один день равен 279 земным, поэтому ролика не было, а остальные короткие видева он высирал пока вылетал, покровы сорваны.
@ilnev37383 жыл бұрын
Бадумтс
@МаксимАлексеев-ч4й3 жыл бұрын
Extreme code прочитали очередную главу из книжки Боба Мартина и решили всем с энтузиазмом об этом поведать. Молодцы, ребят. Рады за ваш прогресс в изучении ООП. Не перестаëте узнавать что-то новое. Ток можно и побыстрее, конечно
@dia_the_ghost3 жыл бұрын
это не тот анкл боб который про клин код и солид рассказывал?
@МаксимАлексеев-ч4й3 жыл бұрын
@@dia_the_ghost да, это он
@АлинаЛебедева-м5ь3 жыл бұрын
Теперь зрители экстрим кода знают, во что примерно транслировался плюсовой код, пока он был зависим от си
@NesseratiousChannel3 жыл бұрын
И во что транслируется ObjC до сих пор.
@marvinnimnull99823 жыл бұрын
@@NesseratiousChannel Нет, у cfront и objc разная модель выполнения. objc ближе к smalltalk и self, в целом я бы сказал - ничего общего.
@masterbedroom5943 жыл бұрын
"Яблоки + кирпичи = фиолетовый" 😂 Некоторым такое нравится, но если я правильно помню, в РФ запрещена пропаганда таких отношений.
@retrometanol25103 жыл бұрын
Дк это же не пропоганда.
@ATtiny13a-PU3 жыл бұрын
кстати, это единственное, из-за чего я не перешёл с С++ на Rust. особенно это касается классов и перегрузки операторов. хотя в JS это действительно яблоки + кирпичи = фиолетовый...
@Gameplayer550553 жыл бұрын
Толку от раста? Он как питон в нулевых Лучше с++ использовать Там есть даже auto, и forEach
@ATtiny13a-PU3 жыл бұрын
@@Gameplayer55055, ну как... Rust - язык повышенной безопасности. Он иногда быстрее С++, а ещё он не unsafe на каждом шагу. Но да, проку от этого мало, но иногда этот язык применяют.
@Gameplayer550553 жыл бұрын
@@ATtiny13a-PU ждём-с, когда либ завезут как в питоне
@Dmitry-mj7on3 жыл бұрын
Наконец-то стало понятно, что инкапсуляция есть сокрытие
@marvinnimnull99823 жыл бұрын
Распространённая ошибка, инкапсуляция и сокрытие - разные сущности. Впрочем, если с твоей стороны это был сарказм, то поддержу.
@Gameplayer550553 жыл бұрын
Инкапсуляция это сокрытие вкусных методов от говнокодеров. Когда вместо ctrl пробел, нужно глазеть в доку
@old_waychannel52353 жыл бұрын
Бля, прошел год, а я ведь будучи маленьким масленком учился и готовился к собеседованию по твоим видикам. Эх, было же время... Кстати я устроился на ту каторгу и теперь хаваю легаси код словно это бургер. Спасибо бро
@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ь3 жыл бұрын
*ОооООооООО, наконец ролик, который идёт более 30 секунд*
@copokakaka3 жыл бұрын
УРА! Вы вернулись! Пока вас не было - бросил трогать клаву и начал пить, купил "MX Master 3" - реально бомба особенно при рефакторинге легаси-портяночного-монолита. Но по мимо этого -дерганул так, что часть сказанного в данном видосе - вообще не понял! Вы заканчивайте умничать про языки динозавров! А то понадумали себе, что маслята без вас развивались. Давай больше контента по высокоуровневым языкам для всяких там энтерпрайз, понятного обычным маслятам. Маслят!.. Братва! - поддержите лайком. А то - чё они!!?
@mac-w0rm3 жыл бұрын
"Классы в JS это сахарок над прототипами" Так говоришь, будто в с++ классы это не сахарок над malloc ( ͡° ͜ʖ ͡°)
@Gameplayer550553 жыл бұрын
Честно. Хейтил плюсы, до тех пор пока не написал проектик большой. Указатели упрощают жизнь короче
@gr4tisfaction2 жыл бұрын
@@Gameplayer55055 раст лучше кста
@Gameplayer550552 жыл бұрын
@@gr4tisfaction неа не лучше, а проще для понимания. для компа лучше таки с++ и то вообще Си в расте может лучше с памятью, но что мешает выделить память и ща собой освободить? хотя подкупает этим
@gr4tisfaction2 жыл бұрын
@@Gameplayer55055 с каких пор лучше?
@Gameplayer550552 жыл бұрын
@@gr4tisfaction по сути си это кроссплатформенный ассемблер и его никак не убить и не заменить. разве что если все процессоры пропадут и будут только квантовые компьютеры. остальные языки программирования чисто для удобства кодера
@chestiycode60123 жыл бұрын
как же мне нравится канал Extreme code обожаю просто
@exgort3 жыл бұрын
Уже два месяца учу js и программирование по твоим урокам, через месяц в январе начну проходить собесы, надеюс вся инфа, что я здесь узнал, пригодиться! Спасибо экстримА**льный код
@slava95192 жыл бұрын
Ну как? Устроился?
@norskiy9765 Жыл бұрын
@@slava9519 да, он уже тимлид, который шарит за Си.
@lol_hp Жыл бұрын
Ну как устроился?
@abbze8272 Жыл бұрын
Как успехи?))
@sandroisu12743 жыл бұрын
Как юмор - огонь, больше никак не рассматривать)
@olegmak45412 жыл бұрын
Начнем с того, что С++ изначально был библиотекой, для упрощения реализации ООП. И только в дальнейшем обособился в самостоятельный язык. Поэтому ООП, можно делать на любом языке системного программирования при желании, и даже в assembler, но реализация такого ООП будет аналогом ООП для Forth.
@sergueisoloviev1937 Жыл бұрын
Точно, чтобы указатель на контекст каждый раз заново не писать
@ko_fes3 жыл бұрын
1:30-1:37 - ill-formed выражение: в си и в плюсах по стандарту нельзя приводить указатель на функцию к указателю на данные и наоборот, - так можно делать в POSIX системах (там есть функции в ядре, которым нужна такая фича) и в некоторых документировано описанных случаях, но по стандарту так делать нельзя.
@СергейБолдин-в9м2 жыл бұрын
Пф, даже предупреждение не выдаёт.
@Snegurjan3 жыл бұрын
Каждый ролик - шедевр.Ну у тебя и чуство юмора,браво!!!
@yuriparfenov90263 жыл бұрын
Двойное отрицание - это уже диалектика какая -то ))))
@Gameplayer550553 жыл бұрын
Привести переменную к типу bool
@gavr_sas3 жыл бұрын
Да, на самом деле посмотрите язык Vala, замечательная штука, скрывает ужас ООП на C под красивым C# или Python синтаксисом, да еще и сама кучу фич имеет вроде нуллабилити. GC нет, подставляет вызовы деструктора или декремент счетчика ссылок на объект в компайл тайме, или можно контролить память по владению (owned unowned ссылки, в rust тоже есть похожее)
@antonmaklakov3 жыл бұрын
Ждём суть языка СИ за 30 секунд)
@sorrynomorenickname3 жыл бұрын
Можно и за 3 секунды: Указатели рулят
@РожковПавел-ь6м3 жыл бұрын
Такого качества рекламной интеграции никто не ожидал, жду новую рекламу (соответственно и видосик)
@TheEmberEve3 жыл бұрын
От реализации ООП в Си возникло ощущение натягивания шкурки на кисель, но прикольно.
@var3ant3 жыл бұрын
Страуструп плюсы написал на си изначально. В начале всё было на макросах и некоторой магии.
@stasuchuvadov3 жыл бұрын
4:19 Мне срочно нужна ссылка на гитхаб этого умника
@olegmak45412 жыл бұрын
В JS концепция называется не ООП, а ПОП (прототипо-орентированное программирование) - это реальный термин. Суть ПОП - упрощение модели ООП, нам не надо задавать классы и наследования: мы делаем прототип, который и является как бы классом объектов, шаблоном.
@kingtulip593 жыл бұрын
Ну наконец-то, дождались
@cosmojin Жыл бұрын
изучал си когда вкатывался в gtk, так знакомство с ооп на чистом си для меня произошло в самом начале его изучения
@ЭдуардВершинин-я5я3 жыл бұрын
Информативно и с фирменным стилем.)
@kirsanov20083 жыл бұрын
Си жив!
@rikishihiradate29223 жыл бұрын
В си можно взять и положить в структуру указатель на функцию и она превращается в метод. Хотя, та самая инкапсуляция там вроде работать не будет, и максимум что ты получишь - это вызов метода через точку.
@ernestkhalimov38343 жыл бұрын
Чисто смесь айтишной темы и е*нутости Азазина))
@seelairu3 жыл бұрын
У азазина всё таки более чёрный юмор, а тут всё лайтово
@Skeleton5973 жыл бұрын
@@seelairu, азазлинг тоже начинал с малого
@konstantingodunov21613 жыл бұрын
@@Skeleton597 он тоже жабаскриптизером был?
@the_timick3 жыл бұрын
Просто выпал с "Привет, отписчики!"
@СапогКассиопеи2 жыл бұрын
Забайтить на повышение температуры в тёмном месте и на комментарий таки получилось: 1. То, что "2" + "2" = "22", а "22" - "2" = 20 - действительно смешно. От того что по адресу указателя находится другой тип данных он не перестает быть указателем. Возможность в Си использовать в одном выражении разные типы данных появляется за счёт того что мы напрямую работаем с каждым байтом памяти как с числовым значением, причем как в стеке, так и в куче . В языках типо пхп или джаваскривта происходят неявные преобразования просто потому что так хочется. 2. Bool-ов в Си вообще нет. Если использовать двойное отрицание на инте он не скукожится до одного байта. По твоей логике питон еще более близкий наследник си, потому что там тоже ооп через жепу, например в приватные поля можно обращаться из любого места в коде. Любые типы данных (даже вызываемые) можно присвоить по указателю. Да и вообще в питоне можно вызывать код на си, а на си не пробегая второй круг с бубном у костра можно вызывать код на питоне. Часть про ООП в Си кайфарик и всё по делу.
@syabrochanel Жыл бұрын
JS не такой и уж точно не единственный наследник Сишечки. Есть же божественный Lua! Давай видос по Lua
@Ad1s Жыл бұрын
Ну, в Луа скобок нет (если кто ещё не придумал, как писать функции через таблицы, конечно), да и точки с запятой опциональны... С типизацией тоже весело всё... По синтаксису это скорее плод порочной любви Питона и Паскаля, насколько мог удостовериться. Да и ООП там есть из коробки, пусть и тоже довольно весёлое, с ковыряниями через метатаблицы. Так что сложно сказать) Или я где-то чего-то не понимаю и наследие кроется в чём-то более глобальном, чем местные проявления синтаксиса и реализаций? Или вообще дело в том, что байткод LVM подозрительно напоминает Си и прекрасно в него интегрируется?
@syabrochanel Жыл бұрын
@@Ad1s та ну, что-то у вас сведения непонятные. Все тут есть) Ни питона ни паскаля, ООП действительно веселое
@syabrochanel Жыл бұрын
@@Ad1s вообще JS младше Lua и унаследовал много фич из него, по этом считаю несправедливо не упомянуть его как наследника Си наряду с JS. (Хотя в обоих случаях это лишь отдельние языки с Си подобным синтаксисом) Но луа хотя бы интересный 🤔
@Ad1s Жыл бұрын
@@syabrochanel Ну как же нет паскаля - а эти бесконечные do ... end в циклах? Да и функцию без энда не закроешь. Правда, языку действительно стоит поаплодировать за качество их имплементации. Одно удовольствие их тыкать. Но я правда очень хотел бы получить чуть более развернутое объяснение наследства Си в Луа, потому что звучит интересно. Мне раньше казалось, что единственные вещи, роднящие эту парочку - то, что одно было написано на другом и может напрямую работать с его потоком вывода stdout, или как там его)
@syabrochanel Жыл бұрын
@@Ad1s ну на самом деле их родство не больше чем у JS с Си, но lua прекрасно подключается в любые приложения, к нему можно дописать библиотеку, и легко портируется на разные платформы благодаря Си. `do end` это же вместо `{}` не особо вижу разницу 😅 к тому же к JS ближе LuaJIT, но он дальше от ANSI C, хоть и позволяет подключить любую shared библиотеку даже без хедера или скомпилировать машинный код из Си прямо в рантайме, он все же платформозависим
@GerAllexander2 жыл бұрын
Братан, хорош, хорош, давай ещё. Контент в кайф. Можно вот этого побольше?
@Rostik-pk1ik3 жыл бұрын
Ураа, рад вашему возвращению. Видео клас!
@imtheseventh3 жыл бұрын
я вот совсем не прогер ни разу(js на 5% и node+react не в счет), но с первой части поржал, потом было что то на эльфийском. и в конце земфира с неожиданной гармонизацией вообще отправила мозг в hardreset. зачётная дурь. хочу исчо.
@HeavyHeavyvich3 жыл бұрын
www.cs.rit.edu/~ats/books/ooc.pdf Авторы забыли библию по данному писецу. "Object Oriented Programming with ANSI-C " аж 1993 года!
@ExtremeCode3 жыл бұрын
закинул
@aiscorp13 жыл бұрын
Мышь на самом деле классная, год кайфую от горизонтального скрола по файлам
@spechulfapticks31083 жыл бұрын
Ожидание того стоило. Хоть и есть длинный пробел по времени, но зато качество не падает. Пойду посмотрю, можно ли это покрасивше замутить
@Евгений-э1ц3щ3 жыл бұрын
Пишу на ванильном js’e классы, не юзаю сборщики, но пишу модульно, подключаю модули через «type=module” и кайфую) все что хочешь - сокрытие через #, инкапсуляция, наследование. Типизации строгой нет пока, но решаю docType’ом и все нормас
@vladoss46432 жыл бұрын
Очень нравится музыка интерстеллар на фоне рекламы)
@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), но такого фрагмента я не вижу. Поправьте меня, если ошибаюсь.
@AnuarLife3 жыл бұрын
Я: учу js Ютуб:
@Анатолій-р5х3 жыл бұрын
Си живее всех живых. На чём же ещё писать embedded?
@liamsmith70523 жыл бұрын
Как ни странно, второй по популярности в этой области JS)
@Анатолій-р5х3 жыл бұрын
@@liamsmith7052 аххахах
@nomad_wizard68653 жыл бұрын
Эх... под конец наверное самую верную (очевидную) вещь сказал.)) Хотя есть кадры, что именно так и писали. Почитай про семейство вирусов Стакснет (Вики), а именно про Дуку.)
@thinkalittle34583 жыл бұрын
0:50 Си же строготипизированный язык, а джаваскрипт нет
@kkona35683 жыл бұрын
Ну я щитаю, канал можно переименовывать в ExtremeGovno
@Dik131WZD3 жыл бұрын
Я помню, что в моём школьном учебнике впервые затрагивали тему ооп ещё при изучении Pascal. Правда, тут же следующей главой переходили на Delphi
@TheIgoorR3 жыл бұрын
Друждище, есть проблема с твоей аргументацией по поводу того что С - устарел. Ультрасовременное ядро Linux 5.11 практически полностью написано на С
@starfeek42683 жыл бұрын
Разве оно понемного не переписывается на Rust?
@exception05 Жыл бұрын
Ну да, ну да, чистый Си мёртвый язык. А почему он уже лет 20 занимает первые места в индексе TIOBE по популярности? Скорей уж javascript по сравнению с ним мертвенький. Конечно, я не мыслю так прямолинейно, но цифры говорят, что чистый Си далёк от состояния мёртвого.
@liamsmith70523 жыл бұрын
Однажды ты спросишь, кого я люблю больше, ООП или ш**х. И ты ответишь segmentation fault, потому что undefined is not a function.
@mrtiming71303 жыл бұрын
Прости, но после просмотра рекламы мне сложно думать, досмотрю позже. Я правда настолько сильно залип, слушая музыку(из интерстеллара вроде) и смотря предоставленный видеоряд, что не могу думать. Пойду прилягу :)
@ДанилоНовосад-ь7х3 жыл бұрын
Класс, теперь у вас запои длятся не год, а несколько недель 👍👍
@serafimagrigoryan9208 Жыл бұрын
Как говнокодерша на ванильном ЖСе со стажем, одобряю данный видосий и ставлю тебе за него {}+true лайков.
@needfreenames3 жыл бұрын
Лучшая рекламная интеграция в мире!
@vuitlik54493 жыл бұрын
4:38 Если руки у тебя растут не из плеч, как ты дуешь на колесо?
@y9maly3 жыл бұрын
Капец. Моя 3 реклама в жизни. Которая, кажись. Пригодилась
@y9maly3 жыл бұрын
Бля 8к
@-f1st3k153 жыл бұрын
Как же я скучал)
@somebody10973 жыл бұрын
Спасибо ребята! На мотивации от ваших видосов апнул прогу и теперь работаю на юнити Вы лучше всех, целую в попу
@jotarokujo11243 жыл бұрын
4:50 Мне жалко человека, который писал 3 часа эту длинную switch проверку ради одного фрагмента)
@DenisShaver3 жыл бұрын
Скриптом может?
@jotarokujo11243 жыл бұрын
@@DenisShaver немного не понимаю, о чем ты)
@DenisShaver3 жыл бұрын
@@jotarokujo1124 Текстовик закатать свитчами с селекторами на скрипте?
@ДобрыйПитонПРОГРАММИРУЙ3 жыл бұрын
Я тебя разубедил. Все готово))) А если честно твои ролики кайфовые. И этот не чем не хуже остальных твоих роликов.
@КритикЛатунский-х1т3 жыл бұрын
О, видосик наконец подоспел
@yankilo3 жыл бұрын
Реклама одной из самых красивых и удобных мышей - отличная реклама
@eeddeellwweeiiss3 жыл бұрын
Офигенное аутро. Лайк за Земфиру
@kavoikapsho3 жыл бұрын
так долго не было видосов, ибо он ждал того самого рекламодателя
@andreikashin3 жыл бұрын
Артем, ты где там лазаешь, какое-то ГТК, линупс?
@vadimsemko26273 жыл бұрын
Лайк за кальянную - так уютно
@ko_fes3 жыл бұрын
И да, на самом деле на C/C++ + asm можно писать самомодифицирующийся код, что позволяет делать их псевдо-динамическими языками программирования, только скорость работы приложений с использованием подобного подхода будет на порядок хуже, чем без использования подобных техник, т.к. подобная техника напрямую ухудшает работу бренч-предиктора и ухудшает быстродействие пайплайна работы процессора. Но ради фана можно такое сделать, потому что МЫ МОЖЕМ. Если лень писать код, то вот ссылка на репу с "плохим" примером сравнения скорости работы переходов при таком подходе: github.com/kofes/asm_jmp.git
@d-mass-323 жыл бұрын
Автор явно живёт в своём узком мирке (просто сужу по высказыванию), раз уж С по его мнению мёртв (спишем это на любовь автора к радикальным суждениям и высказываниям). С совсем не мёртв, а даже очень активно используется, однако на него совершенно нет никакого хайпа ибо сложно, очень специфично и узконаправленно. Про него никому не интересно делать контент, потому что показать зрелищно будет просто нечего! Это не сайтик сделать на JS и не игрушку на готовом движке под C#. С активно используется в очень специфичных и сложных местах, где нужно выжимать огромную производительность из практически ничего... Это портативные устройства, микроконтроллеры, драйверы, операционные системы, компиляторы, отдельные библиотеки и их части. Всё это просто не на виду, но оно есть и оно развивается постоянно. Так, если взять Python, то может оказаться, что некоторые его библиотеки весьма эффективно работают, несмотря на то, что Python не очень-то быстрый, а оказывается, что просто эти библиотеки на чистом С написаны, а такие мощные модули регулярно появляются, значит кто-то да пишет на С и очень активно между прочим... Очень часто для разработки серьёзных игр используются куски C-кода, для максимальной оптимизации работы с памятью в узких местах. Волшебный V8 (движок JavaScript), который удивительным образом выдаёт весьма высокую производительность (хотя, с учётом интерпретируемости и местами кривости и запутанности самого JavaScript, должен был бы он работать медленно), творит такие чудеса, потому что написан на C++, и очень сомневаюсь, что там не используется ни одного куска кода на чистом C... А давайте вообще глобально посмотрим. Вот есть хайповая область "разработка сайтов"... А что под капотом? Чтобы сайт нормально работал нужен качественный HTTP Server, как правило это Apache или nginx, а на чём они написаны? Оба на С написаны! То есть, на "мёртвом языке" работает практически весь, мать его, Интернет !!! :) Я понимаю, что автор не хотел плохо высказываться о С, и простите за многословие, просто у меня неконтролируемо бомбит от любителей усиленно "умерщвлять языки", которыми они лично не пользуются... :) Не к автору претензия, ибо шарит и пользуется, пусть и для развлекательных целей ;)
@alexanderpogudaev84963 жыл бұрын
Си хоронят уже не первый десяток лет, а он всё жив. Пока другие языки появляются, видят свой час славы и уходят в небытие, Си продолжает использоваться причем весьма активно.
@euginekosenko2268 Жыл бұрын
Активно используется для написания компиляторов других языков :-)
@natuscoding81433 жыл бұрын
Подожди Артем, YoptaScript - это вообще тема. Скоро все будем писать на YoptaScript
@Bez_truopa2 жыл бұрын
Следующее видео: "YoptaScript - будущее IT или позор? "
@ГригорийШумилов-ф5р3 жыл бұрын
Прикол в том, что в университете мы учим С, и нам запретили в курсаче использовать С++ фишки. А ООП хочеца)))
@Gameplayer550553 жыл бұрын
Напиши курсач с помощью инлайн ассемблера
@Gameplayer550553 жыл бұрын
Ты помучаешся, зато преподу тоже достанется
@ГригорийШумилов-ф5р3 жыл бұрын
@You Tube Ну, оно через них в Си и реализуется.
@kittenfrompicture3 жыл бұрын
Отписчики? Ок, отписался-подписался и колокольчик поставил
@Obi_Gun3 жыл бұрын
Приятная реклама! Я заинтересовался
@max_mgtow3 жыл бұрын
Жук, ты ли это?😆
@tankostroy10612 жыл бұрын
0:38 BrainFuck и JSFuck: это святое!
@alexeycherkashin62512 жыл бұрын
4:52 огромный switch case как оказалось решает, чётное это число или нечётное
@vladimirpushchin70892 жыл бұрын
Мыш действительно крутая! Ну как крутая, лучше просто нет
@fealllback55393 жыл бұрын
Музыка в конце: Земфира - искала (miami remix)
@Антон-к7е7м3 жыл бұрын
Самая крутая реклама мыши из всех что я видел
@Rezedent123 жыл бұрын
Расскажи людям про gambas.
@Raspredval13373 жыл бұрын
лять, сразу видно, аффтор не шарит за ооп в си. Объявляем в хеадере пустую структуру, указатель на эту структуру называем хандлом, например 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 это тоже целые числа, так что почему бы и не кастовать их друг к другу. Это даже шарп может
@duduvs76053 жыл бұрын
Си будет жить, пока жив линукс.
@Crazmuss3 жыл бұрын
>указатель на функцию, которая принимает указатель на функцию, которая принимает целое число, которое принимает целое число, которое принимает указатель на функцию, которое принимает и возвращает целое число. Я, немного знающий питон: А что не так? И кстати, что такое целое число? Типа указатель на область памяти, которую можно интерпретировать как число? А воид это что?
@fedor39113 жыл бұрын
Как мы видим Питон вызывает серьезные поражения мозга. АсмСишную терапию срочно
@natuscoding81433 жыл бұрын
Артем, смотри. Получается whitespace является заменой JS, потому что там тоже есть переменные?
@tdrkDev3 жыл бұрын
почему это си почти мёртвый? огромный кусок линукса написан на си.