Задать вопрос
  • С какой книги начать изучение Си?

    petermzg
    @petermzg
    Самый лучший программист
    Самый низкий уровень это ассемблер.
    А по вопросу "Керниган, Ричи. Язык C"
    Ответ написан
    1 комментарий
  • Почему не пишут сайты на языке Си?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Дорого и есть более приспособленные для этого яп
    Ответ написан
    Комментировать
  • Почему не пишут сайты на языке Си?

    CityCat4
    @CityCat4 Куратор тега C
    Жил да был черный кот за углом...
    Потому что очень сложно и очень долго.
    Ответ написан
    Комментировать
  • Почему бекенд не пишут на С++?

    DevMan
    @DevMan
    потому что это никому не нужно: сложно и долго = дорого.
    а узкие задачи бэка, где критичны скорость/ресурсы, вполне себе на нем пишутся.
    Ответ написан
  • Почему бекенд не пишут на С++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Разработка сильно быстрее - как следствие она дешевле и Time to market сильно ниже, что в реально жизни гораздо важнее производительности (не всегда, но в общем случае это так).
    Арендовать еще один сервер очень часто может оказаться выгоднее, чем оплачивать лишних полгода разработки и выкатить продукт позже конкурентов.

    Пока вы сделаете и отладите свое классное быстрое приложение, все уже давно будут использовать кривую медленную Васину поделку.
    Ответ написан
    1 комментарий
  • Стоит ли учить Си?

    SoyuzDeveloper
    @SoyuzDeveloper
    Разработчик симуляторов космических аппаратов
    Только ты учитывай, что на нём написаны бортовые системы космических кораблей, модели атомных станций и др. ч то говорит о том, что данный язык востребован и актуален. Взять тот же питер - НИИТВ, которые делают камеры для корабля Союз и МКС - вся логика на Си + асм, в Аничковом дворце (доп. образование) самым востребованным является кружок именно Си (на втором месте питон). Не стоит недооценивать этот язык.
    Ответ написан
    3 комментария
  • Стоит ли учить Си?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Зачем учить Си сейчас?

    Чтобы не учить потом.
    Ответ написан
    1 комментарий
  • Нужен ли сейчас Си?

    pavlinux
    @pavlinux
    Автор, а что мешает учить много языков. Один хрен алгоритмы одни и те же, на ООП будешь время тратить на изучение классов/методов,... в Ц - на их написание.

    Java/JS/C/C++/C# по синтаксису схожи.
    После Perl - любой скриптовый будет казаться ерундой.
    У нас в универах Pascal для обучения программированию берут, в штатах - Python.
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    С++ - это почти надмножество Си, потому придется.
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @cijiw
    Си в настоящее время имеет очень узкую сферу применения.
    Микроконтроллеры да масенькие кусочки нагруженных систем.

    При этом он не страхует программиста, не экономит ему время - в отличие от более современных языков.
    Из Си-подобных в настоящее время широко применяется С#, Go, начинается Rust.

    Даже от С++ стараются отказаться, если это возможно (нет унаследованности или ограничений по квалификации наличиствующих разработчиков).

    Си - слишком низкий уровень.
    Имхо, его следует учить после более современных реинкарнаций - C#, Go, Rust.
    Ответ написан
    3 комментария
  • Имеет ли смысл начинать с Си?

    @kvothe
    На мой взгляд изучать Си смысл есть. Указатели, ручное выделение памятью и т.д. - это ведёт к понимаю как работают программы, компьютер. Начать - тоже смысл есть, но, скорей всего, если есть достаточно времени.

    Python - хороший язык для быстрого начала изучения разработки как таковой, с переходом практически в любую сферу. Знания Си потом могут пригодиться и в питоне, если нарвётесь на проект использующий ctypes(механизм Python для импорта функций из внешних библиотек).
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @asd111
    Знать Си и ассемблер в любом случае не будет лишним.
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @spotifi
    Изучать следует начинать с языка со статической типизаций.

    В частости С подходит по этому критерию.
    Плюс в изучении С - много литературы и пр. информации.
    Минусы - будете не только язык изучать, а еще и со стандартами и их разной кривости реализациями бороться. То, что работает в реализации Clang на Linux не будет работать в реализации MSVC на Windows и в реализации GCC на FreeBSD. Оно вам надо?
    Плюс в С легко отстрелить себе ногу.
    Плюс реальная польза от Си - это только в слабых микроконтроллерах (мощные модели вполне способны и целые операционные системы запуска), да в написании операционных систем. В других областях или давно перешли или переходят на другие языки.

    Я бы предложил Go.

    Статическая типизация.
    Мощь и простота в одном флаконе.
    Жесткий стандарт - разные версии на разных ОС комилируются запросто.

    Скриптовые динамические языки - PHP, JavaScript, Python, Ruby, Perl, Lua - плохо для начинающего. Прививает нехорошее отношение к переменным.

    Rust, D, Java, Dart - слишком много концепций, не будете знать на чем сосредоточить внимание.

    Haskell, Erlang - функциональные концепции, далеко оторванные от массового программирования, которое в большинстве своем императивное.
    Ответ написан
    108 комментариев
  • Стоит ли изучать СИ?

    @res2001
    Developer, ex-admin
    Вопрос используется ли вообще язык СИ где то в проектах?

    Странный вопрос. Возьмите любой проект где требуется скорость/низкое потребление памяти там будет Си.
    Список популярных репозиториев на Си на гитхабе за последний месяц: https://github.com/trending/c?since=monthly
    Ответ написан
    Комментировать
  • С чего начять новичку в СИ?

    Griboks
    @Griboks
    Я советую начать со спецификации, например ANSI C.
    Ответ написан
    Комментировать
  • С чего начять новичку в СИ?

    @res2001
    Developer, ex-admin
    1.Си достаточно не большой и простой язык программирования. Возьмите любой учебник для начинающих. Изучите язык, порешайте задачи оттуда.
    Поймите все про Си строки. Все достаточно просто, но почему то у многих с этим проблемы в начале.
    Поймите тонкие моменты языка (это важно для системного программиста и для "железячника", да и просто для хорошего программиста): указатели, арифметика указателей, динамическое выделение памяти.

    2. Потом надо погрузиться в программирование для той ОС, которую планируете использовать. Обычно это линукс. Учитывая ваши интересы (системное программирование, железо), то тут можно порекомендовать следующие книги:
    - https://www.ozon.ru/product/linux-api-ischerpyvayu... - это для user space. Эта книга больше справочник по Linux API. Если у вас хорошо с английским то эту книгу может заменить встроенная справка линукс (man).
    - https://www.ozon.ru/product/yadro-linux-opisanie-p... - это kernel space (драйвера)

    3. Параллельно с первыми двумя пунктами есть смысл читать что-нибудь по алгоритмам. Например Кормена: https://www.ozon.ru/product/algoritmy-postroenie-i...

    4. После того как будете уверены в своих знаниях Си и Linux, можете выбирать платформу с которой вы хотите работать (железку) и начинать реализовывать свои задачи. По ходу дела возникнет куча вопросов. Большая часть из них может быть решена с помощью чтения TRM (Technical Reference Manual, предоставляется производителем железа/процессора). TRMы обычно оочень большие просто так их читать без конкретной цели смысла нет.
    Ответ написан
    1 комментарий
  • С чего начять новичку в СИ?

    includedlibrary
    @includedlibrary
    Си можно начать изучать с книги "Язык программирования Си" Кернигана и Ритчи. Или с "Head First C" (я начинал с неё). Потом можно почитать про новые фичи стандарта c11.
    Если вы хотите низкоуровневым программированием заниматься, то для начала нужно прочитать "Архитектура Компьютера" Таненбаума. Ещё есть очень хорошая книга "Цифровая схемотехника и архитектура компьютера" от Сары и Дэвида Харрис.
    Потом читать спецификации на железки, под которые вы хотите писать код.
    Ответ написан
    1 комментарий
  • Что писать на C в начале и конце пути?

    @pfg21
    ex-турист
    к примеру писать копии GNU утилит.
    сначал пишешь сам - потом смотришь GNU код и разбираешься а накуя столько обвязки засунуто.
    Ответ написан
    Комментировать
  • Что писать на C в начале и конце пути?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    на Си не обязательно писать сложные проекты.
    Напишите на Си несклько консольных утилит.
    Например программа для вывода текстового файла на экран, вывода списка содержимого каталога.
    Затем что-то посложнее типа date с подстановочными символами, QR encoder, архиватор, да что угодно.

    А идеи для проектов подкидывать нет смысла, никто ж не знает что вам лично интересно настолько, чтобы заставить сделать проект и довести его до рабочего варианта.
    Ответ написан
    Комментировать
  • Что писать на C в начале и конце пути?

    15432
    @15432
    Системный программист ^_^
    Я писал архиватор, http прокси, обработчик изображений, обработчик образов прошивок... небольшие GUI приложения с всеми плюшками, но размером в 5-10 КБ... написать можно что угодно
    Ответ написан
    3 комментария