“Programming” covers a whole lot of things, from super-low level things like “put these bytes in these locations to make the network card do things” all the way up to “draw a button on screen”.
If you’re writing a webpage, you want a language that automates all the “move bytes from here to there” stuff so you can focus on more important stuff like the page layout. If you’re writing drivers for a network card, you _really_ need to worry about all that fiddly stuff, and any automation would get in the way if you actually understanding what’s going on.
That whole automation/abstraction vs control tradeoff is at the core of why you have so many languages, with different languages having different opinions on what stuff needs to be exposed to the programmer and what should be abstracted away.
Latest Answers