Тёмный

Язык программирования Си сложный ЯП?! 

Александр Григорин
Подписаться 17 тыс.
Просмотров 18 тыс.
50% 1

Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @grigorin

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 105   
@Grigorin
@Grigorin 2 года назад
Все вопросы сюда vk.com/grigorin_alexandr
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
Александр будьте внимательны, а то могут попадаться еще на курсы ананисты, психопаты и т.д. :)
@Grigorin
@Grigorin 2 года назад
@@nullptr_or_null8301 а то раньше они мне не попадались, думаете?!
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
@@Grigorin Думал нет, вроде входной порог должен был отсекать таких, но видимо ошибался.
@User-ux1tm
@User-ux1tm Месяц назад
Здравствуйте Александр, могли бы вы составить карту так сказать roadmap? Просто не совсем понятно как его правильно изучать😅
@User-ux1tm
@User-ux1tm Месяц назад
Хочу понять win32API и linuxAPI, системное программирование, графика и дэмо😊. И везде нужен Си, я пожалел что начал с джава хоть по ней и больше литературы и материала. Понял что мне нужен Си для информационной безопасности и взаимодействия с ОС.
@IulianYT
@IulianYT 2 года назад
Мдя, все капаешь и капаешь этим Си, что рано или поздно пойду вспоминать :) не, ну в общих чертах я то помню, и что такое указатели и как их готовить, и что такое выделение памяти, и форлупы и прочие котнрол флоу, просто как-то не понадобилось в работе именно Си. Но, для общего развития - надо. Когда то умел. Даже был случай, не с Си правда, а с ассемблером 8086, должны были ставить автомат на экзамене(т.е. я вообще не готовился)... а в последний момент декан начал ходить с проверкой и сказали что автоматы только в армии будут давать. И вот там надо было на бумаге, на ассемблере написать определенные алгоритмы, в зависимости от вариантов конечно. И это не то чем мы занимались на курсе, т.е. мы писали конечно на ассемблере на лабах - но за компом, с эмулятором, можно было дебажить, смотреть в каких регистрах что происходит... а тут на бумаге. ИЧСХ я написал, все правильно. А сейчас помню только названия пары инструкций, но не помню с какими регистрами они работают. Но в общих чертах помню.
@pjerli7157
@pjerli7157 14 дней назад
Ассемблер - еще проще! Там вообще все элементарно. Логика автора завораживает и поражает! Аналогию проведу с долото. Все элементарно приложил и стукнул. Только кто-то шедевр сделает, а кто-то и дырку в двери под замок не сможет. И дело здесь не в рукожопости, а в знании предметной области. Для си это компьютер сайнс!
@igorseledtsov7345
@igorseledtsov7345 Год назад
он кажется простым и в освоении так и есть, но при этом, что бы хорошо программировать на нём, требуется высочайшая квалификация..
@whoammiwho6172
@whoammiwho6172 11 месяцев назад
Оспади какой умный мужчина. М.....
@AlexLipkovich
@AlexLipkovich 2 месяца назад
Я знаю пару десятков команд на С, и программирую железо лет дцать, включая ИИ
@РоманСеченов
@РоманСеченов 2 года назад
Можете рассказать про свою периферию, например про мышь, клавиатуру и монитор. Почему выбрали именно такие модели и чем руководствовались при выборе.
@sergey53689
@sergey53689 8 месяцев назад
для программирования достаточно самого простого компа, и все зависит от уровня программ которые разрабатывать, но для обучения самого дешевого хватит, а так берите с большей оперативой
@ВячеславДуркин-п7ь
Александр, Вы бы показали ваш уровень в СИ. Выложили пару ваших проектов, похвастались.
@dr.margulis7773
@dr.margulis7773 2 года назад
Это вряд ли, потому что вряд ли такие проекты в исполнении данного персонажа существуют вообще. Этот чел - мастер разговорного жанра, пытающийся втюхать свою ментальную кашу в неокрепшие умы начинающих.
@АлександрДемидов-э2и
да, хотелось бы посмотреть
@ZugDuk
@ZugDuk Месяц назад
Ты либо дело делаешь, либо учишь. Чтоб все и сразу - обычно такого не бывает.
@kosiak10851
@kosiak10851 Год назад
На самом деле сложность Си преувеличивают профессиАналы, для которых язык нужен, чтобы сайтик по-быстрому накатать. Но программирование это не в первую и не в десятую очередь веб.
@blackbirdchannel-c7b
@blackbirdchannel-c7b 2 года назад
Молодец, подача класс...
@Sluni_shorts
@Sluni_shorts 3 месяца назад
Начал изучать язык си по книге Ритчи Сложно конечно, понимаю что основы нужно знать информатики, которые преподают в школе. В школьные времена не было это интересно, поэтому не учил. Сейчас изучаю как работает оперативная память, байты, целые числа, разрядные числа….. Для меня сложно очень Я хочу изучить, но мне страшно Код понимаю, каждую строку вижу что она делает, но руки сами программу написать не могут. Друг меня обучает, он 20 лет в программировании. Помогает мне. Очень страшно, бывает психую и думаю что это не мое… Начал проходить с gpt 4, который мне объясняет все более проще, чем в книге написано. Посмотрим что получится 😢 Друг говорит язык си это основа всех языков, с помощью которого ты выучишь любой другой язык быстро и будешь понимать как все работает.
@asakuraminomoto42
@asakuraminomoto42 Месяц назад
Не думаю что стоит начинать с этой книги,сам Александр другие книги советует,есть книги для новичков, а есть книги для профессионалов от профессионалов,мне кажется та книга Кернигана Ритчи не для новичков(сам я ее не читал,да и изучаю я с++)книга которую Александр советует называется вроде “программирование на с для начинающих” авторов Грег Перри и Дин Миллер третье издание(но там много ошибок особенно в коде около ста если не ошибаюсь) Александр сделал документ с ошибками и исправлениями мб у него попросишь
@ZugDuk
@ZugDuk Месяц назад
А нахрена учить, если чего страшно или трудно? Нужно заниматься любимым делом.
@MrEksol
@MrEksol 18 дней назад
С указателями, структурами, указателями вложенные в указатели знаком?
@TotalPSX
@TotalPSX 9 месяцев назад
Спасибо вам, Александр. Ваше видео помимо серверных языков типа php для веба сподвигло изучать меня недавно программирование на C/C++
@maksal8470
@maksal8470 2 года назад
В школе на QBasic писал и кайфовал) В университете Delphi, мне кажется самый лучший язык в плане структурированности кода. Но...могу ошибаться, я любитель.
@cactus-q2w
@cactus-q2w 11 месяцев назад
delphi pascal vbs это каловые массы
@МихаилБавыка
@МихаилБавыка 2 года назад
Не згоден про фронтенд, якщо ви хочете в фронтенд одразу туди йдіть не треба витрачати час на Сі. 🙂
@vdrmkr
@vdrmkr 2 года назад
Мы должны это понимать?
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
@@vdrmkr Забей, у человека слилось два бреда в голове мова и фронтэнд, тут уже ничего не поможет, только карательная психиатрия.
@itbaienko
@itbaienko Год назад
Якщо є час, то Сі був би корисним навіть для фронтендера, оскільки дозволяє зрозуміти принципи будь-якої іншої мови програмування.
@konstantinruzov790
@konstantinruzov790 2 года назад
Если знаешь школьную информатику... Не знаю, как в физ-мат-информат лицеях, но в обычных школах информатику очень плохо преподают, поэтому для обычного новичка ЯП Си будет, как минимум непрост в изучении, а в общем случае сложен.
@copebar
@copebar 2 года назад
Я вот честно ничего сложного в нём не нашёл
@evgeniichikishev2096
@evgeniichikishev2096 2 года назад
Язык си не сложный. Говорю как музыкант. Но вопрос в том, что если я не хочу писать драйвера и ос, а хочу писать игру например или интернет приложение?
@daiske2867
@daiske2867 2 месяца назад
То ты берешь готовую библиотеку-фреймворк и идешь, и делаешь свою игру, интернет приложение, хотя с интернет приложением немного тяжелее, так как зависит от использования js
@ZugDuk
@ZugDuk Месяц назад
Естественно ничего не будет. Для игр будет на плюсах, для сайта на js.
@PavelBaev-sn2ub
@PavelBaev-sn2ub 2 года назад
Александр, а что вы думаете про ЯП С++ для новичков?
@Grigorin
@Grigorin 2 года назад
Весьма сомнмтельный выбор в связи со сложностью данного языка. Хотя если есть толковый ментор и базовая CS подготовка, то вполне можно.
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
Они не потянут банально, без хорошего наставника который им будет разжевывать многие моменты в плюсах и большинство просто сольется от обилия информации в плюсах наработанных годами и вложенными в стандарт плюсов, я сам дочитываю сейчас книгу по плюсам Прата и могу сказать в плюсы новичкам не нужно влезать, они просто запутаются, им начинать как раз надо с чего то типа С и потихоньку набравшись опыта, если они хотят перекатиться в плюсы дополнять знания, если банально даже вакансии глянуть на hh то там минимум требования от 3 лет чтобы человек занимался программированием на плюсах? почему, да потому что даже за год человека с нуля до нормального знания плюсов можно сказать невозможно подготовить, поэтому компании вынуждены по плюсам даже брать стажеров, но со стажем не ниже года и жесткой проверкой знаний в плюсах.
@Grigorin
@Grigorin 2 года назад
@@nullptr_or_null8301 да и я это не перестаю повторять
@rimfootbal4490
@rimfootbal4490 Год назад
Добрый день.посоветуйте книгу для начинающих по языку С ,чтобы было максимально просто и понятно для усвоения материала.
@gordonfreeman9813
@gordonfreeman9813 Год назад
Все кроме Прата.
@sww15e512
@sww15e512 Год назад
Зачем вам изучать С в 2023?
@rndofpipowe
@rndofpipowe Год назад
Не нужен начинающему Си. Хотите вправить себе мозг, познакомьтесь с Адой. Для прокачки вообще ознакомьтесь с F#, для Веба - ТайпСкрипт.
@НИТИ-ц7д
@НИТИ-ц7д Год назад
@@gordonfreeman9813 а чем Прата плох?
@gordonfreeman9813
@gordonfreeman9813 Год назад
@@НИТИ-ц7д вода в воде.
@АлексейЛысюк-ь4я
@АлексейЛысюк-ь4я 2 года назад
он не сложный, он багосборник.
@АлександрСавелов-с3ч
@АлександрСавелов-с3ч 11 месяцев назад
Представим допустим завод по производству оборудования для тренажёрных залов, к ним поступил робот задача которого вырезать блины для штанги, гриф, делать насечки на грифе и т. д. Наша задача запрограмировать самого робота и некий интерфейс для оператора. Сейчас для этого используется разные языки и с++ и pyton, и matlab. Можно ли для промышленной робототехники использовать c или это язык чисто для ЭВМ?
@Hidden_Dmitry
@Hidden_Dmitry Месяц назад
Можно. Сецчас многие контроллеры прогаются на чистом си
@igorseledtsov7345
@igorseledtsov7345 Год назад
кое чего в нём не хватает, например тернарного goto (ну или аналогичного if(), невозможность получить размеры базовых типов во время предроцессинга (#if sizeof(int) == 4 .....)всё остальное есть
@qwertymangames1800
@qwertymangames1800 2 месяца назад
Проще lua не придумали языков. Весит он меньше мегабайта и написан на Си.
@ZugDuk
@ZugDuk Месяц назад
загадочный язык
@AnzinDev
@AnzinDev 2 года назад
просто оставьте си для микроконтроллеров и драйверов профессоналам, для десктопа если хочется страдать берите плюсы, если нет, то питон, жаву, шарп или раст, для тех, кто в курсе
@ZugDuk
@ZugDuk Месяц назад
нужно страдать)
@gomer3894
@gomer3894 2 года назад
зачем курс, если есть шикарный курс cs50, бесплатный, актуальный, + лекций уже сейчас выходят
@ZugDuk
@ZugDuk Месяц назад
Что за cs50 ?
@rndofpipowe
@rndofpipowe Год назад
Ой, а как просто будет объяснить начинающему про разыменование указателя по адресу из масива, который передан по ссылке, которая дропнулась при выходе из области видимости чего-нибудь, вызванного откуда-то. Удачи. Upd. О, я понял позицию автора. Язык Си в самом деле сложен, но если ты не хочешь с ним разбираться, то это не проблема языка, это ты такой тупой, что не хочешь полной ложкой черпать из этого древнего отстойника кошмаров! :))
@vas_._sfer6157
@vas_._sfer6157 Год назад
В Си нет ссылок и дропов. Вы говорите про C++ - это совсем другой яп
@rndofpipowe
@rndofpipowe Год назад
@@vas_._sfer6157 Сорян. Ваше уточние резко всё упрощает! 😂
@kosiak10851
@kosiak10851 Год назад
@@rndofpipowe да упрощает, а ваш сарказм вместо ответа это признание неправоты.
@rndofpipowe
@rndofpipowe Год назад
@@kosiak10851 вы не можете представить степень душевной муки, терзающей меня от осознания моей неправоты. Я практически растоптан и размозжён обрушившимся на меня грузом стыда.
@life_xypma
@life_xypma Год назад
Ушел в бандиты и вернулся...) Афтар жжёт! В бандиты и обратно - не совсем так прозаично все происходит, если происходит вообще)
@vas_._sfer6157
@vas_._sfer6157 Год назад
С C++ сложнее
@jackwalsh7213
@jackwalsh7213 2 года назад
Почитал Стивена Прата - охуел вначале 2 главы)))
@Grigorin
@Grigorin 2 года назад
По плюсам или по Си?
@jackwalsh7213
@jackwalsh7213 2 года назад
@@Grigorin по си
@charlesfrost5138
@charlesfrost5138 2 года назад
Ага, тоже в качестве первой брал его. Хватило меня где-то главы до 6-7й. Вот есть талант у человека, усложнять простые вещи :)) В итоге, по совету Александра, сначала прочитал "Грег Перри, Дин Миллер "Программирование на C для начинающих"". Гораздо лучше зашла. После неё можно и С.Прата, я думаю. Или Р.Лафоре.
@ArtemCYOU
@ArtemCYOU 2 года назад
о да с++ это тот еще джуманджи) яб лучше раст взялся изучать чем в с++ идти)
@vas_._sfer6157
@vas_._sfer6157 Год назад
rust вполне простой, если не трогать unsafe и макросы.
@tohoto2183
@tohoto2183 7 месяцев назад
Си не сложный , Си весьма кривой и за широких возможностей может приучить к говнокоду. На нем такие ребусы можно понаписать ,что с первого взгляда ,да и со второго не поймешь ,что код делает ,а потом еще и ошибки сплывут .
@TurboGamasek228
@TurboGamasek228 6 месяцев назад
почему кривой?
@kosiak10851
@kosiak10851 4 месяца назад
в английском есть несколько прилагательных "сложный" из них хочу отметить два: difficult и complex. complex это сложный в смысле большой запутанный словно гигантская машина экскаватор difficult это трудный, с которым сложно работать словно задача вырыть канал лопатой. Так вот те кто говорят Си не сложный имеют в виду not complex. А кто говорит сложный, хотят сказать difficult.
@igorseledtsov7345
@igorseledtsov7345 2 месяца назад
Для говнокода это как раз С++ Вот уж где не захочешь а напишешь говнокод
@shalidor1619
@shalidor1619 Год назад
Ну если он простой, то на нем просто мутить паралеллельные вычисления, как на скриптовых, видимо, а также жсончики обрабатывать и прочие высокоуровневые штуки))) Может, синтаксически он и простой, но разработать хотя бы мвп не в виде ебдеддед или кли уже требудет очень хорошей квалификации или затратить кучу времени на то, что бы было сделано реально простым языком раз в 10 быстрее
@vas_._sfer6157
@vas_._sfer6157 Год назад
Эм, вообще-то большинство скриптовых языков не умеют в параллельность. Ну и вы путаете понятия простоты и выразительности. У си достаточно плохо устроена работа со строками и массивами, нет удобных дженериков, наличие UB. После решения эти проблем, кодить можно будет не хуже, чем на go, а может и лучше. Даже не нужен никакой сборщик мусора или ООП. Хороший тулинг и пакетный менеджер сможет упростить доступ к библиотекам и фреймворкам. И это все что нужно
@shalidor1619
@shalidor1619 Год назад
@@vas_._sfer6157 "Эм, вообще-то большинство скриптовых языков не умеют в параллельность." Умеют. Даже вурдалака типа питона можно распараллелить, хоть и костыльно. "Ну и вы путаете понятия простоты и выразительности." Зависит от определения "После решения эти проблем, кодить можно будет не хуже, чем на go". Даже на брейнфаке можно кодить не хуже, чем на го. "Даже не нужен никакой сборщик мусора или ООП." Если весьма привычно заниматься управлением памятью, в отличие от скриптовых или того же го "Хороший тулинг и пакетный менеджер сможет упростить доступ к библиотекам и фреймворкам. И это все что нужно" Никакой тулинг, фреймворки и прочее не приблизят тебя к скорости написания кода, как это происходит на скриптовых языках, если у тебя нет феноменальной квалификации
@vas_._sfer6157
@vas_._sfer6157 Год назад
​@@shalidor1619 Js не имеет многопоточности, не считая веб воркеры. Python имеет GiL, то есть потоки имеет, а параллельность - нет. Хорошо - под простотой я имею в виду низкую комплексность, когда общая система языка состоит из не большого, но достаточного кол-ва элементов имеющих простые свойства и понятные или даже очевидные взаимосвязи друг с другом. Скриптовые языки, например PHP, Js, Python - весьма не простые языки имеющие неочевидные закономерности. Под выразительностью я понимаю меру, насколько меньше затрат при создании, редактировании или использовании кода или даже наличие самой возможности, создание определенных семантически сложных, но осмысленных кодовых конструкций, которые бы сохраняли читаемость и не были бы хрупкими по отношениям к пользователям кода. Управление памятью не большая беда. Как минимум RefCell контейнеры для Си при наличии дженериков не были бы большой проблемой. Да и по опыту работы с Rust, RefCell достаточно редко нужен. Чаще всего объекты живут не долго, а если живут долго то, в контексте некоторой структуры данных, которая сама будет управлять памятью или это память, которая будет жить до конца жизни приложения. "Простота" в работе скриптовых языков это лишь следствие немного большей выразительности, что позволяет создавать более удобные библиотеки и фреймворки, а также удобный тулинг для взаимодействия с этими библиотеками.
@shalidor1619
@shalidor1619 Год назад
@@vas_._sfer6157 "Js не имеет многопоточности, не считая веб воркеры." working_threads "Python имеет GiL, то есть потоки имеет, а параллельность - нет." Это никак не противоречит сказанному мною о питоне. Обычно его каждый скрипт запускают отдельными процессами в случае необходимости распараллеливания. "Хорошо - под простотой я имею в виду низкую комплексность, когда общая система языка состоит из не большого, но достаточного кол-ва элементов имеющих простые свойства и понятные или даже очевидные взаимосвязи друг с другом." То есть брейнфак самый простой язык. Найс. Только вот подобная простота, и простота использования, к которой я апеллировал, не являются одним и тем же понятием "Скриптовые языки, например PHP, Js, Python - весьма не простые языки имеющие неочевидные закономерности." Естественно, судя по вашему определению простоты языка, машинные коды или брейнфак -- эталон простоты. "Под выразительностью я понимаю меру, насколько меньше затрат при создании, редактировании или использовании кода или даже наличие самой возможности, создание определенных семантически сложных, но осмысленных кодовых конструкций, которые бы сохраняли читаемость и не были бы хрупкими по отношениям к пользователям кода." Вот поэтому я и написал в первом комменте "Может, синтаксически он и простой, но разработать хотя бы мвп не в виде ебдеддед или кли уже требудет очень хорошей квалификации или затратить кучу времени на то, что бы было сделано реально простым языком раз в 10 быстрее" "Управление памятью не большая беда." То-то из линукса вычищают с каждым релизом кучу проблем с памятью и клепаются CVE по кд. ""Простота" в работе скриптовых языков это лишь следствие немного большей выразительности" Однако, это следствие позволяет в разы ускорить работу программиста, и с это невозможно опровергнуть, не закладывая в знание си огромную квалификацию
@kosiak10851
@kosiak10851 Год назад
​@@shalidor1619 уметь в параллельность через танцы с бубном и иметь её реализацию встроенную в язык так же органично как например в GO это разные вещи. Так то можно договориться до "всё что программируется под CPU можно написать на ассемблере", ну а чё... можно же? Вот и ты прекрасно понимаешь это в примере про брейнфак. И не забывайте, что программирование не ограничивается перепаковками jsonчиков из HTTP-в базу-из базы-в http. Кто вообще сказал, что веб это и есть "по дефолту программирование"? Кто-то прошивки для ракет делает, кто-то для суперкомпьютеров программы готовит, кто-то марсоход сажает в атмосферу Юпитера, разные есть дела.
@Hotrification
@Hotrification 2 года назад
Язык С - это мощь 11 стволов.
@Grigorin
@Grigorin 2 года назад
Уже 17
@Forever-v3w
@Forever-v3w 7 месяцев назад
Полностью согласен, с помощью си можно легко понять работу с памятью, а также легко переходить на любой бекенда т.к. Синтаксис одинаковый
@sergey53689
@sergey53689 8 месяцев назад
он самый простой и логичный)))
@Embedded_Developer
@Embedded_Developer 2 года назад
Ага. Из Простых. Если писать простые программы, не сложнее сортировки пузырьком то да, ерунда. А вот когда уже начинаешь углубляться, код растет, А потом еще т указатель на указатель, то начинаются такие проблемы, что просто офигевайтэн.
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
Тебе это все покажется детским лепетом, узнав что наворочено в плюсах.
@nullptr_or_null8301
@nullptr_or_null8301 2 года назад
@simen0ff Мне плюсы нужны для своего проекта, в котором будет критичны их возможности в оптимизации, в борьбе так сказать с конкурентами, а так обычному человеку если он не собирается заниматься тематиками в которых плюсы рулят, то и да они и нафик таким не нужны, но надо просто понимать кол-во вакансий/мест с языками типа яваскрипт и прочей лабуденью постоянно снижается, а кол-во типов мамкиных кодеров растет в геометрической прогрессии и уже условно 40 таким людям занимающимся такой лабуденью становится сложно найти работу, если они не организовали свой бизнес или ушли в другую сферу, причем человек занимавшийся вышеописанными языками быстро перекатиться на плюсы не сможет банально, если у него соответствующего образования или полученных базовых знаний.
@mormeoi
@mormeoi 2 года назад
Просто надо соблюдать культуру разработки, тогда код и на Си будет простым.
@vas_._sfer6157
@vas_._sfer6157 Год назад
​@@nullptr_or_null8301 C++ тоже устаревает, как минимум для новых проектов. Увы стандарты очень запутаны и создают кучу проблем.
@nullptr_or_null8301
@nullptr_or_null8301 Год назад
@@vas_._sfer6157 Есть такое
@mormeoi
@mormeoi 2 года назад
Александр, не могли бы вы прокомментировать статью Никиты Орлова и Алексея Вересова "Си должен умереть" ? Спасибо!
@Grigorin
@Grigorin 2 года назад
Мне уже кидали ссылку, но там много букв, а я работой загружен. Может как дела разгребу разберу статью Столярова "Почему Си не должен быть первым ЯП". Она короче гораздо. А с учетом того, что CMUSTDIE написали ученики Столярова, я думаю, что особенной разницы в их аргументации не будет.
@mormeoi
@mormeoi 2 года назад
@@Grigorin Там совсем другая аргументация. Они приводят цитаты из свежих стандартов, которые якобы мешают программировать на Си.
@Grigorin
@Grigorin 2 года назад
@@mormeoi возьму на заметку
Далее
Я так её ждал а ОНА...
32:07
Просмотров 526 тыс.
Офицер, я всё объясню
01:00
Просмотров 3 млн
Китайка и Максим Крипер😂😆
00:21
Язык Си: Стреляем себе в ногу?!
24:06
Ядерка-как это будет.
25:55
Просмотров 162 тыс.
Язык опередивший своё время
9:35
Я так её ждал а ОНА...
32:07
Просмотров 526 тыс.