2010-12-02 3 views
9

Вы можете подумать, что этот вопрос глуп или что-то, но, как новый студент, я думаю, что когда я изучаю один язык (например, java), я стараюсь забыть тот, который я узнал раньше (ex c) ... или я смешайте синтаксис ... Итак, почему бы не объединить все в один, чтобы ученикам не нужно было изучать многие языки ... тогда убейте бесполезные языки программирования ... Почему бы не создать такой стандарт, как sql ????Почему так много языков программирования?

+1

Вы уверены, что этот вопрос должен быть здесь? – mih 2010-12-02 12:30:30

+0

Ну, для начала, если бы вы сделали все возможности всех языков, доступных на одном языке, тогда всем пришлось бы начать изучать такие вещи, как Haskell's Arrows http://www.haskell.org/ghc/docs/latest/html/ users_guide/стрелка-notation.html. Ты уверен, что это то, чего ты хочешь? – 2010-12-02 12:34:24

+1

Этот вопрос не так простенький, как все здесь думают. – anonymous 2011-11-09 18:41:22

ответ

6

Различные языки адрес или принять:

  • Различные потребности (производительность в конкретных областях, надежность, простота выражения нишевых программ и т.д.)
  • Различные платформы
  • разностные модели (функциональный, OO и т.д.)
  • Разные истории

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

Обратите внимание, что даже с вашим примером SQL большинство поставщиков БД имеют свои собственные расширения для SQL, которые необходимы для вывода базы данных за пределы «вот запрос, дайте мне таблицу результатов».

2

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

Вначале ресурсы были очень ограниченными, а языки программирования были очень близки к машинам, таким как Assembler, Cobol и т. Д.

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

Каждый язык программирования имеет свою собственную цель. Для встроенной разработки используются главным образом Assembler, C и C++. Для этой цели существует много других языков. Для веб-разработки доступно много языков, каждый из которых сосредоточен на другом аспекте облегчения работы. Существуют языки, работающие на каждой платформе, такой как Java и языки, что упрощает программирование Windows, например VB.NET.

Когда вы изучаете язык программирования, ваша цель должна не только изучать синтаксис, но и понимать принципы программирования. Если у вас есть это, вы можете быстро изучить другие языки, поскольку они следуют тем же парадигмам (объектно-ориентированный, процедурный, функциональный, ...)

2

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

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

Язык должен помочь пользователю выразить намерение и заставить их сражаться с компилятором и т. Д., Чтобы достичь этого намерения. Например, в C# труднее сделать немыслимость, чем в F #. Некоторые вещи проще и выразительнее делать в Ruby против языка со статическими типами и т. Д.- Это может быть даже до крайности случаев, когда мы строим наши собственные языки (DSL), чтобы лучше помочь нам выразить намерение.

В моей карьере я закодирован в Cobol, Fortran, C, Pascal, VB, C#, VB.Net, Javascript и Ruby (не говоря уже о таких вещах, как XAML, SQL, HTML, CSS и т. Д.).

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

Смежные вопросы