Что означает «мощный» при обсуждении языков программирования? - PullRequest
28 голосов
/ 12 июня 2010

В контексте обсуждения / сравнения языка программирования, что означает термин "мощность"?

Имеет ли он четко определенный смысл? Даже плохо определенное значение?

Скажите, если кто-то говорит "язык X более мощный, чем язык Y" или задает то же самое, что и вопрос, что они означают - или какую информацию они пытаются выяснить?

Ответы [ 14 ]

1 голос
/ 19 октября 2010

Можно попытаться найти точный ответ, не предполагая, что элементы, которые определяют «мощный» (в контексте языков), происходят из стольких измерений.

Посмотрите, сколько может быть, илот будет отсутствовать:

  • скорость выполнения
  • размер кода
  • выразительность
  • поддерживаемые парадигмы
  • время разработки / отладки
  • специализация домена
  • стандартные библиотеки
  • кодовая база
  • экосистема инструментария
  • переносимость
  • сообщество
  • поддержка / документация
  • популярность
  • (добавьте больше здесь)

Эти и другие параметры объединяют X картину того, как "программирование на каком-то языке" будет похоже наХ уровеньЭто будет только определение, хотя единственное реальное знание приходит с реальной практикой использования языка, но я отвлекся.

Вопрос сводится к , какой параметр будет представлять внутреннее качествоязык .Если вы ссылаетесь на язык сам по себе, его конечная, внутренняя цель - «выразить вещи» , и, таким образом, наиболее представительным параметром является справедливо выразительность , а также тот, который часто резонирует, когда кто-то говорит о том, насколько мощный язык.

В данный момент вы пытаетесь расширить вопрос / ответ, чтобы охватить больше, чем выразительность языка "какязык, как язык ", вы больше говорите о разных видах" среды ", социальной среды, среды разработки, коммерческой среды и т. д.

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

Это приближение все равно не даст ответа«что такое выразительный язык», но, опять же, общее пониманиеОпределения, которые Vineet хорошо указывает в своем ответе, и замечания Forest в комментариях.Я согласен, для меня «выражение» означает «передать смысл».

1 голос
/ 12 июня 2010

Я рассматриваю этот термин как маркетинговый пух, нет однозначно определенного значения.

Если вы считаете, скажем, Assembler, C и C ++.В некоторых случаях человек падает с C ++ «вниз» до C для конкретных нужд, и, в свою очередь, с C до ассемблера.Так что ассемблер становится самым мощным, потому что это единственный язык, который может делать все.Или, чтобы спорить иначе, одна строка кода C ++ может заменить несколько из C (например, скрывая полиморфную диспетчеризацию с помощью указателей на функции), а одна строка C заменяет многие из ассемблера.Таким образом, C ++ более мощный, потому что одна строка делает «больше».

Я думаю, что у этого термина была некоторая валюта, когда в таких продуктах, как ранние базы данных и электронные таблицы, были встроенные языки, некоторые из них были весьма ограничены.Поэтому поставщики будут рекламировать свой язык как «мощный», поскольку он менее ограничен.

0 голосов
/ 22 февраля 2015

Я думаю, что мощность обычно относится к тому, как быстро она может обрабатывать данные, например, я обнаружил, что в python, как только список превышает длину ок.2000 это становится невыносимо медленным, тогда как в C ++ список может легко содержать 20 000 записей без этого.

0 голосов
/ 12 июня 2010

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

Приводит меня к мысли:

Мощный = относительный термин сравнение последнего способа кодирования чего-либо с оригинальным или предыдущим способом

...