Замена языка для C ++? - PullRequest
6 голосов
/ 11 июня 2009

Когда я работаю над хобби-проектами, мне действительно нравится программировать на языках низкого уровня (в том смысле, что C и C ++ - это низкий уровень). Я не хочу работать с управляемыми языками со сборкой мусора и еще чем-то, что убирает все удовольствие (да, мы все разные ;-)).

Обычно я использую C ++ для проектов такого типа. C ++ довольно сложный и не очень элегантный, поэтому я искал язык для его замены. Кто-нибудь может дать мне предложения?

Предпочтения (не требования):

  • должен быть низкого уровня (например, C и C ++)
  • скомпилировать с нативным кодом (вид следует из вышесказанного, но без явного вреда)
  • предпочтительно цель win32 / win64
  • объектно-ориентированный
  • статически набранный

Я посмотрел на цель C, но мне это не нравится.

Ответы [ 8 ]

16 голосов
/ 11 июня 2009

D ? ( страница Википедии )

Язык D статически типизирован и компилируется непосредственно в машинный код. Это мультипарадигма, поддержка многих стили программирования: императив, объект ориентированный и метапрограммирование. Это член семейства синтаксиса C и его внешний вид очень похож на C ++. Для быстрого сравнения особенности, см. это сравнение D с C, C ++, C # и Java.

Я думаю, что это покрывает все ваши требования, кроме поддержки Windows, которая у него есть.

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

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

6 голосов
/ 11 июня 2009
4 голосов
/ 11 июня 2009

Запросы без gc достаточно сильны и исключают практически все современные языки - например, такие как Ocaml, отвечают всем другим требованиям.

Существует также АДА, которая исполняет все ваши желания, но это очень строгий язык. Я думаю, что синтаксис несколько похож на Pascal, и в языке гораздо меньше дыр по сравнению с C. Он имеет встроенную поддержку потоков и «модулей» (лучше, чем заголовки C).

4 голосов
/ 11 июня 2009

Delphi? Синтаксис Паскаля, но все еще цитирует мощный и чуть более высокий уровень, чем C ++.

2 голосов
/ 25 августа 2011

Ada - действительно хороший язык, однако он использует сборщики мусора (заметил, что упомянул мамбокинг). Не уверен насчет Оберона и Модулы 3.

Насколько мне известно, Pascal / Delphi также использует сборку мусора. (или, по крайней мере, умные указатели какого-то рода.)

1 голос
/ 13 марта 2012

Я бы предложил Вала! попробуй это удивительно

1 голос
/ 13 февраля 2012

Я предлагаю Лимбо ! Это язык, созданный Робом Пайком (соавтор с Кернингханом многих книг по программированию). Этот язык интерпретируется виртуальной машиной (память-в-память) DIS или компилируется. Он имеет много встроенных типов данных, таких как кортеж, канал, список, массив, канал (полезно для EASILY-связи между потоками) и т. Д. Он параллельный, модульный. В нем реализовано много современных функций! и он используется для написания приложения для ОС Inferno.

Limbo обзор Денниса Ритчи и Лимбо обзор Кернигана

1 голос
/ 25 августа 2011

FreePascal Delphi Оберон

Любые 3 будут отличными заменами. Их проще в использовании, чем в C ++.

...