• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Курс по С

  • Автор темы Автор темы iwustg
  • Дата начала Дата начала

iwustg

Active member
13.01.2022
25
0
BIT
0
Посоветуйте где найти хороший бесплатный курс по сетевому программированию в С ?
 
Sololearn и также на youtube
(если нужна практика то заданий в инете полно, не обязательно для С)
 
"Си" умер ровно в тот момент, когда появился стандарт "С89". В этот же момент, язык стал высокоуровневым, впредь не учитывающим особенности платформ, под которые пишутся программы.

Последними забитыми гвоздями в крышку гроба стали обновления стандарта и компиляторов, где различные оптимизации приводят к возникновению неопределенного поведения и к багам, соответственно.

Для подкрепления своей позиции советую почитать статейку от аспирантов Андрея Столярова "Си должен умереть", где очень подробно описана мысль, которую я изложил выше.

"Си" мастхэв знать любому уважающему себя программисту, но топить за него, не учитывая его реальные косяки - это бред полный. Глянь хотя бы на оф. сайте llvm, сколько и как его хают; Глянь, что говорят различные титаны IT-культуры, к примеру, Линус Торвальдс...

Добавлю ещё то, что данный пласт потихоньку занимает Rust.
т.е. С99 и С11 это уже не Си? синтаксис уже не тот? компилятор другой?
вот вам слова Линуса Торвальдса: "выбор языка C является единственным разумным выбором. Я пришел к выводу, что программист, который предпочел бы при написании какой-либо программы использовать язык C++, а не C, скорее всего, принадлежит к такому типу программистов, которых я бы предпочел выгнать вон, так, чтобы они не смогли прийти и испортить проект, которым я занимаюсь. "
или "статейка от аспирантов Андрея Столярова" авторитетней Линуса Торвальдса?
могу вас обрадовать. весь интернет вещей, вся бытовая и промышленная электроника, вся автомобильная электроника, работает на ПО написанном на Си и Ассемблере.
а хают обычно те, кто не способен разобраться в предмете нападок. виндузятники хают линукс, линуксоиды винду, питонисты пыху и си. ну а ассемблер так вообще хают все поголовно.
rust по рейтингу TIOBE на 26 месте, после скретча и кобола. а первые три строчки питон, Си и джава.
 
По курсам не подскажу, могу порекомендовать книгу "Программирование боевого софта под Linux".
офигеть там хардкор какой))) крайне интересно, но походу на изучение этих 200 страниц уйдёт больше года

Мощно конечно. Там ещё и ассемблер)
 
а можете ссылку дать на книжку? Или скинуть саму книгу
Кинул в личку. Пытался найти где купить книгу - нигде нет к сожалению.
Такие книги крайне стремно качать, но не понятно как задонатить автору (даже сайта его найти не смог)
 
Кинул в личку. Пытался найти где купить книгу - нигде нет к сожалению.
Такие книги крайне стремно качать, но не понятно как задонатить автору (даже сайта его найти не смог)
я ее тоже искал где бы купить, но в продаже нет нигде
 
"т.е. С99 и С11 это уже не Си? синтаксис уже не тот? компилятор другой?"

Вообще не понял, к чему это и как сюда приплелось...

"могу вас обрадовать. весь интернет вещей, вся бытовая и промышленная электроника, вся автомобильная электроника, работает на ПО написанном на Си и Ассемблере."

Да, именно поэтому всё насквозь "дырявое". И дело не в том, что программист плохой, и даже не в том, что используются сторонние библиотеки (кстати, это тоже крайне весомая причина) - дело именно в компиляторах и стандартах, которые позволили стать Си высокоуровневым ЯП. Главная претензия лишь в том, что Си отвязался от платформы, не учитывая ее особенности при разработке ПО, став при этом источником undefined behaviour, что опять же приводит к багам не по вине программиста. Отсюда, и падение ракет, и утечки из-за дырявого железа. Спич именно в этом)


"rust по рейтингу TIOBE на 26 месте, после скретча и кобола. а первые три строчки питон, Си и джава"

А на Евровидение когда-то победила бородатая трансуха, но это не значит, что она умеет петь. С каких пор программисты стали ориентироваться на топы, рейтинг которых были сформированы из выборки людей, подавляющее большинство которых вошли в ЯП/стэк с низким порогом вхождения?! Лично мне этот топ ничего не говорит кроме того, что очень много разрабов, которые пишут на Java, Python и т.п. При этом в данном случае правила диктует рынок 🤔

Си классный, его обязан знать каждый - это маст хэв! Но, давайте, не будем утопать в пелене радужных кродилдо и кисозавров. Си потерял то, за что его реально любили. ИМХО
 
"т.е. С99 и С11 это уже не Си? синтаксис уже не тот? компилятор другой?"

Вообще не понял, к чему это и как сюда приплелось...

"могу вас обрадовать. весь интернет вещей, вся бытовая и промышленная электроника, вся автомобильная электроника, работает на ПО написанном на Си и Ассемблере."

