On Wednesday, September 6, 2017 at 3:34:41 AM UTC+5:30, Marko Rauhamaa wrote: > Chris Angelico : > > > That shows that the Java '==' operator is like the Python 'is' > > operator, and checks for object identity. You haven't manipulated > > pointers at all. In contrast, here's a C program that actually > > MANIPULATES pointers: > > > > [...] > > > > You can't do this with Python, since pointer arithmetic fundamentally > > doesn't exist. You can in C. Can you in Java? > > You can't do it in Pascal, either, but Pascal definitely has pointers. > > Pointer arithmetics is not an essential part of C. One could argue that > it was a mistake to include it in the language.
This is subjective of course… but still I wonder where you are coming from… You of course know that writing Unix was the genesis and raison d'être for C right? And what is an OS but a thin layer of abstraction on top of bare ISP? ie is not a Linux-OS just an x86 hw + some new ‘instructions’ called system-calls? Which is to say IMHO being able to punch holes into the hi-level-language abstraction seems to be a sine qua non for being suitable as a language for writing OSes. Do you think its reasonable/feasible to do that without easy access to all the machine resources eg memory, IO, interrupts etc accessible in the OS-writing language? [BTW I think Microsoft has done a better job than classic C of repeating this with C# — C# is almost as high-level as python, lisp etc and as low (or lower) than C; ie it is effectively two languages, called ‘safe’ and ‘unsafe’ parts ] -- https://mail.python.org/mailman/listinfo/python-list