Часть 1: WTF и продуктивность

Возможно, вы только начали изучать Java. Первое, что вы, вероятно, сделаете, это напишете Hello World! программа:

// Your First Java Program
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); 
    }
}

А потом думаешь…

WTF

Ява не единственный остров

Почему нельзя просто написать:

println("Hello, World!")

?

Вы не можете, потому что Java заставляет вас программировать объектно-ориентированно. Это многословно, но помогает структурировать код, когда ваше приложение становится больше. Однако даже опытный Java-программист может пожаловаться на его многословность, систему типов и управление памятью.

Ни один из языков программирования не идеален. C-программист может удивиться, почему у него нет сборки мусора (это фича), большая стандартная библиотека и ее низкоуровневый характер. С другой стороны, начинающий кодировщик Python может быть удивлен ошибками времени выполнения, тем, что вкладки имеют значение, и всем этим Python 2 против Python 3…

Языки программирования такие же, как и естественные языки, со своими особенностями и преимуществами. У каждого языка есть свои WTF. Рассмотрим эту ветку на JavaScript с множеством WTF. Да, JavaScript, он уже начался с названия…

Производительность

Теперь рассмотрим топ-10 самых используемых языков программирования согласно Tiobe index:

Эй, Python, C, Java — три лучших языка. Таким образом, именно те трое, о которых мы болтали…

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

  1. Питон (1991)

2. C (1972)

3. Ява (1995)

4. C++ (1983)

5. C# (2000)

6. Visual Basic (1991)

7. JavaScript (1995)

8. Язык ассемблера (1949 г.)

9. SQL (1972), (ПРОДОЛЖЕНИЕ в то время)

10. ПХП (1995)

Что можно сделать из этого, кроме того, что 1995 год был очень плодотворным для изобретения языков? Все они очень старые. Самому младшему, C#, уже 22 года, и он только что перешел в новое тысячелетие.

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

  1. Котлин (2011)
  2. Юлия (2012)
  3. Эликсир (2012)

Всем трем около 10 лет, и писать на них свой код — одно удовольствие. Я узнал об этом, когда написал простую программу на 50 языках.

Также рассмотрим это исследование согласно Namcook Analytics (Таблица 16), которое определяет Smalltalk (изобретенный в 1972 году, в том же году, что и C) как один из самых продуктивных языков программирования в мире. Это измерялось экономической производительностью с точки зрения количества рабочих часов, необходимых для реализации 1000 функциональных пунктов (чем меньше часов, тем лучше).

Список:

  1. Небольшой разговор — 6 879
  2. Эйфель — 7 156
  3. Visual Basic — 7848
  4. Цель-C — 7848
  5. Дельфы — 8 289
  6. Перлы — 9 465
  7. Юлия — 9 465
  8. Хаскелл — 9845
  9. Эликсир — 9 845
  10. Эрланг — 10 758
  11. Рубин — 11 312
  12. F# — 11,312
  13. Дротик — 11 620
  14. C# — 12,309
  15. Питон — 12 697
  16. PHP — 12 697
  17. Ява — 12 697
  18. Go — 12,697
  19. C++ — 12,697
  20. Лисп — 14 636
  21. Хаксе - 14 636
  22. Четвертый - 14 636
  23. JavaScript — 15 929
  24. Фортран — 22 394
  25. C — 26,273

Итак, топ-3:

  1. Суетливая беседа — 6 879
  2. Эйфель — 7 156
  3. Visual Basic — 7848

самые продуктивные языки. Elixir и Julia с их красивым синтаксисом также находятся наверху, а C и JavaScript — внизу. Тем не менее, в других списках, ранжирующих популярность по использованию, они находятся на первом месте.

Даже когда я рассматриваю себя, я постоянно использую такие языки, как Java, JavaScript и ни один из 10 лучших из списка самых продуктивных языков.

Приятный синтаксис и производительность, похоже, не коррелируют с его использованием, популярностью и успехом. Так что же делает язык программирования действительно успешным? Узнаем во 2 части.



Если вам понравилась эта статья, подписывайтесь на меня здесь, на Medium, чтобы узнать больше о технологиях и обществе!