Типичный программист
81.4K subscribers
2.64K photos
889 videos
8 files
7.44K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Книги по языку Си для начинающих и не только

Про Си написано достаточно книг, многие из них актуальны до сих пор, впрочем, как и сам язык.

У нас как раз есть подборка нескольких таких книг, которые помогут разобраться с основами языка, не отстрелив себе пару конечностей:

https://tproger.ru/books/clang-books/

#си #книги
Для чего хорош Си?

Рубрика, в которой мы помогаем #выбратьязык программирования для изучения, продолжается: сегодня рассказываем про Си.

Если вам нужно написать код, который будет тесно взаимодействовать с железом, то на Си стоит обратить внимание:

https://tprg.ru/BUzy

#выбратьязык #си
Подборка ресурсов для изучения Си

Сейчас язык Си занимает уверенно второе место в индексе TIOBE.

Зачем он нужен и как эффективно его изучить? Отвечаем на вопросы и делимся подборкой ресурсов для обучения:

https://tprg.ru/D5CK

#си
Си возглавил рейтинг популярности языков программирования TIOBE впервые за 5 лет

Примечательно, что в январе этого года по версии этого же рейтинга Си стал языком года. Создатели рейтинга тогда объяснили это тем, что язык популярен для разработки интернета вещей и смарт-устройств.

Нынешний скачок в рейтинге может быть связан с пандемией — точнее с тем фактом, что С и С++ часто используются в медицинском ПО.

Источник: рейтинг TIOBE

#си #java #tiobe
Создатели наших родненьких микропроцессоров «Эльбрус» выложили в открытый доступ руководство по их программированию

Руководство содержит:
— описание платформы и фирменного компилятора LCC;
— описание языка ассемблера и системы команд процессоров «Эльбрус»;
— советы по оптимизации и повышению производительности кода на платформе;
— особенности портирования на «Эльбрусы» своего ПО на языках C и C++.

Посмотреть можно здесь: https://tprg.ru/xQBE

#hardware #эльбрус #си #cpp
IEEE опубликовал рейтинг языков программирования за 2020 год

Третий год подряд топ-3 не меняется: Python, Java и C.

Языки оценивались по 11 параметрам, собранных по таким ресурсам как GitHub, StackOverflow, Google Search, Trends, Twitter и Reddit.

Источник: IEEE Spectrum

#python #java #си
Книги по языку Си для начинающих и не только

Си действительно мощный язык программирования. Он крут своей гибкостью и не накладывает на программиста никаких ограничений. И это же — большая проблема для тех, кто только начал изучать язык.

Мы собрали для вас несколько книг, которые помогут разобраться с основами языка, не отстрелив себе пару конечностей:

https://tprg.ru/jdmg

#си #книги
Немного котиков вам в ленту — код на C в форме котика, генерирующий символьного котика.

Исходный кот есть тут: https://pastebin.com/WGVey5RY

#кек #си
This media is not supported in your browser
VIEW IN TELEGRAM
Не начинайте учить Си, пока не заберёте себе эту исчерпывающую подборку полезных ресурсов

В ней есть интерактивные обучалки для новичков, книги, проверенные временем, и даже знаменитый бесплатный гарвардский курс «CS50», доступный на русском языке. Сохраните себе, чтобы не потерять, и пользуйтесь на здоровье:

https://tprg.ru/D5CK

#си
Почему Си должен умереть?

Не учил Си — не настоящий программист. По крайней мере, так считают некоторые разработчики. Но есть и другое мнение.

Советуем материал от пользователя с ником exegete, в котором он рассказал, как разработчики компиляторов и комитет стандартизации пытались реализовать высокоуровневые конструкции Си, сохранив при этом его низкоуровневые свойства. И в итоге сделали из него бесполезный и даже вредный инструмент разработки:

https://tprg.ru/gIqj

#си
Что почитать на выходных: «Алгоритмы. Справочник. С примерами на C, C++, Java и Python», 2-е издание

Книга поможет понять, что наибольший вклад в производительность программы вносят правильно выбранный алгоритм и его реализация. А выбор подходящего алгоритма, способного решить вашу задачу, — дело далеко не из самых простых. Всё с примерами на C, C++, Java и Python.

#алгоритмы #книги #си #cpp #java #python
Почему не нужно и даже вредно бояться GOTO?

Готофобия — это боязнь использовать инструкции goto. Обычно возникает из-за непонимания и незнания контекста этой проблемы, а также из-за историй о незапамятных временах в истории программировании. Разработчики, страдающие готофобией, готовы жертвовать удобочитаемостью своего кода, только бы не прибегать к goto.

