2009-03-06 42 views
5

¿C# es un lenguaje de alto nivel? Lo veo más como de nivel medio, pero todavía no estoy seguro de esto. ¿Lo considerarías tan alto como algunos de los lenguajes de scripting populares?¿C# es un lenguaje de alto nivel?

¿O tiene capacidad para más de un nivel?

Respuesta

9

De lo que he leído de varias fuentes, C# se considera un lenguaje 3GL . Un lenguaje de nivel superior 4GL se parecería más al lenguaje natural y un lenguaje 5GL se trata de una programación basada en restricciones (inteligencia artificial) en la que se definen las restricciones de un problema pero se deja en manos de la computadora para resolverlo.

Si juzga el lenguaje C# por sí mismo (sin tener en cuenta el.Net Framework), no es una gran desviación de otros lenguajes basados ​​en C, por lo que en ese sentido la definición de 3GL se ajusta.

Aquí hay un enlace a Wikipedia como referencia:

http://en.wikipedia.org/wiki/Third-generation_programming_language

+0

Esta es una muy buena respuesta. –

+0

Esto se refiere al período de tiempo, no a la profundidad del lenguaje, que es lo que significa alto nivel – TStamper

+0

Buena respuesta. Pero no creo que haya una pequeña diferencia con respecto a otros lenguajes basados ​​en C. C# tiene algunas características de alto nivel muy interesantes. –

7

Sí C# se considera un lenguaje de alto nivel.

17

Sí, es de alto nivel. Muy. Usted es el único que reconoce el 'lenguaje de nivel medio' como un término. :)

+0

lol, probablemente tenga razón. –

+2

"Nivel medio" no es un término malo, sin embargo. Podría llamar a C o C++, idiomas con asignación de memoria directa, pero que son independientes del hardware, de "nivel medio" y sería bastante apropiado, en mi humilde opinión. –

+0

Mmkay, a excepción de la parte donde es completamente contrario a la convención, para que nadie más sepa de lo que está hablando. – chaos

5

¿Define un lenguaje de alto nivel? Cuando se creó C, se consideró un lenguaje de alto nivel porque se podía compilar en varias arquitecturas

+1

C sigue siendo un lenguaje de alto nivel ... Nada ha cambiado. – Juliano

+0

@Juliano, pero es un nivel más bajo que C#, por ejemplo. Entonces, ¿no sería un lenguaje de nivel medio? ¿O solo hay dos niveles? – strager

0

Um, sí, es un lenguaje de alto nivel. Y puedes eliminar la etiqueta subjetiva. No hay nada subjetivo al respecto.

+1

Tiene suficiente representante para volver a etiquetar. – chaos

2

Yo personalmente diría que tiene un alto nivel de abstracción. El framework .NET maneja muchas cuestiones complicadas, a diferencia de C o C++, donde usted es responsable de casi todo lo que sucede.

1

C# es un lenguaje muy alto y está más desarrollado que la mayoría de los lenguajes de scripting. Por lo que he aprendido, no existe el lenguaje de nivel medio y los que se consideran de bajo nivel actualmente son prácticamente cualquier forma de ensamblaje o código binario.

2

C# permite el uso de punteros, se compila justo a tiempo, pero a veces antes de tiempo. Comparado con muchos otros lenguajes que utilizo, aunque permite un desarrollo de software muy rápido, es un poco más bajo y más cercano al hardware, lo que tiene una gran ventaja.

3

En consideración de la post Bob del conserje:

definir un lenguaje de alto nivel? Cuando se creó C se consideró un alto nivel de lenguaje porque podría ser compilan en múltiples arquitecturas

yo diría que se está moviendo desde el "alto" punto al igual que Java es.

Java's considerado el lenguaje ensamblador de la JVM en este punto. Los nuevos lenguajes como Scala y Ruby parecen ofrecer una gran variedad que Java y C# no van a coincidir fácilmente.

No me malinterpreten, creo que Java/C# están en el nivel perfecto. Solo digo que, como en C, estos lenguajes tienen un conjunto de definición/características bastante fijo, mientras que "Características" continuará siendo inventado e implementado en nuevos idiomas.

Si no me cree, eche un vistazo a Scala ... ¡un monstruo completamente diferente!

1

En 20 años, la gente probablemente no lo considerarán un lenguaje de alto nivel, pero en el momento en que lo es. Todo es relativo a su base de comparación. Comparado con Assembler, es un lenguaje de muy alto nivel. Comparado con un hipotético programa de computadora que escribe el código para ti (como Brian llamó un 5GL), entonces supongo que no.

6

"Un lenguaje de programación es de bajo nivel cuando sus programas requieren atención irrelevante". - Alan Perlis

+0

Guau, esta es una gran cita que recordaré. Gracias. –

0

C# es también un lenguaje muy "flexible". Si por "Programación de bajo nivel" te refieres a la manipulación del puntero, entonces puedes hacer lo mismo en C#.
Para las personas que quieren hacer un trabajo de "bajo nivel", entonces C# le permite hacerlo. Pero si no desea ingresar a las cosas de "bajo nivel", puede hacer lo mismo sin preocuparse por la palabra clave unsafe. Muchos novatos ni siquiera conocen la opción/inseguro para compilar el código C#.
Según wikipedia: -

C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions.

creo que la declaración anterior resume bastante bien si C# es un nivel "alto" o lenguaje de alto nivel "bajo".

Cuestiones relacionadas