Александр будьте внимательны, а то могут попадаться еще на курсы ананисты, психопаты и т.д. :)
@Grigorin3 жыл бұрын
@@nullptr_or_null8301 а то раньше они мне не попадались, думаете?!
@nullptr_or_null83013 жыл бұрын
@@Grigorin Думал нет, вроде входной порог должен был отсекать таких, но видимо ошибался.
@User-ux1tm5 ай бұрын
Здравствуйте Александр, могли бы вы составить карту так сказать roadmap? Просто не совсем понятно как его правильно изучать😅
@User-ux1tm5 ай бұрын
Хочу понять win32API и linuxAPI, системное программирование, графика и дэмо😊. И везде нужен Си, я пожалел что начал с джава хоть по ней и больше литературы и материала. Понял что мне нужен Си для информационной безопасности и взаимодействия с ОС.
@TotalPSX Жыл бұрын
Спасибо вам, Александр. Ваше видео помимо серверных языков типа php для веба сподвигло изучать меня недавно программирование на C/C++
@Bass_Music772 ай бұрын
Посоветуйте книгу по программированию «Программирование на С для начинающих». «Программирование на C в примерах и задачах» Алексея Васильева. «Язык программирования С. Лекции и упражнения» Стивена Прата. «Программирование на Си для начинающих» Майка МакГрата. Я совсем новичок 2 месяца учусь в техническом университете на системного программиста(Си).
@IulianYT3 жыл бұрын
Мдя, все капаешь и капаешь этим Си, что рано или поздно пойду вспоминать :) не, ну в общих чертах я то помню, и что такое указатели и как их готовить, и что такое выделение памяти, и форлупы и прочие котнрол флоу, просто как-то не понадобилось в работе именно Си. Но, для общего развития - надо. Когда то умел. Даже был случай, не с Си правда, а с ассемблером 8086, должны были ставить автомат на экзамене(т.е. я вообще не готовился)... а в последний момент декан начал ходить с проверкой и сказали что автоматы только в армии будут давать. И вот там надо было на бумаге, на ассемблере написать определенные алгоритмы, в зависимости от вариантов конечно. И это не то чем мы занимались на курсе, т.е. мы писали конечно на ассемблере на лабах - но за компом, с эмулятором, можно было дебажить, смотреть в каких регистрах что происходит... а тут на бумаге. ИЧСХ я написал, все правильно. А сейчас помню только названия пары инструкций, но не помню с какими регистрами они работают. Но в общих чертах помню.
@Soul-25173 ай бұрын
За Титан класса Имератор- огонь))) уважуха
@igorseledtsov7345 Жыл бұрын
он кажется простым и в освоении так и есть, но при этом, что бы хорошо программировать на нём, требуется высочайшая квалификация..
@whoammiwho6172 Жыл бұрын
Оспади какой умный мужчина. М.....
@РоманСеченов3 жыл бұрын
Можете рассказать про свою периферию, например про мышь, клавиатуру и монитор. Почему выбрали именно такие модели и чем руководствовались при выборе.
@blackbirdchannel-c7b2 жыл бұрын
Молодец, подача класс...
@AlexLipkovich6 ай бұрын
Я знаю пару десятков команд на С, и программирую железо лет дцать, включая ИИ
@user-dd8zd83 ай бұрын
Я то же выучил Delay() WritePin() ReadPin() ToggelePin() Мигаю светодиодами на стм
@BezFyuchey7 ай бұрын
Начал изучать язык си по книге Ритчи Сложно конечно, понимаю что основы нужно знать информатики, которые преподают в школе. В школьные времена не было это интересно, поэтому не учил. Сейчас изучаю как работает оперативная память, байты, целые числа, разрядные числа….. Для меня сложно очень Я хочу изучить, но мне страшно Код понимаю, каждую строку вижу что она делает, но руки сами программу написать не могут. Друг меня обучает, он 20 лет в программировании. Помогает мне. Очень страшно, бывает психую и думаю что это не мое… Начал проходить с gpt 4, который мне объясняет все более проще, чем в книге написано. Посмотрим что получится 😢 Друг говорит язык си это основа всех языков, с помощью которого ты выучишь любой другой язык быстро и будешь понимать как все работает.
@asakuraminomoto426 ай бұрын
Не думаю что стоит начинать с этой книги,сам Александр другие книги советует,есть книги для новичков, а есть книги для профессионалов от профессионалов,мне кажется та книга Кернигана Ритчи не для новичков(сам я ее не читал,да и изучаю я с++)книга которую Александр советует называется вроде “программирование на с для начинающих” авторов Грег Перри и Дин Миллер третье издание(но там много ошибок особенно в коде около ста если не ошибаюсь) Александр сделал документ с ошибками и исправлениями мб у него попросишь
@ZugDuk5 ай бұрын
А нахрена учить, если чего страшно или трудно? Нужно заниматься любимым делом.
@MrEksol4 ай бұрын
С указателями, структурами, указателями вложенные в указатели знаком?
@LclhostАй бұрын
@@ZugDuk Трудно бывает и в любимом деле.
@kosiak10851 Жыл бұрын
На самом деле сложность Си преувеличивают профессиАналы, для которых язык нужен, чтобы сайтик по-быстрому накатать. Но программирование это не в первую и не в десятую очередь веб.
@pjerli71574 ай бұрын
Ассемблер - еще проще! Там вообще все элементарно. Логика автора завораживает и поражает! Аналогию проведу с долото. Все элементарно приложил и стукнул. Только кто-то шедевр сделает, а кто-то и дырку в двери под замок не сможет. И дело здесь не в рукожопости, а в знании предметной области. Для си это компьютер сайнс!
@MrAbradoxАй бұрын
Си может сам по себе и простой язык, да только от этого не легче, когда начинаешь сам писать на нем серьезный код или анализировать чужой. Все эти заголовочники и макросы, которые разбросаны по сотням файлам, а также необходимость знать особенности компилятора и линковщика - вот где начинается реальный гемор.
@ВячеславДуркин-п7ь3 жыл бұрын
Александр, Вы бы показали ваш уровень в СИ. Выложили пару ваших проектов, похвастались.
@dr.margulis77732 жыл бұрын
Это вряд ли, потому что вряд ли такие проекты в исполнении данного персонажа существуют вообще. Этот чел - мастер разговорного жанра, пытающийся втюхать свою ментальную кашу в неокрепшие умы начинающих.
@АлександрДемидов-э2и2 жыл бұрын
да, хотелось бы посмотреть
@ZugDuk5 ай бұрын
Ты либо дело делаешь, либо учишь. Чтоб все и сразу - обычно такого не бывает.
@jackwalsh72133 жыл бұрын
Почитал Стивена Прата - охуел вначале 2 главы)))
@Grigorin3 жыл бұрын
По плюсам или по Си?
@jackwalsh72133 жыл бұрын
@@Grigorin по си
@charlesfrost51383 жыл бұрын
Ага, тоже в качестве первой брал его. Хватило меня где-то главы до 6-7й. Вот есть талант у человека, усложнять простые вещи :)) В итоге, по совету Александра, сначала прочитал "Грег Перри, Дин Миллер "Программирование на C для начинающих"". Гораздо лучше зашла. После неё можно и С.Прата, я думаю. Или Р.Лафоре.
@evgeniichikishev20963 жыл бұрын
Язык си не сложный. Говорю как музыкант. Но вопрос в том, что если я не хочу писать драйвера и ос, а хочу писать игру например или интернет приложение?
@daiske28677 ай бұрын
То ты берешь готовую библиотеку-фреймворк и идешь, и делаешь свою игру, интернет приложение, хотя с интернет приложением немного тяжелее, так как зависит от использования js
@ZugDuk5 ай бұрын
Естественно ничего не будет. Для игр будет на плюсах, для сайта на js.
@shalidor1619 Жыл бұрын
Ну если он простой, то на нем просто мутить паралеллельные вычисления, как на скриптовых, видимо, а также жсончики обрабатывать и прочие высокоуровневые штуки))) Может, синтаксически он и простой, но разработать хотя бы мвп не в виде ебдеддед или кли уже требудет очень хорошей квалификации или затратить кучу времени на то, что бы было сделано реально простым языком раз в 10 быстрее
@vas_._sfer6157 Жыл бұрын
Эм, вообще-то большинство скриптовых языков не умеют в параллельность. Ну и вы путаете понятия простоты и выразительности. У си достаточно плохо устроена работа со строками и массивами, нет удобных дженериков, наличие UB. После решения эти проблем, кодить можно будет не хуже, чем на go, а может и лучше. Даже не нужен никакой сборщик мусора или ООП. Хороший тулинг и пакетный менеджер сможет упростить доступ к библиотекам и фреймворкам. И это все что нужно
@shalidor1619 Жыл бұрын
@@vas_._sfer6157 "Эм, вообще-то большинство скриптовых языков не умеют в параллельность." Умеют. Даже вурдалака типа питона можно распараллелить, хоть и костыльно. "Ну и вы путаете понятия простоты и выразительности." Зависит от определения "После решения эти проблем, кодить можно будет не хуже, чем на go". Даже на брейнфаке можно кодить не хуже, чем на го. "Даже не нужен никакой сборщик мусора или ООП." Если весьма привычно заниматься управлением памятью, в отличие от скриптовых или того же го "Хороший тулинг и пакетный менеджер сможет упростить доступ к библиотекам и фреймворкам. И это все что нужно" Никакой тулинг, фреймворки и прочее не приблизят тебя к скорости написания кода, как это происходит на скриптовых языках, если у тебя нет феноменальной квалификации
@vas_._sfer6157 Жыл бұрын
@@shalidor1619 Js не имеет многопоточности, не считая веб воркеры. Python имеет GiL, то есть потоки имеет, а параллельность - нет. Хорошо - под простотой я имею в виду низкую комплексность, когда общая система языка состоит из не большого, но достаточного кол-ва элементов имеющих простые свойства и понятные или даже очевидные взаимосвязи друг с другом. Скриптовые языки, например PHP, Js, Python - весьма не простые языки имеющие неочевидные закономерности. Под выразительностью я понимаю меру, насколько меньше затрат при создании, редактировании или использовании кода или даже наличие самой возможности, создание определенных семантически сложных, но осмысленных кодовых конструкций, которые бы сохраняли читаемость и не были бы хрупкими по отношениям к пользователям кода. Управление памятью не большая беда. Как минимум RefCell контейнеры для Си при наличии дженериков не были бы большой проблемой. Да и по опыту работы с Rust, RefCell достаточно редко нужен. Чаще всего объекты живут не долго, а если живут долго то, в контексте некоторой структуры данных, которая сама будет управлять памятью или это память, которая будет жить до конца жизни приложения. "Простота" в работе скриптовых языков это лишь следствие немного большей выразительности, что позволяет создавать более удобные библиотеки и фреймворки, а также удобный тулинг для взаимодействия с этими библиотеками.
@shalidor1619 Жыл бұрын
@@vas_._sfer6157 "Js не имеет многопоточности, не считая веб воркеры." working_threads "Python имеет GiL, то есть потоки имеет, а параллельность - нет." Это никак не противоречит сказанному мною о питоне. Обычно его каждый скрипт запускают отдельными процессами в случае необходимости распараллеливания. "Хорошо - под простотой я имею в виду низкую комплексность, когда общая система языка состоит из не большого, но достаточного кол-ва элементов имеющих простые свойства и понятные или даже очевидные взаимосвязи друг с другом." То есть брейнфак самый простой язык. Найс. Только вот подобная простота, и простота использования, к которой я апеллировал, не являются одним и тем же понятием "Скриптовые языки, например PHP, Js, Python - весьма не простые языки имеющие неочевидные закономерности." Естественно, судя по вашему определению простоты языка, машинные коды или брейнфак -- эталон простоты. "Под выразительностью я понимаю меру, насколько меньше затрат при создании, редактировании или использовании кода или даже наличие самой возможности, создание определенных семантически сложных, но осмысленных кодовых конструкций, которые бы сохраняли читаемость и не были бы хрупкими по отношениям к пользователям кода." Вот поэтому я и написал в первом комменте "Может, синтаксически он и простой, но разработать хотя бы мвп не в виде ебдеддед или кли уже требудет очень хорошей квалификации или затратить кучу времени на то, что бы было сделано реально простым языком раз в 10 быстрее" "Управление памятью не большая беда." То-то из линукса вычищают с каждым релизом кучу проблем с памятью и клепаются CVE по кд. ""Простота" в работе скриптовых языков это лишь следствие немного большей выразительности" Однако, это следствие позволяет в разы ускорить работу программиста, и с это невозможно опровергнуть, не закладывая в знание си огромную квалификацию
@kosiak10851 Жыл бұрын
@@shalidor1619 уметь в параллельность через танцы с бубном и иметь её реализацию встроенную в язык так же органично как например в GO это разные вещи. Так то можно договориться до "всё что программируется под CPU можно написать на ассемблере", ну а чё... можно же? Вот и ты прекрасно понимаешь это в примере про брейнфак. И не забывайте, что программирование не ограничивается перепаковками jsonчиков из HTTP-в базу-из базы-в http. Кто вообще сказал, что веб это и есть "по дефолту программирование"? Кто-то прошивки для ракет делает, кто-то для суперкомпьютеров программы готовит, кто-то марсоход сажает в атмосферу Юпитера, разные есть дела.
@fokusname26003 ай бұрын
Лично для меня, asm - это легчайший язык программирования
@maksal84703 жыл бұрын
В школе на QBasic писал и кайфовал) В университете Delphi, мне кажется самый лучший язык в плане структурированности кода. Но...могу ошибаться, я любитель.
@cactus-q2w Жыл бұрын
delphi pascal vbs это каловые массы
@rimfootbal44902 жыл бұрын
Добрый день.посоветуйте книгу для начинающих по языку С ,чтобы было максимально просто и понятно для усвоения материала.
@gordonfreeman98132 жыл бұрын
Все кроме Прата.
@sww15e512 Жыл бұрын
Зачем вам изучать С в 2023?
@rndofpipowe Жыл бұрын
Не нужен начинающему Си. Хотите вправить себе мозг, познакомьтесь с Адой. Для прокачки вообще ознакомьтесь с F#, для Веба - ТайпСкрипт.
@НИТИ-ц7д Жыл бұрын
@@gordonfreeman9813 а чем Прата плох?
@gordonfreeman9813 Жыл бұрын
@@НИТИ-ц7д вода в воде.
@PavelBaev-sn2ub3 жыл бұрын
Александр, а что вы думаете про ЯП С++ для новичков?
@Grigorin3 жыл бұрын
Весьма сомнмтельный выбор в связи со сложностью данного языка. Хотя если есть толковый ментор и базовая CS подготовка, то вполне можно.
@nullptr_or_null83013 жыл бұрын
Они не потянут банально, без хорошего наставника который им будет разжевывать многие моменты в плюсах и большинство просто сольется от обилия информации в плюсах наработанных годами и вложенными в стандарт плюсов, я сам дочитываю сейчас книгу по плюсам Прата и могу сказать в плюсы новичкам не нужно влезать, они просто запутаются, им начинать как раз надо с чего то типа С и потихоньку набравшись опыта, если они хотят перекатиться в плюсы дополнять знания, если банально даже вакансии глянуть на hh то там минимум требования от 3 лет чтобы человек занимался программированием на плюсах? почему, да потому что даже за год человека с нуля до нормального знания плюсов можно сказать невозможно подготовить, поэтому компании вынуждены по плюсам даже брать стажеров, но со стажем не ниже года и жесткой проверкой знаний в плюсах.
@Grigorin3 жыл бұрын
@@nullptr_or_null8301 да и я это не перестаю повторять
@Hotrification3 жыл бұрын
Язык С - это мощь 11 стволов.
@Grigorin3 жыл бұрын
Уже 17
@konstantinruzov7903 жыл бұрын
Если знаешь школьную информатику... Не знаю, как в физ-мат-информат лицеях, но в обычных школах информатику очень плохо преподают, поэтому для обычного новичка ЯП Си будет, как минимум непрост в изучении, а в общем случае сложен.
@copebar2 жыл бұрын
Я вот честно ничего сложного в нём не нашёл
@epsilon.sw_4 ай бұрын
C - это биг мак. Все остальное тосты.
@mormeoi3 жыл бұрын
Александр, не могли бы вы прокомментировать статью Никиты Орлова и Алексея Вересова "Си должен умереть" ? Спасибо!
@Grigorin3 жыл бұрын
Мне уже кидали ссылку, но там много букв, а я работой загружен. Может как дела разгребу разберу статью Столярова "Почему Си не должен быть первым ЯП". Она короче гораздо. А с учетом того, что CMUSTDIE написали ученики Столярова, я думаю, что особенной разницы в их аргументации не будет.
@mormeoi3 жыл бұрын
@@Grigorin Там совсем другая аргументация. Они приводят цитаты из свежих стандартов, которые якобы мешают программировать на Си.
@Grigorin3 жыл бұрын
@@mormeoi возьму на заметку
@АлександрСавелов-с3ч Жыл бұрын
Представим допустим завод по производству оборудования для тренажёрных залов, к ним поступил робот задача которого вырезать блины для штанги, гриф, делать насечки на грифе и т. д. Наша задача запрограмировать самого робота и некий интерфейс для оператора. Сейчас для этого используется разные языки и с++ и pyton, и matlab. Можно ли для промышленной робототехники использовать c или это язык чисто для ЭВМ?
@Hidden_Dmitry6 ай бұрын
Можно. Сецчас многие контроллеры прогаются на чистом си
@tohoto218311 ай бұрын
Си не сложный , Си весьма кривой и за широких возможностей может приучить к говнокоду. На нем такие ребусы можно понаписать ,что с первого взгляда ,да и со второго не поймешь ,что код делает ,а потом еще и ошибки сплывут .
@TurboGamasek22810 ай бұрын
почему кривой?
@kosiak108519 ай бұрын
в английском есть несколько прилагательных "сложный" из них хочу отметить два: difficult и complex. complex это сложный в смысле большой запутанный словно гигантская машина экскаватор difficult это трудный, с которым сложно работать словно задача вырыть канал лопатой. Так вот те кто говорят Си не сложный имеют в виду not complex. А кто говорит сложный, хотят сказать difficult.
@igorseledtsov73456 ай бұрын
Для говнокода это как раз С++ Вот уж где не захочешь а напишешь говнокод
@AnzinDev2 жыл бұрын
просто оставьте си для микроконтроллеров и драйверов профессоналам, для десктопа если хочется страдать берите плюсы, если нет, то питон, жаву, шарп или раст, для тех, кто в курсе
@ZugDuk5 ай бұрын
нужно страдать)
@Embedded_Developer3 жыл бұрын
Ага. Из Простых. Если писать простые программы, не сложнее сортировки пузырьком то да, ерунда. А вот когда уже начинаешь углубляться, код растет, А потом еще т указатель на указатель, то начинаются такие проблемы, что просто офигевайтэн.
@nullptr_or_null83013 жыл бұрын
Тебе это все покажется детским лепетом, узнав что наворочено в плюсах.
@nullptr_or_null83013 жыл бұрын
@simen0ff Мне плюсы нужны для своего проекта, в котором будет критичны их возможности в оптимизации, в борьбе так сказать с конкурентами, а так обычному человеку если он не собирается заниматься тематиками в которых плюсы рулят, то и да они и нафик таким не нужны, но надо просто понимать кол-во вакансий/мест с языками типа яваскрипт и прочей лабуденью постоянно снижается, а кол-во типов мамкиных кодеров растет в геометрической прогрессии и уже условно 40 таким людям занимающимся такой лабуденью становится сложно найти работу, если они не организовали свой бизнес или ушли в другую сферу, причем человек занимавшийся вышеописанными языками быстро перекатиться на плюсы не сможет банально, если у него соответствующего образования или полученных базовых знаний.
@mormeoi3 жыл бұрын
Просто надо соблюдать культуру разработки, тогда код и на Си будет простым.
@vas_._sfer6157 Жыл бұрын
@@nullptr_or_null8301 C++ тоже устаревает, как минимум для новых проектов. Увы стандарты очень запутаны и создают кучу проблем.
@nullptr_or_null8301 Жыл бұрын
@@vas_._sfer6157 Есть такое
@igorseledtsov7345 Жыл бұрын
кое чего в нём не хватает, например тернарного goto (ну или аналогичного if(), невозможность получить размеры базовых типов во время предроцессинга (#if sizeof(int) == 4 .....)всё остальное есть
@МихаилБавыка3 жыл бұрын
Не згоден про фронтенд, якщо ви хочете в фронтенд одразу туди йдіть не треба витрачати час на Сі. 🙂
@vdrmkr3 жыл бұрын
Мы должны это понимать?
@nullptr_or_null83013 жыл бұрын
@@vdrmkr Забей, у человека слилось два бреда в голове мова и фронтэнд, тут уже ничего не поможет, только карательная психиатрия.
@itbaienko2 жыл бұрын
Якщо є час, то Сі був би корисним навіть для фронтендера, оскільки дозволяє зрозуміти принципи будь-якої іншої мови програмування.
@ArtemCYOU3 жыл бұрын
о да с++ это тот еще джуманджи) яб лучше раст взялся изучать чем в с++ идти)
@vas_._sfer6157 Жыл бұрын
rust вполне простой, если не трогать unsafe и макросы.
@АлексейЛысюк-ь4я2 жыл бұрын
он не сложный, он багосборник.
@qwertymangames18007 ай бұрын
Проще lua не придумали языков. Весит он меньше мегабайта и написан на Си.
@ZugDuk5 ай бұрын
загадочный язык
@gomer38942 жыл бұрын
зачем курс, если есть шикарный курс cs50, бесплатный, актуальный, + лекций уже сейчас выходят
@ZugDuk5 ай бұрын
Что за cs50 ?
@rndofpipowe Жыл бұрын
Ой, а как просто будет объяснить начинающему про разыменование указателя по адресу из масива, который передан по ссылке, которая дропнулась при выходе из области видимости чего-нибудь, вызванного откуда-то. Удачи. Upd. О, я понял позицию автора. Язык Си в самом деле сложен, но если ты не хочешь с ним разбираться, то это не проблема языка, это ты такой тупой, что не хочешь полной ложкой черпать из этого древнего отстойника кошмаров! :))
@vas_._sfer6157 Жыл бұрын
В Си нет ссылок и дропов. Вы говорите про C++ - это совсем другой яп
@rndofpipowe Жыл бұрын
@@vas_._sfer6157 Сорян. Ваше уточние резко всё упрощает! 😂
@kosiak10851 Жыл бұрын
@@rndofpipowe да упрощает, а ваш сарказм вместо ответа это признание неправоты.
@rndofpipowe Жыл бұрын
@@kosiak10851 вы не можете представить степень душевной муки, терзающей меня от осознания моей неправоты. Я практически растоптан и размозжён обрушившимся на меня грузом стыда.
@life_xypma2 жыл бұрын
Ушел в бандиты и вернулся...) Афтар жжёт! В бандиты и обратно - не совсем так прозаично все происходит, если происходит вообще)