Joan Venge
Joan Venge

Reputation: 331350

Is C# a high level language?

Is C# a high level language? I see it as more like medium level, but I am still unsure about this. Would you consider it as high level as some of the popular scripting languages?

Or does it accommodate more than one level?

Upvotes: 6

Views: 16840

Answers (12)

Pratik Singhal
Pratik Singhal

Reputation: 6492

C# is also a very "flexible" language. If by "Low Level Programming" you mean pointer manipulation, then you can do the same in C#.
For people who want to do "low level" work then C# allows you to do so. But if you don't want to get in to the "low level" stuff, you can do the same without bothering about unsafe keyword. Many newbies don't even know about the /unsafe option to compile C# code.
According to 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.

I think the above statement pretty much sums up whether C# is a "high" level or "low" level language.

Upvotes: 0

Ken
Ken

Reputation: 2731

"A programming language is low level when its programs require attention to the irrelevant." --Alan Perlis

Upvotes: 10

Beep beep
Beep beep

Reputation: 19171

In 20 years people will probably not consider it a high level language, but at the moment it certainly is. It's all relative to your basis of comparison. Compared to Assembler, it is a very high level language. Compared to a hypothetical computer program that writes the code for you (as Brian called a 5GL), then I guess it isn't.

Upvotes: 1

Brian
Brian

Reputation: 146

From what I have read from various sources, C# is considered a 3GL language. A higher level language 4GL would look more like natural language and a 5GL language is about constraints based programming (artificial intelligence) where you define the constraints of a problem but leave it up to the computer to solve it.

If you judge the C# language by itself (not considering the .Net framework), it is not a huge departure from other C based languages so in that sense the 3GL definition fits.

Here is a link to wikipedia for reference:

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

Upvotes: 12

Bill K
Bill K

Reputation: 62789

In consideration of Bob The Janitor's post:

Define a high level language? When C was created it was considered a high level language because it could be compiled on multiple architectures

I'd say it's moving from the "High" spot just like Java is.

Java's considered the assembly language of the JVM at this point. New languages like Scala and Ruby seem to offer quite a variety that Java and C# are not going to easily match.

Don't get me wrong, I happen to think that Java/C# are at the perfect level--I'm just saying, as with C, these languages have a fairly set definition/feature set whereas "Features" will continue to be invented and implemented in newer languages.

If you don't believe me, have a look at Scala.. a completely different monster!

Upvotes: 3

Tim Matthews
Tim Matthews

Reputation: 5121

C# allows use of pointers, is compiled just in time but sometimes ahead of time. Compared to a lot of other languages I use even though it allows very rapid software development it is slightly lower and closer to the hardware which comes to great advantage.

Upvotes: 2

GateKiller
GateKiller

Reputation: 75949

I would personally say that it has a high level of abstraction. A lot of complicated matters are handled by the .NET framework unlike C or C++ where you are responsible for almost everything that happens.

Upvotes: 3

achinda99
achinda99

Reputation: 5078

C# is the very much so a high level language and is more developed than most scripting languages. As far as I've ever learned, there is no such thing as a medium level language and the ones considered low level these days is pretty much any form of assembly or binary code.

Upvotes: 1

Kevin
Kevin

Reputation: 7309

Um, yes, it is a high-level language. And you can remove the subjective tag. There's nothing subjective about it.

Upvotes: 0

Bob The Janitor
Bob The Janitor

Reputation: 20802

Define a high level language? When C was created it was considered a high level language because it could be compiled on multiple architectures

Upvotes: 6

chaos
chaos

Reputation: 124335

Yes, it is high-level. Very. You are the only one who recognizes 'medium-level language' as a term. :)

Upvotes: 17

Hawk Kroeger
Hawk Kroeger

Reputation: 2334

Yes C# is considered a high level language.

Upvotes: 7

Related Questions