5 найдивніших та найскладніших мов програмування
Джерело: DZone Незважаючи на те, що мови програмування самі собою досить складні, вони майже завжди створюються з метою спростити створення чогось корисного. Але існують також мови програмування, єдина мета яких — зробити ваше життя важчим або, можливо, навіть нещасним. Нижче наведено деякі з них: «найгірші» та найдивніші мови програмування.
1. Piet
Piet – це мова програмування, створена за допомогою кольорів. Це означає, що вам потрібно створити невелике растрове зображення, яке буде перетворено на код, зрозумілий вашому комп'ютеру. Код працює, оцінюючи різницю між кольорами, щоб визначити дію, яку потрібно зробити. Нижче наведено приклад на мові Piet того, як вивести на екран фразу Hello World.
2. Shakespeare
Shakespeare — це мова, яка має зробити ваш код схожим на п'єсу Шекспіра. Ми можемо використовувати оператори переходу, такі як давайте продовжимо, для переміщення між різними рядками коду. Є навіть оператори if, у яких використовують такі ключові слова, як if so. Типовий фрагмент мови програмування Шекспіра виглядає так:
Variable, Definition Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. Juliet: Am I better than you? Hamlet: If so, let us proceed to scene III.
3. Whitespace
Кожного, хто будь-коли кодував, дратувало, як інші використовують прогалини. Я, мабуть, витратив кілька днів свого життя, друкуючи код, у якому табуляції та відступи не мали жодного сенсу. Якщо пробіли вас теж дратують, тоді ви зненавидите мову програмування пробілів, яка використовує для коду лише пробіли різної довжини та типів. Щоб дати вам уявлення про те, як це виглядає, наведений нижче код (який я знайшов в інтернеті) надрукує Hello World. У цьому коді Whitespace не було б символів S (пробіл), T (табуляція) або L (переклад рядка), але вони тут, щоб ви могли зрозуміти, що відбувається:
TL SSSSSTTSSTSTL TL SSSSSTTSTTSSL TL SSSSSTTSTTSSL TL SSSSSTTSTTTTL TL SSSSSTSTTSSL TL SSSSSTSSSSSL TL SSSSSTTTSTTTL TL SSSSSTTSTTTTL TL SSSSSTTTSSTSL TL SSSSSTTSTTSSL TL SSSSSTT
4. JSF*ck
JSF*ck — це мова, яка працює з Javascript, але використовує тільки квадратні та круглі дужки, знаки оклику та знак плюсу. Це ніби нагадує мені спробу вивчити RegExp, якщо знання RegExp потрібно для виконання будь-яких дій цією мовою. Однак JSF*ck сумісний з Javascript, тому ви навіть можете запустити його у звичайній програмі. Ось кілька прикладів того, як це може бути складно:
javascript Copy (+[![]]+[+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+(+!+[ ])+(+[])+(+[])+(+[]))])[+!+[]+[+[]]] // Returns y (![]+[])[+ !![]] // Returns a !+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+! +[] // Returns 9
5. Malbolge
Malbolge - одна з найскладніших мов програмування для вивчення. Більше того: його практично неможливо використати. Про це найяскравіше говорить той факт, що навіть творець мови Malbolge не зміг написати на ній програму. Більшість коду Malbolge створюється з використанням інших мов, хоча деякі сценарії написані на чистому Malbolge. Приклад того, як написати Hello World цією мовою, показаний нижче:
javascript Copy (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
6 відмінних інструментів для підвищення продуктивності розробників
Джерело: Dev.to Щоразу, коли справа доходить до роботи, незалежно від того, чи працюєте ви над другорядним проектом, відпиваючи каву з чашки, або у вас напружений робочий час, щоб виконати своє завдання до дедлайну, ви хочете бути впевненим, що робите все для цього можливе. Ось тут і знадобляться інструменти підвищення продуктивності розробників.
У цій статті я не згадуватиму таких інструментів, як Trello, Slack, Jira та інші, досить широко відомі. Натомість я збираюся поговорити про інструменти, які недооцінені і насправді не такі популярні (але напевно повинні отримати визнання). Кожен із них можуть використовувати і окремі програмісти, і команди розробників.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