Articles about AI
Back to overview
Where Do Programming Languages Go to Die?
An interesting article published on EEJournal, where we made the following two comments.
The important passages are marked in bold, in order to have a better overview of the analogy.
My first was assembler for mainframes, back in 1976,
after that I learned algorithms and logic schemes.
The 2nd programming language was Fortran,
while Cobol being the 3rd language, all of them in high-school.
Since then I migrated to other computer systems and languages,
like Assembler for operating system RSX11M from DEC, he he.
SInce the PC era, I moved on to C and UNIX, Visual Basic and Windows,
To ABAP and SQL in SAP and now VHDL with FPGAs, long way, isn’t it?
However, once a programmer always a developer, right?
Not quite, because every human evolves in time and
this way we gain a lot of international experience,
which inevitably leads to a more complex view of structures.
An evolved language like Java or Python is for creating applications,
while C++ is used to design nice tools within the kernel of an opsys.
However, embedded systems require an extension to sensors and actors,
while VHDL or Verilog is to design the underlaying hardware, e.g. processor.
So, we have here four(!) different levels of complexity within a computer:
1st VHDL to build the processor, 2nd Assembler to program the processor,
then C to write the operating system and Java to write applications.
But all of them are designed by humans, which have totally different structure.
The architecture of the universal computer, as processor with memory,
corresponds roughly to the usual brain structure of a man with consciousness,
which represents the foreground on the screen, which we can follow consciously,
and subconscious, which is the background, where the following rule will apply:
The consciousness takes control of all activities and decides at the same
time what will be considered as background, namely all intermediary steps.
But, one can carry out consciously only one step at once.
For this reason the flow in our consciousness is always serial.
Our entire behavior is discrete from other unconnected events.
This way of thinking decides on the methods used to obtain a result,
in this case: isolated, static, unilateral, approximately and relative,
exactly those resources which are used in mathematics.
This way of thinking contains however apparently one big advantage:
The consciousness is told from outside in small mouthfuls
what it has to do AND which meaning the actual input has.
The order of doing things, for a before well-defined purpose.
What does this has to do with programming? Well a lot,
because programming means a job for the consciousness,
same like every parent teaches his children how to do something,
how to polish your shoes or how to count the finger of a hand.
What a pity that we can not program our subconscious!
Why are we not able to do this? Well, the answer is very simple:
It does not work in serial mode, like a processor or our consciousness.
It works only in parallel, while it uses structures, which are in fact neural nets.
Some people think neural nets can be used in conjunction with mathematics,
create hereby vast databases containing millions of pictures, all of the same type.
This with only one purpose: to recognize in a new picture if it contains that very type.
As a programmer I can only shake my head: What were you people thinking?
If we understand that algorithms are in fact a (subset of)
a network of elements communicating with each other,
all at the same time, means in parallel, like VHDL in FPGAs,
NOT serial like the execution of instructions within a processor,
well, then and only then, we might have a chance to use neural nets accordingly.
But unfortunately, each developer has its own specialty, either VHDL, Assembler , C or Java,
let alone the fact that hardware programming is the most difficult one. Why is that?
Well, in VHDL all processes are executed in parallel, not serial like in all the others.
Furthermore, biological neural nets are all 4 programming levels in one,
where the processor is our consciousness, but to get there, it is a long way.
This implies that our brain has all 4 levels, but only one entry point for programmers:
namely neural nets. So, try to program some hardware in neural nets for embedded systems.
Then extend all this neural net hardware to an operating system valid throughout the entire brain.
Afterwards, one can develop a more complex kernel of the operating system and only then,
we can start thinking of different applications within the brain, but remember one thing:
we are programming an embedded system, with sensors and actors and a body framework.
Programming a self-programming operating system based on self-programming neural nets.
This is the ultimate challenge for all programmers, namely the king discipline of designing
a digital brain which will work in a corresponding body with sensors and actors and organs.
And there is only one more thing: the entire system has to have a self-learning mechanism.
How many of our esteemed colleagues would even dare to think of such a task?
Well, if this is too high for you, then relax and simply buy a digital brain from our webite (=webshop), soon.
By the way, regarding the title : “Assembly Programming has Become a Lost Art”.
I do not believe this. You know why? Because in biological neural net, aka the brain,
the consciousness manages the serial events within our life via the spoken language,
which is in fact its own Assembler language, with grammar and dictionary as instruction set.
Too bad that we people speak so many different languages,
while each of us is concentrating only on our mother tongue.
This means it is not portable on other (brain) systems,
except when we learn another foreign language, like English.
But then again, how many of us do the effort to extent their views and:
a. speak more than one language, natural or programming
b. work different job types, e.g. developer, consultant, trainer, manager, company owner
c. live in more than one country or continent
Sic transit gloria mundi ! (Latin for: “Fame is but a transient shadow.”)
Back to overview