"Каждый язык был создан для определенной цели"
Я читал сообщение Почему язык важен (почему я предпочитаю С#) из "Dot Net Thoughts" и первого абзаца статья заканчивается этим утверждением:
... каждый язык был создан для конкретной цели.
Это заставило меня задуматься о "почему" существуют определенные языки... т.е. какова их конкретная причина их существования.
Моя цель в этом вопросе - перечислить как можно больше языков программирования и их основную причину того, почему они существуют... почему они используются; и это поможет людям решить, какой язык использовать для конкретных задач.
Языки, такие как C#
, VB
, Haskell
, Eiffel
, Perl
, Python
, Java
и т.д.; процедурные языки, функциональные языки, объектно-ориентированные языки и т.д.
Ответы
Ответ 1
Только мои мнения:
С# - Microsoft хотела иметь собственную Java
Haskell - исследование чистых функциональных языков
Perl - манипуляция текстом
Python - читаемый язык сценариев
Процессуальные языки - легко компилируются для архитектур стиля фон Неймана
LISP и функциональные языки - помощь в разработке программного обеспечения снизу вверх
Ruby - OO-Perl
Lua - Встраиваемый язык сценариев
C - переносимый ассемблер
С++ - переносимый ассемблер с объектами
Emacs Lisp - схема или CL не хватило производительности в то время
Паскаль. Обучение программированию. По какой-то извращенной причине люди настаивали на том, чтобы использовать это для программного обеспечения для производства.
Языки сборки. Написание машинного языка и разрешение адресов JMP вручную на бумаге утомительно. (Я пробовал)
Силовая оболочка - замените скрипты BAT
PHP - для создания интернетов
Javascript - для создания интернетов 2.0
APL - сделать устаревшие конкурсы кодирования устаревшими
Ответ 2
Brainfuck существует, чтобы показать, что вы можете написать компилятор для полного языка Turing в 200 байт:)
Ответ 3
- Perl, потому что разработчики должны научиться ценить боль.
- С++, потому что 5 человек на планете должны иметь возможность создавать операционные системы и встроенные системы и потому, что D слишком далеко в алфавит
- C, потому что B нужен преемник
- D, потому что C нужен "реальный" преемник
- Python, потому что скобки для скобок написаны плохо для вашего здоровья.
- Java, потому что С++ был слишком сложным, и Гослинг думал (ложно), что нам нужен язык без множественного наследования
- VB, потому что детям Билла Гейтса необходимо "наследование VB"
- С#, потому что Java начала кражу рыночных акций с "Visual С++"
Но я думаю, что этот список может быть спорным для некоторых...;)
Ответ 4
PHP Первоначально стоял "Личные домашние страницы", который говорит все, что я думаю.
APL Стенды для "языка программирования" и были созданы для "обучения и анализа тем, связанных с применением компьютеров"
TCL Выраженный "Tickle" был "рожден из разочарования" Джона Оустерхаута и должен был быть встроен в другие приложения
Applescript. Являлся прогрессией от приложения Hypertalk для приложений Appper HyperCard и был, как и TCL, предназначен для внедрения в другие приложения для облегчения написания сценариев.
Это все. Моя история языков программирования невелика.
Ответ 5
Я думаю, что JAVA - это единственный язык, который был рекламирован с его целью:
писать один раз, запускать в любом месте
Ответ 6
Python: Язык программирования, который легко читать и использовать.
APL: Язык, который очень хорош в решении математических задач.
J и K: Оба пытаются сделать APL пригодным для использования с qwerty-клавиатурами.
Java: Сделано как лучший С++, с упором на использование одной кодовой базы.
С++: Сделано лучше C с объектной ориентацией.
( Qt: Пока он не является языком программирования, он расширяет С++, о котором стоит упомянуть. Qt - это инструментарий для графического интерфейса пользователя, анализатор базы данных и многое, многое другое. платформа).
C: Лучше B (серьезно)
Objective-C: Apple пытается улучшить C с объектной ориентацией.
Perl: Язык, созданный для обработки текста, но в настоящее время широко используемый язык сценариев. Он также основывается на идее "не должно быть более одного способа сделать это".
Haskell: Экспериментируйте, чтобы сделать полностью чистый функциональный язык, с большим упором на функциональность.
Lisp: Первоначально названный процессор списка. Сегодня это язык, который стал пионером многих методов, используемых современными языками. Lisp является стандартным, а не фактическим языком. Иногда называется "программируемый язык программирования".
Общий Lisp: Общая реализация Lisp. У этого есть много особенностей, которые получили современные языки, но также многие функции, которые не получили современные языки.
Схема: Предназначен для самого чистого языка. В основном это использовалось как исследование.
JavaScript: Язык сценариев, основанный на некоторых материалах, которые могут быть Java. Помимо имени, это не имеет ничего общего с Java. Он использовался почти исключительно как скриптовый язык в Интернете. JavaScript основан на стандартном ECMAScript.
Lua: Язык сценариев с целью создания хорошего языка сценариев. Бесполезно для всего остального.
XML: Предназначен для создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Высоко расширяемый, например, XHTML (веб-страница) может вставлять документы SVG (Vector graphics) и MathML (Guess what), предоставляя XHTML почти бесконечные возможности.
CSS: Предназначен для оформления документов HTML и XHTML.
Языки эзотерического программирования: Языки, предназначенные для запутывания и использования.
Теперь я не могу назвать другие языки, надеюсь, это было полезно:)
Ответ 7
Я не думаю, что это полезное утверждение. Существуют языки общего назначения, а некоторые языки, которые изначально служили определенной цели, с тех пор выросли до довольно общего (например, Perl). Некоторые языки также воспринимаются как особые цели, хотя они были с самого начала (Lisp).
В этой статье также показано очень узкое представление о ландшафте языка программирования.
Ответ 8
Ну, наиболее очевидным является COBOL:
Общий бизнес-ориентированный язык
И вы можете видеть это, читая исходный код.
У Python были в основном несколько парадигм и четкая простота в виду (однако всегда можно спорить об этом, я бы согласился).
Ответ 9
Я думаю, что лучше сказать, что "каждый язык лучше всего подходит для определенной цели". Не каждый язык был создан с определенной целью, но обычно есть несколько областей, в которых он превосходит.
Например, " Scala - это язык программирования общего назначения, предназначенный для выражения общих шаблонов программирования в краткой, элегантной форме и типе безопасный путь". C и С++ являются более распространенными языками общего назначения.
И теперь для списка языков и того, на что они фактически используются вместо того, что люди думают о них:
PHP, ASP, JSP, Ruby, Python: Веб-приложения ( Haskell тоже начинают считаться здесь [спасибо Reddit])
Javascript: AJAX, DOM-манипуляция
BASIC, VB: Быстрое прототипирование, обучение
AWK: Текстовая обработка
C и co.: система (ОС и т.д.), прикладное программное обеспечение, драйверы устройств, встроенные системы, серверные/клиентские приложения и т.д. /
Цель C: iPhone
Lisp, Пролог: AI
Erlang: Многопоточное, параллельное, отказоустойчивое программирование.
Scala, Haskell: Не удалось найти какую-либо ясную вещь, они оба кажутся довольно общими (я не использую ни одного).
Паскаль: Обучение
Эйфель: Финансы, аэрокосмическая промышленность, здоровье, игры и обучение (по-видимому).
R: Статистические вычисления и графика.
Ответ 10
Fortran - выполнить численные вычисления как можно быстрее.
Ответ 11
INTERCAL: Чтобы повысить воспринятый интеллект разработчиков, сделав их код настолько запутанным, никто его не понимает. =:)
Ответ 12
Perl. Язык клей для системных администраторов, который теперь вырос до языка программирования общего назначения.
Ответ 13
Я должен воспользоваться этой возможностью, чтобы упомянуть Piet, единственным принципом дизайна которого является: Программный код будет находиться в форма абстрактного искусства. И да, это настоящий язык, в том смысле, что для него есть переводчики, и несколько рабочих программ. Здесь тот, который генерирует простые числа:
генератор простого числа, написанный, я имею в виду, нарисованный в Piet http://www.dangermouse.net/esoteric/piet/erat2.png
Я провел, вероятно, полчаса или около того, пытаясь нарисовать маленькую маленькую программу, которая могла бы определить, было ли число четным или нечетным.
Ответ 14
R-язык
Для статистических вычислений.
Ответ 15
J особенно силен в математический, статистический и логический анализ данных. Это мощный инструмент для создания новых и лучших решения старых проблем и даже лучше найти решения, проблема еще не решена понимать.
Ответ 16
Ada - Разработан Министерством обороны для критически важных встроенных систем реального времени.