Да, именно поэтому всё насквозь "дырявое". И дело не в том, что программист плохой, и даже не в том, что используются сторонние библиотеки (кстати, это тоже крайне весомая причина) - дело именно в компиляторах и стандартах, которые позволили стать Си высокоуровневым ЯП. Главная претензия лишь в том, что Си отвязался от платформы, не учитывая ее особенности при разработке ПО, став при этом источником undefined behaviour, что опять же приводит к багам не по вине программиста. Отсюда, и падение ракет, и утечки из-за дырявого железа. Спич именно в этом)


"rust по рейтингу TIOBE на 26 месте, после скретча и кобола. а первые три строчки питон, Си и джава"

А на Евровидение когда-то победила бородатая трансуха, но это не значит, что она умеет петь. С каких пор программисты стали ориентироваться на топы, рейтинг которых были сформированы из выборки людей, подавляющее большинство которых вошли в ЯП/стэк с низким порогом вхождения?! Лично мне этот топ ничего не говорит кроме того, что очень много разрабов, которые пишут на Java, Python и т.п. При этом в данном случае правила диктует рынок 🤔

Си классный, его обязан знать каждый - это маст хэв! Но, давайте, не будем утопать в пелене радужных кродилдо и кисозавров. Си потерял то, за что его реально любили. ИМХО
аргументов так и не увидел. .Ни че там не дырявое. Си сделан для программистов которые знают что делают. Это его философия. Просто код пишут на отъебись. Про компилятор вообще молчу. "Си отвязался от платформы". Вообще так и было задумано, сделать тот же системный язык на подобие ассемблера, но более переносимый. Как было так и есть, где то инт 2 байта, где то 4. inttypes.h в помощь. И не надо лялякать тут и ставить юзеров в заблуждение.

p.s для тех кто хочет изучить язык Си. читаем книгу "Язык программирования С. Лекции и упражнения. Стивен Прата"
 
Последнее редактирование:
"т.е. С99 и С11 это уже не Си? синтаксис уже не тот? компилятор другой?"

Вообще не понял, к чему это и как сюда приплелось...

"могу вас обрадовать. весь интернет вещей, вся бытовая и промышленная электроника, вся автомобильная электроника, работает на ПО написанном на Си и Ассемблере."

Да, именно поэтому всё насквозь "дырявое". И дело не в том, что программист плохой, и даже не в том, что используются сторонние библиотеки (кстати, это тоже крайне весомая причина) - дело именно в компиляторах и стандартах, которые позволили стать Си высокоуровневым ЯП. Главная претензия лишь в том, что Си отвязался от платформы, не учитывая ее особенности при разработке ПО, став при этом источником undefined behaviour, что опять же приводит к багам не по вине программиста. Отсюда, и падение ракет, и утечки из-за дырявого железа. Спич именно в этом)


"rust по рейтингу TIOBE на 26 месте, после скретча и кобола. а первые три строчки питон, Си и джава"

А на Евровидение когда-то победила бородатая трансуха, но это не значит, что она умеет петь. С каких пор программисты стали ориентироваться на топы, рейтинг которых были сформированы из выборки людей, подавляющее большинство которых вошли в ЯП/стэк с низким порогом вхождения?! Лично мне этот топ ничего не говорит кроме того, что очень много разрабов, которые пишут на Java, Python и т.п. При этом в данном случае правила диктует рынок 🤔

Си классный, его обязан знать каждый - это маст хэв! Но, давайте, не будем утопать в пелене радужных кродилдо и кисозавров. Си потерял то, за что его реально любили. ИМХО
м-да!!! что то ни одного достойного аргумента не увидел. бородатая баба с евровидения то каким боком к прогрммистам относится? ))
а TIOBE составляет рейтинг по количеству заявок на специалистов по языкам. если бы Си был таким, каким вы его описали, то он бы не был так востребован. похоже вас не интересуют аргументы всего сообщества программистов. а ваше мнение истина в последней инстанции. ну что же, и такое вполне имеет место быть.
 
аргументов так и не увидел. .Ни че там не дырявое. Си сделан для программистов которые знают что делают. Это его философия. Просто код пишут на отъебись. Про компилятор вообще молчу. "Си отвязался от платформы". Вообще так и было задумано, сделать тот же системный язык на подобие ассемблера, но более переносимый. Как было так и есть, где то инт 2 байта, где то 4. inttypes.h в помощь. И не надо лялякать тут и ставить юзеров в заблуждение.

p.s для тех кто хочет изучить язык Си. читаем книгу "Язык программирования С. Лекции и упражнения. Стивен Прата"
Да ладно?! А я, блин, не знал, что так было задумано... Как я раньше жил без вас?!)

Да, прошивки дырявые! Запусти, к примеру, `Valgrind` - 30-50% них скорее всего true-positive. Лол! Да, в большинстве случаев за ошибками стоят сами программисты. Нет ничего удивительного, что мы допускаем ошибки, учитывая насколько проекты выросли по размеру кода. Однако помимо самих разработчиков программные дефекты добавляет компилятор (во время оптимизации кода) - прямо кинжал в спину Ахах. Это по сути следствие того, когда Си сделали портабельным. Нафига тогда разработчики прошивок часто собирают свой код под двумя версиями: с оптимизацией и без?!

