Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода

Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить красиво в консоль. "Ну понятно", - открыл я vim и началось мое долгое приключение... Неделя. Две. Утилита называлась logz , она умела читать логи nginx и apache, фильтровать по уровню (DEBUG, INFO, WARN, ERROR), по дате, по IP, выводила топ адресов с наибольшим числом ошибок, рисовала простенький bar-chart прямо в терминале через unicode-символы. Только вот я сидел как-то вечером, запустил wc -l main.c - 3147 строк . И смотрел на это число минуты три с таким лицом - O_O . Сама утилита работала. Но открывая её осознаешь что - это месиво. Одна функция process_file на 400 строк. Сегфолты раз в неделю. Valgrind как лучший друг. И каждый раз когда надо добавить фичу - сначала полчаса вспоминаешь что вообще происходит в коде. Потом я случайно прочитал пост про Zig на lobste.rs . Заинтересовался и попробовал. Через месяц у меня была та же утилита, но теперь на 1089 строках , которая работала быстрее и не падала. Тут я понял что вот золотая жила и расскажу о том - зачем Zig, как переписывал, где облажался и что вышло в итоге. Смотреть как горит C-код

https://habr.com/ru/articles/1019466/

#zig #c #cli #системное_программирование #производительность #компилятор #низкоуровневое_программирование

Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода

Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить...

Хабр

@landonnoll here are some brilliant macOS easter eggs, one from awk(1) and the other from strftime(3). You'll enjoy the strftime(3) one more as an astronomer. On the other hand a number of brilliant #IOCCC entries have done even better with visuals of the Moon phases!

#Moon #C #macos

Iran Berjaya Tembak Jatuh Pesawat C-130 AS

Pesawat C-130 AS didakwa ditembak jatuh Iran, konflik Iran makin tegang dan situasi semakin kritikal. - Baca artikel penuh di Oh! Media untuk info lanjut.

Iran Berjaya Tembak Jatuh Pesawat C-130 AS | Oh! Media
Implication: #python #c et al were not designed with science and math in mind? “Array indices in #julialang, as in Fortran and many other languages designed with scientific and mathematical work in mind, start at 1.”

Milei reúne a su gabinete para respaldar al jefe de Gabinete en medio de denuncias patrimoniales

📰 Título original: Argentina. La casta se reúne en la Rosada: Milei cierra filas ante la escalada del «Adorni-gate»

🤖 IA: Es clickbait ⚠️
👥 Usuarios: Es clickbait ⚠️

Ver resumen IA completo: https://killbait.com/es/milei-reune-a-su-gabinete-para-respaldar-al-jefe-de-gabinete-en-medio-de-denuncias-patrimoniales/?redirpost=7a5c5c0c-6b75-4942-a828-104208bb752f

#política #argentina #gabinete #c...

Milei reúne a su gabinete para respaldar al jefe de Gabinete en medio de denuncias patrimoniales

El presidente Javier Milei convocará una reunión de Gabinete el próximo lunes en la Casa Rosada con el objetivo de mostrar unidad y respaldar públicamente a Manuel Adorni, jefe de Gabinete…

Hemeroteca KillBait

Milei reúne a su gabinete para respaldar al jefe de Gabinete en medio de denuncias patrimoniales

📰 Título original: Argentina. La casta se reúne en la Rosada: Milei cierra filas ante la escalada del «Adorni-gate»

🤖 IA: Es clickbait ⚠️
👥 Usuarios: Es clickbait ⚠️

Ver resumen IA completo: https://killbait.com/es/milei-reune-a-su-gabinete-para-respaldar-al-jefe-de-gabinete-en-medio-de-denuncias-patrimoniales/?redirpost=7a5c5c0c-6b75-4942-a828-104208bb752f

#política #argentina #gabinete #c...

Milei reúne a su gabinete para respaldar al jefe de Gabinete en medio de denuncias patrimoniales

El presidente Javier Milei convocará una reunión de Gabinete el próximo lunes en la Casa Rosada con el objetivo de mostrar unidad y respaldar públicamente a Manuel Adorni, jefe de Gabinete…

Hemeroteca KillBait
What are Senders Good For, Anyway? (2024)

0 comments

Lobsters
Programming in C for pets: Arrays and pointers

@Chaotica

Ggf. wird Dich das überraschen - aber die Kritik teile ich. Die #Rechtsmimesis auf Kosten des #C halte ich für einen Irrweg, dem sich dankenswerterweise immer mehr Christdemokratinnen & Christdemokraten und auch ganze Landesverbände widersetzen. Eine nur noch rechtslibertäre & konservative #Union würde ähnlich abstürzen wie die #FDP. Die Berliner Blase spricht nicht für uns alle.

https://digitalcourage.social/@BlumeEvolution/116347411488346145

@venande

Die Frage nach dem „C“ in der Union finde ich berechtigt & teile ich ausdrücklich!

Denn auch die europäische Christdemokratie ist leider massiv von Säkularisierung & Nachwuchsmangel betroffen. Als nur noch „konservative“ Partei würde aber auch die Union nach meiner Einschätzung an der Rechtsmimesis zugrunde gehen.

Die hohe Zustimmung noch für Merkel & den Wahl- und Umfragen-Absturz von Merz verstehe ich vor diesem Hintergrund. Hier stimme ich dem langjährig erfolgreichen Fraktionsvorsitzenden Volker Kauder klar zu!

#C #CDU #CSU #Christdemokratie #Christentum #Säkularisierung #Demografie #Rechtsmimesis #Konservativ #Kauder #Parteienfamilie #Merkel #Merz #Umfragen https://www.stuttgarter-zeitung.de/inhalt.volker-kauder-die-cdu-war-nie-eine-konservative-partei.4169a402-a6ce-4d95-b2ab-5140ee2a6ffa.html

Volker Kauder - „Die CDU war nie eine konservative Partei“

Im Gespräch mit unserer Zeitung warnt der langjährige Unionsfraktionschef im Bundestag, Volker Kauder, seine Partei vor einer Abkehr von den christdemokratischen Wurzeln.

Stuttgarter Zeitung