г. Минск, ул. К. Маркса, 32
+375 (29) 636 65 85
г. Минск, ул. К. Маркса, 32
Поздравляем всех наших студентов, выпускников и даже будущих студентов с Днём программиста!
И чтобы наше поздравление было интереснее и, может, чуточку полезнее, подобрали несколько интересных способов поздравить своих близких айтишников с профессиональным праздником😉
Когда речь заходит о ненормальном программировании, первое, что приходит в голову — бессмертный Brainf*ck. Язык удобен сразу по нескольким причинам:
Самый простой «Happy Programmers’ Day!» (без циклов) на Brainf*ck выглядит вот так:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++++++++++++++++++++++.
+++++++++++++++..
+++++++++.
>++++++++++++++++++++++++++++++++.
<——————————————. ++++++++++++++++++++++++++++++++++. —. ———. +++++++++++. ——————. ++++++++++++.. ———. +++++++++++++. +. >>+++++++++++++++++++++++++++++++++++++++.
<.
<————————————————. +++++++++++++++++++++++++++++. ++++++++++++++++++++++++. >>——.
Поздравлением могут быть художественные произведения разного формата: стихи, сказки, да на что времени и фантазии хватит☺️
Для реализации этого способа подходит язык Shakespeare, в котором программа представлена в виде пьесы, переменные — героев Шекспира, числовые константы — художественных описаний, а программист… драматургом может и не быть, но литературный английский знать обязан! Чем богаче выбор прилагательных при существительном, тем большее число оно обозначает, а действия оформляются как монологи героев-переменных.
Вывод сообщения «congrats» на этом языке выглядит примерно так:
The Shakespeare-Style Congratulations
Ariel, the genie to store values of o,n,r,t,s
Kaliban, the ugly creature to store values of c, g, a
Prospero, the hero to operate on them
Act I.
Scene I.
[Enter Prospero and Ariel]
Prospero:
You peaceful mighty proud handsome white-winged overwieght overpraised overnamed angel!
You are as good as the difference between you and an ill naughty crying ungerage child!
[Exit Ariel] [Enter Kaliban]
Prospero:
You are as ugly as the difference between Ariel and sum of his white fluffy wings and his bored smile!
Speak your mind!
[Exit Kaliban] [Enter Ariel]
Prospero:
Speak your mind.
You are as worried as the sum of you and a spider!
Speak your mind!
[Exit Ariel] [Enter Kaliban]
Prospero:
You are as disgusting as the sum of you and a drunken vomiting idiot.
Speak your mind!
[Exit Kaliban] [Enter Ariel]
Prospero:
You as as sweet as the sum of you and reddest royal roses.
Speak your mind.
[Exit Ariel] [Enter Kaliban]
Prospero:
You are as silent as the difference between you and the sum of your dirty feet and your unkept greasy hair.
Speak your mind!
[Exit Kaliban] [Enter Ariel]
Prospero:
You are as prominent as the sum of you and a sparkling diamond.
Speak your mind.
You are as lovely as the sum of you and a guinnea-pig.
Speak your mind!
[Exit Ariel]
Prospero:
What the hell is wrong about these guys walking here and there in silence?
[Exit Prospero]
Хотите удивить коллегу? Покажите ему профессиональный фокус. Запустите shell (например, Bash) и наберите следующую команду:
echo 1774767685848640863781394195195183398747095833456108183818P | dc
Это так называемая dc-магия, несложная, но не очевидная. dc — это Desktop Calculator, инструмент, который работает с числами произвольной точности. В данном случае команда P (последний символ перед |) выводит на печать предшествующее ему число, но (внимание, сам фокус) как строку. Для этого число переводится в шестнадцатеричный формат:
0x48617070792050726F6772616D6D6572732720446179210A
разбивается на пары цифр, и вместо каждой пары цифр на печать выводится символ с соответствующим ASCII-кодом.
Если у вас нет принтера, есть язык программирования — Whitespace. Пустой листок бумаги, полученный от программиста на Whitespace, может означать все что угодно — от признания в любви до вызова на дуэль. Имеют не видимые символы, а промежутки между ними — невидимые символы пробел, табуляция и перенос строки. Таким образом, программа без комментариев выглядит как пустой документ, а на печати — как чистый лист.
А вот и программа вывода «congrats» на печать, в которой (во избежание проблем с парсером) пробелы заменены на S, а табуляции — на T.
Фигурные скобки означают начало и конец числа (для читабельности), последняя точка указывает на три перевода строки в конце кода.
SS{STTSSSTT}
T
SSSS{STTSTTTT}
T
SSSS{STTSTTTS}
T
SSSS{STTSSTTT}
T
SSSS{STTTSSTS}
T
SSSS{STTSSSST}
T
SSSS{STTTSTSS}
T
SSSS{STTTSSTT}
T
SSSS{STSTS}
T
SS
.
Существует масса способов оформить поздравление в виде картинки — например, в виде QR-кода или картинки на Brainloller.
Если вы хотите получить востребованную профессию в IT сфере, выбирайте обучение в Международной компьютерной академии ШАГ. У нас есть курсы бэкенд разработки, блендер для начинающих, курсы frontend, курсы java, python, обучение на тестировщика, курсы ui ux дизайна, курс аналитик данных и другие.