А дело тут в том, что компилятор делает такие преобразования, от которых "волосы встают дыбом":
  • оптимизация всегда переставляет и удаляет код - это снижает эффективность отладчиков, потому что целевой код сильно изменяется;
  • после компилирования кода части стэка могут отсутствовать и в итоге при пошаговой отладке могут неожиданно пропускаться части кода;
  • некоторые алгоритмы оптимизации могут привести к увеличению исполняемых файлов, что при разработке прошивок является нежелательным;
  • сам компилятор может содержать ошибки в алгоритмах оптимизации, которые чаще всего вылезают уже в продакшене;
  • порядок применения алгоритмов оптимизации может изменить один и тот же исходный код или его промежуточное представление совершенно по-разному, иногда даже меняя его логику выполнения на противоположную;
  • другие `undefined behaviour`, к примеру `strict aliasing`.


Именно про это я и говорю! И именно я, как раз, не ввожу юзеров в заблуждение, потому что даю понять, что не стоит ориентироваться на какие-то топы, посчитанные на основе какой-то выборки людей. Вы же знакомы со статистикой?! Это очень интересная область знаний, которую обычно используют, как инструмент для массового манипулирования. В данном случае, для массового манипулирования рынком.

Какие аргументы еще нужны?! А главное зачем, если в ответ я "услышал" только: "уйди отсюда!", "Си для Тру-прогеров"?! Не удалось вас переубедить, да и Бог с ним! Главное, что другие ребятки прочитают это и может задумаются, зачему дурацкие рейтинги; может заинтересуются "статейкой от аспирантов Столярова"; а может просто вдохновятся тем, как все мы топим за Си, даже видя его недостатки)
 
м-да!!! что то ни одного достойного аргумента не увидел. бородатая баба с евровидения то каким боком к прогрммистам относится? ))
а TIOBE составляет рейтинг по количеству заявок на специалистов по языкам. если бы Си был таким, каким вы его описали, то он бы не был так востребован. похоже вас не интересуют аргументы всего сообщества программистов. а ваше мнение истина в последней инстанции. ну что же, и такое вполне имеет место быть.
Эм... Это аллегория, не более... Если она была непонятна, то жаль... Видимо, действительно она выглядела "крайне очевидной" только у меня в голове)

Прошивки для микроконтроллеров пишутся на Си. А почему бы, к примеру, не использовать тот же самый `Rust`, который по-тихоньку становится конкурентом в данной отрасли?! У него есть свои преимущества, он избавляет от некоторых недостатков, которые есть у Си, в нём нет тех `undefined behaviour`, которые часто оставляет компилятор для Си, и много других причин...

Тут дело не в том, что у разработчиков нет желания или возможностей, дело - в Сертификации, которая известна своей крайней консервативностью. Разработка на `Rust` или на другом ЯП выйдет куда дороже как по времени, так и по финансовой составляющей. Из этого можно сделать вывод, что разработка прошивок на Си - это в какой-то части лишь правила, которые диктует рынок.

Вот теперь объясните мне, как: "вас не интересуют аргументы всего сообщества программистов" - может быть аргументом?! Тем более базироваться на топе ЯП из совершенно разных областей применения. Ну, давайте, тогда сравнивать `JS` и `COBOLT`?! Будем говорить, что `JS` лучше! При этом я напомню вам про адовую зависимость `JS` (тут должна быть вставка про перезагрузку закона Мура)... Хотя, если подумать, то причина здесь лишь в том, что разработчиков на `COBOLT` крайне мало, причем обычно это люди возраста 45+.

Спич в том, что не нужно делать из Си панацею, закрывая на многие косяки глаза, доказывая, простите, с пеной у рта, что он идеален и незаменим. Лишь об этом мне хотелось донести свою мысль. Видимо, не получилось... Аргументы?! А смысл теперь их приводить?! Мне легче в таком случае сказать, что я не прав, и заниматься своей любимой деятельностью - кодить на Си)
 
не нужно делать из Си панацею
ни кто из него не делает панацею :). просто Си изначально является основой многих языков, rust'а в том числе. в любом деле начинают с основ. или вы предпочитаете узнать "модный" язык, без знаний его основы?
Вот теперь объясните мне
объясняю. вы берёте за основу своих аргументов " статейку от аспирантов Андрея Столярова " и участников евровидения, при этом вы пропускаете мимо ушей рейтинги мирового сообщеста программистов, публикуемые на сайте TIOBE. получается все программисты глупые а вы воздушный шарик. согласитесь, со стороны выглядит не очень.
 
курс CS50 от Гарварда, там и задания есть, и проверка, если с англ проблема, то можно смотреть на ютубе старое видео, особоо не изменилось, а задания делать новые,
там есть проверка заданий в том числе. Прям с нуля -нуля
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!