This media is not supported in your browser
VIEW IN TELEGRAM
Не начинайте учить Си, пока не заберёте себе эту исчерпывающую подборку полезных ресурсов
В ней есть интерактивные обучалки для новичков, книги, проверенные временем, и даже знаменитый бесплатный гарвардский курс «CS50», доступный на русском языке. Сохраните себе, чтобы не потерять, и пользуйтесь на здоровье:
https://tprg.ru/D5CK
#си
В ней есть интерактивные обучалки для новичков, книги, проверенные временем, и даже знаменитый бесплатный гарвардский курс «CS50», доступный на русском языке. Сохраните себе, чтобы не потерять, и пользуйтесь на здоровье:
https://tprg.ru/D5CK
#си
Почему Си должен умереть?
Не учил Си — не настоящий программист. По крайней мере, так считают некоторые разработчики. Но есть и другое мнение.
Советуем материал от пользователя с ником exegete, в котором он рассказал, как разработчики компиляторов и комитет стандартизации пытались реализовать высокоуровневые конструкции Си, сохранив при этом его низкоуровневые свойства. И в итоге сделали из него бесполезный и даже вредный инструмент разработки:
https://tprg.ru/gIqj
#си
Не учил Си — не настоящий программист. По крайней мере, так считают некоторые разработчики. Но есть и другое мнение.
Советуем материал от пользователя с ником exegete, в котором он рассказал, как разработчики компиляторов и комитет стандартизации пытались реализовать высокоуровневые конструкции Си, сохранив при этом его низкоуровневые свойства. И в итоге сделали из него бесполезный и даже вредный инструмент разработки:
https://tprg.ru/gIqj
#си
Что почитать на выходных: «Алгоритмы. Справочник. С примерами на C, C++, Java и Python», 2-е издание
Книга поможет понять, что наибольший вклад в производительность программы вносят правильно выбранный алгоритм и его реализация. А выбор подходящего алгоритма, способного решить вашу задачу, — дело далеко не из самых простых. Всё с примерами на C, C++, Java и Python.
#алгоритмы #книги #си #cpp #java #python
Книга поможет понять, что наибольший вклад в производительность программы вносят правильно выбранный алгоритм и его реализация. А выбор подходящего алгоритма, способного решить вашу задачу, — дело далеко не из самых простых. Всё с примерами на C, C++, Java и Python.
#алгоритмы #книги #си #cpp #java #python
Почему не нужно и даже вредно бояться GOTO?
Готофобия — это боязнь использовать инструкции goto. Обычно возникает из-за непонимания и незнания контекста этой проблемы, а также из-за историй о незапамятных временах в истории программировании. Разработчики, страдающие готофобией, готовы жертвовать удобочитаемостью своего кода, только бы не прибегать к goto.
Сам по себе оператор goto не опасен — это языковая возможность, которая напрямую преобразуется в инструкции перехода, реализованные в машинном коде. Goto — точно как и указатели, перегрузка операторов и масса прочих «субъективных» зол — повсеместно ненавидят те, кто обжёгся на плохом программировании.
В статье о том, почему goto можно и нужно использовать, и о том, как делать это правильно: https://habr.com/ru/post/720486/
#си #алгоритм
Готофобия — это боязнь использовать инструкции 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 #си
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/
#си #безопасность
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 #си
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 #си
В 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 #си #история
Язык 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 #си
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 #си