Самые неудачные языки программирования
Выбор языка программирования — очень важный вопрос, влияющий на будущий профессиональный успех и материальное благополучие программиста. А всё дело в том, что одни языки помогают творить, а другие мешают. О последних и поговорим.
[TOC Самый неудачный ЯП]
Си
Идеальный язык для того, чтобы прострелить себе ногу. Даже гений программирования не в состоянии уследить за корректностью выделения памяти под сотни и тысячи переменных и структур. Благодаря Си мы имеем опасные дыры в софте, возникающие из-за переполнения буфера, забытых нулевых указателей и т.п.
JavaScript
Создан для того, чтобы запутать программиста в куче вложенных фигурных, квадратных и обычных скобок. Пока разработчики на других языках пишут код, JavaScript-программист чешет затылок, разбираясь в нагромождении скобок. А еще JavaScript славится непредсказуемым поведением. Например, есть строковая переменная со значением "1". Почему s + 1
будет 11, а s - 1
равно 0? Получается, что для первой операции к строковому типу приводится второй операнд, а для симметричной операции почему-то всё наоборот — первый операнд приводится к целочисленному типу. WTF? Из таких подводных камней JavaScript и состоит чуть менее, чем полностью.
PHP
Вообще не язык программирования, а игрушка. Первоначально создавался для того, чтобы прямо в HTML-разметке вставлять короткие инструкции. Со временем оброс сумасшедшим количеством никак не систематизированных функций, но от этого не перестал быть игрушкой. Нежно любим школьниками и прочими недопрограммистами за кажущуюся простоту освоения.
Java
Используется очень широко, но главная проблема этого языка в том, что он тащит за собой синтаксис из 70-х годов. Результат — раздутый код. Где программист на C# пишет 3 строчки, программист на Java пишет 30. Другая проблема является продолжением этой: внесение новшеств в язык часто нарушает совместимость с предыдущими версиями виртуальных машин. Приходится либо убеждать пользователей обновляться (а в случае аппаратных решений это и вовсе невозможно), либо отказываться от новшеств ради совместимости.
Python
Тихий ужас. Во-первых, существует два Пайтона: Python 2.7 и Python 3. Фактически, это два разных языка. Во-вторых, сама идея оформления блоков невидимыми элементами (пробелами и табуляцией) весьма спорна. Программисты на нормальных языках сосредотачиваются на коде, пока питонисты считают пробелы.
Языки программирования
Вероятно, читатель уже догадался, что заголовок выбран для привлечения внимания. На самом деле, описанные выше «недостатки» одновременно являются и преимуществами. Например, ручное управление выделением памяти в Си дарит высочайшую производительность. Если программу необходимо заставить работать очень быстро, то выбора нет — подходит только Си. Или «непредсказуемость» JavaScript существует только для тех программистов, которые не ознакомились со спецификациями языка. Остальным JavaScript старается максимально упростить труд, беря на себя часть работы.
А вторую серию не хотите посмотреть? Самые быстрые языки программирования.
Комментарии
Чингачгук
23 мая, 2016 - 21:32
Автор, как минимум, лукавит ... а как максимум — болван.
У всеж языков своя уникальная ниша, и сравнивать их невозможно.
Чингачгук
24 мая, 2016 - 13:20
Если учесть, что C# — это практически клон Java, то скорее всего максимум.
Чингачгук
24 мая, 2016 - 18:20
Разный синтаксис, разные возможности, даже разные области использования. Клоном он является только у школоты, которая не видела ни того, ни другого, но по любому вопросу любит оставлять свое экспердное мнение.
Чингачгук
23 мая, 2016 - 21:56
Отказался от Java еще 3 года назад. Раздражала ненужная формальная писанина. C# норм.
Чингачгук
24 мая, 2016 - 00:50
Ну вперед, посмотрим как ты ентерпрайс решение на C#, под линукс забубенишь.
Чингачгук
24 мая, 2016 - 01:52
C# изначально под энтерпрайс и создавался. А операционная система — всего лишь прокладка. Вообще-то, ОС подбирают под решение, а не решение под ОС.
Чингачгук
23 мая, 2016 - 22:07
Новичкам я бы советовал держаться подальше от 3 языков: PHP, Python и Ruby. Пэхапэ плеяда — кратчайшая дорога в говнокодеры.
Чингачгук
24 мая, 2016 - 06:41
Обожаю питон. Не как программист, а как пользователь, пишущий скрипты для собственных нужд.
1. нормальная работа с юникодом под виндой (для меня очень важно)
2. легкая мультипоточность
3. не нужно громоздкого IDE для отслеживания блоков кода
как в описании языка говорилось (смутно припоминается) — он для того, чтобы делать работу, а не изящно вылизывать код
Чингачгук
24 мая, 2016 - 18:15
1. Юникод давно везде стандарт и отлично поддерживается.
2. Потоки отданы на откуп операционной системе. Интерпретатор ими не управляет. В этом есть и плюсы, и минусы.
3. А автодополнение? А рефакторинг? А отладка? IDE не нужно только для примитивных однофайловых скриптов.
Чингачгук
25 мая, 2016 - 08:03
1. ruby — сейчас вроде поддерживает. Не буду тратить время на тесты, все равно меня питон полностью удовлетворяет. php — ну-ка, попробуйте создать/открыть/прочитать файл с кодировкой отличной от системной... В общем, в тот момент когда я выбирал язык для упрощения своей жизни, выбор стоял между явой и питоном, ни один другой распространенный язык не поддерживал полностью юникод на винде.
2 и 3. У меня такое ощущение, что вы читали мой пост через строчку, или как минимум пропускали каждое второе слово. Я про скрипты и писал, а вы видимо не успели переключить мысли с сишного кода в другом окне... в таком мышлении есть и плюсы и минусы
Если б я был программистом, то скорее всего писал бы на с# или яве. А для личного пользования и выполнения конкретных задач, которые для батников уже слишком сложные, ничего лучше питона не нашел.
Чингачгук
25 мая, 2016 - 08:08
как уточнение — в третьем предложении понимается файл с именем, содержащим символы, не существующие в текущей виндовой кодировке
Чингачгук
24 мая, 2016 - 09:54
Мало вам холиваров на тему windows vs Linux?
Чингачгук
24 мая, 2016 - 16:31
Нужно больше холиваров для бога холиваров !
Чингачгук
24 мая, 2016 - 17:47
танцорам
Чингачгук
24 мая, 2016 - 18:24
Больше всего платят за C++. Он и лучший. Все high-end-программисты пишут либо на C++, либо на Java. Остальные языки предпочитают неосиляторы. Про PHP и JavaScript вообще молчу. Запиливание сайтиков давно пора перестать считать программированием и отнести к говнокодингу.
humanoid
25 мая, 2016 - 14:41
Как и многие ААА проекты игр :)
Чингачгук
9 августа, 2016 - 18:49
А я вообще не знаю что я сейчас тут прочитал
П.с новичок
Комментировать