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

  Рет қаралды 16,308

Александр Григорин

Александр Григорин

2 жыл бұрын

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

Пікірлер: 86
@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 Думал нет, вроде входной порог должен был отсекать таких, но видимо ошибался.
@TotalPSX
@TotalPSX 5 ай бұрын
Спасибо вам, Александр. Ваше видео помимо серверных языков типа php для веба сподвигло изучать меня недавно программирование на C/C++
@IulianYT
@IulianYT 2 жыл бұрын
Мдя, все капаешь и капаешь этим Си, что рано или поздно пойду вспоминать :) не, ну в общих чертах я то помню, и что такое указатели и как их готовить, и что такое выделение памяти, и форлупы и прочие котнрол флоу, просто как-то не понадобилось в работе именно Си. Но, для общего развития - надо. Когда то умел. Даже был случай, не с Си правда, а с ассемблером 8086, должны были ставить автомат на экзамене(т.е. я вообще не готовился)... а в последний момент декан начал ходить с проверкой и сказали что автоматы только в армии будут давать. И вот там надо было на бумаге, на ассемблере написать определенные алгоритмы, в зависимости от вариантов конечно. И это не то чем мы занимались на курсе, т.е. мы писали конечно на ассемблере на лабах - но за компом, с эмулятором, можно было дебажить, смотреть в каких регистрах что происходит... а тут на бумаге. ИЧСХ я написал, все правильно. А сейчас помню только названия пары инструкций, но не помню с какими регистрами они работают. Но в общих чертах помню.
@blackbirdalternativedevelo1068
@blackbirdalternativedevelo1068 2 жыл бұрын
Молодец, подача класс...
@whoammiwho6172
@whoammiwho6172 7 ай бұрын
Оспади какой умный мужчина. М.....
@user-vx6on9vd8w
@user-vx6on9vd8w 2 жыл бұрын
Можете рассказать про свою периферию, например про мышь, клавиатуру и монитор. Почему выбрали именно такие модели и чем руководствовались при выборе.
@sergey53689
@sergey53689 4 ай бұрын
для программирования достаточно самого простого компа, и все зависит от уровня программ которые разрабатывать, но для обучения самого дешевого хватит, а так берите с большей оперативой
@user-pt3fk2fj5z
@user-pt3fk2fj5z 2 жыл бұрын
Александр, Вы бы показали ваш уровень в СИ. Выложили пару ваших проектов, похвастались.
@dr.margulis7773
@dr.margulis7773 Жыл бұрын
Это вряд ли, потому что вряд ли такие проекты в исполнении данного персонажа существуют вообще. Этот чел - мастер разговорного жанра, пытающийся втюхать свою ментальную кашу в неокрепшие умы начинающих.
@user-oz4gi1yy4t
@user-oz4gi1yy4t Жыл бұрын
да, хотелось бы посмотреть
@igorseledtsov7345
@igorseledtsov7345 Жыл бұрын
он кажется простым и в освоении так и есть, но при этом, что бы хорошо программировать на нём, требуется высочайшая квалификация..
@Forget745
@Forget745 6 ай бұрын
Обожаю этот яп❤ Не бойтесь изучать его❤
@user-gr4jl5dc3y
@user-gr4jl5dc3y 4 ай бұрын
Полностью согласен, с помощью си можно легко понять работу с памятью, а также легко переходить на любой бекенда т.к. Синтаксис одинаковый
@evgeniichikishev2096
@evgeniichikishev2096 2 жыл бұрын
Язык си не сложный. Говорю как музыкант. Но вопрос в том, что если я не хочу писать драйвера и ос, а хочу писать игру например или интернет приложение?
@user-gb3kv9yd3h
@user-gb3kv9yd3h 7 ай бұрын
Представим допустим завод по производству оборудования для тренажёрных залов, к ним поступил робот задача которого вырезать блины для штанги, гриф, делать насечки на грифе и т. д. Наша задача запрограмировать самого робота и некий интерфейс для оператора. Сейчас для этого используется разные языки и с++ и pyton, и matlab. Можно ли для промышленной робототехники использовать c или это язык чисто для ЭВМ?
@kosiak10851
@kosiak10851 Жыл бұрын
На самом деле сложность Си преувеличивают профессиАналы, для которых язык нужен, чтобы сайтик по-быстрому накатать. Но программирование это не в первую и не в десятую очередь веб.
@igorseledtsov7345
@igorseledtsov7345 Жыл бұрын
кое чего в нём не хватает, например тернарного goto (ну или аналогичного if(), невозможность получить размеры базовых типов во время предроцессинга (#if sizeof(int) == 4 .....)всё остальное есть
@maksal8470
@maksal8470 2 жыл бұрын
В школе на QBasic писал и кайфовал) В университете Delphi, мне кажется самый лучший язык в плане структурированности кода. Но...могу ошибаться, я любитель.
@user-zf8rq6bg8h
@user-zf8rq6bg8h 7 ай бұрын
delphi pascal vbs это каловые массы
@mormeoi
@mormeoi 2 жыл бұрын
Александр, не могли бы вы прокомментировать статью Никиты Орлова и Алексея Вересова "Си должен умереть" ? Спасибо!
@Grigorin
@Grigorin 2 жыл бұрын
Мне уже кидали ссылку, но там много букв, а я работой загружен. Может как дела разгребу разберу статью Столярова "Почему Си не должен быть первым ЯП". Она короче гораздо. А с учетом того, что CMUSTDIE написали ученики Столярова, я думаю, что особенной разницы в их аргументации не будет.
@mormeoi
@mormeoi 2 жыл бұрын
@@Grigorin Там совсем другая аргументация. Они приводят цитаты из свежих стандартов, которые якобы мешают программировать на Си.
@Grigorin
@Grigorin 2 жыл бұрын
@@mormeoi возьму на заметку
@PavelBaev-sn2ub
@PavelBaev-sn2ub 2 жыл бұрын
Александр, а что вы думаете про ЯП С++ для новичков?
@Grigorin
@Grigorin 2 жыл бұрын
Весьма сомнмтельный выбор в связи со сложностью данного языка. Хотя если есть толковый ментор и базовая CS подготовка, то вполне можно.
@nullptr_or_null8301
@nullptr_or_null8301 2 жыл бұрын
Они не потянут банально, без хорошего наставника который им будет разжевывать многие моменты в плюсах и большинство просто сольется от обилия информации в плюсах наработанных годами и вложенными в стандарт плюсов, я сам дочитываю сейчас книгу по плюсам Прата и могу сказать в плюсы новичкам не нужно влезать, они просто запутаются, им начинать как раз надо с чего то типа С и потихоньку набравшись опыта, если они хотят перекатиться в плюсы дополнять знания, если банально даже вакансии глянуть на hh то там минимум требования от 3 лет чтобы человек занимался программированием на плюсах? почему, да потому что даже за год человека с нуля до нормального знания плюсов можно сказать невозможно подготовить, поэтому компании вынуждены по плюсам даже брать стажеров, но со стажем не ниже года и жесткой проверкой знаний в плюсах.
@Grigorin
@Grigorin 2 жыл бұрын
@@nullptr_or_null8301 да и я это не перестаю повторять
@AnzinDev
@AnzinDev Жыл бұрын
просто оставьте си для микроконтроллеров и драйверов профессоналам, для десктопа если хочется страдать берите плюсы, если нет, то питон, жаву, шарп или раст, для тех, кто в курсе
@konstantinruzov790
@konstantinruzov790 2 жыл бұрын
Если знаешь школьную информатику... Не знаю, как в физ-мат-информат лицеях, но в обычных школах информатику очень плохо преподают, поэтому для обычного новичка ЯП Си будет, как минимум непрост в изучении, а в общем случае сложен.
@copebar
@copebar 2 жыл бұрын
Я вот честно ничего сложного в нём не нашёл
@sergey53689
@sergey53689 4 ай бұрын
он самый простой и логичный)))
@jackwalsh7213
@jackwalsh7213 2 жыл бұрын
Почитал Стивена Прата - охуел вначале 2 главы)))
@Grigorin
@Grigorin 2 жыл бұрын
По плюсам или по Си?
@jackwalsh7213
@jackwalsh7213 2 жыл бұрын
@@Grigorin по си
@charlesfrost5138
@charlesfrost5138 2 жыл бұрын
Ага, тоже в качестве первой брал его. Хватило меня где-то главы до 6-7й. Вот есть талант у человека, усложнять простые вещи :)) В итоге, по совету Александра, сначала прочитал "Грег Перри, Дин Миллер "Программирование на C для начинающих"". Гораздо лучше зашла. После неё можно и С.Прата, я думаю. Или Р.Лафоре.
@rimfootbal4490
@rimfootbal4490 Жыл бұрын
Добрый день.посоветуйте книгу для начинающих по языку С ,чтобы было максимально просто и понятно для усвоения материала.
@gordonfreeman9813
@gordonfreeman9813 Жыл бұрын
Все кроме Прата.
@user-ly4ms4te9h
@user-ly4ms4te9h Жыл бұрын
Зачем вам изучать С в 2023?
@rndofpipowe
@rndofpipowe Жыл бұрын
Не нужен начинающему Си. Хотите вправить себе мозг, познакомьтесь с Адой. Для прокачки вообще ознакомьтесь с F#, для Веба - ТайпСкрипт.
@user-yg1qb6he4j
@user-yg1qb6he4j Жыл бұрын
@@gordonfreeman9813 а чем Прата плох?
@gordonfreeman9813
@gordonfreeman9813 Жыл бұрын
@@user-yg1qb6he4j вода в воде.
@Hotrification
@Hotrification 2 жыл бұрын
Язык С - это мощь 11 стволов.
@Grigorin
@Grigorin 2 жыл бұрын
Уже 17
@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. Кто вообще сказал, что веб это и есть "по дефолту программирование"? Кто-то прошивки для ракет делает, кто-то для суперкомпьютеров программы готовит, кто-то марсоход сажает в атмосферу Юпитера, разные есть дела.
@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 Есть такое
@ArtemCYOU
@ArtemCYOU 2 жыл бұрын
о да с++ это тот еще джуманджи) яб лучше раст взялся изучать чем в с++ идти)
@vas_._sfer6157
@vas_._sfer6157 Жыл бұрын
rust вполне простой, если не трогать unsafe и макросы.
@user-cy3eu1nq8p
@user-cy3eu1nq8p 2 жыл бұрын
Не згоден про фронтенд, якщо ви хочете в фронтенд одразу туди йдіть не треба витрачати час на Сі. 🙂
@DaniilK-hq5go
@DaniilK-hq5go 2 жыл бұрын
Мы должны это понимать?
@nullptr_or_null8301
@nullptr_or_null8301 2 жыл бұрын
@@DaniilK-hq5go Забей, у человека слилось два бреда в голове мова и фронтэнд, тут уже ничего не поможет, только карательная психиатрия.
@itbaienko
@itbaienko Жыл бұрын
Якщо є час, то Сі був би корисним навіть для фронтендера, оскільки дозволяє зрозуміти принципи будь-якої іншої мови програмування.
@user-ur6wk7bi8d
@user-ur6wk7bi8d Жыл бұрын
он не сложный, он багосборник.
@gomer3894
@gomer3894 Жыл бұрын
зачем курс, если есть шикарный курс cs50, бесплатный, актуальный, + лекций уже сейчас выходят
@tohoto2183
@tohoto2183 3 ай бұрын
Си не сложный , Си весьма кривой и за широких возможностей может приучить к говнокоду. На нем такие ребусы можно понаписать ,что с первого взгляда ,да и со второго не поймешь ,что код делает ,а потом еще и ошибки сплывут .
@TurboGamasek228
@TurboGamasek228 2 ай бұрын
почему кривой?
@kosiak10851
@kosiak10851 Ай бұрын
в английском есть несколько прилагательных "сложный" из них хочу отметить два: difficult и complex. complex это сложный в смысле большой запутанный словно гигантская машина экскаватор difficult это трудный, с которым сложно работать словно задача вырыть канал лопатой. Так вот те кто говорят Си не сложный имеют в виду not complex. А кто говорит сложный, хотят сказать difficult.
@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++ сложнее
Изучение Си в одном видео уроке за час!
57:15
Гоша Дударь
Рет қаралды 513 М.
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 21 МЛН
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 20 МЛН
Cat story: from hate to love! 😻 #cat #cute #kitten
00:40
Stocat
Рет қаралды 15 МЛН
Сложно ли освоить программирование
29:28
Александр Григорин
Рет қаралды 7 М.
Эффективный С Обзор книги
32:18
Александр Григорин
Рет қаралды 5 М.
Язык опередивший своё время
9:35
ExtremeCode
Рет қаралды 128 М.
Про развод на курсах по Python программированию
35:12
Александр Григорин
Рет қаралды 46 М.
Нытьё и сопли в IT индустрии
29:22
Александр Григорин
Рет қаралды 4,2 М.
Язык программирования С (Си) неактуален?!
17:43
Александр Григорин
Рет қаралды 20 М.
Проблемы обучения программированию
25:46
Александр Григорин
Рет қаралды 8 М.
Нужно ли оптимизировать СОФТ
36:33
Александр Григорин
Рет қаралды 2,8 М.
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 21 МЛН