“Каждый язык был создан для определенной цели”

Плохие программисты не зависят от языка

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

12
задан 3 revs, 3 users 97% 10 August 2011 в 05:44
поделиться

16 ответов

Только мое мнение:

C # - Microsoft хотела собственную Java

Haskell - исследование чисто функциональных языков

Perl - манипуляции с текстом

Python - читаемый язык сценариев

Процедурные языки - простота компиляции для архитектур в стиле фон Неймана

LISP и функциональные языки - помощь в разработке программного обеспечения снизу вверх

Ruby - OO-Perl

Lua - Встраиваемый язык сценариев

C - Переносимый ассемблер

C ++ - Переносимый ассемблер с объектами

Emacs Lisp - Схемы или CL недостаточно производительность в то время

Паскаль - Обучение программированию. По какой-то извращенной причине люди настаивали на использовании его и для производственного ПО.

Ассемблерные языки - Написание машинного языка и разрешение адресов JMP вручную на бумаге утомительно. (Я пробовал)

Power shell - заменить скрипт BAT

PHP - для создания интернета

Javascript - для создания интернета 2.0

APL - сделать конкурсы запутанного кодирования устаревшими

20
ответ дан 2 December 2019 в 02:53
поделиться

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

a prime number generator written, I mean, drawn in Piet
(источник: dangerousmouse.net )

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

1
ответ дан 2 December 2019 в 02:53
поделиться

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

1
ответ дан 2 December 2019 в 02:53
поделиться

ИНТЕРКАЛ : Чтобы повысить уровень интеллекта разработчиков, сделав их код настолько запутанным, что никто другой его не поймет. =:)

1
ответ дан 2 December 2019 в 02:53
поделиться

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

Например, « Scala - это язык программирования общего назначения, предназначенный для краткого, элегантного и типобезопасного выражения общих шаблонов программирования». C и C ++ - более распространенные языки общего назначения.

А теперь список языков и то, для чего они фактически используются, а не только то, что о них думают:

PHP, ASP, JSP, Ruby, Python: Веб-приложения ( Haskell тоже начинает рассматриваться [спасибо Reddit])

Javascript: AJAX, манипуляции с DOM

BASIC, VB: Быстрое прототипирование, обучение

AWK:

2
ответ дан 2 December 2019 в 02:53
поделиться

Fortran - для максимально быстрого выполнения численных расчетов.

2
ответ дан 2 December 2019 в 02:53
поделиться

Ну, самый очевидный - COBOL: Общий деловой язык И вы можете увидеть это, также прочитав исходный код. Python имел в виду в основном множественные парадигмы и ясную простоту (однако с этим всегда можно поспорить, я согласен).

2
ответ дан 2 December 2019 в 02:53
поделиться

Я не думаю, что это полезное утверждение. Существуют языки общего назначения, и некоторые языки, которые изначально служили определенной цели, с тех пор превратились в довольно общие (например, Perl). Некоторые языки также воспринимаются как языки специального назначения, хотя они были общими с самого начала (Лисп).

Эта статья также показывает действительно узкое представление о ландшафте языков программирования.

3
ответ дан 2 December 2019 в 02:53
поделиться

PHP Первоначально обозначал «Персональные домашние страницы», что, как я думаю, говорит само за себя.

APL Расшифровывается как «Язык программирования» и был создан для « разработан для встраивания в другие приложения для облегчения написания сценариев.

Вот и все. Моя история языка программирования невелика.

разработан для встраивания в другие приложения для облегчения написания сценариев.

Вот и все. Моя история языка программирования невелика.

6
ответ дан 2 December 2019 в 02:53
поделиться
  • Perl, потому что разработчики должны научиться ценить боль
  • C ++, потому что 5 человек на планете должны иметь возможность создавать операционные системы и встроенные системы, и потому что D был слишком далеко в алфавите
  • C, потому что B нуждался в преемнике
  • D, потому что C требовался «настоящий» преемник
  • Python, потому что написание угловых скобок вредно для вашего здоровья
  • Java, потому что C ++ был слишком сложным, и Гослинг подумал ( ложно), что нам нужен язык без множественного наследования
  • VB, потому что потомкам Билла Гейтса нужно «наследование VB»
  • C #, потому что Java начала красть рыночные доли у «Visual C ++»

Но я предполагаю, что этот список может будет спорным для некоторых ...;)

7
ответ дан 2 December 2019 в 02:53
поделиться

Brainfuck существует, чтобы показать, что вы можете написать компилятор для полного языка Тьюринга менее чем за 200 байт :)

14
ответ дан 2 December 2019 в 02:53
поделиться

J

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

0
ответ дан 2 December 2019 в 02:53
поделиться

I think JAVA is the only language that was advertised with its purpose:

write once, run anywhere

4
ответ дан 2 December 2019 в 02:53
поделиться

Ada - Разработан Министерством обороны для критически важных для безопасности встроенных систем / систем реального времени.

0
ответ дан 2 December 2019 в 02:53
поделиться

Язык R

Для статистических вычислений.

1
ответ дан 2 December 2019 в 02:53
поделиться

Я не думаю, что то, что вы хотите сделать, возможно.

Редактировать:

Моя предыдущая версия была ошибочной. Это действительно работает:

scala> def z(f: Int => Int, g: Double => Double) = w(f, g)
z: (f: (Int) => Int,g: (Double) => Double)Unit

scala> z(f, f)

Но, конечно, это в значительной степени то, что у вас есть.

Я не думаю, что это вообще возможно, потому что параметры типа существуют только во время компиляции. Во время выполнения такого нет. Поэтому для меня даже не имеет смысла передавать параметризованную функцию вместо функции с параметрами типа, определенными Scala.

И нет, в Scala нет макросистемы.

язык. Он также основан на идее «должно быть несколько способов сделать это».

Haskell: Эксперимент по созданию полностью чистого функционального языка с большим упором на функциональность.

Lisp: Первоначально назывался List Processor. Сегодня это язык, который впервые применил многие методы, которые есть в современных языках. Лисп - это стандартный, а не реальный язык. Иногда его называют «программируемым языком программирования».

Common Lisp: Распространенная реализация Lisp. Он имеет много функций, которые есть в современных языках, но также и многие функции, которых нет в современных языках.

Схема: Создан как самый чистый язык из существующих. В основном он используется для исследований.

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

Lua: Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

это не имеет ничего общего с Java. Он используется почти исключительно как язык сценариев в сети. JavaScript основан на стандартном ECMAScript.

Lua: Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

это не имеет ничего общего с Java. Он используется почти исключительно как язык сценариев в сети. JavaScript основан на стандартном ECMAScript.

Lua: Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

s используется почти исключительно как язык сценариев в сети. JavaScript основан на стандартном ECMAScript.

Lua: Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

s используется почти исключительно как язык сценариев в сети. JavaScript основан на стандартном ECMAScript.

Lua: Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

Язык сценариев, предназначенный для создания хорошего языка сценариев. Бесполезен практически для всего остального.

XML: Разработан как способ создания унифицированных форматов данных, в первую очередь для обмена данными между платформами. Сильно расширяемый, например XHTML (веб-страница) может встраивать документы SVG (векторная графика) и MathML (угадайте, что), предоставляя XHTML почти безграничные возможности.

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

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

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

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

CSS: Разработан для стилизации документов HTML и XHTML.

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

Теперь я не могу назвать другие языки, я надеюсь, что это было полезно :)

4
ответ дан 2 December 2019 в 02:53
поделиться