Есть ли язык программирования, который бы имел: - PullRequest
0 голосов
/ 24 декабря 2010

Мне любопытно, что такое ... Есть ли язык программирования, который бы имел:

  • синтаксис, такой как Java и / или C ++
  • поддержка шаблонов / шаблонов
  • управление памятью (без сборки мусора)
  • «чистый синтаксис» (без проблем, как в perl или c / c ++)
  • «нормальный» ООП (полиформизм, интерфейсы, абстрактные классы, перегрузка и т. Д.)
  • (предпочтительно) компилируется в машинный код
  • Поддержка пространства имен
  • поддержка исключений
  • нет исходного препроцессора (как в c \ c ++)
  • статически набранный

Ответы [ 8 ]

6 голосов
/ 24 декабря 2010

Может быть ADA ? Я могу посоветовать вам изучить C / C ++ или Java или что-то еще и использовать его умно - тогда вы получите все , что вам нужно.

UPD: Вас может заинтересовать D

5 голосов
/ 25 декабря 2010
  • синтаксис, такой как Java и / или C ++
  • "чистый синтаксис" (нет путаницы, как в perl или c / c ++ )

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

Есть также некоторые другие требования, которые не имеют смысла, такие как это:

  • (предпочтительно) компилируется в машинный код

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

4 голосов
/ 24 декабря 2010

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

3 голосов
/ 24 декабря 2010
  • Vala - разработан как неуправляемый C # для гнома
  • D - построен на c, но проще, чем C ++. Я думаю, что он имеет какой-то GC, хотя
  • В новых версиях Delphi нет синтаксиса фигурных скобок, хотя
1 голос
/ 24 декабря 2010

Бьюсь об заклад, вам будет трудно найти язык, который отвечает всем вашим критериям.Тем не менее, это может быть стоит посмотреть:

  • Go .Чистый синтаксис, компилируется в машинный код.Имеет GC, хотя.И не строго OO.
  • Scala решает многие, но не все, ваши проблемы (как упоминалось другими в этой теме).
  • Haskell.Функциональный, а не ОО.Но стоит посмотреть в любом случае.
  • D , также как упоминалось другими.
0 голосов
/ 24 декабря 2010

Говоря прямо: изучите C ++ и используйте его так, как его следует использовать.

Готово.

0 голосов
/ 24 декабря 2010

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

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

Возможно, вы могли бы сказать, что вас беспокоит, имея GC. Могут быть способы обойти проблему, которая открывает такие языки, как C # и Java.

Кстати: Java и C # компилируются в машинный код во время выполнения.

0 голосов
/ 24 декабря 2010

Это определенно Скала. Это подтверждает все ваши очки

...