Существует ли идеальный язык для всех платформ?

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

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

Программист использует некоторые абстракции, которые при определенной технической реализации переводятся в машинный код. Чтобы иметь один «идеальный» язык, потребовалось бы, чтобы все люди были вынуждены думать в одних и тех же абстракциях (в отношении программирования).

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

Конечно существуют языки, которые поддерживают практически все платформы. Лучший пример – это, вероятно, C, который был перенесен на почти любую доступную аппаратную платформу. Проблема с языком, подобным C, заключается в том, что он не подходит для всех целей, потому что он оперирует на довольно низком уровне. Последнее означает, что вам потребуется совершать достаточно много операций вручную, которые делаются автоматически другими языками (например, вам нужно управлять памятью самостоятельно). Поэтому он не подходит для высокоуровневых задач, таких как создание сценариев или запись DSL и т. Д.

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

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

Жульен Дюраж, инженер-программист

Поделитесь с друзьями:

Оставьте комментарий