Я меня разница в Python и C Python - Вы пилот гражданской авиации, вас привезли на автобусе к современному самолету типа Боинг, самолет уже подготовлен техниками и вам надо только сеть в кресло пилота, ввести полетное задание в бортовой компьютер, который рассчитает маршрут и топливо. Дальше только провести чек-лит и совершить рейс в автоматическом режиме автопилота. СИ - вы приходите на взлетную полосу, там аккуратно сложены запчасти самолета, инструменты и чертеж сборки. Вам предстоит самостоятельно собрать самолет и полететь. Assembler - тоже самое что и СИ, только вместо запчастей у вас есть только металлы, дерево и пластик, хим. реактивы для создания запчастей и инструментов, книга "Основы современной физики и химии", а так же бочки сырой нефти для перегона в керосин. Разве что в отличии от авиации, в программировании количество попыток взлетов и посадок у вас не ограничено.
И тут в полёте в автоматическом режиме, происходит BSOD. И орать некуда: мая дай, мая дай. Но в своём ускоренном полёте к встрече с планетой, вы видите в иллюминатор, какой-то самолёт футуристического вида, пронёсшийся мимо вас на гиперзвуке с надписью СИЮНИКС.
Я, как разработчик на си, могут сказать, что в си есть все, просто это не стандартные библиотеки в коробке, а отдельные проекты с большой вариативностью. Так как в си мало кто погружается и у него разнообразное применение, то нету хайпа отдельных фреймворков, как раст или джанго на питоне. Не надо говорить, что все придется писать с нуля, вся база ужа давно написана.
Здравствуйте, Я начинающий разработчик на C. Выучить базу языка не самая главная проблема, как мне кажется. Гораздо сложнее - это применить его в какой-то отрасли, вроде нетворкинга, или чего-то подобного. Подскажите, как профессионал, откуда нужно черпать информацию, и в каком порядке? Может есть литература/статьи и т.д.? Не сочтите за наглость, но самому тут двигаться достаточно трудно, хотя какой-никакой техническо-эникейский бэкграунд имеется;) Буду рад обратной связи.
@@odiiibo, смотря какая база данных нужна, возможно уже все написано, надо искать. А так, если нужно что-то специфичное, то можно найти на обычных сайтах с вакансиями, мы не прячемся от всех на отдельных сайтах или еще где 😅
@@maroo1949, если уже есть база, то лучший способ практика. Да, будет сложно, информация не так хорошо описана на всяких популярных сайтах. Надо будет читать мануалы и прочую литературу. На мой взгляд, штудировать ее не надо, а надо применять на практике. Может будет звучать попсово, но пет проекты будут хорошим решением. Можно будет найти уже реализованное что-то на гитхабе и разобраться в нем или опираясь на это написать свое. Все зависит от желания куда хочется развиваться. Как я писал, си очень вариативен, поэтому сразу изучить все не получится. Суммирую, придумываешь себе проблему и решаешь ее на практике, а потом смотришь как сделали другие. Программирование - это про решение проблем. Надеюсь хоть чем-то помог.
@@xcxc-iu3rb питон написан на си, если человек узнает каким образом написан питон (то есть хорошо знает си), то он будет увлечен на всю жизнь так как ему откроется много возможностей, сможет написать любой яп
7:10 - Открыть тебе один секрет? Ты памятью можешь управлять вручную во всех императивных языках. То есть С, С++, Pascal, Object Pascal, ваш любимый Rust. А то что называется mapping - это реализуется через системные функции ядра ОС (В Windows это Kernel32.dll) для управления виртуальной памятью. Именно через них работает ваш malloc, realloc, alloc и free, и выделяется память ещё в нескольких видах. Если их внимательно читать, то напрочь забудешь о стандартных функциях динамической памяти и переключишься только на VirtualAlloc и VirtualFree, там же узнаешь о AWE (Address Windowing Extensions) и функциях Heap, позволяющих управлять собственной динамической кучей, не ограничивая себя стандартной в 1 МБ. Там такие возможности, что за голову схватишься, почему тебе об этом ещё никто не написал раньше!
Вопрос "почему все начали учить Си" в видео не отвечен. Просто объясняется почему Си - это основа и показано, что в гите он достаточно используется. Но интересно может быть с точки зрения истории.
Про что видео? Бла бла бла. Почему си возвращается? Да потому что вокруг нас становится дофига микроконтроллеров, которые программируются на си :) потому что это не монструозная хрень которая сожрёт все ресурсы которых нету в контроллере. По сути нынешние контроллеры это компьютеры времен восхождения си.
То вы готовить не умеете :) Правильно приготовленные ключи компилятора С++ дают размер кода байт в байт с оригинальным кодом С. Но читать все легче - шаблончики, классики. Я делал для ардуинки - переписывал С в С++.
@@ainsoveternal1272 ассемблер - это уникальная фишка семейства процов, и, даже, конкретной модели. Писать программу под 3 разных семейства, например, это уже перебор. На одно семейство уходит 3-5 лет тренировок человека. И то, если у вас была практика на 8086, то под i5 сегодня, вам занова учиться.
@@alexzk3 а что за цвета у тебя на аватарке? Давай в фортэцю, че на Ютубе сидишь? Твои братья в тебе нуждаются, последняя партия вот вчера домой поехала (по частям).
Главная боль наСИльника это не указатели, нет.... Главная боль наСИльника это неопределённое поведение в зависимости от реализации компилятора и стандартной библиотеки. Об этом не принято говорить, но существует настолько много способов выстрелить себе в ногу, что отладка всей этой красоты занимает непозволительно большое время и стоит изрядного количества нервов.
Это синдром говнокодера - компилятор ошибается, если автор кода творит всякую дичь вместо использования древнего как копролит шаблона проектирования. К примеру проводит выходной контроль результата несущего ошибки вместо того чтобы проводить входной контроль операндов и исключить возникновение ошибки...
@@101picofarad, ох, помню, как жопы-то горели при переходе с MSVS 6.0 на более свежие компиляторы того же MS. Не говоря уже о gnu. Да, говнокод. Но писателей на MSVS 6.0 было очень много. И кода они нарожали тоже много. И он ведь работал... А потом р-раз - и даже компилироваться перестал.
Папа может в Си, папа-папа может в Си. Пока это так - всё в порядке на Руси. Папа может в Си, папа-папа может в Си. Дот нет или Джава? Нетушки, мерси. Папа может в Си, папа-папа может в Си. Пайтон или Руби? Господи, спаси! Папа может в Си, папа-папа может в Си. Пока это так - всё в порядке на Руси.
9:00 это не "количество контрибьюций по языкам",то "тренды увеличения кол-ва контрибьютеров", грубо говоря отображение текущей моды. Если посмотреть по количеству кода и контрибуций по языкам программирования, то последние 10 лет в неизменно на первых двух местах JS и PHP (языки разметки, запросов и пр. Не учитываем)
@@MrLotrusлибы для питона написаны на питоне, и это в принципе так для всех языков! Иначе каким хреном они бы работали в питоновском интерпретаторе? Разве что отдельные либы такие как numpy, tensorflow используют Си для более быстрых счётных операций, но там это взаимодействие происходит через юникс сокеты, а не прям хрясь бле и откуда не возьмись среди питон кода взялся код на Си. Если нет компетенции пороть что ни поподя, тогда лучше промолчать…
Потому что язык Си (высокоуровневый язык ассемблера) это основа всех основ. Язык Си будет существовать и оставаться актуальным до тех пор, пока существует хотя бы один процессор или микроконтроллер.
Строго говоря, всё это не так. Если Си - основа всех языков, то как могут существовать языки, появившиеся до Си, т.е. до 1972 года? Си далеко не сразу стал популярным после его изобретения. Си не является ассемблером, поскольку это язык совсем другого типа. Ассемблер - низкоуровневый язык. Си считается высокоуровневым (по традиционной классификации языков)
Низкоуровневый код под железо можно писать на ассемблере и си, других вариантов нет. Но на си удобнее и не хуже по оптимальности. А вот когда все драйвера написаны, ОС запущена - пишите дальше на чем хотите. 😊 Наша работа закончена.
"Си это всё еще колесо" -- максимально простое и всем понятное колесо, без которого никуда. На Python можно написать что угодно. На C можно написать Python
Ну да. Этим я и занимаюсь. Каждый понедельник я начинаю с того, что пишу язык программирования. А в обед иду в поле, косой добываю зерно, перемалываю его в муку. Потом иду за водой и выпекаю хлеб. Потом сажусь в самолёт и лечу на остров обжаривать кофейные зёрна. По дороге успеваю подоить корову и приготовить сливки. Чизкейк и кофе что может быть лучше в понедельник?
Как знающий ассемблер, могу сказать, что Си сильно упрощает жизнь в написании кода. После асмы код пишется быстрей и при этом в производительности потерь крайне мало. Ложка дегтя: надо настраивать компилятор, чтобы он не пытался оптимизировать код там, где это не надо. Если тот же дальний прыжок заменится ближним, будет очень весело
Недостаточно просто выучить язык. Он же не в вакууме работает. Нужно также изучить стандартную библиотеку, API операционной системы, самые используемые библиотеки и фреймворки. Разобраться с компилятором и системой сборки, IDE. Мне еще когда-то сильно помогла книга "Веревка достаточной длины, чтобы выстрелить себе в ногу".
@@Torn_Shoe вот если честно, крутое развадилово было с этим пайтоном, школы столько ребят страждущих нагнали, но по факту пайтом бесполезный язык, ну если вдоваться, и самое смешно, только пайтон может на начальном этапе реально прям почувствовать себя гуру программирования, другие языки к сожалению не такие, или к счастью)
BCPL (Basic Combined Programming Language) - язык программирования, разработанный Мартином Ричардсом в 1966 году в Кембриджском университете. Изначально он предназначался для написания компиляторов для других языков. Сейчас BCPL практически не используется, но в своё время он был очень важен из-за хорошей портируемости. Урезанная версия языка с несколько изменённым синтаксисом стала языком программирования B, который оказал сильное влияние на язык программирования Си. По этой причине программисты в шутку расшифровывали название BCPL как Before C Programming Language («язык программирования, появившийся до языка Си»)[1].
@@wasting_the_dawn Я в курсе. Я читал интервью Кена Томпсона, где он упоминал это. Речь о синтаксисе языка. Синтаксис языка B, созданный Кеном Томпсоном, очевидно является источником синтаксиса языка C. Синтаксис B значительно ближе к синтаксису C, чего не скажешь о BCPL.
источником всего является Ассемблер, а дальше уже каждый кто как мог экспериментировал:"АЛГОЛ 60 был одним из первых языков, реализующих определения функций (которые можно было вызывать рекурсивно). Определения функций ALGOL 60 могли быть вложены друг в друга (что впервые было введено в любом языке программирования) с лексической областью действия . Он породил множество других языков, включая CPL , PL /I , Simula , BCPL , B , Pascal и C. "
Спасибо за твое мотивационное видео лет 5 или 6 назад. Не помню, вроде писал уже. Заехал в 40+ в айти. Хоть я тебя и не смотрю больше, но именно твое видео было тем, что меня сподвигло тогда задуматься о том, чтобы сменить профессию будучи 40+. Просто тогда не было еще всех этих видео, войти в айти в 30+, в 40+ и т.д., если и были, то очень мало. Сейчас уже это до тошноты, но тогда это было лично для меня неким откровением.
Ответ прост - не становился он снова популярным, он всегда держался на одной планке, просто что-то взлетало и потом падало, а что-то взлетало и оставалось выше Си, сейчас у Си просто своя ниша, которую он делит с С++
Ну это когда придумают новую архитектуру, например на спиновой памяти или памяти на ку-битах. Тогда понадобится какая-то новая модификация ассемблера. Запилят прослойку в ОС, и все дальше продолжится в том же духе. Все высокоуровневые языки никуда не денутся
Писал и на C и на Java. Java позволяет писать более качественный код неопытным разработчикам, за счет средств самого языка. А это и требуется в данный момент большим компаниям: нанять мидлов с пару лет опыта, чем искать C-синьоров с бОльшим количеством лет опыта (и за бОльшую з/п)
Всё гениальное - ПРОСТОЕ. Автор абсолютно прав, что в борьбе за абстракциями люди начали терять фундамент под ногами. А эти "прослойки" во всём.... С 1985 года для меня Си был, и остаётся самым любимым языком программирования.
Автор, видимо (как и вы) ни дня не проработал в интерпрайзе и не учавствовал в разработке коммерческих продуктов хотя бы с тысячами пользователей (молчу про десятки и сотни тысяч). Чего далеко ходить - вот Ютуб тот же. Продукты такого уроня невозможно создать ни низкоуровневых языках программирования и используя стек технологий 80-х. Это факт. У каждого интсрумента есть своя ниша. Где-то "абстрацкции" не нужны, а где-то иначе просто никак.
слушал я тебя года три назад и сейчас слушаю какой смысл в этой трепотне ты же ничего полезного не даёшь цель победить себя прошлого в скороговорке ты же не пытаешься донести мысль, что то полезное вложить в слушателя, а соревнуешься с собой в количестве слов в минуту, ты сам то послушай свои бредни с точки зрения людей осваивающих программирование и что ты , как думаешь полезного до нас доносишь - пустобрёх ты вот и всё на что тянешь
А я думал, что Си становится популярным из-за развития всяких мелких устройств, для которых нужны микропрограммы, где кроме Си и ассемблера навряд ли что-то подойдёт.
Всё просто си, был первой попыткой сделать ассемблер, удобным для понимания и написание человеком, и при этом оставлять все возможности машинного кода! А за ним пошли другие языки, бейсик и паскаль, и потом всё другие, вся разница это сколько возможностей остояться в обмен на удобство, удобно написать напечатай ответ на экран, чем расписывать все действия для этого которых очень много! Но такой подробный план действий можно сделать очень быстрым! А высоко уровеньие языки так не могут! Что бы посчитать 1+1 им нужно сходить в библиотеку и проверить что такое + это просто для понимания, да быстро возьми конфету на 2 полке шкафа в 5 с права чашке, а так долго будет:" найди конфету в шкафу и возьми" пока ты нашел её уже взяли и съели
не важно на чём писать! важно ЧТО писать! если делать "бизнес", то есть создавать кучу однообразных "проектов", то выбирается самый передовой в области "проектов" данного типа "инструмент" ПРОЩЕ - это лучший подход. усложнять не надо.
все просто - почему! С развитием Интернета вещей (IoT) и встроенных устройств "C" является основным языком программирования микроконтроллеров и систем с ограниченными ресурсами памяти, процессора и хранения программ. Так что взлет еще будет продолжаться в след десятилетия скорее всего.
Язык C для талантливых творцов, которые могут создать востребованный продукт. Бизнесу для автоматизации внутренних процессов нужна скорость разработки, которую обеспечивают только фреймворки. Нормальный бизнес умеет считать и распределять деньги. Никому в здравом уме не уперся тру-программист, который будет пару лет писать на С, изобретая велосипед. Им нужен спец со знанием основных механизмов фреймфорка, чтобы закрыть задачу на пару месяцев. Поэтому мне не очень верится, что все начали учить С. Он подойдёт для ознакомления или старта на факультете в университете, но не как массовая среда разработки для реальных заказчиков.
Читал я одну книгу там было сказано программирование держится на 4 вещах. 1 ввод данных 2 вывод на экран. 3 цикл 4 ветвление. Все зная это ты можешь писать программы.
Под капотом армяне в нарды играют 😂😂 На Python настоящие программисты дела делают, пока ты изучаешь C++ ради изучения C++ 👎 Пока до реальных задач не дорастёшь НЕ ПОЙМЁШЬ
@@SalatikInMyHead Ненастоящие программисты пишут API на С, CUDA, С++ и используют Питон как скриптовую склейку, что-бы настоящие программисты доросшие до РЕАЛЬНЫХ задач дела свои на них делали.
@@SalatikInMyHead я знаю С++ на определенном уровне, по крайней мере могу: написать API и прикрутить его к Питону, кодить в Unreal Engine, написать CUDA код, посмотреть исходники CPython и понять как работает PyObject когда необходимо. Расскажи пожалуйста до каких таких реальных задач ты дорос, что тебе не нужны основы?
Все от задачи зависит. Если на Питоне надо дернуть библиотеку с ГитХаба, передать ей пару параметров, в ответ получить Джейсон и вывести его в нужном формате юзверю, то все советы по сям и асме засуньте поглубже ))
Я, бросивший программирование в универе из-за заморочек в работе указателей и памяти: - существую.... Winderton: - Вся соль Си - это указатели. Я: - Возрождение!
В чем вообще смысл делать такое видео? ты просто придумал инфу что бы вставить рекламу в середину ролика и никак не подтвердил свои аргументы, еще и накидал каких то непонятных тезисов про семью и программирование.
Нечестно луа считать клеем, а питон нет. Питон точно также, как и луа всего лишь небольшая прокладка между сишными библиотеками и пользователем. Раст я не видел еще (не заслужил он моего внимания пока), но если считать его языком программирования, на котором можно написать юникс (раз уж его пустили в ядро линкуса, то чё бы и нет), то между ним и С нет ничего, кроме "клея" и метаязыков. Кстати, на С можно писать и UI не (сильно) сложнее, чем на чем угодно еще. Есть же GTK :) А вообще, каждой задаче по инструменту. Новые языки будут всегда выбивать больше коммитов, чем старые, потому что для старых все очевидное необходимое уже написано, протестировано в использовании годами и не требует частого обновления. С другой стороны, любой новый язык в рамках одной парадигмы после третьего освоенного изучается за выходные до стадии джуна и если им пользоваться, то левелапы будут каждый день. Да, если решите изучить лисп после питона, тайпскрипта и луа -- у вас будут некоторые сложности (учите хаскель, хотя бы в глазах рябить не будет), но тут не с языком будут проблемы, а с рекурсией. А эти милениалы вообще могут пользоваться одними и теми же фреймворками НЕДЕЛЯМИ (ужас-то какой!). Так что бумеры (я тоже) со своими фортранами и си просто окаменелости, не способные написать новый фреймворк сегодня вечером, чтобы завтра им начать пользоваться всю оставшуюся неделю. (не моя шутка юмора, но очень хорошо объясняет почему на модных языках столько коммитов, в статистики качество и обоснованность необходимости этих коммитов не показана)
Хорошее и правильное видео, доброе) Теперь ещё всем бы понять что у нас остаётся только Си и Linux для высоконагруженных и параллельных вычислений, и будут все счастливы. Остальные языки и инструменты должны применяться только там где на них результат получается скорее и работает сносно, без глюков. Кстати многие программисты С++ довольно посредственно кодят на чистом С, из практики. И это печально.
О, лайк за Tsoding. Прикольно смотреть, как он на Си делает всякие штуки, которые нынешние программисты сделали бы по-быстрому на каком-нибудь пайтоне.
Указатели это деталь языка. Главное в отличие от Java и пр. это генерация нативного кода процессора. Вкупе с оптимизирующими компиляторами с 50+ летней историей развития это дает максимальную эффективность кода.
Мой первый язык программирования. Учил ещё в школе на факультативе. в далёком 1992 году. Тогда после УКНЦ МС 511 IBM был словно мерседес в мире IT. Хорошие были времена.
потому что Си это база и без него не будет никаких пайтонов... да и если ты программист то как ты не любишь УКАЗАТЕЛИ? хотя наверное это глупый вопрос в 2024 году где каждый у кого есть пальцы может открыть пайтон и через час уже наваять прогу не зная вообще ничего ни про что
Всегда думал что это бред, и сейчас думаю также, там просто иногда появляются английские слова. И всё пишется на английском, но по большой части там всякие .;!(){}[] И сокращения. Возможно вы имели ввиду надо уметь печатать на английском?
@@slavaviktorov6053 Си как базовый язык можно изучить на начальном уровне, после этого любой язык освоить намного проще, поскольку большинство создателей языков программирования брали за базу Си, поэтому они называются си-подобные. А чтобы писать в продакшен на любом языке нужно всегда находиться в состоянии обучения.
У меня во дворе много людей маргинального уклада, тех, кто долгие срока мотал, в том числе наркоманов той или иной степени вовлеченност и т.д. Ну и короче общаюсь я с типом, который сидел много лет, выглядит как бандит, общается прям с лютой зек-харизмой, лицо впавшее такое, еще и в тот момент он был под чем-то стимилирующим. И задвигает, мол, я короче тоже думаю пойти на айтишника учиться. А ему лет 45-50 на вид. И вид реально пересидка со всеми манерами )) Я прям вот в этот момент явственно ощутил до чего весь этот хайп вокруг айтишки довел наш русский народ)))
Ребята, подскажите пожалуйста, что нужно для изучения Си, было уже дело с ним, но это было давно и неправда. С чего стоит начать, подскажите какие нибудь книги, гайды на ютубе и прочее. Конкретно хотелось бы писать микроконтроллеры. Но для этого нужно знать не ток схемотеху( с этим проблем нет). А именно по языку что и конкретно. Скажем так, скажите с каких азов начать( мне лишь вспомнить, быстро освоюсь) и чем закончить, чтобы уже делать проект, писать прошивки и прочее. Заранее благодарен.
@@a.krugliak а на русском есть, или только англ вариант, проблем читать и на англе нет так таковой, но просто если рус и англ версия без отличий, то лучше рус версию
поддерживаю уже написанный ответ. книга Кернигана и Ричи - это книга всех основ. А вот читать руководство по микроконтроллеру с целью изучения языка, затея слабая
Ну не знаю, указатели.. сложно. После питона мой второй язык был С. Сперва, я конечно офигел, но спустя месяца полтора уже не чувствовал проблем когда указатель указывал на другой указатель. С правильной организацией выделения памяти, особенно в структурах, бывали непонятки по скорости работы.. Но это как-то решалось выбором более плоских конструкций. Си сам по себе простой. И как тут правильно сказал человек, самая жесть в си это компиляторы... Собственно, именно из-за этого ЧУДОВИЩНОГО гемора я и свернул свой путь в сторону "чего по-проще". Но, всем советую попробовать си. Это очень весёлый процесс и ни с чем не сравнимый каЕф, когда твой экстеншен для питона взлетает и фигачит именно так как тебе надо на огроменной скорости 😊 Память только освобождать не забудь ;) а то прольётся 😂
Скажем так, компиляторы - это не так уж и ужасно, если не пытаться объять необъятное и впихнуть невпихуемое. Просто нужно определиться сначала с платформой, под которую пишешь, и только потом выбрать определённый компилятор, которым будешь пользоваться. Прочитать по нему мануал за день-два, настроить IDE/среду - и вуаля. Дальше, если не распылять усилия в попытке охватить весь зоопарк (а реально это нахер никому не упёрлось!), никаких проблем, пиши себе и пиши. Тут нужно просто научится говорить себе "Я никогда не буду портировать этот хэллоуворлд на вон ту давно умершую платформу 20-тилетней давности!" 😄
@@1kvolt1978 верно. Но ещё бывают случаи когда для проекта нужная какая-то либа и вот она на хабе - бери и собирай. А вот ещё одна, с похожим функционалом.. И ещё и еще.. И вот тут начинаются экзерсисы. То не собирается, потому что зависимость протухла, а вон то, потому что ты сам дурак и не знаешь что это за макрос такой и почему он всё ломает нафик. Там под другую версию, тут пятилетней давности и под текущем не работает. Ты открываешь make заново с завидной регулярностью и с таких неожиданных сторон, что становится страшно :) И в такие моменты, я как ненастоящий сварщик, начинаю посматривать в сторону готовых бинарников под другой язык... И думаю, многие меня поймут.
@@1kvolt1978 да, но масштаб сложности другой. Скажем так, на порядок. Типа мы переехали со второго питона на третий? Ок, я отшиб себе руки всего раз 5-7, и то, обо всякие пустяки, которые (каюсь) прямо в юзер пакете поправлял вручную и ехал дальше ;) Или там, найти нужный пакетик, скачать и линку исправить. Полчаса возни максимум. Джаваскрипт старый попался? Переделал импорты, чутка подшаманил в классе вызова - уаля ;). С си, так легко не отделаться... Если встрял, то будь готов к выращиванию запасного мозга и покраснению глаз на долгие (дни?) 😂. Понимаю, сейчас придёт умный человек, и скажет что я просто лох и не умею.. И я соглашусь :) Там уметь надо. И так уметь, что процесс сборки норовит превратиться в отдельный проект со своей документацией :) А ещё, мне вспоминаются слова Линуса, когда он комментировал очередную версию (кажется 4.5) gcc. В свойственной ему манере, он сказал, что мы не будем это использовать, потому что эта штука так оптимизирует код, что мы не можем сказать потом как он работает. Если автор гитхаба не знает, то я тут вообще в сторонке на башике всякие глупости лучше поковыряю ;) Не знаю чем история закончилась, но весьма иллюстративно это.
@@picblade Ну как я и сказал изначально, если не пытаться объять необъятное, то многие проблемы перестают быть таковыми. Например, я для себя выбрал, что пишу под Вин 7 х64, на которой сижу. Выбрал компилятор и IDE - сначала это был Pelles C, потом я решил перейти на gcc + Notepad++. С Pelles C проблем вообще не было, работает всё "из коробки". Но у него слабая поддержка WinAPI, нет некоторых важных Direct X хедеров и либ. Поэтому я перешёл на gcc и Notepad++ в качестве IDE. Прочитал мануал за пару дней, написал себе батник для командной строки с нужными мне ключами. И всё, никакого больше геморроя. При этом перенос проектов из-под Pelles C в gcc не вызвал вообще никаких проблем, кроме правки нескольких имён нестандартных функций. Потому что и там, и там я писал под одну и ту же платформу. Естественно, не в последнюю очередь это потому, что я всеми силами стараюсь избегать тащить всякое непонятное говно с Гитхаба. :) Если и пользую сторонние библиотеки (чего тоже стараюсь избегать до последнего), то выбираю проверенные временем и практикой от серьёзных разработчиков, а не "зырь, чо накропал!" от неизвестного Васяна.
"если учишь rust ещ знаешь только rust, а если учишь C то знаешь все остальное". давайте тогда все дружно будем писать на машинном коде, тогда и ниче лишнего учить не надо будет.
Проснулся вчера, смотрю в окно - все Си учат. Зашел в интернет и там Си учат все. Чёрт, Джонни, они учат Си даже на деревьях! пысы: Си и плюсы учат по инерции, потому, что на них много всего написано и это нужно поддерживать допиливать, а не потому, что вау круто мощно. Ну, и он простой как два байта (не учитываю библиотеки, только сам язык).
Ты теперь тоже Сишник
Уже успел забыть :)
С реально тема, я его обожаю
А хочешь UI на ассемблере? посмотри на kolibrios
Ты тоже.
неееет😭😭😭😭
С
плюсы: можно написать всё.
минусы: нужно написать всё.
не " нужно написать всё" , а нужно подключить одну из тысяч готовых либ
@@moshamiracle это к плюсам относится
@@moshamiracle а можно создавать проекты с нуля и добиваться сверх скорости, создавать фичи и тому прочее.
Напишем всё, только деньги платите
@@matveykoval7154 Если бы можно было жить вечно... Можно было бы написать все. Я вот хочу написать свою ОС, но где взять время?
У всех языков есть свои плюсы, а у С++ их целых 2
а больше и нету
А у C# их вообще 4, хахаха
и 1000 минусов
@@Banka24 ну или двойное деление знака равно
@@PianoElipse нет, у C# это тоже 2 плюса, просто они ибуца.
Я меня разница в Python и C
Python - Вы пилот гражданской авиации, вас привезли на автобусе к современному самолету типа Боинг, самолет уже подготовлен техниками и вам надо только сеть в кресло пилота, ввести полетное задание в бортовой компьютер, который рассчитает маршрут и топливо. Дальше только провести чек-лит и совершить рейс в автоматическом режиме автопилота.
СИ - вы приходите на взлетную полосу, там аккуратно сложены запчасти самолета, инструменты и чертеж сборки. Вам предстоит самостоятельно собрать самолет и полететь.
Assembler - тоже самое что и СИ, только вместо запчастей у вас есть только металлы, дерево и пластик, хим. реактивы для создания запчастей и инструментов, книга "Основы современной физики и химии", а так же бочки сырой нефти для перегона в керосин.
Разве что в отличии от авиации, в программировании количество попыток взлетов и посадок у вас не ограничено.
И тут в полёте в автоматическом режиме, происходит BSOD. И орать некуда: мая дай, мая дай. Но в своём ускоренном полёте к встрече с планетой, вы видите в иллюминатор, какой-то самолёт футуристического вида, пронёсшийся мимо вас на гиперзвуке с надписью СИЮНИКС.
Python - вы пилот кукурузника АН-2
Транзистерной код
Воды тут столько, что всей африке хватило бы
жаль она цифровая
это же x ol i var
@@Alypsat_kz ;
Просто ролик про скилфектори
ну хватит уже
Я, как разработчик на си, могут сказать, что в си есть все, просто это не стандартные библиотеки в коробке, а отдельные проекты с большой вариативностью. Так как в си мало кто погружается и у него разнообразное применение, то нету хайпа отдельных фреймворков, как раст или джанго на питоне. Не надо говорить, что все придется писать с нуля, вся база ужа давно написана.
Здравствуйте, Я начинающий разработчик на C. Выучить базу языка не самая главная проблема, как мне кажется. Гораздо сложнее - это применить его в какой-то отрасли, вроде нетворкинга, или чего-то подобного. Подскажите, как профессионал, откуда нужно черпать информацию, и в каком порядке? Может есть литература/статьи и т.д.? Не сочтите за наглость, но самому тут двигаться достаточно трудно, хотя какой-никакой техническо-эникейский бэкграунд имеется;) Буду рад обратной связи.
@@odiiibo, смотря какая база данных нужна, возможно уже все написано, надо искать. А так, если нужно что-то специфичное, то можно найти на обычных сайтах с вакансиями, мы не прячемся от всех на отдельных сайтах или еще где 😅
@@maroo1949, если уже есть база, то лучший способ практика. Да, будет сложно, информация не так хорошо описана на всяких популярных сайтах. Надо будет читать мануалы и прочую литературу. На мой взгляд, штудировать ее не надо, а надо применять на практике. Может будет звучать попсово, но пет проекты будут хорошим решением. Можно будет найти уже реализованное что-то на гитхабе и разобраться в нем или опираясь на это написать свое. Все зависит от желания куда хочется развиваться. Как я писал, си очень вариативен, поэтому сразу изучить все не получится. Суммирую, придумываешь себе проблему и решаешь ее на практике, а потом смотришь как сделали другие. Программирование - это про решение проблем. Надеюсь хоть чем-то помог.
@@odiiibo sqlite написан на Си, postresql написан на Си, лучше покажите разработчиков не на Си которые могут написать СУБД
@@maroo1949 В книгах. ЦОС, FPGA, NoC, SoC, Критические системы (здесь же Ada SPARK)
"научите человека писать API на Python и вы займете его на весь день. Научите человека писать язык Python и вы займете его на всю жизнь"
"Научите человека писать язык Python"? Сам понял что написал?
@@xcxc-iu3rb питон написан на си, если человек узнает каким образом написан питон (то есть хорошо знает си), то он будет увлечен на всю жизнь так как ему откроется много возможностей, сможет написать любой яп
@@gitkrant и какая от этого практическая польза помимо "увлечён, возможности, сможет"?
@@gitkrant ну если уж на то пошло, то никто тебе не запрещает писать ЯП на питоне)
на всю жизнь - это потому что он с голода умрет?
7:10 - Открыть тебе один секрет? Ты памятью можешь управлять вручную во всех императивных языках. То есть С, С++, Pascal, Object Pascal, ваш любимый Rust. А то что называется mapping - это реализуется через системные функции ядра ОС (В Windows это Kernel32.dll) для управления виртуальной памятью. Именно через них работает ваш malloc, realloc, alloc и free, и выделяется память ещё в нескольких видах. Если их внимательно читать, то напрочь забудешь о стандартных функциях динамической памяти и переключишься только на VirtualAlloc и VirtualFree, там же узнаешь о AWE (Address Windowing Extensions) и функциях Heap, позволяющих управлять собственной динамической кучей, не ограничивая себя стандартной в 1 МБ. Там такие возможности, что за голову схватишься, почему тебе об этом ещё никто не написал раньше!
Вопрос "почему все начали учить Си" в видео не отвечен. Просто объясняется почему Си - это основа и показано, что в гите он достаточно используется. Но интересно может быть с точки зрения истории.
Потому что весь умный дом и робототехника, это си
@@serjioalvarezумный дом и робототехника заключаются вовсе не в программировании.
Си даёт возможность работать с любой периферией, как с файлом. В этом и есть суть указателей, на этом принципе линукс написан.
@@serjioalvarez при чём тут умный дом? на кой там си? для интересных багов?
Вопрос "не отвечен", потому что все не начали учить си. Обычный кликбейт. Да, так просто.
Про что видео? Бла бла бла. Почему си возвращается? Да потому что вокруг нас становится дофига микроконтроллеров, которые программируются на си :) потому что это не монструозная хрень которая сожрёт все ресурсы которых нету в контроллере. По сути нынешние контроллеры это компьютеры времен восхождения си.
То вы готовить не умеете :) Правильно приготовленные ключи компилятора С++ дают размер кода байт в байт с оригинальным кодом С. Но читать все легче - шаблончики, классики. Я делал для ардуинки - переписывал С в С++.
в таком ключе асм предпочтительнее выглядит ;)
@@ainsoveternal1272 ассемблер - это уникальная фишка семейства процов, и, даже, конкретной модели. Писать программу под 3 разных семейства, например, это уже перебор. На одно семейство уходит 3-5 лет тренировок человека. И то, если у вас была практика на 8086, то под i5 сегодня, вам занова учиться.
@@alexzk3 а что за цвета у тебя на аватарке? Давай в фортэцю, че на Ютубе сидишь? Твои братья в тебе нуждаются, последняя партия вот вчера домой поехала (по частям).
@@BigChiefWigglesа сам что не в окопе? Когда уже на сво, с пакетиком?
Главная боль наСИльника это не указатели, нет.... Главная боль наСИльника это неопределённое поведение в зависимости от реализации компилятора и стандартной библиотеки. Об этом не принято говорить, но существует настолько много способов выстрелить себе в ногу, что отладка всей этой красоты занимает непозволительно большое время и стоит изрядного количества нервов.
курнул чтоль, всё как в стандарте определено так и работает.
@@XpIOHdeJIb3000 не все так однозначно
на практике иногда компилятор нарушает стандарт, бывает иногда даже санитайзеры не помогают найти уб
@@vvairy3119 ни разу не сталкивался. То что компиляторы не знают фишки новых стандартов - это бывает.
Это синдром говнокодера - компилятор ошибается, если автор кода творит всякую дичь вместо использования древнего как копролит шаблона проектирования.
К примеру проводит выходной контроль результата несущего ошибки вместо того чтобы проводить входной контроль операндов и исключить возникновение ошибки...
@@101picofarad, ох, помню, как жопы-то горели при переходе с MSVS 6.0 на более свежие компиляторы того же MS. Не говоря уже о gnu.
Да, говнокод. Но писателей на MSVS 6.0 было очень много. И кода они нарожали тоже много. И он ведь работал... А потом р-раз - и даже компилироваться перестал.
А эти "все" сейчас с нами здесь в этой комнате?
printf("yes
");
Если пишешь ты на СИ, Будь хоть трижды ламер,
Про такого говорят: Он - крутой программер!
брехня....
крутой пограмист
Классное видео про Си, мне как сишнику понравилось. Теперь ждём, когда все начнут писать свои операционные системы (для реальной работы с памятью))
Лол, завести семью сложнее, чем найти работу в техе
Учил Си 30 лет назад, потом появились всякие ненужные Java и .NET и вот наконец-то время пришло. Пойду вспомню пару книжек.
Папа может в Си, папа-папа может в Си.
Пока это так - всё в порядке на Руси.
Папа может в Си, папа-папа может в Си.
Дот нет или Джава? Нетушки, мерси.
Папа может в Си, папа-папа может в Си.
Пайтон или Руби? Господи, спаси!
Папа может в Си, папа-папа может в Си.
Пока это так - всё в порядке на Руси.
Научно-технический реп :)
Каким боком Русь к России?
@@Brave_Lionбазу знать надо
@@cyril442 база в том, что россия никак не связана с Русью. Это как две параллельные линии.
а дзе ты бачыш тут слова "расея"? @@Brave_Lion
>Почему Все Опять Начали Учить Си?
Потому что Си это БАЗА
Based
Для меня основа C++ и я думаю что самым первым языком должен быть не Python/js... А C
@@Сергей-и4б7к я тоже думаю, что Си должен быть первым языком.
база это ассемблер
@@inriinriinriinriinri и он тоже
9:00 это не "количество контрибьюций по языкам",то "тренды увеличения кол-ва контрибьютеров", грубо говоря отображение текущей моды.
Если посмотреть по количеству кода и контрибуций по языкам программирования, то последние 10 лет в неизменно на первых двух местах JS и PHP (языки разметки, запросов и пр. Не учитываем)
видео пока не смотрел, но , предположу, что ответ "потому, что такова диалектика Гегеля"
😂😂😂😂
@@critical-ren-fan-corner не Маркса, а Гегеля. Во-первых. Ну , а про всесильность вообще какой то бред, я не понял.
**Что-то на языке лоулевел кодинга, ну я в любом случае не пойму, я же питонист**
собсна это и причиниа изучать С
Особенно с учётом что питон написан на си и плюс можно делать либы для питона
"а Я ChatGPT-ст.
Си высокоуровневый
@@MrLotrusлибы для питона написаны на питоне, и это в принципе так для всех языков! Иначе каким хреном они бы работали в питоновском интерпретаторе? Разве что отдельные либы такие как numpy, tensorflow используют Си для более быстрых счётных операций, но там это взаимодействие происходит через юникс сокеты, а не прям хрясь бле и откуда не возьмись среди питон кода взялся код на Си. Если нет компетенции пороть что ни поподя, тогда лучше промолчать…
Ого, прямо когда нужно вышел ролик. Спасибо!
Потому что язык Си (высокоуровневый язык ассемблера) это основа всех основ. Язык Си будет существовать и оставаться актуальным до тех пор, пока существует хотя бы один процессор или микроконтроллер.
Строго говоря, всё это не так.
Если Си - основа всех языков, то как могут существовать языки, появившиеся до Си, т.е. до 1972 года? Си далеко не сразу стал популярным после его изобретения.
Си не является ассемблером, поскольку это язык совсем другого типа. Ассемблер - низкоуровневый язык. Си считается высокоуровневым (по традиционной классификации языков)
к высокоуровневому язык ЦЕ сложно отнести, и оскорблять великолепный ассемблер этим словосочетанием не надо
Виндертон выучил базу CS и создал канал, чтобы доказывать всем, что это было не зря.
курсы, курсы забыли)
предположу, что изначально канал был для них
в 2017 вроде
это после провала уже пошла база cs
@@Timur-r5n да не кошмарь пацана, каждый выживает как может)
P.S. йобта
Низкоуровневый код под железо можно писать на ассемблере и си, других вариантов нет. Но на си удобнее и не хуже по оптимальности. А вот когда все драйвера написаны, ОС запущена - пишите дальше на чем хотите. 😊 Наша работа закончена.
в смысле опять? а что кто то его не учил, мамкины кодеры на питоне? си основа всех нормальных языков, понимая си понимаешь все нормальные языки
+1, когда надо было написать приложуху под андроид, сделал за 2 дня с нулём в джаве )))
Не нужны эти ващи энергии ци, си...))
@@kormannn1 займись выниванием
выучу си для джавы тогда
Пиши по-русски, бот.
Отличная связка, сам пользуюсь и всё супер.
С++ 10 часов - одна буква уже есть!!🎉🎉🎉
Ролик не про "почему все начали учить Си", а про рекламу. А иначе как вас развести на её просмотр? Или вы тут что-то новое хотели узнать?
"Си это всё еще колесо" -- максимально простое и всем понятное колесо, без которого никуда.
На Python можно написать что угодно. На C можно написать Python
На Питоне напишешь операционную систему и драйверы?
А вот другой язык вполне можно написать.
@@perfect_genius7058 это просто бородатая шутка. мне ее рассказали лет 20 назад, как раз когда я начал программировать =)
Ну да. Этим я и занимаюсь. Каждый понедельник я начинаю с того, что пишу язык программирования. А в обед иду в поле, косой добываю зерно, перемалываю его в муку. Потом иду за водой и выпекаю хлеб. Потом сажусь в самолёт и лечу на остров обжаривать кофейные зёрна. По дороге успеваю подоить корову и приготовить сливки. Чизкейк и кофе что может быть лучше в понедельник?
Как знающий ассемблер, могу сказать, что Си сильно упрощает жизнь в написании кода.
После асмы код пишется быстрей и при этом в производительности потерь крайне мало.
Ложка дегтя: надо настраивать компилятор, чтобы он не пытался оптимизировать код там, где это не надо. Если тот же дальний прыжок заменится ближним, будет очень весело
Это вы ещё джаву и си шарп не видели. На них даже можно что-то реально зарелизить еще при жизни (хотя тоже как повезет)
Недостаточно просто выучить язык. Он же не в вакууме работает.
Нужно также изучить стандартную библиотеку, API операционной системы, самые используемые библиотеки и фреймворки. Разобраться с компилятором и системой сборки, IDE.
Мне еще когда-то сильно помогла книга "Веревка достаточной длины, чтобы выстрелить себе в ногу".
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Екстрим цоде)
акела промахнулся, акела промахнулся
Ты лутший, всё очень интересно приподнёс, и теперь я реально захотел выбрать c
До сих пор не понимаю, зачем люди смотрят постоянно популярность чзыка и начинают его учить😂
Смысле? Так а шо, я как лох буду на жаве какой-то писать, шоле? Брат, пацаны не поймут.
работу хочеца, деняк
Ну так а питухон-то уже не по пацански)
@@Torn_Shoe вот если честно, крутое развадилово было с этим пайтоном, школы столько ребят страждущих нагнали, но по факту пайтом бесполезный язык, ну если вдоваться, и самое смешно, только пайтон может на начальном этапе реально прям почувствовать себя гуру программирования, другие языки к сожалению не такие, или к счастью)
Как он может быть бесполезен, если его используют в огромном количестве компаний? Он там пользу приносит.
С-это не язык программирования, это шедевр. Как Леонардо Да Винчи среди других художников
Вообще-то, большую часть синтаксиса придумал Кен Томпсон при разработке языка B, и уже от него пошел C.
Где-то в глубинах за языками С и В прячется тот самый язык А.
@@alexneigh7089 И имя ему Algol.
BCPL (Basic Combined Programming Language) - язык программирования, разработанный Мартином Ричардсом в 1966 году в Кембриджском университете. Изначально он предназначался для написания компиляторов для других языков.
Сейчас BCPL практически не используется, но в своё время он был очень важен из-за хорошей портируемости. Урезанная версия языка с несколько изменённым синтаксисом стала языком программирования B, который оказал сильное влияние на язык программирования Си. По этой причине программисты в шутку расшифровывали название BCPL как Before C Programming Language («язык программирования, появившийся до языка Си»)[1].
@@wasting_the_dawn Я в курсе. Я читал интервью Кена Томпсона, где он упоминал это. Речь о синтаксисе языка. Синтаксис языка B, созданный Кеном Томпсоном, очевидно является источником синтаксиса языка C. Синтаксис B значительно ближе к синтаксису C, чего не скажешь о BCPL.
источником всего является Ассемблер, а дальше уже каждый кто как мог экспериментировал:"АЛГОЛ 60 был одним из первых языков, реализующих определения функций (которые можно было вызывать рекурсивно). Определения функций ALGOL 60 могли быть вложены друг в друга (что впервые было введено в любом языке программирования) с лексической областью действия . Он породил множество других языков, включая CPL , PL /I , Simula , BCPL , B , Pascal и C. "
Крутой видос! Большое спасибо за труд! Много чего не понимаю, сути, и такие видео очень помогают хоть немного разобраться в этом океане знаний в CS
Спасибо за твое мотивационное видео лет 5 или 6 назад. Не помню, вроде писал уже. Заехал в 40+ в айти. Хоть я тебя и не смотрю больше, но именно твое видео было тем, что меня сподвигло тогда задуматься о том, чтобы сменить профессию будучи 40+. Просто тогда не было еще всех этих видео, войти в айти в 30+, в 40+ и т.д., если и были, то очень мало. Сейчас уже это до тошноты, но тогда это было лично для меня неким откровением.
Респект. Отрадно читать, когда чьи-то ролики вдохновляют других. Было бы интересно узнать путь в ит после 40
@@KVV-RU да щас на ютубе этих видосов, вошел в айти в 30+, в 40+ и т.д. не думаю, что мой путь какой-то особенный)))
Постоянно использую ваши советы. В основном остаюсь в плюсе.
Если Си действительно набирает популярность, то возможно дело в IoT и микроконтроллерах, плюс из-за сво пошло импортозамещение железок
именно, IoT и встройка тащат
Может в кой то веки зэпешечка у эмбеддеров подымется@@serjioalvarez
хорошо что воды оказалось много - напился, утолил жажду.
Вопрос остался также открытым - почему стал снова популярен "С"?
Ответ прост - не становился он снова популярным, он всегда держался на одной планке, просто что-то взлетало и потом падало, а что-то взлетало и оставалось выше Си, сейчас у Си просто своя ниша, которую он делит с С++
@@saddoomer я без негатива. понятно дело что ролик с рассуждением и открытым финалом.
Воды много, что бы натянуть монетизацию на ролик )) Но уже можно предоставить просмотр нейронке таких видео и не тратить время.
@@SashaPoberailo нук нук, кому можно скормить ролик ?
Потому что, Автор этого видео, даже не знает что это )))
Космические корабли будут бороздить просторы млечного пути а сишники все еще будут в почете
Когда-нибудь люди поймут, что надо копать ещё глубже, и наконец таки вернётся время ASM!
Ну это когда придумают новую архитектуру, например на спиновой памяти или памяти на ку-битах. Тогда понадобится какая-то новая модификация ассемблера. Запилят прослойку в ОС, и все дальше продолжится в том же духе. Все высокоуровневые языки никуда не денутся
Писал и на C и на Java.
Java позволяет писать более качественный код неопытным разработчикам, за счет средств самого языка.
А это и требуется в данный момент большим компаниям: нанять мидлов с пару лет опыта, чем искать C-синьоров с бОльшим количеством лет опыта (и за бОльшую з/п)
Правильно говорить,- не качественный, а защищенный код. И вообще их сравнивать нельзя. Сравнивай Java с C#
Java script?
прикол в том, что СИ сеньоры могут получать меньше, чем жава мидлы))))
Очень классное видео, есть на чем задуматься! 👍
Всё гениальное - ПРОСТОЕ. Автор абсолютно прав, что в борьбе за абстракциями люди начали терять фундамент под ногами. А эти "прослойки" во всём.... С 1985 года для меня Си был, и остаётся самым любимым языком программирования.
Автор, видимо (как и вы) ни дня не проработал в интерпрайзе и не учавствовал в разработке коммерческих продуктов хотя бы с тысячами пользователей (молчу про десятки и сотни тысяч). Чего далеко ходить - вот Ютуб тот же. Продукты такого уроня невозможно создать ни низкоуровневых языках программирования и используя стек технологий 80-х. Это факт. У каждого интсрумента есть своя ниша. Где-то "абстрацкции" не нужны, а где-то иначе просто никак.
А на чём Ютуб написан?@@vltsn
@@22_PSпитон
@@22_PS html
Си - это как велосипед. Был изобретен давно, можно сказать прототип всему колёсному в мире и до сих пор используется.
слушал я тебя года три назад и сейчас слушаю какой смысл в этой трепотне ты же ничего полезного не даёшь цель победить себя прошлого в скороговорке ты же не пытаешься донести мысль, что то полезное вложить в слушателя, а соревнуешься с собой в количестве слов в минуту, ты сам то послушай свои бредни с точки зрения людей осваивающих программирование и что ты , как думаешь полезного до нас доносишь - пустобрёх ты вот и всё на что тянешь
Это называется - мирдверьмяч - ество.
Обожаю твои видео. Самые ёмкие , без воды, так просто и о главном. Тебе бы на конференциях выступать подачей )
главное тут - рекламная пауза
То чувство, когда первый язык програмирования был Бэйсик, а СИ вторым :D
первым языком был фортран, какой бейсик, ты сумасшедший?
@@kudras3r170, мой, мой первый язык программирования был Бейсик.
@KupitmanZ да ладно тебе, че он глупай сразу, просто не так прочитал и понял. Я вот улыбнулся с его коммента)😀
Мой тоже бейсик на msx 2
А как ты перескочил через Паскаль?
А я думал, что Си становится популярным из-за развития всяких мелких устройств, для которых нужны микропрограммы, где кроме Си и ассемблера навряд ли что-то подойдёт.
Lua тоже активно используется на микрухах
Один из самых важных способов узнать как работает компьютер - это построить процессор и оперативную память самостоятельно!
Для всех интересующихся, смотрите logisim, на нём есть много готовых проектов процессоров (простых, понятное дело).
для этого есть верилог
@@serjioalvarez Или Logisim
лол, один только процессор с нуля построить тебе обойдётся в сотни миллионов долларов
@@franklucas9 для этого существует logisim)))
Спасибо, наверное, это для меня лично самый полезный видос за пару лет, русскоязычному сегменту не хватает гайдов/обзоров по теме п2п
Он растет потому, что для быстрой работы алгоритмов на Python приходится дописывать вставочки на С
а для быстрой работы ЦЕ приходится дописывать вставочки на ассемблере
Всё просто си, был первой попыткой сделать ассемблер, удобным для понимания и написание человеком, и при этом оставлять все возможности машинного кода! А за ним пошли другие языки, бейсик и паскаль, и потом всё другие, вся разница это сколько возможностей остояться в обмен на удобство, удобно написать напечатай ответ на экран, чем расписывать все действия для этого которых очень много! Но такой подробный план действий можно сделать очень быстрым! А высоко уровеньие языки так не могут! Что бы посчитать 1+1 им нужно сходить в библиотеку и проверить что такое + это просто для понимания, да быстро возьми конфету на 2 полке шкафа в 5 с права чашке, а так долго будет:" найди конфету в шкафу и возьми" пока ты нашел её уже взяли и съели
По мере перехода работы с контроллерами хочешь не хочешь приходится знать СИ
Спасибо, за выпуск и интересные мысли, я получил по истине удовольствие от просмотра.
я кодил на си пока вы не родились!
лучше бы они не рожались...
а что потом случилось?
А потом мы родились, и человек перестал кодить на С.
я хейтер си ещё с пеленок был против си выступайте за запрет этого ужасного сложного языка!
@@chelol208Сложного языка? 🤣🤣🤣 Ты что, уборщик, который решил посидеть за ПК?
не важно на чём писать!
важно ЧТО писать!
если делать "бизнес", то есть создавать кучу однообразных "проектов", то выбирается самый передовой в области "проектов" данного типа "инструмент"
ПРОЩЕ - это лучший подход. усложнять не надо.
C - база, а самое забавное, что я это слышал до хайпа фразы о том, что что-нибудь является базой. Лет так 25 назад.
Хорошо завернул рекламу, жаль что информации ноль.
все просто - почему! С развитием Интернета вещей (IoT) и встроенных устройств "C" является основным языком программирования микроконтроллеров и систем с ограниченными ресурсами памяти, процессора и хранения программ. Так что взлет еще будет продолжаться в след десятилетия скорее всего.
9:05 - интересно почему полосок больше чем языков.. я всё понимаю, но интересно почему
там Блейд и прочие не совсем языки попадают.
@@ArtemFun не, там реально больше полосок чем языков, лол
Язык C для талантливых творцов, которые могут создать востребованный продукт. Бизнесу для автоматизации внутренних процессов нужна скорость разработки, которую обеспечивают только фреймворки. Нормальный бизнес умеет считать и распределять деньги. Никому в здравом уме не уперся тру-программист, который будет пару лет писать на С, изобретая велосипед. Им нужен спец со знанием основных механизмов фреймфорка, чтобы закрыть задачу на пару месяцев. Поэтому мне не очень верится, что все начали учить С. Он подойдёт для ознакомления или старта на факультете в университете, но не как массовая среда разработки для реальных заказчиков.
График весьма хитрый - там процент прироста... Что, на мой взгляд, показатель интересный, но только на нем выводы ставить рано )
Никто не задумывался, почему для решения, достаточно мелких задач, не хватает даже навороченного компьютера?
машинные коды - ассемблер - С
4:50 - Хакер - это человек, который на экспертном уровне понимает устройство систем. Благодаря хакерам ты вообще понятие "отладки" сейчас знаешь!
Почему Все Опять Начали Учить Си(что происходит?
Картинки/клипы крутятся, просмотры мутятся. Почему?Что? Та х.з.
Ниочем сорян
Читал я одну книгу там было сказано программирование держится на 4 вещах. 1 ввод данных 2 вывод на экран. 3 цикл 4 ветвление. Все зная это ты можешь писать программы.
Не понимаю как можно учить Питон без базы С и С++, после них все становится намного понятнее - как он работает и что под его капотом.
Под капотом армяне в нарды играют 😂😂 На Python настоящие программисты дела делают, пока ты изучаешь C++ ради изучения C++ 👎 Пока до реальных задач не дорастёшь НЕ ПОЙМЁШЬ
@@SalatikInMyHead Ненастоящие программисты пишут API на С, CUDA, С++ и используют Питон как скриптовую склейку, что-бы настоящие программисты доросшие до РЕАЛЬНЫХ задач дела свои на них делали.
Реальные задачи это случайно не "взять данные из одной говноприложухи и засунуть в другую" ?
@@SalatikInMyHead я знаю С++ на определенном уровне, по крайней мере могу: написать API и прикрутить его к Питону, кодить в Unreal Engine, написать CUDA код, посмотреть исходники CPython и понять как работает PyObject когда необходимо. Расскажи пожалуйста до каких таких реальных задач ты дорос, что тебе не нужны основы?
Все от задачи зависит. Если на Питоне надо дернуть библиотеку с ГитХаба, передать ей пару параметров, в ответ получить Джейсон и вывести его в нужном формате юзверю, то все советы по сям и асме засуньте поглубже ))
Я, бросивший программирование в универе из-за заморочек в работе указателей и памяти: - существую....
Winderton: - Вся соль Си - это указатели.
Я: - Возрождение!
В чем вообще смысл делать такое видео? ты просто придумал инфу что бы вставить рекламу в середину ролика и никак не подтвердил свои аргументы, еще и накидал каких то непонятных тезисов про семью и программирование.
Просмотры + реклама
Это чтобы ты не умер от жажды жарким летним днём
Так у него же весь канал такой
@wndtn дядь всегда рассказываешь всё самое нужное, прощу сними видео про стандарты С ++ и для чего они появились и как.
Нечестно луа считать клеем, а питон нет. Питон точно также, как и луа всего лишь небольшая прокладка между сишными библиотеками и пользователем. Раст я не видел еще (не заслужил он моего внимания пока), но если считать его языком программирования, на котором можно написать юникс (раз уж его пустили в ядро линкуса, то чё бы и нет), то между ним и С нет ничего, кроме "клея" и метаязыков.
Кстати, на С можно писать и UI не (сильно) сложнее, чем на чем угодно еще. Есть же GTK :)
А вообще, каждой задаче по инструменту. Новые языки будут всегда выбивать больше коммитов, чем старые, потому что для старых все очевидное необходимое уже написано, протестировано в использовании годами и не требует частого обновления.
С другой стороны, любой новый язык в рамках одной парадигмы после третьего освоенного изучается за выходные до стадии джуна и если им пользоваться, то левелапы будут каждый день. Да, если решите изучить лисп после питона, тайпскрипта и луа -- у вас будут некоторые сложности (учите хаскель, хотя бы в глазах рябить не будет), но тут не с языком будут проблемы, а с рекурсией.
А эти милениалы вообще могут пользоваться одними и теми же фреймворками НЕДЕЛЯМИ (ужас-то какой!). Так что бумеры (я тоже) со своими фортранами и си просто окаменелости, не способные написать новый фреймворк сегодня вечером, чтобы завтра им начать пользоваться всю оставшуюся неделю. (не моя шутка юмора, но очень хорошо объясняет почему на модных языках столько коммитов, в статистики качество и обоснованность необходимости этих коммитов не показана)
сколько бекенда написано на Lua, а сколько на пайтоне?
@@oustrix643 много бекэнда, базы данных написаны даже, на микроконтроллерах даже пишут
@@moshamiracle назови хоть один бигтех, который пишет бек на луа
Хорошее и правильное видео, доброе) Теперь ещё всем бы понять что у нас остаётся только Си и Linux для высоконагруженных и параллельных вычислений, и будут все счастливы. Остальные языки и инструменты должны применяться только там где на них результат получается скорее и работает сносно, без глюков. Кстати многие программисты С++ довольно посредственно кодят на чистом С, из практики. И это печально.
Школа 21 ждёт вас!🤣
Я реально подумал что все начали учить книжку Си Дзин Пина
Он уже С++ после избрания на второй срок. Си Пи Пи
О, лайк за Tsoding. Прикольно смотреть, как он на Си делает всякие штуки, которые нынешние программисты сделали бы по-быстрому на каком-нибудь пайтоне.
5:43 опять реклама говнокурсов, красава.
Указатели это деталь языка. Главное в отличие от Java и пр. это генерация нативного кода процессора. Вкупе с оптимизирующими компиляторами с 50+ летней историей развития это дает максимальную эффективность кода.
Как же он мягко и плавно втыкает рекламу. мама родная.
Ты ток на середине рекламы понимаешь, что это реклама
Те кто смотрят через ванцед, тут что, была реклама?
отличнейший контент, очень емко, без визуального трэша, все по существу, thanks
Человек не зная язык СИ, нам о нём рассказывает )) Там, говорит всякие указатели есть, и с памятью надо работать. Поздравляю вас, но в С++ то же))
Мой первый язык программирования. Учил ещё в школе на факультативе. в далёком 1992 году. Тогда после УКНЦ МС 511 IBM был словно мерседес в мире IT. Хорошие были времена.
тебе сколько лет????
@@manOfPlanetEarth ))))))) скоро пенсионер
Точно такая же юность, но год 1996 :). УКНЦ!!!!!!
потому что Си это база и без него не будет никаких пайтонов... да и если ты программист то как ты не любишь УКАЗАТЕЛИ? хотя наверное это глупый вопрос в 2024 году где каждый у кого есть пальцы может открыть пайтон и через час уже наваять прогу не зная вообще ничего ни про что
На самом деле есть один универсальный язык программирования. Это - английский язык)) Все остальные - производные от него...
Всегда думал что это бред, и сейчас думаю также, там просто иногда появляются английские слова. И всё пишется на английском, но по большой части там всякие .;!(){}[] И сокращения. Возможно вы имели ввиду надо уметь печатать на английском?
Самая правильная фраза - "Если ты знаешь Си, то ты знаешь всё остальное". Си это база, всё остальное ты легко освоишь если знаешь базу.
Вы как попугаи друг за другом повторяете) Чтобы знать Си ты должен постоянно писать в прод на Си.
@@slavaviktorov6053 Си как базовый язык можно изучить на начальном уровне, после этого любой язык освоить намного проще, поскольку большинство создателей языков программирования брали за базу Си, поэтому они называются си-подобные. А чтобы писать в продакшен на любом языке нужно всегда находиться в состоянии обучения.
Сейчас меня тут заплюют, но мне Object Pascal очень нравится...
Заплюют только неучи. Паскаль - идеален.
@@Евгений-о3п8м ноне обжест
Ну там больше общего с плюсами, хотя мне тоже нравится
Вообще-то в плюсов есть общее с паскалем. Паскаль вышел в 70, с++ в 83.
А почему нет, некоторая разница в синтаксисе, а все тоже самое
Поскольку я гошник, то просто получаю удовольствие от простого (как С языка), но без необходимости писать связаный список.
У меня во дворе много людей маргинального уклада, тех, кто долгие срока мотал, в том числе наркоманов той или иной степени вовлеченност и т.д. Ну и короче общаюсь я с типом, который сидел много лет, выглядит как бандит, общается прям с лютой зек-харизмой, лицо впавшее такое, еще и в тот момент он был под чем-то стимилирующим. И задвигает, мол, я короче тоже думаю пойти на айтишника учиться. А ему лет 45-50 на вид. И вид реально пересидка со всеми манерами )) Я прям вот в этот момент явственно ощутил до чего весь этот хайп вокруг айтишки довел наш русский народ)))
🤣
"Когда сказать нечего, но выпуск запилить надо"
Ребята, подскажите пожалуйста, что нужно для изучения Си, было уже дело с ним, но это было давно и неправда. С чего стоит начать, подскажите какие нибудь книги, гайды на ютубе и прочее. Конкретно хотелось бы писать микроконтроллеры. Но для этого нужно знать не ток схемотеху( с этим проблем нет). А именно по языку что и конкретно. Скажем так, скажите с каких азов начать( мне лишь вспомнить, быстро освоюсь) и чем закончить, чтобы уже делать проект, писать прошивки и прочее. Заранее благодарен.
Читайте руководство по вашему микроконтроллеру. Под разную архитектуру и код будет разным. Си очень зависим от архитектуры и от ОС
книга Керниган и Ричи это база
@@a.krugliak а на русском есть, или только англ вариант, проблем читать и на англе нет так таковой, но просто если рус и англ версия без отличий, то лучше рус версию
посмотри этого человека: Konstantin Vladimirov
поддерживаю уже написанный ответ. книга Кернигана и Ричи - это книга всех основ. А вот читать руководство по микроконтроллеру с целью изучения языка, затея слабая
Ну не знаю, указатели.. сложно. После питона мой второй язык был С. Сперва, я конечно офигел, но спустя месяца полтора уже не чувствовал проблем когда указатель указывал на другой указатель. С правильной организацией выделения памяти, особенно в структурах, бывали непонятки по скорости работы.. Но это как-то решалось выбором более плоских конструкций.
Си сам по себе простой. И как тут правильно сказал человек, самая жесть в си это компиляторы... Собственно, именно из-за этого ЧУДОВИЩНОГО гемора я и свернул свой путь в сторону "чего по-проще".
Но, всем советую попробовать си. Это очень весёлый процесс и ни с чем не сравнимый каЕф, когда твой экстеншен для питона взлетает и фигачит именно так как тебе надо на огроменной скорости 😊 Память только освобождать не забудь ;) а то прольётся 😂
Скажем так, компиляторы - это не так уж и ужасно, если не пытаться объять необъятное и впихнуть невпихуемое. Просто нужно определиться сначала с платформой, под которую пишешь, и только потом выбрать определённый компилятор, которым будешь пользоваться. Прочитать по нему мануал за день-два, настроить IDE/среду - и вуаля. Дальше, если не распылять усилия в попытке охватить весь зоопарк (а реально это нахер никому не упёрлось!), никаких проблем, пиши себе и пиши. Тут нужно просто научится говорить себе "Я никогда не буду портировать этот хэллоуворлд на вон ту давно умершую платформу 20-тилетней давности!" 😄
@@1kvolt1978 верно. Но ещё бывают случаи когда для проекта нужная какая-то либа и вот она на хабе - бери и собирай. А вот ещё одна, с похожим функционалом.. И ещё и еще.. И вот тут начинаются экзерсисы. То не собирается, потому что зависимость протухла, а вон то, потому что ты сам дурак и не знаешь что это за макрос такой и почему он всё ломает нафик. Там под другую версию, тут пятилетней давности и под текущем не работает. Ты открываешь make заново с завидной регулярностью и с таких неожиданных сторон, что становится страшно :)
И в такие моменты, я как ненастоящий сварщик, начинаю посматривать в сторону готовых бинарников под другой язык... И думаю, многие меня поймут.
@@picblade Есть такой момент. :) Но это характерно и для других языков тоже.
@@1kvolt1978 да, но масштаб сложности другой. Скажем так, на порядок. Типа мы переехали со второго питона на третий? Ок, я отшиб себе руки всего раз 5-7, и то, обо всякие пустяки, которые (каюсь) прямо в юзер пакете поправлял вручную и ехал дальше ;) Или там, найти нужный пакетик, скачать и линку исправить. Полчаса возни максимум.
Джаваскрипт старый попался? Переделал импорты, чутка подшаманил в классе вызова - уаля ;). С си, так легко не отделаться... Если встрял, то будь готов к выращиванию запасного мозга и покраснению глаз на долгие (дни?) 😂.
Понимаю, сейчас придёт умный человек, и скажет что я просто лох и не умею.. И я соглашусь :) Там уметь надо. И так уметь, что процесс сборки норовит превратиться в отдельный проект со своей документацией :) А ещё, мне вспоминаются слова Линуса, когда он комментировал очередную версию (кажется 4.5) gcc. В свойственной ему манере, он сказал, что мы не будем это использовать, потому что эта штука так оптимизирует код, что мы не можем сказать потом как он работает. Если автор гитхаба не знает, то я тут вообще в сторонке на башике всякие глупости лучше поковыряю ;) Не знаю чем история закончилась, но весьма иллюстративно это.
@@picblade Ну как я и сказал изначально, если не пытаться объять необъятное, то многие проблемы перестают быть таковыми.
Например, я для себя выбрал, что пишу под Вин 7 х64, на которой сижу. Выбрал компилятор и IDE - сначала это был Pelles C, потом я решил перейти на gcc + Notepad++. С Pelles C проблем вообще не было, работает всё "из коробки". Но у него слабая поддержка WinAPI, нет некоторых важных Direct X хедеров и либ.
Поэтому я перешёл на gcc и Notepad++ в качестве IDE. Прочитал мануал за пару дней, написал себе батник для командной строки с нужными мне ключами. И всё, никакого больше геморроя.
При этом перенос проектов из-под Pelles C в gcc не вызвал вообще никаких проблем, кроме правки нескольких имён нестандартных функций. Потому что и там, и там я писал под одну и ту же платформу.
Естественно, не в последнюю очередь это потому, что я всеми силами стараюсь избегать тащить всякое непонятное говно с Гитхаба. :) Если и пользую сторонние библиотеки (чего тоже стараюсь избегать до последнего), то выбираю проверенные временем и практикой от серьёзных разработчиков, а не "зырь, чо накропал!" от неизвестного Васяна.
"если учишь rust ещ знаешь только rust, а если учишь C то знаешь все остальное". давайте тогда все дружно будем писать на машинном коде, тогда и ниче лишнего учить не надо будет.
Машинный код на разных архитектурах разный. Как и ассемблер с адресацией, регистрами общего и специального назначения.
@@Al.Sy. Как и стандартная библиотека OS =)
@@KawaiiSelbstsBox Ну как-то пишут же кросс-платформенный код на Си и Go. 😊
@@Al.Sy. Ну std и в плюсах кроссплатформенная наверно. А вот когда начинаются интерфейсы и пр.
Жду не дождусь, когда драйвера начнут писать на Ruste. Ах, да...
Интересная тема, отличная почада, спасибо за ролик
Проснулся вчера, смотрю в окно - все Си учат. Зашел в интернет и там Си учат все. Чёрт, Джонни, они учат Си даже на деревьях!
пысы: Си и плюсы учат по инерции, потому, что на них много всего написано и это нужно поддерживать допиливать, а не потому, что вау круто мощно. Ну, и он простой как два байта (не учитываю библиотеки, только сам язык).
Вот и я о том же. Инерция и проф. привычки и стереотипы из computer science.
А что на плюсах то написано? 1 процент оттого что на си?
Я так понял у гражданина Winderton нет Семьи ( вот это поворот!!! )
ты перепутал надо было делать 10часовую верси дем