Comments 18
А вы хотя-бы понимаете каждый файл который выдал вам AI? Оно делает ошибки и в линкер скриптах и в стартапе, и в других вещах. Если вы этого не понимаете, вы пропустите его ошибки.
Пожалуйста, исправьте ошибку в заголовке.
Выглядит как дешевая и бесполезная информация. Лучше зайти на гитхаб и почитать исходники реальных операционных систем. Если хочется использовать ИИ - можно попросить ИИ объяснить существующий код. Набор каких-то непонятных фактов и рекомендаций от человека, делающего что-то впервые. Какая от этого польза? Очередной мусор. Фу.
Да боже, вас кто-то заставляет читать? Человек поделился опытом, в чём проблема?
Проблема в том, что с ростом количества таких статей падает общее качество материалов. Труднее становится найти качественные и интересные материалы. затем приходят следующие авторы и снова гонят нейрослоп.
У статей есть типы и у этой статьи тип - мнение. Это не гайд и не рассказ о технологиях. Мнение всегда субъективно.
Я честно говорю что писал по инструкции ИИ, генерировал только файлы для сборки, а остальной код писал преимущественно сам. При этом я не продвигаю такое использование нейросетей, а показываю к чему это приводит. Думаю некоторым людям нужна такая демонстрация, чтобы перейти к нормальному, качественному обучению и не доверять нейросетям.
Было бы очень славно, если бы вы читали сначала вступление и пометки которые я оставил. Может быть вы тогда поняли что я написал эту статью для определенной аудитории.
Дело в том, что я почитал вступление, но не нашел выводов. Так какой вывод то?
В другом комментарии выпишите, что вы ожидали поддержку и сопереживание. Возможно, вы ошиблись ресурсом.
Вывод тут в том что информация найденная тобой ценнее инфы выданной нейросетью и эта мысль проходит через всю статью достаточно понятным языком. Суть в том, чтобы читатель понял это сам, я только подталкиваю. Смысл мне писать очевидное "Вывод: не используй нейросети"?
Про ресурс возможно вы и правы, но если мне позволяют написать свое мнение подчеркнув что это мнение, то почему бы этим правом не воспользоваться? На этом сайте не только гайды и документации, но и опыт других людей, их мнения и рассуждения. Разве не хорошо когда сайт предлагает разный контент на выбор, чтобы пользователь всегда мог почитать то, что его заинтересует? Я бы еще понял, если бы написал что-то выходящее за рамки тематики сайта, но я написал про IT, про то как я двигаюсь по этому пути, рассуждаю и делаю ошибки.
Я не жалею что написал этот пост, жаль только что карма теперь в нуле, после нескольких месяцев пробивания сюда
Теперь так может каждый - по этому ценность такой информации равна нулю. Когда раньше писал сам и разбирался с нуля сам - лучше в голове держалось. Сейчас вроде и понял, если что не понятно - спросил и вроде понял. Но через пару-тройку месяцев уже как будто это было не с тобой...
Я так понимаю, речь идёт об этом проекте OS. Ну что же, автору предстоит узнать ещё много о языке С. Например, что такое выход за границу буфера.
void terminal_write_hex(uint64_t hex_num) {
uint64_t index_buffer = 0;
char buffer[sizeof(uint64_t)];
if (hex_num == 0x0) {
terminal_write("0x0");
return;
}
terminal_write("0x");
while (hex_num > 0) {
uint64_t digit = hex_num % 16;
if (digit >= 10) {
digit = digit - 10;
buffer[index_buffer] = 'A'+digit;
}else {
buffer[index_buffer] = '0' + digit;
}
hex_num = hex_num / 16;
index_buffer++;
}
.....Какой милый баг. Обратите внимание на размер буфера. Мда, интересные времена "безопасного ПО" настают. Простите за едкость комментария, но не удержался, увидев проект автора.
Наш проект — это платформа для обеспечения и сохранения безопасности информации в цифровой среде, а также для развития независимой IT-экосистемы.
Мы создаём комплекс программного обеспечения, ориентированный на защиту данных, открытость технологий и поддержку русскоязычного IT-сообщества.
P.S. Приходите узнать про нормальную разработку безопасного, надёжного ПО.
Ну хз, давным давно лет 20 назад, когда я этим интересовался, я на асме писал свое ядро начиная с инициализации прерываний, управлением флоповодом, чтения секторов с дискеты, перевод процессора в 32 битный режим, инициализация ascii и т.д вот это интересно, а не взять готовое и что то там слинковать, не понимая как работает железо
uint64_t kstrncmp(char *str1, char *str2, uint64_t len){
uint64_t index_str = 0;
uint64_t different_char = 0;
while (index_str < len) {
if (str1[index_str] != str2[index_str]) {
different_char++;
}
index_str++;
}
return different_char;
}
Вы все такие умные и профессиональные, но не поняли суть статьи. Это демонстрация ситуации, когда человек полагается на ии, вместо глубокого изучения технологий. Суть в том, что я осознал проблему, начал изучать архитектуру компьютеров и язык Си. Это не гайд, так делать не надо, это мой личный путь от программиста который свернул не туда и возвращается на правильный путь.
Вы вместо того чтобы разделить со мной эти переживания, глумитесь выставляя себя более хорошими программистами. Я знаю что то что я написал даже ядром назвать сложно, что тут куча ошибок, что я плохо знаю язык C, но мне хватило сил это заметить и начать разбираться в этой теме. Эта статья предназначена для людей которые совершили такую же ошибку как и я.
Очень грустно наблюдать за тем, что люди не выкупили того что я не продвигаю такое написание кода, грустно что вместо поддержки вы пытаетесь задеть. Я не знаю какую цель вы преследуете, может хотите меньше конкуренции или поднять свою самооценку за счет более слабых программистов. Знайте что мне не стыдно за мой путь. Лучше совершить кучу ошибок и понять как все работает, чем сидеть и ничего не делать
Автор спасибо, вы сделали правильно, что поняли, что шишки приходят через собственное включение в ситуацию, сразу определили, что вам интересно и по цепочке появляющихся вопросов как я понял вы сразу смотрите фундаментальные пробелы(то что вы это поняли это условно мотивация для получения знаний). то, что сейчас так у вас на локальном компе нормальная ситуация, при определенном подходе, и желании освоитесь и перепишете потом, городите ошибки, за вас никто их не сделает, главное потом откалиброваться и устаканиться на правильных практиках после заполнения пробелов. можете так же начать игры делать, сначала 2д(локально), потом 3д(локально). там будет(локально) вот прям вообще наглядно. не забывайте про флаги сборки и санитайзерах, инструментарий - валгринд, дебагер, иногда годболт удобно с включенным PVS, иногда яву можно подключать для прототипа, потом и на С++ можно перейти или Раст, если вам действительно интересен С, потом вы столкнотёсь с некоторыми особенностями просто.
отдельно можно добавить, надо где-то на старте помимо желаний, делать практику, надо где-то отыскать тонны задач(задачи на последовательности, на хитрый счет какой-нибудь, на контейнеры(это отдельный челенж например делаем задачи(100 задач на каждом контейнере) и всё на ифах как пример, фиксируем ошибки логику, упор на привыкание к контейнерам), отдельно на деревья и так далее ), и в расслабленном состоянии там решать их так как вам хочется(чисто логически не подглядывая), потом нормально(типо попытаться понять), ну и так далее.
путь долгий, желаю вам успехов.
Операционная Система на C без знаний C