Сам по себе оператор goto не опасен — это языковая возможность, которая напрямую преобразуется в инструкции перехода, реализованные в машинном коде. Goto — точно как и указатели, перегрузка операторов и масса прочих «субъективных» зол — повсеместно ненавидят те, кто обжёгся на плохом программировании.

В статье о том, почему goto можно и нужно использовать, и о том, как делать это правильно: https://habr.com/ru/post/720486/

#си #алгоритм
Как работает PostgreSQL на уровне кода?

Postgres — один из крупнейших open source проектов. Он создавался многие года, и кодовая база накопилась огромная. Но много ли разработчиков представляет себе, как он работает изнутри? И речь не про SQL, а про язык, на котором он написан, — про C.

Вот подборка статей, которая показывает, как работает PostgreSQL на уровне кода:
— Часть 1, введение: https://habr.com/ru/post/701284/
— Часть 2, цикл сервера: https://habr.com/ru/post/704618/
— Часть 3, подготовка бэкэнда: https://habr.com/ru/post/707950/
— Часть 4, инициализация бэкэнда: https://habr.com/ru/post/709404/
— Часть 5, цикл бэкэнда: https://habr.com/ru/post/714840/

#sql #си
А вы знали, что для кода, от которого зависит жизнь человека, есть специальный стандарт?

MISRA C — это набор промышленных рекомендаций и стандартов, разработанных ассоциацией MISRA (Motor Industry Software Reliability Association) для разработки программного обеспечения на языке Си. Это — стандарт с огромным количеством запретов, чтобы повысить безопасность и надёжность кода в том случае, когда от его качества зависит жизнь человека.

К примеру, представьте, что самолёт вдруг отказался опустить шасси. Или рентген взял и облучил вас высокой долей радиации. Или робот-хирург отказался работать посреди операции. Здесь и нужен этот стандарт.

Рассказываем подробнее про MISRA C в статье: https://tproger.ru/articles/zachem-nuzhen-misra-c-standart-s-ogromnym-kolichestvom-zapretov/

#си #безопасность
Стоит ли изучать С и С++ после Java?

Java — отличный язык программирования, который проверен и временем, и количеством программ, которые на нём написаны. Java часто рекомендуют в качестве первого языка программирования, потому что он решает большинство проблем в написании ПО и потому что он максимально понятен.

Однако у Java есть и некоторые минусы, которые могут натолкнуть вас на мысль о переходе на другой язык программирования.

В этой статье разбираемся, зачем переходить с Java на С или С++, зачем учить именно С-языки и какие плюсы и минусы присущи С и С++ по сравнению с Java: https://tproger.ru/articles/stoit-li-izuchat-s-i-s-posle-java/

#java #си
Почему Линус Торвальдс ненавидит C++?

В 2007 году пользователь Дмитрий Какурин написал письмо Линусу Торвальдсу, в котором спросил программиста, почему тот использует чистый Си вместо того, чтобы написать все на C++. Само использование чистого Си Дмитрий Какурин назвал емким словом bullshit. В ответ Линус Торвальдс сказал, что bullshit — это сам Какурин, а C++ — ужасный язык, на котором кодеры генерируют, мягко говоря, «нечистоты».

Рассказываем, что еще сказал Линус и почему так вышло: https://tproger.ru/articles/pochemu-linus-torvalds-nenavidit-s

#linux #cpp #си
История C++ с 1953 года от FLOW-MATIC и Fortran до языка Си и Cfront

Язык C++ разработал датский программист Бьерн Страуструп, это известный факт. Но что, если копнуть глубже и попытаться разобраться, где находится стартовая точка эволюции языков программирования, которая привела к появлению C++, и какой эволюционный путь прошли языки?

В этой статье рассказываем, как бизнес в 1950 годах появлиял на развитие языков программирования, какие шаги проделал ALGOL перед тем, как превратился в язык Си, и как языки проделали долгий и витиеватый путь от упрощения к усложнению, и наоборот: https://tproger.ru/articles/istoriya-cpp-s-1953-goda

#cpp #си #история
Как работает PostgreSQL на уровне кода?

Postgres — один из крупнейших open source проектов. Он создавался многие года, и кодовая база накопилась огромная. Но много ли разработчиков представляет себе, как он работает изнутри? И речь не про SQL, а про язык, на котором он написан, — про C.

Вот подборка статей, которая показывает, как работает PostgreSQL на уровне кода:
— Часть 1, введение: https://habr.com/ru/post/701284/
— Часть 2, цикл сервера: https://habr.com/ru/post/704618/
— Часть 3, подготовка бэкэнда: https://habr.com/ru/post/707950/
— Часть 4, инициализация бэкэнда: https://habr.com/ru/post/709404/
— Часть 5, цикл бэкэнда: https://habr.com/ru/post/714840/

#sql #си