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

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

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

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

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

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

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

  ++++++  ++ [> ++++ [> ++> +++> +++> +  +> +> - >> + [>.> ---  . +++++++ .. +++. >>. > +.> ++.   

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

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

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

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

2. PHP

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

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

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

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

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

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

  gettype()
get_class()

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

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

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

Подождите, что?

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

Является ли это продуктом специальной структуры PHP или безумной прихотью одного из ее создателей, тернарный оператор в PHP сбивает с толку. Рассмотрим это:

  $ a = 11;  
echo (
$ a == 10? 'десять':
$ a == 11? 'одиннадцать':
$ a == 12? 'двенадцать ':
$ a == 13?' тринадцать ':' что-то еще ');
echo "
";
//этот код выводит на консоль «тринадцать»

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

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

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

Если вы хотите создавать свои собственные плагины WordPress, то, безусловно, стоит изучить. Существуют отличные ресурсы, которые помогут вам начать изучение PHP, и его популярность означает, что вы, скорее всего, получите работу разработчика, как только у вас появится.

Настоящий вопрос в том, что существует так много других языков и появление других фреймворков, таких как node.js и Ruby on Rails , вы действительно хотите?

3. JavaScript

Вы это слышите? Это звук, как тысячи разработчиков хлопают костяшками пальцев, готовых защищать честь JavaScript в разделе комментариев!

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

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

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

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

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

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

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

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

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

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

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

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

«Массивы JavaScript объединены в несколько -тип объектов. «

Тогда. Ясно как день.

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

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

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

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

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

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

Для новичка любой язык программирования сложен, и вам следует потратить время на изучение основ программирования, прежде чем слишком беспокоиться о том, какой язык выбрать. При этом важно быть в курсе последних языков, которые становятся популярными. На данный момент Rust — самый интересный язык программирования для изучения!

Изображение предоставлено: fizkes/Depositphotos

Оцените статью
oilgasindustry.ru
Добавить комментарий