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 (перевод строки), но они здесь, чтобы вы могли понять, что происходит:T L
S S S S S T T S S T S T L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T T T L
T L
S S S S S T S T T S S L
T L
S S S S S T S S S S S L
T L
S S S S S T T T S T T T L
T L
S S S S S T T S T T T T L
T L
S S S S S T T T S S T S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S S T S S L
T L
S S S S S T S S S S T L
T L
S S L
L
L
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 и другие, довольно широко известные. Вместо этого я собираюсь поговорить об инструментах, которые недооценены и на самом деле не так популярны (но определенно должны получить признание). Каждый из них могут использовать и отдельные программисты, и команды разработчиков.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