2009-06-11 4 views
5

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

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

Preferences (не требования):

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

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

+0

«C++ довольно сложный и не очень элегантный» - это потому, что он низкоуровневый. Если вы хотите, чтобы простой и элегантный вид Python. – jjnguy

+2

Вы пытаетесь рекламировать D косвенно? : P – hasen

ответ

16

D? (Wikipedia page)

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

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

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

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

+1

Просто на стороне записки, он имеет сбор мусора, но может быть отключен (его по умолчанию так необходимо отключить вручную) – hasen

+1

Я собирался предложить D, но по умолчанию это мусор. Наверное, я только что кое-чему научился - прекрати это! :-P –

+0

Кроме того, кажется, что вопрос ассоциирует сбор мусора с управляемым языком - это не обязательно верно. (Objective-C тоже имеет сборку мусора, IIRC, но не управляется.) –

4

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

4

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

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

1

FreePascal Delphi Оберон

Любые 3 были бы большими замены. Они проще в использовании, чем C++.

2

Ад действительно хороший язык, однако, он использует коллекцию мусора (заметил, что mamboking упомянул об этом.) Не уверен, Обероне и Modula 3.

Pascal/Delphi также использует сборку мусора, насколько я знаю , (или, по крайней мере, умные указатели.)

1

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

Limbo review by Dennis Ritchie и Limbo review by Kernighan

1

Я хотел бы предложить Валу! попробуйте, это потрясающе