3 худших языка программирования, которых следует избегать, как чумы

Существует множество классных руководств по программированию, которые помогут вам начать писать код. Но прежде чем погрузиться в них, вам придется ответить на очень сложный вопрос: Какой язык программирования я должен изучать?

Некоторые языки легче для начинающих изучать. Другие наиболее полезны для будущего. И другие, скорее всего, помогут вам получить работу программиста.

В этой статье мы подойдем к этому с противоположной стороны: Какие языки программирования вам следует избегать?

1. Эзотерический как% ^ *!

Давайте начнем с простого. Эзотерические языки программирования (или сокращенно esolang) предназначены для того, чтобы максимально приблизить программирование к простоте. При этом им удается сделать это невероятно сложным.

Хотя это кажется противоречием в терминах, быстрый взгляд на к сожалению названный язык Brainf * k:

++++++++[>++++[>++>+++>+++>+<<<+>+>->>+[<]>.>---.+++++++..+++.>>.<-.>+.>++.

Это чудовище — функциональный, полный по Тьюрингу код. Функция этой программы? Это печатает Привет, мир! на экран. Просто, не правда ли?

Язык состоит из восьми символов, которые перемещают указатель данных в программном массиве и изменяют или выводят данные, содержащиеся в каждой позиции. Все это составляет простой язык, который является абсолютным разрушителем разума. Отсюда и неудачное имя. Кстати, Brainf £ $ k — не единственный эзотерический язык с «красочным» именем, так что будьте любопытны на свой страх и риск!

Brainf ^ k — один из наиболее известных эзотерических языков программирования, хотя можно найти и другие. Возможно, вы хотите построить программу, используя однострочники Арнольда Шварценеггера? Шеф-повар особенно примечателен, поскольку код, который вы пишете, в конечном итоге читается как рецепт

Эзотерические языки больше похожи на увлекательную задачу для программистов, чем для повседневного использования. Как правило, эти языки являются блоками Тьюринга и вызовут больше разочарований, чем что-либо еще, если их использовать для реальных задач программирования. Точно так же, как не нужно проходить через Ниагарский водопад в бочке, я уверен, что некоторые из вас будут программировать на эзотерических языках!

2. PHP

Здесь вещи могут стать спорными. PHP — это серверный язык, разработанный для веб-разработки. Первоначально выпущенный в 1997 году, PHP быстро завладел сетью. Вам будет трудно найти любую крупную веб-сущность, которая не использовать PHP. PHP представил концепцию динамических веб-сайтов, которая позволяет пользователям запрашивать базы данных в режиме реального времени, а не загружать статические страницы при каждом взаимодействии.

Недавний опрос Stack Overflow показывает, что PHP является девятым по популярности языком, и все еще существует значительный спрос на разработчиков PHP. Все идет нормально. Широко используемый, востребованный, давнишний, что там не нравится?

Ну, в зависимости от того, кого вы спрашиваете, довольно много!

несогласованность

PHP не должен был быть языком и рос по частям, а не с общей структурой. Это делает изучение PHP разочаровывающим опытом.

Примером этого, предоставленным метко названным phpsadness, является функция PHP get:

gettype()
get_class()

Эти небольшие несоответствия в именовании встроенных функций являются частью гораздо большей проблемы. Небольшие различия в синтаксисе и семантике затрудняют изучение PHP при переходе с другого языка.

В эпоху полиглотов на языке программирования эти проблемы могут не иметь для вас большого значения, но этого достаточно, чтобы некоторые разработчики побежали в гору.

Еще одна вещь, прежде чем мы отойдем от этих типов несоответствий. В PHP имена функций и классов не чувствительны к регистру, а переменные.

Чего ждать?

Тернарный оператор

Будь то продукт специальной структуры PHP или безумный каприз одного из его создателей, троичный оператор в PHP сбивает с толку. Учти это:

$a = 11;
echo (
$a == 10 ? 'ten' :
$a == 11 ? 'eleven' :
$a == 12 ? 'twelve' :
$a == 13 ? 'thirteen' : 'something else');
echo "\n";
//this code prints 'thirteen' to the console

Как вы можете видеть в приведенном выше примере, PHP делает странные вещи с тернарными операторами. Почти во всех других языках вы ожидаете, что этот код выведет одиннадцать. PHP не согласен.

Это странное поведение происходит из PHP с использованием левого ассоциативного тернарного оператора. Это несколько сногсшибательное поведение совершенно не интуитивно понятно многим программистам, и даже после прочтения подробного объяснения того, как оно работает, оно все еще сбивает с толку.

PHP по-прежнему широко используется, и многие люди утверждают, что он значительно улучшился за 20 лет.

Если вы хотите создать свои собственные плагины WordPress

тогда, безусловно, стоит учиться. Есть большие ресурсы, чтобы вы начали изучать PHP

и его популярность означает, что вы, скорее всего, получите работу по разработке, как только получите.

Реальный вопрос заключается в том, что существует так много других языков, и возникновение других фреймворков, таких как Node.js а также Рубин на рельсах, ты действительно хочешь?

3. JavaScript

Ты слышишь это? Звучит тысяча разработчиков, которые ломают свои кулаки и готовы отстаивать честь JavaScript в разделе комментариев!

JavaScript — это язык интернета. Там нет маскировки его доминирования. Если вы используете браузер, страница, которую вы просматриваете, почти наверняка будет использовать JavaScript. Когда вы смотрите Netflix или используете PayPal, вы используете серверы под управлением node.js, серверной среды выполнения JavaScript. Быстрый просмотр любой доски вакансий для программистов показывает спрос на разработчиков JavaScript.

Почему он входит в этот список? Ну, у любимого переднего конца есть несколько причуд.

Автоматическая вставка точек с запятой

Если вы знакомы с Java или любым из языков программирования семейства C, вы будете знать, что точки с запятой используются для обозначения завершения оператора. Переводчик видит точку с запятой и знает, как двигаться дальше.

В JavaScript все немного по-другому. Точки с запятой необязательны. Хотя это может показаться невозможным, многие люди хотят полностью исключить точку с запятой из JavaScript.

Хотя это хорошая идея, она не без проблем. Самознакомившись с точкой с запятой и YouTuber Кайл Робинсон Янг хорошо объясняет, почему они должен использоваться новичками.

Проблемы, поднятые в этом видео, указывают на более широкую проблему. JavaScript отлично работает без точек с запятой большую часть времени. Это потому, что точки с запятой не пропадают, они просто вставляются туда, где переводчик думает они должны идти.

Хотя случаи, когда интерпретатор понимает неправильно, более опытные программисты воспринимают как «крайние случаи», они — все, с чем начинающие могут столкнуться, что делает опыт использования JavaScript нежелательным.

Короткий поиск по теме точек с запятой в JavaScript приведет вас к кроличьей яме мнений и спекуляций почти без конца. Когда языку требуется полная страница чтения только для того, чтобы понять, где следует использовать точку с запятой, и только для того, чтобы прийти к выводу, что вы должны принять решение, простительно думать, что что-то не так!

Массив странностей

Любой, кто посещал начинающий класс кодирования, будет знаком с массивами. Это простой способ сбора большого количества данных одного типа и упорядочения их для последующего получения.

Это основа программирования, поэтому они должны быть достаточно просты для понимания, верно? На самом деле нет, не правильно. Первый пример в веселом выступлении Джеймса Микинса о JavaScript прекрасно подводит итог:

«Массивы JavaScript — это комбинированные многотипные объекты массив-список-словарь

«.

Прямо тогда. Ясно как день.

Это всего лишь несколько небольших примеров того, почему JavaScript можно рассматривать как ужасный язык для изучения и использования. Для каждого случая здесь и тысяч других людей в сети существует целая армия людей, готовых защищать это поведение. Одно можно сказать наверняка: JavaScript никуда не денется, и это не бесконечные онлайн-споры об этом.

Для последнего удовольствия, которое возвращается к эзотерическим языкам, обсуждавшимся ранее: откройте консоль JavaScript в своем веб-браузере и вставьте этого монстра:

alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);

Мир языков программирования

Ты слышишь, как дребезжат сабли? Разъяренные разработчики готовы сразить все пункты, изложенные в этой статье? По правде говоря, они не ошиблись. Есть тысячи других случаев почти на каждом языке, который я мог бы использовать.

За исключением эзотерических языков, каждый язык программирования имеет свои плюсы и минусы. Как и во всех инструментах, функция, которая заставляет кровь одного пользователя кипеть, является заветной функциональностью для другого. Точки с запятой могут быть криптонитом одного человека, тогда как пробел может держать других ночью.

Для начинающего любой язык программирования сложен, и вы должны потратить время на изучение основ программирования

прежде чем беспокоиться о том, какой язык выбрать.

Кредит изображения: fizkes / Depositphotos

Ссылка на основную публикацию
Adblock
detector