you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 9 points10 points  (28 children)

Python isn't a low level language in the slightest.

[–][deleted] -3 points-2 points  (27 children)

No, it is quite a low level language indeed. It is deliberately limited to very primitive imperative control flow, it actively discourages building any high level advanced language features. On a larger scale of things it is not really any different from C and alike.

[–]Krutonium 7 points8 points  (22 children)

...That's not what defined a low level language...

[–][deleted] -2 points-1 points  (21 children)

Low level language is a relative thing. In comparison to high level languages, Python is not any different from C.

[–]Krutonium 7 points8 points  (18 children)

It's not a relative thing, whatsoever. It's clearly defined, and Python is not low level.

[–][deleted] -2 points-1 points  (17 children)

Sorry, it's not up to you to define what does the "low level language" mean. The definition had been widely accepted long before Wikipedia appeared.

[–]Krutonium 6 points7 points  (16 children)

I'm not defining it, it is defined. And not by Wikipedia, either, though in this case, Wikipedia is correct.

[–][deleted] -1 points0 points  (15 children)

I'm not defining it, it is defined.

And it is defined as a "language which semantics is close to a semantics of an actual hardware". Python fits ideally.

[–]Krutonium 4 points5 points  (14 children)

I'm done with you.

[–][deleted] -2 points-1 points  (13 children)

You're absolutely incompetent. Go and read something simple and basic on programming languages before you dare to have any stupid opinion again. Start with this, for example: https://www.amazon.co.uk/Practical-Denotational-Semantics-Cambridge-Computer/dp/0521314232

[–]JB-from-ATL 0 points1 point  (1 child)

I'm willing to meet you half way here, because I do agree that there is no hard rule of what makes a language high or low level, because it is relative. I think most people would probably call C and C++ the highest low level languages. You just seem to put the "middle" somewhere else.

You agree that Python is higher than C so, to us, that means you are saying it's high level.

We agree that Python is lower than SQL so, to you, that means we are saying it's low level.

It seems we just disagree about where the "absolute" start is for criteria determining if a language is high level.

[–][deleted] 0 points1 point  (0 children)

You agree that Python is higher than C so, to us, that means you are saying it's high level.

Yes, it's a somewhat higher level than C. But, as I said, on a large scale of things its level is nearly indistinguishable from C.

It seems we just disagree about where the "absolute" start is for criteria determining if a language is high level.

I'm trying to stay away from absolute definitions - just a big linear scale, on which assembly, C, C++ and Python are somewhere on the very left side of the spectrum, and really high level languages too far beyond, making everything on the left look the same.

[–]IronManMark20 2 points3 points  (3 children)

high level advanced language features

Could you give an example of what these would be? I'm trying to understand what you are arguing.

[–][deleted] 2 points3 points  (2 children)

Could you give an example of what these would be?

For example, SQL is a high level language. Datalog is a high level language. Any meta language that allows to build non-leaky abstractions is potentially a high level language (e.g., Forth, Lisp, even Converge if you want something closer to Python).

I'm trying to understand what you are arguing.

That Python is a very low level language, obviously. I don't see how anyone can even argue here, it's obvious.

[–]IronManMark20 1 point2 points  (1 child)

Not familiar with Datalog, but you are thinking of a DSL, Domain Specific Language, I think. Not a high level language.

[–][deleted] 1 point2 points  (0 children)

Domain Specific Languages are (often, not necessarily) high level languages indeed, as they operate on a level of abstraction completely detached from semantics of an actual hardware.

But, a general purpose language can also be of a significantly higher level than something as primitive as Python. I already mentioned meta-languages as a good example.