Пользователи сайта Quora обсудили, какой, по их мнению, самый некрасивый язык программирования. Сайт KV.BY опубликовал перевод некоторых ответов.
Дмитрий Кропивницкий, программист
Я думаю, отвечая на этот вопрос, люди разделятся на три лагеря:
- Тех, кто жалуется на JavaScript. Не буду спорить, у JavaScript множество недостатков (хоть я и нахожу преемственность прототипов довольно элегантной), но с чисто эстетической точки зрения этот язык не так уж плох. У него довольно стандартный С-образный синтакс.
- Тех, кто критикует шуточные/эзотерические языки типа Brainfuck и Whitespace. Конечно, они не особо красивы, но стоит учесть, что они специально таковыми разрабатывались и никогда не предназначались для реальной работы.
- Немногих, кто недоволен Assembly, C, COBOL, Fortran, Perl и другими возрастными языками. И эти недовольства небеспочвенны, но я не считаю, что какой-то из этих языков (да-да, включая Perl), достоин звания самого уродливого языка программирования.
Так какой же язык по-моему самый уродливый? APL.
Он был создан в 60-х, когда в компьютерной сфере не существовало никаких шаблонов. APL обладает своим собственным набором символов и широко их использует. Это означает, что для написания APL вам нужна специальная APL-клавиатура и специальный APL-терминал (или в настоящее время специальный шрифт APL), способный вводить и отображать все специальные символы. И так как APL был изобретен до того, как мониторы с катодной трубкой обрели широкую популярность, вам необходимы специальные принтеры для печати кода. Вот пример кода APL. Надеюсь, лицезрение его доставит вам удовольствие.
И да, существовали крупные программные системы, написанные на APL.
Марк Эдвардс
COBOL (обычный бизнес-ориентированный язык для тех, кому меньше 50 лет) — вы сотрете свои пальцы к тому моменту, когда допишете десятитысячную страницу, ведь то, что умещается в одну строчку в любом достойном языке программирования, занимает целые страницу в COBOL.
Вы изрядно поеселитесь, если случайно поставите точку в 81-ом столбце. Это не будет выглядеть, как ошибка, скорее логический баг, будет сидеть там до тех пор, пока вы не уедете в отпуск и не сообразите, в чем дело.
Кевин Кэмерон, язык C в 80-х, параллельная обработка (Inmos, CSP), SMP в 90-х, C++ в настоящее время
PHP действительно ужасен, Python также не приносит особой пользы, к тому же принудительные отступы не добавляют ему красоты.
И тем не менее, для меня явными лидерами в пространстве DSL являются SystemVerilog и VHDL. И все благодаря своей избыточности и дисфункциональности.
Роджер ванн Доггенаар, программирую с 1985, профессионально – с 2003
Разумеется, на этот вопрос существует множество ответов, но по-моему единственным правильным ответом будет: любой язык, написанный в NOOBS, уродлив по определению. И только поработав с каким-либо языком достаточное количество времени, вы больше не будете считать его уродливым, а увидите всю его красоту.
Также я голосую за APL, но я уверен, что если бы на дворе были 60-е, я бы использовал APL в течение всей своей профессиональной жизни, так что вероятно мне бы открылась вся его красота. Это как матрица, чей код выглядел просто набором цифр и букв, но в конце концов Нео смог прочитать его и увидеть всю его красоту и элегантность.
У нас в Нидерландах есть одна старая поговорка: Op ieder potje past een dekseltje. Она означает: На каждый товар свой купец.
Смысл: Не важно, насколько уродлив тот или иной язык программирования, всегда найдутся те, кому он придётся по душе.
А если вы хороший программист, вы сможете написать красивый код на языке, который со стороны кажется недостаточно привлекательным.
Дейл Галледж, разработчик ПО с огромным стажем
Красивый код – это элегантность исполнения. Несмотря на их многочисленные шероховатости, я видел элегантные коды на C, C++, C#, Java, Javascript, Perl, Python, R, Lisp, Ruby и других языках. Даже APL при всей своей нечитабельности время от времени может выглядеть блестяще.
Я никогда не видел элегантных кодов на COBOL и PL/I. Не припомню также ничего прекрасного на BASIC, но считаю, что это вполне возможно. Pascal также никогда не казался мне привлекательным, но он по крайней мере не так неказист, как COBOL.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]