6834 posts since 16 Feb, 2005
A programming language of the future, in my mind, would abstract the platform away from the language, and at the same time automatically solve optimizations in coding structure. Something that could eliminate the need to "code for code", writing code to discover or structure a program.
An example of a "code for code" problem could be a large dataset to reside with the program. Rather than having to profile the performance difference of accessing this dataset between a data section inside the executable and it being loaded from a file, the language would know how to optimize at compilation, and that particular dataset would be abstracted away from the source... it's location in system memory being handled automatically based on usage and system resources and other things. In comparison to C, there would not be static const types, or pointers to allocations, just data and access patterns that are determined by the compiler and system profiling.
I think data abstraction is one of the redeeming features of newer languages, particualily to coders who do not like to be slowed down by platform-specific obstacles. It's always important to verify the functionality of a program, to verify HOW it works and what it is capable of. Most of the problems in computing are hardly related to what the CPU does, the CPU is basically a calculator doing arithmetic and logical operations, so it makes sense that any language that can harness the CPU is "doing something right". More problems seem to originate from interacting the CPU with all the other stuff associated with a computer. That stuff can't be abstracted as easily, and it is there that attention to details of the platform is required.
At least C++ makes the problem more workable by building a scaffolding around ITSELF, so if something is not directly "abstractable" or is generically complex, it can be worked around with reasonable effort, as long as the platform is capable. There may never be a foolproof solution to any particular problem, so the language of the future would make discovering the ideal program structure more automated, with regard to WHAT the program is supposed to do, hopefully.