IT News
Odds & Ends
Windows (1)
Windows (2)
Apple (1)
Apple (2)
Linux/Unix (1)
Linux/Unix (2)
Hardware (1)
Hardware (2)
History
More News
High Tech
Software (1)
Software (2)
Elementary
Basics
Internet (1)
Internet (2)
Viruses (1)
Viruses (2)
Spyware
Spam
Scams
Games (1)
Games (2)
Networks
Security
Music
A I
The Future
Miscellaneous
Gallery (1)
Gallery (2)
Links
e-mail me



AN INTRODUCTION TO COMPUTER PROGRAMMING LANGUAGES
  By COLIN LUCK

[Webmaster's note:]After asking Colin to compile an article on computer programming, that was at least vaguely comprehensible to a lay person, he replied: "Ask for something easy why don't you? It's less painful having a Root Canal done without anaesthetic but I'll attempt the "EASY" explanation. I'll start with the easy stuff first." So thank you Colin, and here we go:

A complete list of the used programming languages would take weeks to compile and most people would never understand them as well. When I started with computers, on the great IBM 9300 Mainframes we mainly used Fortran, Cobalt & Pascal with a bit of Boolean thrown in for good measure. Of those only the derivatives of Cobalt are still used, known nowadays as C or better still C++.

The Boolean was mainly used for programming EPROM'S of 64 K capacity as it is a very nice compact language to use. Although it is a Binary Code, we could pack a lot of data into limited storage space which is no longer necessary, as things like EPROM'S are no longer used and the cost of memory has dramatically dropped. Back in those days the wholesale price of RAM was about $1,000.00 per MEG, so you can see the need to pack as much as possible into the smallest space available. Incidentally while Boolean is considered a "Dead Language" it is still used in every computer to store data onto storage devices no matter if they are CD/DVD, HDD, RAM Drives or whatever.

Currently the most commonly used Programming Language is Visual Basic -- a derivate of Basic used by Microsoft, and I might add a most ungainly and space consuming language. The only advantage is that it is extremely easy to use and compile code in but it takes a horrendous amount of space to do what could be done in a few lines of C++.

Even C programmers very rarely write code any more as they mostly rely on Compilers to compile the code and then try breaking tests to make sure that there are no bugs included. Of course the trouble here is that with any big project various bits will be farmed out to different programmers, so while the individual components may work perfectly, when combined into the completed project there may be unforseen problems. These initial things are generally referred to as "Beta" code and are used to work out the major bugs that have been incorporated into the entire thing.

HTML, which stands for "Hyper Text Machine Language," is a language that was developed and is now mainly used for the Internet and building Web Pages. It was originally developed so that different computers (and here I really mean different operating systems and platforms) could communicate, but with the advent of the Internet it got a whole new lease on life and became the basis for almost every Internet Web Page.

Along with Java, which was specifically developed for the Internet, these became the basis for every Web Page. They both are a programming language that are solely capable of being understood by any computer on the face of the planet, so they have quite a few advantages. With the recent growth in the Internet it became necessary to incorporate HTML and Java code into compilers that made it possible for people with no knowledge of either HTML or Java to be able to construct Web Pages without ever having to write a line of either code. They simply compile the page as they wish it to appear and the program does all the rest, which makes it quite easy with the modern Programs like FrontPage, DreamWeaver or Web Master to name a few of the more popular ones.

Recently after losing a court case for incorporating Java into their main code without permission, Microsoft introduced what they call .NET which is their answer to Java. Currently Microsoft is making a major push in the development of the .NET platform and is running workshops all around the world to get people to at least understand the platform. Presently other than Microsoft itself, very few incorporate the .NET into Web Pages but in time there will be a marked following that may even one day see the demise of Java if enough companies can be convinced of the usefulness of .NET. Currently both Java and .NET have some large security holes but both are being developed and there is currently a great completion between the two ,with Java at the moment being on top.

Now the BLACK ART of programming! When I used to write code we were unkempt monsters in the back room that were never allowed into polite company and treated as a necessary evil. Most people could never begin to comprehend what those "Silly Buggers" out there where talking about, let alone begin to understand them. They only knew them as necessary and sometimes would appear asking questions and then disappear into almost obscurity again until another problem arose. Generally it was safer to leave them to themselves as they never actually made any, since when you tried to talk to them as they where all tied up in a world of their own totally divorced from the one that everyone else lives in.

Today however that has changed quite a bit. With the advent of compilers it is no longer necessary to know a certain Programming Language, but to be able to drive a compiler and get a more or less functioning chunk of code out the other end. The skills that where once needed are no longer there, so any bug fixing that the compiler is unable to do takes a long time as to most people the "RAW CODE" is nothing but gibberish and even the current crop of programmers fail to understand the language they mainly use as well as what used to be necessary.

However Programmers remain a "Breed Apart" and are best kept well clear of as they can prove to you that white is actually black or whatever other contradiction currently is peeking their fancy at the time. They rely heavily on mathematics which, while being a "Logical" type of system, can lead to false results if not interpreted correctly.

THE STORY OF COMMUNICATION AND CALCULATION
  A.THE PREMECHANICAL AGE: 3000 B.C. - 1450 A.D.

* Writing and Alphabets--communication.
First humans communicated only through speaking and picture drawings.
* 3000 B.C., the Sumerians in Mesopotamia (what is today southern Iraq) devised cuniform Around 2000 B.C., Phoenicians created symbols. The Greeks later adopted the Phoenician alphabet and added vowels; the Romans gave the letters Latin names to create the alphabet we use today.

* Paper and Pens--input technologies.
Sumerians' input technology was a stylus that could scratch marks in wet clay.
* About 2600 B.C., the Egyptians write on the papyrus plant around 100 A.D., the Chinese made paper from rags, on which modern-day papermaking is based.

* Books and Libraries: Permanent Storage Devices.
Religious leaders in Mesopotamia kept the earliest "books." The Egyptians kept scrolls. Around 600 B.C., the Greeks began to fold sheets of papyrus vertically into leaves and bind them together.

* The First Numbering Systems.
Egyptian system: The numbers 1-9 as vertical lines, the number 10 as a U or circle, the number 100 as a coiled rope, and the number 1,000 as a lotus blossom.
The first numbering systems similar to those in use today were invented between 100 and 200 A.D. by Hindus in India who created a nine-digit numbering system.
* Around 875 A.D., the concept of zero was developed.

*The First Calculators: The Abacus.

B. THE MECHANICAL AGE: 1450 - 1840

The First Information Explosion.
Johann Gutenberg (Mainz, Germany) invented the movable metal-type printing process in 1450. The development of book indexes and the widespread use of page numbers. *The first general purpose "computers."
Actually people who held the job title "computer: one who works with numbers."
Slide Rules, the Pascaline and Leibniz's Machine.
Slide Rule. Early 1600s, William Oughtred, an English clergyman, invented the slide rule Early example of an analog computer.
The Pascaline. Invented by Blaise Pascal (1623-62). One of the first mechanical computing machines, around 1642.
Leibniz's Machine.Gottfried Wilhelm von Leibniz (1646-1716), German mathematician and philosopher.
Babbage's Engines. Charles Babbage (1792-1871), eccentric English mathematician.

C. THE ELECTROMECHANICAL AGE: 1840 - 1940.

The discovery of ways to harness electricity was the key advance made during this period. Knowledge and information could now be converted into electrical impulses.
The Beginnings of Telecommunication.
* Voltaic Battery. Late 18th century.
* Telegraph. Early 1800s. * Morse Code Developed in 1835 by Samuel Morse.
* Dots and dashes.
* Telephone and Radio.
Followed by the discovery that electrical waves travel through space and can produce an effect far from the point at which they originated.

Guglielmo Marconi 1894 Electromechanical Computing, Herman Hollerith and IBM. Herman Hollerith (1860-1929) in 1880.

D. THE ELECTRONIC AGE: 1940 - Present.

First Tries. Early 1940s. Electronic vacuum tubes.
Eckert and Mauchly. The First High-Speed, General-Purpose Computer Using Vacuum Tubes: Electronic Numerical Integrator and Computer (ENIAC)
The ENIAC team (Feb 14, 1946). J. Presper Eckert, Jr.; John Grist Brainerd; Sam Feltman; Herman H. Goldstine; John W. Mauchly; Harold Pender; Major General G. L. Barnes; Colonel Paul N. Gillon.
Used vacuum tubes (not mechanical devices) to do its calculations. Hence, first electronic computer. Developers John Mauchly, a physicist, and J. Prosper Eckert, an electrical engineer. The Moore School of Electrical Engineering at the University of Pennsylvania Funded by the U.S. Army.

But it could not store its programs, the First Stored-Program Computer(s) early 1940s, Mauchly and Eckert began to design the EDVAC - the Electronic Discreet Variable Computer.
John von Neumann's influential report in June 1945: "The Report on the EDVAC." British scientists used this report and outpaced the Americans. Max Newman headed up the effort at Manchester University where the Manchester Mark I went into operation in June 1948--becoming the first stored-program computer.
Maurice Wilkes, a British scientist at Cambridge University, completed the EDSAC (Electronic Delay Storage Automatic Calculator) in 1949--two years before EDVAC was finished. Thus, EDSAC became the first stored-program computer in general use (i.e., not a prototype).

The First General-Purpose Computer for Commercial Use: Universal Automatic Computer (UNIVAC).
Late 1940s, Eckert and Mauchly began the development of a computer called UNIVAC (Universal Automatic Computer).
Remington Rand. First UNIVAC delivered to Census Bureau in 1951. But, a machine called LEO (Lyons Electronic Office) went into action a few months before UNIVAC and became the world's first commercial computer.

The Four Generations of Digital Computing

THE FIRST GENERATION (1951-1958). Vacuum tubes as their main logic elements.
Punch cards to input and externally store data.
Rotating magnetic drums for internal storage of data and programs. Programs written in Machine language Assembly language Requires a compiler.

THE SECOND GENERATION (1959-1963).
Vacuum tubes replaced by transistors as main logic element. AT&T's Bell Laboratories, in the 1940s Crystalline mineral materials called semiconductors could be used in the design of a device called a transistor Magnetic tape and disks began to replace punched cards as external storage devices. Magnetic cores (very small donut-shaped magnets that could be polarized in one of two directions to represent data) strung on wire within the computer became the primary internal storage technology. High-level programming languages E.g., FORTRAN and COBOL.

THE THIRD GENERATION (1964-1979).
Individual transistors were replaced by ntegrated circuits. Magnetic tape and disks completely replace punch cards as external storage devices.
Magnetic core internal memories began to give way to a new form, metal oxide semiconductor (MOS) memory, which, like integrated circuits, used silicon-backed chips. Operating systems Advanced programming languages like BASIC developed. Which is where Bill Gates and Microsoft got their start in 1975.

THE FOURTH GENERATION (1979- Present).
Large-scale and very large-scale integrated circuits (LSIs and VLSICs) Microprocessors that contained memory, logic, and control circuits (an entire CPU = Central Processing Unit) on a single chip. Which allowed for home-use personal computers or PCs, like the Apple (II and Mac) and IBM PC. Apple II released to public in 1977, by Stephen Wozniak and Steven Jobs. Initially sold for $1,195 (without a monitor); had 16k RAM.
First Apple Mac released in 1984.
IBM PC introduced in 1981. Debuts with MS-DOS (Microsoft Disk Operating System) Fourth generation language software products E.g., Visicalc, Lotus 1-2-3, dBase, Microsoft Word, and many others.
Graphical User Interfaces (GUI) for PCs arrive in early 1980s, MS Windows debuts in 1983, but is quite a clunker. Windows wouldn't take off until version 3 was released in 1990
Apple's GUI (on the first Mac) debuts in 1984.


SOME THOUGHTS on the EVOLUTION and USE of COMPUTERS
  THE ORIGIN OF THE BEAST!

By Colin Luck

Having been asked to write a little on the beginnings of the computer, I thought for a bit about what we had presently and where it had come from and maybe where it was going. The last was a brain sapping experience if ever there was one, as trying to predict what will be in even the next generation of computers is a useless exercise in itself, as currently no one know what will come in the next generation, let alone what the computer will be like in 10-20 years time. It is however safe to say they will be smaller and faster but I’ll draw the line there.

Now going back into the history of the computer, the very first computer program was written in 1801 by a Frenchman named Joseph Jacquard to control a weaving loom so it could automatically reproduce complex patterns in the fabric (by the use of punch cards) that was being produced at the time. By 1812 there where over 11,000 of these looms in service so it was a very successful program that proved both popular and was accepted by the community in general, although it was these very same looms that where targeted for destruction by out-of-work weavers during the Industrial Revolution.

A weaving loom is hardly recognizable as a modern computer by most eyes, as they perform totally different tasks and in most cases are not related except when you realize just how many of our everyday “White Goods” are Microprocessor controlled. Not many people realize that the humble washing machine/toaster/phone or any one of the numerous other things that are in every day use is actually a computer of some sort. With that accepted it then becomes a logical conclusion that computers do not have to be that box on or near a desk that is used for data processing by someone.

They do not play games or do everything that is imaginable, and they certainly are not the “Hollywood” stereotype of turn it on and everything is magically performed for you or the power crazed controller as shown in A Space Oddesy 2001. The HAL 9000 does not exist and in all likelyhood will not, with our current knowledge of what constitutes Artificial Intelligence: maybe some time in the far distant future, but not in our lifetimes this will just not happen. However on the other hand with our current dependence on microprocessor controlled equipment we need this device, and if it was to suddenly disappear overnight we would be lost without it, as everything of any importance is controlled by a microprocessor of one type or another -- from the electricity that runs every home to the water that come out of the tap when it is turned on.

Now the first REAL computer that most people would recognize was biased on the Z80 CPU made by Intel. This was in its time a revolutionary device, but has now been left by the wayside for its ability to process data. But even before the Intel Z80 CPU was made there where computers used in this world, but they where huge units that took up entire buildings and used vacuum tubes in place of transistors and solid-state circuit boards which, of course, had not yet been invented. A good example is the Cyrix that is currently on display at the Melbourne Power House Museum. This unit was designed and constructed by the CSIRO back in the early 1940s and went into service in the mid to late 1940s. It chugs along a 1 KZ and needs a punch card interface to process data. Its output is also on punch cards that need to be fed through an interrupter so they can be understood.

This was the early IO interface (input-output) and something that is taken for granted by the average user. Most people do not understand that every computer is actually a marriage of many items that go into producing the unit that we all know as the modern computer. Without any one of these we would not have the modern PC. Anyway back to the Cyrix -- it was used for many years as Australia’s main computing unit and formed the backbone for everything that required data intensive calculations to be performed, like the Snowy River Project, The Sydney Harbour Bridge and numerous other endeavours that where undertaken during those years.

Like the very best lead connectors, every lead connector is gold plated and in all likelihood it will never be fired up again, as the staff who used to maintain it are no longer available and there are few if any who are capable of maintaining it. But it does make a very nice static display. There once was a discussion going about -- which came first the “Computer” or the “Input/Output Interface” -- sort of like the “Chicken and the Egg.” But that particular discussion was an easy one to answer as it was the computer which then had the interfaces designed to suit the then required jobs.

The “Modern Computer” actually consists of the following different parts which are all joined together to make the useful device that we recognize as a computer today:
1. The computer itself. This consists of the microprocessor and controlling circuits along with the memory [RAM].
2. The storage devices. These include hard disk drives/floppy disk drives, or the now popular optical disk drives like the CD/DVD which can be either read only or recordable.
3. The display output. Today this is generally an output device to feed a signal to a display screen of some sort or other so that the user can see what is happening, the display unit (generally called a monitor, but it can be many different things depending on what is being done with the computer and with a “server” there may not even be one of these.)
4. The input/output device(s). These are mostly a keyboard of some kind and a pointing device, generally called a “mouse,” but this can be many things depending on what the individual unit is used for.
5. An optional sound device of some sort. This includes a device to turn an electrical digital signal into some form of sound, and speakers of some form so you can hear what is being produced.
6. Finally some form of printer. This is to make a hard copy of any data that you have created and stored on the computer.

While this is a very basic description it does at least show what is involved in the making of a modern computer and that it really is not the simple device that nowadays every one expects. It doesn’t matter if the microprocessor is controlling a washing machine or a full blown computer -- all the above are present in some form or other. In the case of most microprocessor controlled machinery, instead of requiring a hard disk drive (HDD) everything is controlled by a pre-programmed integrated circuit of some sort that stores all the required information that the particular unit needs.

This can range from wash cycles, defrosting cycles to storing information like phone numbers in your mobile phone, or as some people do not understand, a simple recording device that stores the car’s current driving data if airbag(s) are deployed. This is something that you are not told about when you buy a new car, but it is something that is used heavily by insurance companies when they determine blame for any collision, as everything from the position of the accelerator; speed of the vehicle; braking force etc is recorded. While this was an unintended response as it was only included to protect manufactures from legal action in the event of an airbag deploying and causing a collision, it is just an example of what is currently being used of which most people are unaware.

There is also a “memory” in all new motor vehicles which records error events in the vehicle’s performance, so that less time is required to find and repair any fault that develops. This also records the maximum speed that the vehicle has reached and at some time in the future may be used by the Police to prosecute you for exceeding the speed limit.

Now back to what most people think of as a computer; they are a combination of several pieces in most cases (excluding laptops and their ilk) which require a keyboard/mouse, monitor, the box (often erroneously referred to by novices as the “hard drive"); a modem of some sort; speakers and a printer, with all the associated leads. Then there is the software required to make it work, as once you have the computer you need an operating system OS) and at the very least some basic programs so that you can perform tasks on the unit. In a lot of cases the actual software will be nearly as expensive as the computer itself and in some cases, where specialised or a lot of different software is required, can exceed the purchase price of the computer.

While most people think of this is a “major” investment which it is, but what is always far more valuable in any computer is the stored data that you enter because, if this isn’t saved regularly is irreplaceable, and in every case is of a far greater value that the computer itself. In the event of something befalling the computer it is easily replaced but the same can not be said for any stored data. Conversely the main storage medium which is nowadays always a hard disk drive, if not treated correctly can carry private data when disposed of, so special steps must be taken to protect yourself against “identity theft,” or in some cases where the computer is used for online banking, your actual money which may include any property that you own or is under a hire purchase contract of some kind.

But this is something that applies to every computer that you may own, and the more mobile it is, the greater the risk of it being stolen, so as a general rule the more mobile a computer is, the less vital data should be stored on it! This is definitely a case of where smaller isn’t better, as these types of computers pose a far greater risk to the owner than any other sort currently on the market today. These also require special treatment which is different from desktop computers, as any personal data must be backed up far more often and every attempt made not to have any personally identification information stored on the unit, as today identity theft is a very big industry which can have cartographic repercussions upon yourself when it happens.

If the problems that arise are only police action, these are very easy to fix although very expensive. But if they involve anything to do with a financial institution, you will require a very long time to fix the problems that will arise and it is extremely expensive as well. There have been cases where people’s houses have been sold from under them without their knowledge until it was far too late to prevent. When things like this happen it takes a very long time to put right and the expense is very high. The same applies to using credit cards to buy products online over the Internet. These details can and are stolen and then used to buy products that you know nothing about. While it is not a common occurrence it can and does happen far too often for this to be a recommended thing to do.

However there are some steps that you can take to minimise any potential fraud like using a “limited” credit card for every transaction, and always making sure that there is a “secure site” logo (i.e. a padlock icon) on the bottom of the browser before you provide these details. Most companies are honest and use the Internet to their advantage, and they want your business, as it saves them money by not having to have a store front and product storage facilities on hand. But the main problem arises by the very nature of the transaction, as it can be relayed through many sites in various parts of the world, depending on the traffic load at the time. It is in these places where the data can be copied.

So just to wrap everything up, the modern computer as we see it today is a complicated device and is a testament to modern engineering that it is so reliable and cheap. But just because it is a common device doesn’t mean it is a disposable device which is simply thrown out when it breaks and replaced with another. As we get more involved in computer usage, we will need to learn new skills to protect ourselves as selling a computer with all our personal information on is a common occurrence. It is exactly like giving a blank signed check away which no one would willingly do today, but at the same time because they know no better are only too willing to sell a computer with information on it that could be far more damaging to them.

With our advances in technology we also need to gain new skills so that we understand the equipment that we are using and what the potential problems can be. It is always a good idea to ask your preferred technician what is the best alternative when disposing of a computer and follow their advice to the letter. However if you have a laptop with all your personal information on it, you then need to engage immediately in damage minimisation to limit any damage to yourself. This includes changing bank accounts and credit cards as a matter of course. You have to treat any computer theft as if it was your wallet/purse with all your personal information and effects that was stolen, and act accordingly. Most people do not understand this.

Now for guessing “What will be the next step in computer development?”

Well this is a very hard one but I’m willing to hazard a guess here. I think that the next major development in computer technology will be “quantum computing” which will make today’s units look slow and obsolete. Quantum computing will require a massive shift in both our current hardware and software technology to make full advantage of the new computers that become available. These computers will be able to process data at a rate that is currently undreamed of and will perform complex data manipulations in a fraction of the time that is currently required.

But as these computers are still in the development stages and will require quite some time before they become common place, they will start life as the mainframe computers used in big business, and even if they are successful in developing these computers it will take a very long time to become widely available.



|IT News| |Odds & Ends| |Windows (1)| |Windows (2)| |Apple (1)| |Apple (2)| |Linux/Unix (1)| |Linux/Unix (2)| |Hardware (1)| |Hardware (2)| |History| |More News| |High Tech| |Software (1)| |Software (2)| |Elementary| |Basics| |Internet (1)| |Internet (2)| |Viruses (1)| |Viruses (2)| |Spyware| |Spam| |Scams| |Games (1)| |Games (2)| |Networks| |Security| |Music| |A I| |The Future| |Miscellaneous| |Gallery (1)| |Gallery (2)| |Links|