Почему так много языков программирования? Почему все еще появляются новые языки? [закрыто]

Почему так много языков программирования?

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

48 голосов | спросил Moshe 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:15:55 +0400 2010, 16:15:55

15 ответов


33

Языки программирования развиваются

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

Есть также новые проблемы, которые необходимо решить, например. увеличение многоядерных процессоров. Наиболее распространенным решением для этого являются потоки, но некоторые языки программирования пытаются решить проблему параллелизма другим способом, например. Модель актера. См. Erlang - Программное обеспечение для параллельного мира

ответил Jonas 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:19:39 +0400 2010, 16:19:39
20

Это цикл. Вы начинаете новый язык, и вы можете уйти от всего плохого синтаксиса и плохого выбора от своих предшественников. В версии 1 язык выглядит великолепно, потому что у него нет такого багажа, и он выполняет свою работу. Затем, в более новых версиях, вы начинаете экспериментировать с функциями, которые могут не сработать, или вы привносите функции с других, более новых языков, которые заставляют ваш синтаксис быть немного kludgey. И вот, после нескольких версий, вы понимаете, что ваш язык сейчас такой же сложный, как тот, который вы заменили, с глупыми проблемами синтаксиса и старым багажом. И вдруг вы понимаете, что если вы создали язык new , вы можете исправить все это ...

ответил RationalGeek 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 17:13:21 +0400 2010, 17:13:21
10

По этой же причине есть молотки, шуруповерты, пилы, ленточные пилы, отбойные молотки, ломы и множество других инструментов: не каждый язык идеален для каждой задачи. Некоторые языки предназначены для конкретных проблемных областей: R особенно хорош для статистического анализа, C особенно хорош для написания ядер операционной системы, Haskell особенно хорош для математических или финансовых вычислений, Erlang особенно хорош при параллельном программировании и т. Д.

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

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

ответил mipadi 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 19:15:04 +0400 2010, 19:15:04
8

Потому что все они сосут (так или иначе).

В настоящее время мы создали около 5000 языков для описания естественных проблем, и ни один из них не доступен для написания программ (примером может быть «английский»).

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

ответил Aaron Digulla 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 19:08:55 +0400 2010, 19:08:55
7

Устаревший код. Если вы начинаете новый язык, вам не нужно слушать /рассматривать все жалобы при изменении старого языка. Даже если все согласны с тем, что новая реализация лучше, она не может сломать старый код. И есть много старого кода.

ответил JeffO 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:24:49 +0400 2010, 16:24:49
4

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

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

ответил Carlos 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:22:58 +0400 2010, 16:22:58
4

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

  

Эзотерический язык программирования (иногда сокращенный до esolang) - это язык программирования, предназначенный для проверки границ дизайна языка компьютерного программирования, как доказательство концепции или как шутка.

ответил jk. 14 FebruaryEurope/MoscowbMon, 14 Feb 2011 20:09:50 +0300000000pmMon, 14 Feb 2011 20:09:50 +030011 2011, 20:09:50
3

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

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

Подумайте о любом языке программирования, который вам известен. Вы можете легко придумать несколько вещей, которые вам не нравятся, не так ли? У вас, по-видимому, есть идеи, как это можно исправить. С чуть большим импульсом, предполагая, что вы много знаете о создании компилятора (и много людей), вы можете начать разработку и даже реализовать свои собственные.

ответил David Thornley 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 18:16:27 +0400 2010, 18:16:27
1

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

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

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

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

ответил Sergio Fernandez 14 32012vEurope/Moscow11bEurope/MoscowWed, 14 Nov 2012 16:17:22 +0400 2012, 16:17:22
0

По этой же причине существует так много <whatever> и мы продолжаем создавать новые <whatever>

Есть, например, дюжина фреймворков PHP MVC, но люди всегда будут создавать новые, чтобы заполнить конкретные потребности, чтобы не становиться зависимыми от какой-либо другой команды или просто пытаться создать что-то лучше. То же самое справедливо для каждого типа инструмента или приложения.

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

ответил Fosco 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:58:18 +0400 2010, 16:58:18
0

Университеты вносят большой вклад в языки программирования, поэтому очень крупные корпорации, такие как Ericsson (Erlang = Ericsson), Bell Labs (языки B и C), Google (язык Go на несколько месяцев назад). Многие из тех, которые были написаны в рамках университетских исследований, мало используются. Однако есть несколько примечательных исключений. Я полагаю, что написание собственного языка /компилятора делает хорошую тему для докторских диссертаций для людей, изучающих теорию CS или связанные с ними дисциплины. Мне кажется, что Python является одним из первых языков, которые должны родиться из совместных онлайн-усилий различных программистов вокруг одной идеи.

ответил ixtmixilix 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 23:39:34 +0400 2010, 23:39:34
0

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

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

ответил Zachary K 14 FebruaryEurope/MoscowbMon, 14 Feb 2011 17:59:27 +0300000000pmMon, 14 Feb 2011 17:59:27 +030011 2011, 17:59:27
0

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

Что я имею в виду?

Ну, для программистов «несколько лет» Java или C # могут быть дополнительными языками программирования для существующих Cobol, (OO /Processural) Basic, C /C ++, а для «новых» программистов Java или C # - это новые языки, в то время как Cobol, (OO /Processural) Basic, C /C ++ для них не существует, поэтому изобретать колесо становится обычной ...

ответил umlcat 14 FebruaryEurope/MoscowbMon, 14 Feb 2011 21:01:54 +0300000000pmMon, 14 Feb 2011 21:01:54 +030011 2011, 21:01:54
-1

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

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

ответил sange 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 27 Sep 2010 16:28:29 +0400 2010, 16:28:29
-1

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

Почему у вас так много языков, как спрашивать, почему C ++ 0x? :)

Кроме того, чем больше языков вы знаете, тем более выразительным вы можете стать - это верно как в программировании, так и в естественных языках!

ответил 2rs2ts 17 J0000006Europe/Moscow 2011, 03:35:13

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132