Самые неудачные языки программирования

Выбор языка программирования — очень важный вопрос, влияющий на будущий профессиональный успех и материальное благополучие программиста. А всё дело в том, что одни языки помогают творить, а другие мешают. О последних и поговорим.

Худшие языки программирования

[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 старается максимально упростить труд, беря на себя часть работы.

А вторую серию не хотите посмотреть? Самые быстрые языки программирования.

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

Комментарии

Где программист на C# пишет 3 строчки, программист на Java пишет 30

Автор, как минимум, лукавит ... а как максимум — болван.
У всеж языков своя уникальная ниша, и сравнивать их невозможно.

Если учесть, что C# — это практически клон Java, то скорее всего максимум.

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

Отказался от Java еще 3 года назад. Раздражала ненужная формальная писанина. C# норм.

Ну вперед, посмотрим как ты ентерпрайс решение на C#, под линукс забубенишь.

C# изначально под энтерпрайс и создавался. А операционная система — всего лишь прокладка. Вообще-то, ОС подбирают под решение, а не решение под ОС.

Новичкам я бы советовал держаться подальше от 3 языков: PHP, Python и Ruby. Пэхапэ плеяда — кратчайшая дорога в говнокодеры.

Обожаю питон. Не как программист, а как пользователь, пишущий скрипты для собственных нужд.
1. нормальная работа с юникодом под виндой (для меня очень важно)
2. легкая мультипоточность
3. не нужно громоздкого IDE для отслеживания блоков кода

как в описании языка говорилось (смутно припоминается) — он для того, чтобы делать работу, а не изящно вылизывать код

1. Юникод давно везде стандарт и отлично поддерживается.
2. Потоки отданы на откуп операционной системе. Интерпретатор ими не управляет. В этом есть и плюсы, и минусы.
3. А автодополнение? А рефакторинг? А отладка? IDE не нужно только для примитивных однофайловых скриптов.

1. ruby — сейчас вроде поддерживает. Не буду тратить время на тесты, все равно меня питон полностью удовлетворяет. php — ну-ка, попробуйте создать/открыть/прочитать файл с кодировкой отличной от системной... В общем, в тот момент когда я выбирал язык для упрощения своей жизни, выбор стоял между явой и питоном, ни один другой распространенный язык не поддерживал полностью юникод на винде.
2 и 3. У меня такое ощущение, что вы читали мой пост через строчку, или как минимум пропускали каждое второе слово. Я про скрипты и писал, а вы видимо не успели переключить мысли с сишного кода в другом окне... в таком мышлении есть и плюсы и минусы

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

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

Мало вам холиваров на тему windows vs Linux?

Нужно больше холиваров для бога холиваров !

одни языки помогают творить, а другие мешают

танцорам

Больше всего платят за C++. Он и лучший. Все high-end-программисты пишут либо на C++, либо на Java. Остальные языки предпочитают неосиляторы. Про PHP и JavaScript вообще молчу. Запиливание сайтиков давно пора перестать считать программированием и отнести к говнокодингу.

Как и многие ААА проекты игр :)

А я вообще не знаю что я сейчас тут прочитал
П.с новичок

Комментировать

Filtered HTML

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.