2009-06-11 50 views
5

Cuando trabajo en proyectos de hobby me gusta mucho programar en idiomas de bajo nivel (en el sentido de que C y C++ son de bajo nivel). No quiero trabajar con lenguajes administrados con recolección de basura y otras cosas que quitan toda la diversión (sí, todos somos diferentes ;-)).¿Lenguaje de reemplazo para C++?

Normalmente utilizo C++ para este tipo de proyectos. C++ es bastante complejo y no tan elegante, así que he estado buscando un lenguaje para reemplazarlo. ¿Alguien puede darme sugerencias?

Preferencias (no requisitos):

  • deben ser de bajo nivel (como C y C++)
  • compilar a código nativo (tipo de desprende de lo anterior, pero no hay daño en ser explícito)
  • dirigen a preferiblemente Win32/Win64
  • orientado a objetos
  • estático de tipos

He mirado el Objetivo C pero no me gusta.

+0

"C++ es bastante complejo y no tan elegante" - Eso es porque es de bajo nivel. Si quieres simple y elegante ver Python. – jjnguy

+2

¿Está tratando de anunciar D de forma indirecta? : P – hasen

Respuesta

16

D? (Wikipedia page)

El lenguaje D es estático de tipos y compila directamente en código máquina. Es multiparadigm, admite muchos estilos de programación : imperativo, objeto orientado y metaprogramación. Es un miembro de la familia de sintaxis C, y su aspecto es muy similar al de C++. Para una comparación rápida de las características , consulte esta comparación de D con C, C++, C# y Java.

Creo que cubre todo en sus necesidades excepto el soporte de Windows, que también tiene.

Tenga en cuenta que tiene recolección de elementos no utilizados, pero su pregunta parece asociar la recolección de elementos no utilizados con la administración; no son la misma cosa. Creo que la recolección de basura puede ser muy estrechamente controlada en D.

Debo señalar que no tengo absolutamente ninguna experiencia en el idioma que sea :)

+1

Simplemente en una nota lateral, tiene recolección de basura pero se puede deshabilitar (está activada por defecto, por lo que debe ser desactivada manualmente) – hasen

+1

Iba a sugerir D, pero es basura recolectada de forma predeterminada. Supongo que acabo de aprender algo, ¡detén eso! :-P –

+0

Además, la pregunta parece asociar la recolección de basura con un lenguaje administrado, eso no es necesariamente cierto. (Objective-C también tiene recolección de basura, IIRC, pero no está administrada). –

4

Delphi? Sintaxis de Pascal, pero aún así cita poderosa y solo un poco más de alto nivel que C++.

4

Solicitar no gc es bastante fuerte y eliminar casi todos los idiomas modernos; cosas como Ocaml, por ejemplo, cumplen todos los demás requisitos.

También hay ADA que llenan cada uno de sus deseos, pero ese es un lenguaje muy estricto. La sintaxis es algo similar a Pascal, creo, y el lenguaje tiene muchos menos agujeros en comparación con C. Tiene soporte integrado para hilos y 'módulos' (mejor que los encabezados C).

1

FreePascal Delphi Oberon

Cualquier 3 habría grandes reemplazos. Son más fáciles de usar que C++ también.

2

Ada es un muy buen lenguaje, sin embargo, se utiliza colecciones de basura (notado que mamboking mencionó.) No estoy seguro de Oberon y Modula 3.

Pascal/Delphi también está utilizando la recolección de basura por lo que yo sé . (o al menos punteros inteligentes de algún tipo.)

1

Sugiero Limbo! Es un lenguaje creado por Rob Pike (coautor con Kerninghan de muchos libros de programación). Este lenguaje es interpretado por la máquina DIS virtual (memoria a la memoria) o compilado. Tiene muchos tipos de datos incorporados como tupla, tubería, lista, matriz, canal (útil para COMUNICAR FÁCILMENTE entre subprocesos), etc. es concurrente, modular. ¡Implementa muchas características modernas! y se usa para escribir aplicaciones para el sistema operativo Inferno.

Limbo review by Dennis Ritchie y Limbo review by Kernighan

1

Yo sugeriría Vala! pruébalo es increíble