📄 Не тонуть в горутине: особенности реализации одной и той же задачи на С и Go
Задачу всегда можно решить разными способами, особенно если дело касается разработки программного обеспечения. Цели можно достичь, используя разную логику кода, разные фреймворки и даже разные языки программирования.
Алексей Буреев, старший инженер по разработке ПО в YADRO, решил провести эксперимент. Он попробовал организовать пул потоков и event driven-архитектуру в рамках межпроцессного взаимодействия на разных языках. На Go, своем «рабочем» языке, и чистом С — низкоуровневом языке программирования. Для этого он заглянул «под капот» стандартных типов данных, которые уже были заботливо созданы разработчиками языка. В результате получился «сравнительный анализ» синтаксиса и возможностей двух языков в рамках одной задачи, которые привели инженера к интересным выводам.
Из статьи вы узнаете:
▪ Как реализовать event driven-парадигму на С;
▪ Как «нестандартно» использовать мьютексы;
▪ Какие потенциальные проблемы с организацией пула потоков уже решены в Go «из коробки».
Читать статью➡
#языкипрограммирования
Задачу всегда можно решить разными способами, особенно если дело касается разработки программного обеспечения. Цели можно достичь, используя разную логику кода, разные фреймворки и даже разные языки программирования.
Алексей Буреев, старший инженер по разработке ПО в YADRO, решил провести эксперимент. Он попробовал организовать пул потоков и event driven-архитектуру в рамках межпроцессного взаимодействия на разных языках. На Go, своем «рабочем» языке, и чистом С — низкоуровневом языке программирования. Для этого он заглянул «под капот» стандартных типов данных, которые уже были заботливо созданы разработчиками языка. В результате получился «сравнительный анализ» синтаксиса и возможностей двух языков в рамках одной задачи, которые привели инженера к интересным выводам.
Из статьи вы узнаете:
Читать статью
#языкипрограммирования