|
|
Open source1; what is the difference© Ian Carr-de Avelon
The first computer programmers worked by turning little switches on and off. Directly letting electricity flow or blocking it to change what was happening in the processor. At the end on the 1970's I was taught by a lecturer who worked on systems which had to be so small and cheap that they were still developed by working in that same way, directly with ones and zeros. In the rows of binary code he could find patterns and knew and invented tricks which allowed savings of a little space which on huge production runs justified his effort. I never knew him before he chose that line of work so I can't really say that his strange mannerisms and the two mental breakdowns he had had before I met him were due to the strain of working in that way, but it is slow and frustrating work. His own view was "Of course I'm mad. Can you imagine teaching a dog to do algebra? It wouldn't
take you five minutes to see that it was nonsense. You would just think 'This is deadly dull and futile.' Well; a dog is infinitely more intelligent than a microcomputer, but I am a programmer, I teach computers to do algebra."
Maybe the reason I have never been carried away from my computer on a stretcher, making strange noises, as my former lecturer famously once was, is that I have never had to give a computer more than a handful of instructions in that way. Early programmers soon started to write programs which would accept programs in a form which was much easier for humans to understand and convert them to the form needed by the processor.
Programs to change from binary programs to a form which a human can more easily read, called disassemblers were also an early development but it has never been possible for a program to produce the true equivalent of the program which a human programmer writes. As a simple example lets imagine that we examine the instructions in a program and find that values are taken from 2 places, multiplied together and stored somewhere else. A disassembler can get about as far as changing that to value3=value1*value2. The original program probably had something more like h_pixels=H*dpi. Not everyone knows that pixels are the individual points in which make up a digital image, or that dpi can mean dots per inch, but anyone who delves into a graphical program probably will do and this source code is much easier to understand, than the best which can be produced from the program in a binary form. This is before the programmer adds any comments ie. little notes to remind him or tell others what is happening in that part of the program. Without the source code changing a program is attempting a type of work very close to the type of thing my old lecturer did, and the consequences may end up the same. Having the source code is a clear advantage for anyone who can read it, and Linux and most of the programs used under Linux come in that form.
Go To Page: 1 2
The copyright of the article Open source1; what is the difference in Linux is owned by Ian Carr-de Avelon. Permission to republish Open source1; what is the difference in print or online must be granted by the author in writing.
|
|
|
|
|
|
|
|