2009-03-06 15 views
5

C# è un linguaggio di alto livello? Lo vedo più simile a un livello medio, ma non ne sono ancora sicuro. Lo considereresti di alto livello come alcuni dei popolari linguaggi di scripting?C# è un linguaggio di alto livello?

Oppure può ospitare più di un livello?

risposta

9

Da quello che ho letto da varie fonti, C# è considerato un 3GL lingua. Un linguaggio di livello superiore 4GL sembrerebbe più simile al linguaggio naturale e un linguaggio 5GL riguarda la programmazione basata sui vincoli (intelligenza artificiale) in cui si definiscono i vincoli di un problema ma si lascia al computer per risolverlo.

Se si giudica il linguaggio C# da solo (non considerando il.Net framework), non si tratta di un enorme distacco dagli altri linguaggi basati su C, quindi in tal senso la definizione 3GL si adatta.

Ecco un link a wikipedia per riferimento:

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

+0

Questa è una buona risposta. –

+0

Questo si riferisce al periodo di tempo, non quanto sia profonda la lingua, che è ciò che significa alto livello – TStamper

+0

Buona risposta. Ma non penso che ci siano piccole differenze da altri linguaggi basati su C. C# ha alcune caratteristiche di alto livello molto interessanti. –

7

Sì C# è considerato un linguaggio di alto livello.

17

Sì, è di alto livello. Molto. Tu sei l'unico che riconosce "lingua di medio livello" come termine. :)

+0

lol, probabilmente hai ragione. –

+2

"Medio livello" non è un cattivo termine, però. Potresti chiamare C o C++, lingue con allocazione diretta della memoria, ma che sono indipendenti dall'hardware, "di medio livello" e sarebbe abbastanza appropriato, IMHO. –

+0

Mmkay, tranne per la parte in cui è completamente contrario alla convenzione, quindi nessun altro potrebbe sapere di cosa stai parlando. – chaos

5

Definire un linguaggio di alto livello? Quando è stato creato C, era considerato un linguaggio di alto livello perché poteva essere compilato su più architetture

+1

C è ancora un linguaggio di alto livello ... Nulla è cambiato. – Juliano

+0

@Juliano, ma è ad un livello più basso di C#, ad esempio. Quindi non sarebbe un linguaggio di medio livello? O ci sono solo due livelli? – strager

0

Ehm, sì, è un linguaggio di alto livello. E puoi rimuovere il tag soggettivo. Non c'è nulla di soggettivo in questo.

+1

Hai abbastanza rep per retag. – chaos

2

Personalmente direi che ha un alto livello di astrazione. Un sacco di questioni complicate sono gestite dal framework .NET a differenza di C o C++ in cui sei responsabile di quasi tutto ciò che accade.

1

C# è un linguaggio molto di alto livello ed è più sviluppato della maggior parte dei linguaggi di scripting. Per quanto ho imparato, non esiste un linguaggio di livello medio e quelli considerati di basso livello in questi giorni sono praticamente tutte le forme di assemblaggio o codice binario.

2

C# consente l'uso di puntatori, è compilato just in time ma a volte in anticipo. Rispetto a molti altri linguaggi che utilizzo anche se consente uno sviluppo software molto rapido, è leggermente più basso e più vicino all'hardware che viene in gran vantaggio.

3

In considerazione della posta Bob del custode:

Definire un linguaggio ad alto livello? Quando C è stato creato è stato considerato un alto linguaggio di livello perché potrebbe essere compilato su più architetture

direi che muove dal dischetto "High", proprio come Java è.

Java è considerato il linguaggio assembly della JVM a questo punto. Nuovi linguaggi come Scala e Ruby sembrano offrire una varietà abbastanza ampia di Java e C#.

Non fraintendetemi, mi sembra di pensare che Java/C# siano al livello perfetto - sto solo dicendo, come con C, che questi linguaggi hanno una definizione/set di funzioni abbastanza definiti mentre "Funzioni" continuerà ad essere inventato e implementato nelle nuove lingue.

Se non mi credi, dai un'occhiata a Scala .. un mostro completamente diverso!

1

In 20 anni la gente probabilmente non considerarlo un linguaggio di alto livello, ma al momento è certamente. È tutto relativo alla tua base di paragone. Rispetto ad Assembler, è un linguaggio di altissimo livello. Rispetto ad un ipotetico programma per computer che scrive il codice per te (come Brian ha chiamato un 5GL), allora immagino che non lo sia.

6

"Un linguaggio di programmazione è di basso livello quando i suoi programmi richiedono attenzione per l'irrilevante." --Alan Perlis

+0

Wow, questa è una grande citazione che ricorderò. Grazie. –

0

C# è anche un linguaggio molto "flessibile". Se per "Programmazione a basso livello" si intende la manipolazione puntatore, allora si può fare lo stesso in C#.
Per le persone che desiderano eseguire un lavoro di "basso livello", C# consente di farlo. Ma se non vuoi entrare nella sezione "di basso livello", puoi fare lo stesso senza preoccuparti della parola chiave unsafe. Molti neofiti non sanno nemmeno dell'opzione/non sicura per compilare il codice C#.
Secondo 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.

Penso che la dichiarazione di cui sopra praticamente riassume se C# è un livello "alto" o linguaggio di livello "basso".

Problemi correlati