НЕНОРМАЛЬНОЕ ООП
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...
Следующее видео: "assembler - объектно ориентированный язык"
♂ASS♂embler
@@Cinnamon-ph3gt Deep Dark Memory; git master; ♂f*cking♂ ELF32
ООП на машином коде
Если учесть что тот же C++ и куча других ООП языков имеют промежуточное представление (.o объектный файл который содержит ассемблер), то можно сказать что в Ассемблере ООП используют нериально часто (правда в основном компиляторы)
High Level Assembly
en.wikipedia.org/wiki/High_Level_Assembly
Всё уже давным давно сделано
279 дней изучать ся что бы сделать бесполезный ролик.
Лучший
Ну а че нам, жсникам
@@ExtremeCode за JS и двор стреляю себе в ногу
@@BStudioCD псс, используй спонсорБлок
Что ж, в эмбеддед в основном на си пишут и все эти приёмы применяют по сути.
@@Xelasilli в нем этого нету.
Мм, реклама мыши спустя 273 дня. Ну наканецта!!1
из солнечной системы не так просто вылететь, как может показаться
@@ExtremeCode я думаю, вам стоит записывать исключительно платные видео на закрытой площадке, чтоб мы эту хуйню больше не видели
Действительно, сколько можно терпеть отсутствие рекламы на видосах
А как же Си и JS.
Я: работаю программистом и имею высокую покупательную способность, благодаря зарплате, в 13 раз привышающую МРОТ
Какой то парень с ютуба с каналом про программирование: выиграй мыш
купи мыш
Как получить такую же Visual Studio с гоблином?
Аналогичный вопрос. Где взять?!
установить коммунификатор
Сам напиши аддон
@@dulatello08 то есть там можно менять даже фон?
Пошел изучать
Плагин на офф сайте есть.
Видео больше минуты? Забрасывайте канал
@@slivfreecourse1387 есть курсы о том как создавать курсы?
Жду ролика "html - это ООП язык"
ну Language же
Я чуть кофе не поперхнулся, полегче
Ну DOM же
HTML - это вообще язык нотации объектов. (ну, ладно, XML)
Думаю, на тяге от подрыва пердака - можно будет пару раз слетать до Марса...
Нафига такой ролик длинный, можно было бы разделить на 20 отдельных роликов
И вообще использовать сторонние, чем самому снимать велосипед.
"Гибкий и приспособленный к различным в том числе творческий способ решать задачи" - во как ты слово "говнокод" завуалировал
Я 💜
P.S.
Наконец-то теперь смогу записывать свои любимые 30-и секундные видики
Руки на стол! Быстро! И вытри их.
разблокайте меня в тг я буду хорошим кодером... (@LS_X2)
разбаните миня пожалуста в тг мой ник @DedSec256
Ты ж, вроде, шарпист
разбаните миня пожалуста в тг мой ник @DedSec256
"Яблоки + кирпичи = фиолетовый"
😂
Некоторым такое нравится, но если я правильно помню, в РФ запрещена пропаганда таких отношений.
Дк это же не пропоганда.
кстати, это единственное, из-за чего я не перешёл с С++ на Rust.
особенно это касается классов и перегрузки операторов.
хотя в JS это действительно яблоки + кирпичи = фиолетовый...
Толку от раста?
Он как питон в нулевых
Лучше с++ использовать
Там есть даже auto, и forEach
@@Gameplayer55055, ну как... Rust - язык повышенной безопасности. Он иногда быстрее С++, а ещё он не unsafe на каждом шагу. Но да, проку от этого мало, но иногда этот язык применяют.
@@ATtiny13a-PU ждём-с, когда либ завезут как в питоне
Если в этом видео мы рассматриваем ООП в Си, это можно расценивать как намёк на реализацию паттерна PIDOR в js в следующем видео?
Теперь зрители экстрим кода знают, во что примерно транслировался плюсовой код, пока он был зависим от си
И во что транслируется ObjC до сих пор.
@@NesseratiousChannel Нет, у cfront и objc разная модель выполнения. objc ближе к smalltalk и self, в целом я бы сказал - ничего общего.
Никто:
Экстрим: JS - прямой наследник C!
блин, а че я поверил на секунду?
Наверное Экстрим по несколько дублей это перезаписывал :)
Не-не. Си прототип JS
Ты что наезжаешь на наши СиСи-чки, это наш хардкор
Афтар от прокрутки колесика улетел за пределы солнечной системы, где один день равен 279 земным, поэтому ролика не было, а остальные короткие видева он высирал пока вылетал, покровы сорваны.
Бадумтс
"Классы в JS это сахарок над прототипами"
Так говоришь, будто в с++ классы это не сахарок над malloc ( ͡° ͜ʖ ͡°)
Честно. Хейтил плюсы, до тех пор пока не написал проектик большой.
Указатели упрощают жизнь короче
@@Gameplayer55055 раст лучше кста
@@gr4tisfaction неа
не лучше, а проще для понимания.
для компа лучше таки с++ и то вообще Си
в расте может лучше с памятью, но что мешает выделить память и ща собой освободить? хотя подкупает этим
@@Gameplayer55055 с каких пор лучше?
@@gr4tisfaction по сути си это кроссплатформенный ассемблер и его никак не убить и не заменить. разве что если все процессоры пропадут и будут только квантовые компьютеры. остальные языки программирования чисто для удобства кодера
Бля, прошел год, а я ведь будучи маленьким масленком учился и готовился к собеседованию по твоим видикам. Эх, было же время... Кстати я устроился на ту каторгу и теперь хаваю легаси код словно это бургер. Спасибо бро
Наконец-то стало понятно, что инкапсуляция есть сокрытие
Распространённая ошибка, инкапсуляция и сокрытие - разные сущности. Впрочем, если с твоей стороны это был сарказм, то поддержу.
Инкапсуляция это сокрытие вкусных методов от говнокодеров.
Когда вместо ctrl пробел, нужно глазеть в доку
Двойное отрицание - это уже диалектика какая -то ))))
Привести переменную к типу bool
Extreme code прочитали очередную главу из книжки Боба Мартина и решили всем с энтузиазмом об этом поведать. Молодцы, ребят. Рады за ваш прогресс в изучении ООП. Не перестаëте узнавать что-то новое. Ток можно и побыстрее, конечно
это не тот анкл боб который про клин код и солид рассказывал?
@@dia_the_ghost да, это он
От реализации ООП в Си возникло ощущение натягивания шкурки на кисель, но прикольно.
Страуструп плюсы написал на си изначально. В начале всё было на макросах и некоторой магии.
Начнем с того, что С++ изначально был библиотекой, для упрощения реализации ООП. И только в дальнейшем обособился в самостоятельный язык. Поэтому ООП, можно делать на любом языке системного программирования при желании, и даже в assembler, но реализация такого ООП будет аналогом ООП для Forth.
Точно, чтобы указатель на контекст каждый раз заново не писать
В JS концепция называется не ООП, а ПОП (прототипо-орентированное программирование) - это реальный термин. Суть ПОП - упрощение модели ООП, нам не надо задавать классы и наследования: мы делаем прототип, который и является как бы классом объектов, шаблоном.
Основы организации оперативной памяти и работа с ней в С\С++ Часть первая.
Основная проблема начинающих (да и не только) программистов часто заключается в тотальном нежелании обучаться работе с памятью. В ход идут любые условки, начиная от полного отказа динамического выделения до смены языка программирования, на более другой, который управляется с памятью самостоятельно. Со стороны разработчиков языка точно также предлагаются всё более изощренные решения, созданные казалось бы, для пущего удобства программистов - от языков со встроенным сборщиком мусора, типа Java, до хитрых классов-контейнеров, к уже существуюшим языка, типа STL. Всё это безусловно облегчает работу программиста, но во первых не добавляет понимания, а во вторых результат как правило имеет перерасход памяти да и особой скоростью работы не отличается. Причём это даже не является виной выбранного инструмента - без понимания как всё это работает, в итоге получается монстр, который, только что не вылетает от каждого чиха. Но памяти отжирает под гигабайт, причём на что именно - непонятно. Отлаживать такое, как вы понимате еще тяжелее, если вообще возможно. Ситуацию усугбляет тот факт, что специальной литературы по работе с памятью видимо не существует в природе (по крайней мере мне таковая не попадалась), либо авторы книг по программированию полагают, что просветление должно наступить, когда начинающий программист напишет свою маленькую кучу или пул памяти. Но поскольку время подобных извращений давно уже прошло, то в итоге имеем то что имеем. Конечно невозможно в небольшой статье охватить все аспекты работы с памятью, но я и не ставлю перед собой такой задачи. Самое главное - это понять основные принципы, а весь остальной опыт ляжетBоснову. И это - самое главное.
1. Организация оперативной памяти в x86 архитектуре
Не вдаваясь в историю и эволюцию самой архитектуры скажу просто: модель памяти в архитектуре x86 - плоская. Наверняка вам доводилось видеть сообщения от некоторых досовских программ вида: memory model: flat. Что это значит? Это значит что память (условно) представлена в виде одного-единственного адреса, который разом переносит нас к требуемой ячейке оперативной памяти. Возможно на других архитектурах существуют более сложные, двух или трёхмерные модели, где надо указывать например строку или столбец для доступа к определенной ячейке - нас они не интерисуют. Изначально адреса в памяти были абсолютными. Это значило, что обратившись по первым 64 килобайтам оперативной памяти можно было например покоцать таблицу векторов прерываний или скажем копию биоса, либо другие интересные вещи. Адреса на тот момент были 16-битными, но их перестало хватать практически сразу же, поскольку 16-битная адресация позволяет получить доступ только к первым 64 килобайтам. Чтобы хоть как-то поправить положение в языки программирования был введен костыль в виде модификатора FAR (далёкий), который на самом деле позволял объявлять 32-битные переменные и адресовать до 4 гигабайт памяти. Затем в процессоры был введен защищеный режим и трансляция адресов, после чего доступ к памяти стал не абсолютным а относительным. Ну а сама шина адресация внутрии процессора выросла до 36 бит (а то и больше).
Относительная адресация предполагает что весь 4-х гигабайтный диапазон адресов выделяется одному приложению. Как при этом работает внутренняя трансляция нас не заботит, но мы совершенно точно уверены, что перемещаясь по выделенной нам памяти не нарушим работу соседнего приложения, чтобы мы там ни вытворяли.
Правда и сама наша программка будучи замеченной в доступе "невтуда" аварийно завершит свою работу с Unhandled Exception, который любой пользователь компьютера видел неоднократно. Обратите внимание что ни одна программка не в состоянии потребить более 4 гигабайт оперативной памяти (а на практике - еще меньше), именно в силу ограничения разрядности указателя. Во многом переход на 64-битные системы состоялся именно благодаря необходимости использовать больше памяти. Подобные вещи безусловно важны для баз данных, вполне возможно что в недалёком будущем и видеоигры будет потреблять свыше четырёх гигабайт памяти.
Так или иначе, мы рассмотрим классические 32-битные адреса, работу с ними и методы оптимизации.
Как юмор - огонь, больше никак не рассматривать)
Чисто смесь айтишной темы и е*нутости Азазина))
У азазина всё таки более чёрный юмор, а тут всё лайтово
@@seelairu, азазлинг тоже начинал с малого
@@Skeleton597 он тоже жабаскриптизером был?
Ждём суть языка СИ за 30 секунд)
Можно и за 3 секунды:
Указатели рулят
я вот совсем не прогер ни разу(js на 5% и node+react не в счет), но с первой части поржал, потом было что то на эльфийском. и в конце земфира с неожиданной гармонизацией вообще отправила мозг в hardreset. зачётная дурь. хочу исчо.
Уже два месяца учу js и программирование по твоим урокам, через месяц в январе начну проходить собесы, надеюс вся инфа, что я здесь узнал, пригодиться! Спасибо экстримА**льный код
Ну как? Устроился?
@@slava9519 да, он уже тимлид, который шарит за Си.
Ну как устроился?
Как успехи?))
Си жив!
*ОооООооООО, наконец ролик, который идёт более 30 секунд*
4:19
Мне срочно нужна ссылка на гитхаб этого умника
1:30-1:37 - ill-formed выражение: в си и в плюсах по стандарту нельзя приводить указатель на функцию к указателю на данные и наоборот, - так можно делать в POSIX системах (там есть функции в ядре, которым нужна такая фича) и в некоторых документировано описанных случаях, но по стандарту так делать нельзя.
Пф, даже предупреждение не выдаёт.
как же мне нравится канал Extreme code обожаю просто
Однажды ты спросишь, кого я люблю больше, ООП или ш**х. И ты ответишь segmentation fault, потому что undefined is not a function.
www.cs.rit.edu/~ats/books/ooc.pdf
Авторы забыли библию по данному писецу.
"Object Oriented Programming with ANSI-C " аж 1993 года!
закинул
Да, на самом деле посмотрите язык Vala, замечательная штука, скрывает ужас ООП на C под красивым C# или Python синтаксисом, да еще и сама кучу фич имеет вроде нуллабилити. GC нет, подставляет вызовы деструктора или декремент счетчика ссылок на объект в компайл тайме, или можно контролить память по владению (owned unowned ссылки, в rust тоже есть похожее)
В си можно взять и положить в структуру указатель на функцию и она превращается в метод. Хотя, та самая инкапсуляция там вроде работать не будет, и максимум что ты получишь - это вызов метода через точку.
УРА! Вы вернулись! Пока вас не было - бросил трогать клаву и начал пить, купил "MX Master 3" - реально бомба особенно при рефакторинге легаси-портяночного-монолита. Но по мимо этого -дерганул так, что часть сказанного в данном видосе - вообще не понял! Вы заканчивайте умничать про языки динозавров! А то понадумали себе, что маслята без вас развивались. Давай больше контента по высокоуровневым языкам для всяких там энтерпрайз, понятного обычным маслятам.
Маслят!.. Братва! - поддержите лайком. А то - чё они!!?
Просто выпал с "Привет, отписчики!"
Ну я щитаю, канал можно переименовывать в ExtremeGovno
Такого качества рекламной интеграции никто не ожидал, жду новую рекламу (соответственно и видосик)
Я: учу js
Ютуб:
Прикол в том, что в университете мы учим С, и нам запретили в курсаче использовать С++ фишки. А ООП хочеца)))
Напиши курсач с помощью инлайн ассемблера
Ты помучаешся, зато преподу тоже достанется
@You Tube Ну, оно через них в Си и реализуется.
Си живее всех живых.
На чём же ещё писать embedded?
Как ни странно, второй по популярности в этой области JS)
@@liamsmith7052 аххахах
Я помню, что в моём школьном учебнике впервые затрагивали тему ооп ещё при изучении Pascal. Правда, тут же следующей главой переходили на Delphi
Очень нравится музыка интерстеллар на фоне рекламы)
Мышь на самом деле классная, год кайфую от горизонтального скрола по файлам
Ну да, ну да, чистый Си мёртвый язык. А почему он уже лет 20 занимает первые места в индексе TIOBE по популярности? Скорей уж javascript по сравнению с ним мертвенький. Конечно, я не мыслю так прямолинейно, но цифры говорят, что чистый Си далёк от состояния мёртвого.
Класс, теперь у вас запои длятся не год, а несколько недель 👍👍
Забайтить на повышение температуры в тёмном месте и на комментарий таки получилось:
1. То, что "2" + "2" = "22", а "22" - "2" = 20 - действительно смешно. От того что по адресу указателя находится другой тип данных он не перестает быть указателем. Возможность в Си использовать в одном выражении разные типы данных появляется за счёт того что мы напрямую работаем с каждым байтом памяти как с числовым значением, причем как в стеке, так и в куче . В языках типо пхп или джаваскривта происходят неявные преобразования просто потому что так хочется.
2. Bool-ов в Си вообще нет. Если использовать двойное отрицание на инте он не скукожится до одного байта.
По твоей логике питон еще более близкий наследник си, потому что там тоже ооп через жепу, например в приватные поля можно обращаться из любого места в коде. Любые типы данных (даже вызываемые) можно присвоить по указателю. Да и вообще в питоне можно вызывать код на си, а на си не пробегая второй круг с бубном у костра можно вызывать код на питоне.
Часть про ООП в Си кайфарик и всё по делу.
Пишу на ванильном js’e классы, не юзаю сборщики, но пишу модульно, подключаю модули через «type=module” и кайфую) все что хочешь - сокрытие через #, инкапсуляция, наследование. Типизации строгой нет пока, но решаю docType’ом и все нормас
Каждый ролик - шедевр.Ну у тебя и чуство юмора,браво!!!
Эх... под конец наверное самую верную (очевидную) вещь сказал.)) Хотя есть кадры, что именно так и писали. Почитай про семейство вирусов Стакснет (Вики), а именно про Дуку.)
изучал си когда вкатывался в gtk, так знакомство с ооп на чистом си для меня произошло в самом начале его изучения
Друждище, есть проблема с твоей аргументацией по поводу того что С - устарел. Ультрасовременное ядро Linux 5.11 практически полностью написано на С
Разве оно понемного не переписывается на Rust?
Информативно и с фирменным стилем.)
Ожидание того стоило. Хоть и есть длинный пробел по времени, но зато качество не падает. Пойду посмотрю, можно ли это покрасивше замутить
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), но такого фрагмента я не вижу. Поправьте меня, если ошибаюсь.
И да, на самом деле на C/C++ + asm можно писать самомодифицирующийся код, что позволяет делать их псевдо-динамическими языками программирования, только скорость работы приложений с использованием подобного подхода будет на порядок хуже, чем без использования подобных техник, т.к. подобная техника напрямую ухудшает работу бренч-предиктора и ухудшает быстродействие пайплайна работы процессора.
Но ради фана можно такое сделать, потому что МЫ МОЖЕМ.
Если лень писать код, то вот ссылка на репу с "плохим" примером сравнения скорости работы переходов при таком подходе: github.com/kofes/asm_jmp.git
ну родоначальник ООП изначально рассказывал нам о том, что ООП применим только для языков с динамической типизацией
Прости, но после просмотра рекламы мне сложно думать, досмотрю позже.
Я правда настолько сильно залип, слушая музыку(из интерстеллара вроде) и смотря предоставленный видеоряд, что не могу думать.
Пойду прилягу :)
Отписчики? Ок, отписался-подписался и колокольчик поставил
Лучшая рекламная интеграция в мире!
Музыка в конце: Земфира - искала (miami remix)
Сначала меня заболела голова от инфы , но потом я посто о@уел когда он не назвал не самые языки программирования 2021 года , ну на которых легко , все , наверное , но это не точно . Блеет я устал так долго писать ...
Реклама одной из самых красивых и удобных мышей - отличная реклама
Жук, ты ли это?😆
Автор явно живёт в своём узком мирке (просто сужу по высказыванию), раз уж С по его мнению мёртв (спишем это на любовь автора к радикальным суждениям и высказываниям). С совсем не мёртв, а даже очень активно используется, однако на него совершенно нет никакого хайпа ибо сложно, очень специфично и узконаправленно. Про него никому не интересно делать контент, потому что показать зрелищно будет просто нечего! Это не сайтик сделать на JS и не игрушку на готовом движке под C#. С активно используется в очень специфичных и сложных местах, где нужно выжимать огромную производительность из практически ничего... Это портативные устройства, микроконтроллеры, драйверы, операционные системы, компиляторы, отдельные библиотеки и их части. Всё это просто не на виду, но оно есть и оно развивается постоянно. Так, если взять Python, то может оказаться, что некоторые его библиотеки весьма эффективно работают, несмотря на то, что Python не очень-то быстрый, а оказывается, что просто эти библиотеки на чистом С написаны, а такие мощные модули регулярно появляются, значит кто-то да пишет на С и очень активно между прочим... Очень часто для разработки серьёзных игр используются куски C-кода, для максимальной оптимизации работы с памятью в узких местах. Волшебный V8 (движок JavaScript), который удивительным образом выдаёт весьма высокую производительность (хотя, с учётом интерпретируемости и местами кривости и запутанности самого JavaScript, должен был бы он работать медленно), творит такие чудеса, потому что написан на C++, и очень сомневаюсь, что там не используется ни одного куска кода на чистом C... А давайте вообще глобально посмотрим. Вот есть хайповая область "разработка сайтов"... А что под капотом? Чтобы сайт нормально работал нужен качественный HTTP Server, как правило это Apache или nginx, а на чём они написаны? Оба на С написаны! То есть, на "мёртвом языке" работает практически весь, мать его, Интернет !!! :)
Я понимаю, что автор не хотел плохо высказываться о С, и простите за многословие, просто у меня неконтролируемо бомбит от любителей усиленно "умерщвлять языки", которыми они лично не пользуются... :) Не к автору претензия, ибо шарит и пользуется, пусть и для развлекательных целей ;)
Си хоронят уже не первый десяток лет, а он всё жив. Пока другие языки появляются, видят свой час славы и уходят в небытие, Си продолжает использоваться причем весьма активно.
Активно используется для написания компиляторов других языков :-)
настоящему программисту мышка не нужна
@Melorum , просто кто умеет в Vim - тому мышка как третья нога. Только мешает нормальному процессу написания кода.
Давай ООП на Идише!
Как говнокодерша на ванильном ЖСе со стажем, одобряю данный видосий и ставлю тебе за него {}+true лайков.
КАК ЖЕ Я ОРНУЛ ОТ РЕКЛАМЫ
Ну наконец-то, дождались
Си будет жить, пока жив линукс.
почему это си почти мёртвый? огромный кусок линукса написан на си.
Кстати, мышь хорошая. В компании, где работаю, рабочие машины -- маки. Так вот со всеми кнопками на мыши можно делать почти всё то же, что и на тачпаде. Удобно, под мак прямо рекомендую
А вот logitech flow нормально не работает: пробовал подключать рабочий мак и свой ноут (win 10). И там и там мышь работает, когда переключаешь, но вод сам flow вообще не работает. Может, из-за каких-то ограничений на рабочей машине, всё же стоит Apple Device Management, и какие-то настройки безопасности. Но суть такова
JS не такой и уж точно не единственный наследник Сишечки. Есть же божественный Lua! Давай видос по Lua
Ну, в Луа скобок нет (если кто ещё не придумал, как писать функции через таблицы, конечно), да и точки с запятой опциональны... С типизацией тоже весело всё...
По синтаксису это скорее плод порочной любви Питона и Паскаля, насколько мог удостовериться.
Да и ООП там есть из коробки, пусть и тоже довольно весёлое, с ковыряниями через метатаблицы.
Так что сложно сказать)
Или я где-то чего-то не понимаю и наследие кроется в чём-то более глобальном, чем местные проявления синтаксиса и реализаций?
Или вообще дело в том, что байткод LVM подозрительно напоминает Си и прекрасно в него интегрируется?
@@Ad1s та ну, что-то у вас сведения непонятные. Все тут есть) Ни питона ни паскаля, ООП действительно веселое
@@Ad1s вообще JS младше Lua и унаследовал много фич из него, по этом считаю несправедливо не упомянуть его как наследника Си наряду с JS. (Хотя в обоих случаях это лишь отдельние языки с Си подобным синтаксисом) Но луа хотя бы интересный 🤔
@@syabrochanel Ну как же нет паскаля - а эти бесконечные do ... end в циклах? Да и функцию без энда не закроешь.
Правда, языку действительно стоит поаплодировать за качество их имплементации. Одно удовольствие их тыкать.
Но я правда очень хотел бы получить чуть более развернутое объяснение наследства Си в Луа, потому что звучит интересно. Мне раньше казалось, что единственные вещи, роднящие эту парочку - то, что одно было написано на другом и может напрямую работать с его потоком вывода stdout, или как там его)
@@Ad1s ну на самом деле их родство не больше чем у JS с Си, но lua прекрасно подключается в любые приложения, к нему можно дописать библиотеку, и легко портируется на разные платформы благодаря Си. `do end` это же вместо `{}` не особо вижу разницу 😅 к тому же к JS ближе LuaJIT, но он дальше от ANSI C, хоть и позволяет подключить любую shared библиотеку даже без хедера или скомпилировать машинный код из Си прямо в рантайме, он все же платформозависим
Давайте SOLID и GRASP на C, посмотрим как там дела обстоят.
Да, видимо курение книг вместо их чтения совсем жава-скриптонита подкосило, скоро начнет на html ооп пытаться делать
Почему нет? Классы и иерархии там есть.
@@marvinnimnull9982 ООП - объектно ореинтированное ПРОГРАММИРОВАНИЕ.Процесс написания сайта на HTML,это вёрстка,а не программирование.
@@retrometanol2510 Вёрстка, это вёрстка, семантическая структура сайта, это семантическая структура сайта. Язык конфигурационных файлов sendmail тьюринг-полный, xml/xsl тоже. В чём разница между программированием и конфигурированием? Перефразируя известную цитату - "конфигурации бедняка - программы богатого человека" - всё зависит от того на каком метауровне ты это рассматриваешь.
@@marvinnimnull9982разница в полноте по Тьюрингу
>указатель на функцию, которая принимает указатель на функцию, которая принимает целое число, которое принимает целое число, которое принимает указатель на функцию, которое принимает и возвращает целое число.
Я, немного знающий питон: А что не так? И кстати, что такое целое число? Типа указатель на область памяти, которую можно интерпретировать как число? А воид это что?
Как мы видим Питон вызывает серьезные поражения мозга. АсмСишную терапию срочно
0:38 BrainFuck и JSFuck: это святое!
Я помню этот код как правило мне давал 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;
Так что даже при любой типизации можно работать вполне нормально.
Ураа, рад вашему возвращению. Видео клас!
Мыш действительно крутая! Ну как крутая, лучше просто нет
Братан, хорош, хорош, давай ещё. Контент в кайф. Можно вот этого побольше?
на C написан же руби, который возводит ооп в абсолют. Кто знаком с исходниками ЯП написанных на C не удивляется реализациям ооп на онном.
Фух, у меня не разрывался шаблон по ходу ролика. Значит я уже не маслёнок :3
Если что-то выглядит - как костыли, работает - как костыли... может это и есть. Они. :)
Думаю настало время пройтись по FreeRTOS и многозадачности.
Экстрим код узнаёт, что ООП - это способ реализации программ, а не способ организации языка или кода. Смотреть без смс и регистрации.
Когда он узнает, что ООП можно реализовать в ФП - он умрёт нахуй :D
Зачем?
так долго не было видосов, ибо он ждал того самого рекламодателя
Подожди Артем, YoptaScript - это вообще тема. Скоро все будем писать на YoptaScript
Самая пиздатая мышь, это правда не передать словами
Самая крутая реклама мыши из всех что я видел
ОНО ЖИВОЕ!
Следующее видео: "YoptaScript - будущее IT или позор? "
Короче, я понял магию джабаскрипта: на самом деле язык сложный, а уникальность в том, что не особо окунаясь в его кишки, можно шикарные бабки получать фронтендя
Если тебе нужны бабки,то учи 1с и пиши индусский код.Ну ещё заказчика-идиота найди и будет profit.