I know this is very abstract, however I believe it is very focused.
There are plenty of high-level languages today: C#, Java, VB, Python, etc., all created to abstract away low-level complexity and provide a more user-friendly programming experience. High-level languages can reduce, and most of the time completely remove, the necessity to perform low-level, process specific operations (such as pointer manipulation and memory management). Many also remove platform details (like file manipulation, user interface generation, etc.)
My two questions are:
- What else can/should be abstracted? Are there any more low-level semantics present in today's high-level languages that will be/should be abstracted away further?
- At what point does a general-purpose, high-level language become very high-level, a.k.a goal oriented?