Daily Coding 🔥
8.69K subscribers
1.82K photos
6 videos
1 file
1.67K links
Канал, который научит вас программировать лучше и эффективнее.

Интересные задачи, обучающие статьи, советы по стилю кода и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/dailycoding
Download Telegram
📑 Связные списки, трюки с указателями и хороший вкус

В интервью на TED Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков. В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй.

В качестве примера Линус показывает достаточно простой псевдокод в стиле Си. Но не даёт концептуального объяснения. Поэтому не сразу понятно, как работает косвенный указатель.

Подробно разберём это решение и его преимущества. В качестве бонуса показано не только удаление, но и вставка элемента через косвенную адресацию.

#статьи #C #Си
📑 Нужна ли нам замена языка C?

Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов.

#статьи #C #Си
Выберите правильный вариант 👇🏼 #test #C #Си #C_plus_plus
💡 Модификаторы в С++

В комментариях к последнему тесту по C++ возникли вопросы, что это за модификаторы. Поэтому сегодня разберём модификаторы знаковости и размера в С++.

Знаковые модификаторы

signed - представление знакового типа данных (если опущено, то подразумевается по умолчанию).
unsigned - представление беззнакового типа данных.

Модификаторы размера

short - целевой тип оптимизируется, чтобы размер был не менее 16 бит.
long - целевой тип оптимизируется, чтобы размер был не менее 32 бит.

Модификатор long можно применять к типу данных дважды, что даёт оптимизацию занимаемого переменной пространства не менее 64 бит. Данная оптимизация введена в стандарте C++11.

long long int

Модификаторы размера и знаковости можно также комбинировать.

signed long long int

#советы #coding #C #Си #C_plus_plus
👍1
📑 «Чертовски глупое решение»: история появления языка C

В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны были стать прямыми наследниками C, а другие просто переняли и адаптировали его синтаксис. Программист, перешедший с Java, PHP, Ruby, Python или Perl, почти не испытает сложностей с пониманием простых программ на C, и в этом смысле C можно воспринимать как lingua franca программистов.

Однако C не возник из ниоткуда как единый монолит программирования. История C начинается в Англии, с коллеги Алана Тьюринга и программы, игравшей в шашки.

#статьи #C #Си
Выберите правильный вариант 👇🏼 #test #C #Си #C_plus_plus
🔥 Лучшее на канале за неделю

1
. Нужна ли нам замена языка C?

2. Maven — один из трёх самых популярных инструментов для сборки проектов на Java.

3. Модификаторы в С++.
📑 Пишем простой Path Tracer на старом добром GLSL

В статье показывается пример реализации простого Path Tracer на GLSL.

#статьи #C #Си #C_plus_plus
Выберите правильный вариант 👇🏼 #test #C #Си #C_plus_plus
📑 Эмуляция компьютера: интерпретатор CHIP-8

В данной статье поговорим о разработке эмулятора и обсудим простой, но полноценный пример эмуляции CHIP-8.

#статьи #C #Си #C_plus_plus
🔥 Лучшее на канале за неделю

1
. Эмуляция компьютера: интерпретатор CHIP-8.

2. Guava — набор основных библиотек Google для Java.

3. Проверяйте код с использованием линтера.
📑 Эмуляция компьютера: интерпретатор CHIP-8, таймеры и обработка ввода

В прошлой части мы уже создали вполне рабочий эмулятор CHIP-8, но он, к сожалению, получился очень медленным. Почему? Читайте в данной статье.

#статьи #C #Си #C_plus_plus
Выберите правильный вариант 👇🏼 #test #C #Си #C_plus_plus
📑 ARM и программирование без блокировок

Эта статья является вводной статьёй про опасности программирования без блокировок, а также объяснением, почему слабая модель памяти ARM ломает некоторый код, и почему этот код, вероятно, не работал изначально. Также в ней объясняется, почему стандарт C++11 значительно улучшил ситуацию в программировании без блокировок (несмотря на возражения против противоположной точки зрения).

#статьи #C #Си #C_plus_plus
🔥 Лучшее на канале за неделю

1
. ARM и программирование без блокировок.

2. CodeTrack — это бесплатный профилировщик производительности и анализатор выполнения .NET.

3. Не пишите сложные многоуровневые запросы.
🛠 WireShark — это передовой и широко используемый анализатор сетевых протоколов. Он позволяет вам посмотреть, что происходит в вашей сети на микроскопическом уровне и является стандартом де-факто (а часто и де-юре) для многих коммерческих и некоммерческих предприятий, государственных учреждений и учебных заведений. Разработка Wireshark процветает благодаря добровольному вкладу сетевых экспертов со всего мира и является продолжением проекта, начатого Джеральдом Комбсом в 1998 году.

#инструменты #C #Си
🛠 TDengine — высокопроизводительная облачная база данных временных рядов с открытым исходным кодом, оптимизированная для IoT и DevOps.

Daily Coding #инструменты #java #Си
🛠 Ventoy — это инструмент с открытым исходным кодом для создания загрузочного USB-накопителя для файлов ISO/WIM/IMG/VHD(x)/EFI. С ventoy вам не нужно снова и снова форматировать диск, вам просто нужно скопировать файлы образа на USB-накопитель и загрузить его. Вы можете копировать множество файлов одновременно и ventoy предоставит вам загрузочное меню для их выбора.

Daily Coding #инструменты #Си