TGViewer
DevOps DevOps @devopsitsec · 23.7K subscribers
Post #2375 605
Это C. Просто автор предпочитал синтаксис ALGOL 68 😄

Стив Борн, создатель Bourne shell, использовал макросы, чтобы исходники оболочки выглядели привычнее:


#define IF if(
#define THEN ){
#define ELSE } else {
#define FI ;}


Теперь условие можно записать так:


IF n <= 1 THEN
return;
FI


Препроцессор превратит его в обычный C:


if (n <= 1) {
return;
}


Такие макросы действительно есть в исходниках Bourne shell из UNIX V7. На картинке тот же приём применяется к циклам: FOR, DO, OD.

Любопытный кусочек истории: через #define можно поменять внешний вид языка, сохранив прежний компилятор. А вот читать и отлаживать такой код придётся уже с учётом собственного «диалекта».

https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
  • ❤ 3
  • 🙈 2
  • 👍 1
  • 🔥 1
More from @devopsitsec
  1. Oct 8, 2026photo post
  2. Oct 6, 2026👣 Большой разбор собеседований на Go в 2026 году На GitHub появился мощный репозиторий дл…
  3. Oct 6, 2026Для тех, кто работает с Kubernetes и облачной инфраструктурой, в октябре намечается отличн…
  4. Oct 4, 2026🚀 DevOps Interview 2026 - шпаргалка-курс для подготовки к собеседованию Всё, что спрашива…
  5. Oct 3, 2026🛠️ Awesome SRE - большая подборка ресурсов для Site Reliability Engineering Репозиторий a…
  6. Oct 2, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →