NanoTec
- 4
- 0
I haven’t seen a stance which starts from a low level perspective.
The main corporate problems revolve around code maintenance and debugging leaving very little impetus for a language change.
The compiler allows abstraction of the computers hardware: instruction sets, cache alignment, memory bus contentions, and the interface to every possible piece of hardware. Yes the ultimate abstraction is to be able to use natural language to tell the computer what to do and have it done… eventually.
I believe that is neither realistic nor a desirable goal. It is possible, and really it just sidesteps the issue –what do you write the compiler in?-
It is not the language which needs the greatest change but the development environment.
Compilers presently perform very little communication to the user. For debugging purposes one needs an abstraction to ease conceptualization of what the software is accomplishing. For optimization purposes one needs the code shown as the computer will see it. A tremendous amount of screen estate and idle processing power is available to currently handle these tasks but they remain ignored.
To selfAdjoint:
These languages can handle parallelism; it is up to the compiler to implement independent threads for each parallel operation and for memory access to be dealt with on the hardware side. The main problem is that many algorithms can not be improved by parallel processing; the output of one stage is required for the next.
To StarkyDe:
Despite biological self-replications ability to produce enormous parallelism, its chemical thermodynamics require equilibrium stages and therefore will be individually much slower than their solid state equivalent. (see above)
To: dduardo:
Custom macros or procedures in libraries are useful abstractions; although they may interfere with understanding. Many languages are defined by their standardized libraries, but their will always be the need for new task specific tools. The problem which causes such chaotic use is that everyone holds copyright on their libraries preventing anyone else from using the same code unless authorized. Even General Public License code will not be used by your employer if they are trying to sell their product.
The main corporate problems revolve around code maintenance and debugging leaving very little impetus for a language change.
The compiler allows abstraction of the computers hardware: instruction sets, cache alignment, memory bus contentions, and the interface to every possible piece of hardware. Yes the ultimate abstraction is to be able to use natural language to tell the computer what to do and have it done… eventually.
I believe that is neither realistic nor a desirable goal. It is possible, and really it just sidesteps the issue –what do you write the compiler in?-
It is not the language which needs the greatest change but the development environment.
Compilers presently perform very little communication to the user. For debugging purposes one needs an abstraction to ease conceptualization of what the software is accomplishing. For optimization purposes one needs the code shown as the computer will see it. A tremendous amount of screen estate and idle processing power is available to currently handle these tasks but they remain ignored.
To selfAdjoint:
These languages can handle parallelism; it is up to the compiler to implement independent threads for each parallel operation and for memory access to be dealt with on the hardware side. The main problem is that many algorithms can not be improved by parallel processing; the output of one stage is required for the next.
To StarkyDe:
Despite biological self-replications ability to produce enormous parallelism, its chemical thermodynamics require equilibrium stages and therefore will be individually much slower than their solid state equivalent. (see above)
To: dduardo:
Custom macros or procedures in libraries are useful abstractions; although they may interfere with understanding. Many languages are defined by their standardized libraries, but their will always be the need for new task specific tools. The problem which causes such chaotic use is that everyone holds copyright on their libraries preventing anyone else from using the same code unless authorized. Even General Public License code will not be used by your employer if they are trying to sell their product.