Создание сборщика мусора | С
Вставка
- Опубліковано 15 вер 2024
- Серия из 10+ видео, где будут разобраны несколько проектов(8-10), с теорией и практикой, на разных языках. С, С++, Java.
Проект номер 1.
Написание сборщика мусора.
Язык - С.
Telega и чатик - t.me/wndtn
boosty(менторинг) - boosty.to/wndtn
instagram - / winderton
github проекта(код с канала) - github.com/win...
Код - github.com/Win...
Initially created by Robert Nystrom
Я предлагаю где-то на 4-м ролике опирационку написать, на 5-м автопилот для Тесла, а в 6-м искусственный интеллект по взлому кодов доступа к ядерным ракетам
на седьмом ии для взлома всей электрроники в указоном радиусе на восьмов ядерную ракету на пульте управления на девятом написать алгоритм взлома блокчейна
а в 15 засунуть наконец Вселенную на виртуалку
В 16 хотел бы увидеть как Иисуса сделать.
Я не хочу вообще вникать в это унылое программирование, все эти все гаджеты это все вчерашний день даже датасаенс, Срок жизни человека ограничен, я вообще не могу делать то что я хочу потому что например чтоб полазить по горам надо до них долететь и время на альпинизм, чтоб построить дом надо ресурсы и время а ресурсы берутся из унылой какой-то работы. Надо уже какуюто делать новую совершенно не полупроводниковых платформу и гораздо более мощные инструменты, допустим я хочу лазерный меч вырезать большие кирпичи и экзоскелет и антигравити чтоб с них собрать сфинкса ёжика, для этого мне надо знать пишите законов физики и механики и вообще всех наук, или 10000 ученых искать в ютюбе и уговаривать на лазерный меч это все будут тащится хотя это реально и ничего плохого в этом нет, и библиотеки с голограммами в центре города и ускоренные методы обучения никаких си++, а визуализация и токипона, все эти микросхемы и платы и тупорылая архитектура на стремных цифробуквах, и пускай они там обнимаются со своими ракетами скока хотят мне это вообще не интересно и банки и тд, пускай сидят охраняют свое унылое хозяйство, я причем что у кого-то паранойя или мегаломаний, я просто хочу лазерный меч и полазить по горам
@@deniskozik466 Я бы хотел посмотреть чем упоролся Иисус когта погнал с обрыва стадо домашней скота и как к этому отнеслись владельцы животных которые попрыгали в море
Первые 2 секунды слышно как заводится двигатель "Wingine".
@@x86thasm56 для ансабов(мусора) видос вышел недавно, а для патронов(богов) дней 5 назад как раз
@@x86thasm56 оно было доступно для патронов за несколько дней, читай описание ролика и чекай пледжи
@@x86thasm56 стань патроном и комментируй за 4 дня до релиза, изи же
@@x86thasm56 потому что для патреонов видео раньше выкладывается (скорее всего)
@@x86thasm56 Пройди по ссылке в описании(Patreon), все встанет на свои места.
Охуенные микровставки со сборщиком ансабов, FAQ и прочее, каееееф
А уравнение
"ООП + лоу-лвл = - мать " - вообще топово
а что из этого переменная? А если у меня только лоу-лвл?)
А, так это было "ООП"! А то авто-сабы вместо этого выдали "openal", и я подумал что это какая-то глубокая отсылка к кодобазе последнего.
Отличный видос, все по полочкам. Голосую за C/C++ в последующих проектах! :)
Ухты!! Кроме сборщика мусора автор умудрился выдать достаточно полезную инфу во вступлении.
Я про алгоритмы vz структуры данных; эффективность vz производительность ;
По моему это одно из лучших видео Winderton. Расшарил куда только мог))
p.s.
как и большинство новичков, наверное, изучал алгоритмы, так что бы бэкать на собесесах на уровне сортировки)) Но весь перечень даже не рассматривался. Теперь для меня это вызов прошустрить все по компрессии , поиску и сортировке))
Как же я соскучился за этой топовой мелодией на фоне))))))
Всплывающие текстовые уточнения задерживай на экране подольше, а то такие пролёты на сверхзвуке не очень.
of course you smash the like button before watching the video, if you are true fan of winderton, otherwise, why you are here?
Of course you smash the like button before reading the comment, if you're fan of artanik
Если последняя часть после запятой это вопрос , тогда "why are you here"
@@cloud_di5512 провтыкал, нужно купить план у winderton
Нижуя не понял , но очень интересно.
Так не жуй
Развесьте уши пошире - этот парень делает реально интересные вещи
Госпади, 10/10
Великолепный рассказ, не всегда хочется слушать слушать сложные вещи в принципе, а слушать их от людей с монотонным голосом это вообще ужас и сон.
А это канал, это просто отдушина в мире С и С++
Благодарю! Видео постоянно останавливал и перематывал, чтобы вникнуть) Единственное, что меня затруднило в прочтении кода - оператор union, но я быстро с ним разобрался). Сейчас буду ставить эксперименты!
По поводу языка программирования следующих проектов - я за C/C++. Идея с проектами очень понравилась!
Мое непонимание мотивирует меня учиться.
Я за Си, он идеален:)
Немного не могу понять зачем ты пишешь на C++ когда пишешь на C?(я мастер лаконично выражать мысль, я знаю) Я от том что ты пишешь в файл .cpp, то есть в последсвие используешь C++ компилятор. И да, я понимаю что тот же код без б закомпилился бы с помощью си компилятора, но всё же...
В процессе написания понял, что visual studio не имеет встрояного си компилятора( если ничего не путаю )
с++ за него.
Как начал заниматься планом, хоть стал понимать о чем речь
Наконец-то контент разгружать начал :) Видео супер. Тема очень интересная, так как если не сильно разбираешься вообще в языках, то сборщик мусора для тебя это как магия для людей средних веков. Голосую за С++. Хотел бы узнать больше полезных фич, решений именно с ним
Только C.
А в marksweep мы же присваиваем указателю на первый объект, в случае, если он отмечен, указатель на следующий, разве у нас не потеряется в памяти первый объект, раз мы перезаписали указатель, который указывал на него?
А, нет, кажется понял - мы создаем копию адреса, а не меняем оригинал
C
C++ однозначно, не оч люблю java.
C++ это совершенство
Твой стек ломается, если вызвать pop больше раз, чем push. Или вызвать pop ни разу не вызвав push. Нет проверки на положительный размер стека.
И да, спасибо тебе, очень крутой контент, лайк и три коммента по теме ещё)
я извиняюсь, но как этот сборщик мусора в плане секса? а? м?
Пока что не брыкается
@SweetTea, от пожилой чим-чимы
Ha ha classic
а может быть мы с тобой чики брики труляля аууу?
@SweetTea Это от Глада Валакаса вроде, когда он звонил тётке и хотел собачку купить
Пишу коммент. +Голос за С.
Побольше бы такой годноты на Ютубе. И да, онли С онли хардкор
Давай на С!!!
Вин, ты лучший! Смотрю твой канал, постоянно натыкаюсь на темы, о которых, можно сказать, не подозревал, углубляюсь в них, расту... Без тебя бы просто не знал о многих фичах и отраслях, спасибо огромное!
А если не трудно, лучше бы некст видос был по С++...
С меня лайк и донат на ближайшем стриме!
интересно было бы услышать от тебя о том, как правильно проэктировать свою програму, грамотно разбивать код на класы и какой именно код в них хранить. Контент как всегда на высоком уровне
Интересно, а главное качественно( чего как раз и не хватает в ютубе ). Правда ещё не все понятно, но видно куда расти, думаю забущусь когда возьму твой план ). Спасибо за видос.
If (c > java)
Return 0;
Output log:
Application exit with code: 0
Я хоть и сишарпер и у нас инстантно есть сборщик мусора, но за видос лайк и подписка! Продолжай в том же духе!
Ну ты продакшином радуешь, просто райское наслаждение
Познавательно, как всегда.Жду продолжения разработки Wingine на плюсах.(Интересно же!)
Хорошо всё объясняет, правда начал понимать только со второго просмотра ) Продолжай C/C++
Серию на С :)
Спасибо за классный видос. Я за С++, но в независимости от языка буду ждать новых интересных видосов
Спасибо за видео) Иногда программирую на Си. По коду почти все понятно. Но, функция marksweep, не встречал раньше такого способа удаления элемента из списка (эти двойные указатели, не пользовался ранее, думал язык знаю ок). Сижу отлаживаю код уже час. Как (при удалении элемента из списка) предыдущий элемент связывается со следующим? не понимаю. но это чисто риторический вопрос, надеюсь чуть позже раскопаю.
Смотрю твои видосы перед работой для мотивации )
Найс! Сложно, но полезно. Спасибо за качественный контент.
За C++ и двор...
наконец-то классные видосы по программингу! спасибо !!!!
Спасибо, Win, за новый цикл роликов. Очень интересная задумка
Хороший видос, тк условно понимаю C/C++ хотелось бы увидеть видос на нем, но в то же время если ты выпустишь видос на C++ то следующий скорее всего будет на Java и так я могу "пропустить" что-то более интересное.
Хотелось бы поскорее увидеть линейку видосов на тему составления резюме, каких знаний достаточно чтобы идти работать и т.д. . Больше подписчиков пойдут работать => больше потенциальных донатеров для стримера-видеоблоггера.
Еще я из тех кто хотел бы увидеть лайв-код стрим, интересно увидеть собсна не уже готовый результат, а именно сам процесс разработки, пусть даже это может быть долго.
Хоть я и обожаю C#, но сейчас я практикую язык ассемблера. А ведь скоро 2019.
Всем lea rax, [rcx + rdx]!
P.S. Си святой.
"В С не нужен GC, потому что в нем нет мусора"
Там будет столько мусора, сколько ты создашь
Это лучший подарок на НГ.
Что-то я вообще ничего не понял. Вроде бы собирался писать GC на Си, а написал всё равно на C++.
Там все на Си написано
Посмотри внимательно на расширение файла.
@@fjfjfjfjfjfj973 расширение файла ни о чем не говорит, MSVC с ключом /Tc будет компилировать .cpp как код на Си.
Не говоря о том, что С++ вполне себе расширение (superset) C (за исключением некоторых деталей), т.е. если не использовать никаких фич С++, то получится валидный С.
Ты в моем городе вызвал дождь,спасибо😊
Где мой попкорн. Свежее подъехало, лучший подарок на СН.
Можешь сделать видео на тему: "Разница между union, struct и разница между ими в C и C++"
Я также за С/C++ при дальшейшей разработке
Нашел работу на плюсах или мб на другие языки перешкл?
Давай Си, ничего лишнего
Спасибо. Видос топовый по всем параметрам. Ну как обычно.
Просто для того, что бы Вин не забросил мейкинг видосов.
Ставлю лайк, пишу коммент. Спасибо за видос.
Я за C++ при дальшейшей разработки
Ставлю лукас за сборщик ансабов. XD
Спасибо! Это познавательно, но непросто).
Делай на C!
c/c++ , ждемс следущий, как всегда прекрасное видео
Ура товарищи !
Красавчик! Лучший ! Эрудит ! Продолжай !!!
Так и до half life не долго осталось
Спасибо что в роликах будет присутствовать "С"
Как на счет рапознование обекта на фото, выделить контур точками, только не юзая side либов, только хардкор, для начала как я понял, нужно открыть фото в rb, и затем декодировать данные, но во как сделать это(это для получения rgb цветов), затем определить объект на фото(само собой пк не будет знать где что, по этому придется писать нейроную сеть)), и сделать вокруг него точки, дабы работать с ним дальше.
один из простых вариантов до которого я додумался это вот это, так я ответил сам себе на стаке)
The contour of the images is almost everywhere the same color(in my case), you can check the matches for x and y to find the same color, will it? and if we admit suddenly on x or y coordinates, the main contour color coincides, then you can add it, then check what comes out of it, and so on, change, I like hardcore)
also you can just delete background ))))))))
also if have many object on image, you can specify where close located your object in pixel, then with pil, you can start from there!
суть в том, чтобы чекать одинаковые rgb данные с опред точки на картинке, затем пихать там в словарь или тд, затем на следующей точки тоже самое, затем чекать, это человек нет? то есть сделать небольшое подобие человека, его контур , из rgb цветов или просто из точек, то есть параметры человека 90 60 90)) как тебе такое говно)) завтра буду делать, что получиться скину)
Ну как там эксперимент?
а можно ещё две части добавить?
1) поколения в виде нескольких списков -- свежие объекты удаляются чаще, поэтому заводим несколько списков объектов для сборки, и каждый последующий список обрабатываем в две раза реже чем предыдущий
2) интеграция с С++, как прописать выделение памяти в отдельном сегменте данных, и сборку мусора? (и сделать для него mmap на файл, такой типа слой персистентности для объектной БД)
Как изучается программирование?
Чётко, пили такие серии дальше 👍
чуваааак, я не могу читать твой код не потому что боюсь, а потому что пздц как мелко ! мало того что шрифт в ide мелкий, так ты еще и не весь экран используешь для отображения... эта голубая рамка конечно смотрится безумно красиво (нет), но она съедает полезное пространство монитора и твое видео можно смотреть только на 40" телевизоре... сделай пожалуйста что-нибудь с этим, если ты показываешь код, то желательно что бы его можно было увидеть
он же дропнул код на github.Че там не прочитать?
Прям на день рождения вышел видос.
Предлагаю на Си. т.к. он "простой" и дубовый.Спасибо за видео!
Кстати, Вин, что можешь сказать про bool в С? Я про то стоит ли юзать stdbool.h или вместо этого брать unsigned char как в этом видео?
Вопрос. А функция objectPrint(...) чисто для самой себя написана. Просто она ни откуда не вызывается и получается бездействует или я чет не допираю?
Thank you for your video. Go next assembly:3
Автор, подскажи что за динамические классы в C++? Я тут прокуриваю тему и чет не могу ничего найти по этому.
Спасибо мужик, за контент!!!!!!
С меня лайк и подписка) с тебя больше практики на Си
Офигенно! Когда то и сам такое сделаю :)
Сделай пожалуйста видео с объяснением зачем нужен union. Я прочел о нем в книге но не понял зачем он нужен.
Чтобы иметь возможность рассматривать один и тот же участок памяти как разные структуры. И эта фитча поддерживается на уровне ЯП.
GC это прежде всего язык, который поддерживает GC. Так что видео стоило бы назвать "создание языка с garbage collector"
Замечательное видео. Спасибо.
Зачем stack size как отдельное свойство? Разве его нельзя посчитать из элементов в стеке?
Привет Winderton. Какую книгу рекомендуешь читать, изучения языка программирование С++ ? Я студент первого курса, учим С++ , но из слов учителей мне что-то трудно понять что нибудь , но я бы хотел еще самостоятельно учить С++ , пока только видео уроки смотрю. И тут я наткнулся на тебя, и понял, что ты тот человек, который точно разбирается в С++.
- Я б хотел совет от тебя, и хорошую книгу для изучения С++.... ( Русско язычный )
- За ранее Спасибо.
Класс, спасибо тебе!
Сидел на стриме у тебя, ты попросил активности в коменты. Вот она) а вообще посмотрел этот видос пока спал придя из унимвера))))видимо надо еще разок и не один посмотреть... идея топ, буду ждать еще! За е$#@ый Си, который я ненавидел всей душой, котрый приносит столько боли моей жопе отдельное СПАСИБО! (Не рофл)
java интересна конечно же, но C и C++ все же лучше и весьма сложней, поэтому и интересней
А вот кстати ребзя, такой вопрос в плане нейминга на чистом С(не С++), то что лучше юзать по вашему, ну или что ВЫ предпочитаете юзать: кэмелкейс и структуры с большой буквы, венгерскую нотацию, нижние подчёркивание между словами или что-то ещё?
А почему все функций void?
Информативно и пиздато. 12/10
Я не очень понял, в функции mark все равно осталась рекурсия. При достаточно хреновом дереве объектов все равно будет оверфлоу. О чем тогда была речь когда ты говорил про рекурсию в mark?
Как не проораться с шутки про ООП на лоу-левеле?)
Привет ! Куда написать по поводу персоналки ?))
Спасибо
Шикарное видео. С меня лайк и подписка
как раз не первый год думаю за изучение СИ с целью трудоустройства по нему, но вакансий не видно. Те что видел, нужны тех.обр.
Есть варианты где можн устроиться не профи по Си?
Конечно с момента релиза прошло 4 года, но круто было бы по мне, покрутить кишочки байтам, имею виду написания чего либо используя бинарных операторов
Про язык программирования - го FASM
А можно написать свой gc и для java?