If we want someone to do a specific set of tasks, we usually create a to do list. With computers you do the same sort of thing and call that to do list source code. As of yet there are not computers that can understand human languages readily available. So man has created artificial languages to talk to computers. Still we have an issue of how to get the computers to understand to do lists. No problem. Most computers only understand 1’s and zero’s.

So how do we get from languages to one’s and zero’s. At this time there are basically two ways to translate code from human readable form to computer readable form. The first way is have an interpreter, which takes one line at a time of human readable or what is know as high level language and turn it into what a computer understands. This is very slow per se but programs for a set of high level language commands can be created and modified easily. the computer code listed in the previous article would be considered as interpreted.

In some cases we need computer instructions that are already pre interpreted so that the programs work much faster. So a translator translates or compiles the whole to do list at once ahead of time, so the computer instructions can be run at will and there is no lag time to have the set of instructions interpreted everytime it is used. The short coming here is that if you need to change the to do list, you will have to recompile the todo list again all at once. Generally when compiling is done, a second or more files are created. This to do list that the computer understands directly is sometimes called executables or programs that have the low level languages a computer would understand.

There are a myriad of high level languages. most people who create the to do lists are called programmers. Most programmers specialize in particular high level languages. Sometimes when we need to translate oone high level language to another it is called porting code. I do this on many occasion when I see a program I like, but it is in a different high level language format. In fact the previous article was originally written in a different hogh level language, so I ported it.

One such compilable language is called cobol. Cobol (common business oriented language) is still used quite a bit up east in the financial community. Java was considered like cobol till recenty. it seems to have a resurgence. I still use quite a bit of basic (beginners all purpose symbolic instruction code) for my own apps. I also program ia bit of java, python and C. I also still have a cobol complier to play with.

When I taught I found that a few students would memorize things just to pass a test without taking the time to understand what was really important such as the skills and techniques. To get around that I would provide problems to solve in an exam that required the student apply the knowledge. Also most students hated logic class, yet that class is the basis for all programming. We might be going towards oops (object oriented programming) but you still need to know the basic constructs such as the loops, bookean algebra, and etc. God forgive teachers who only give you the tools, but not how to use them. For example, in word processing, you may want to be able to spellcheck, mailmerge, cut and paste, for even just loading, saving or inserting a file. If you know those techniques you can use any editor or word processor. All you have to do is look up the command on how to do it. If you just memorize commands, and not the technique control such as using ,f control q, control s, and or etc you will never be able to use another piece of software. It bugs me people who have used MSOffoce and they say they can not use Openoffice. It is just not understandable if they have a clue of what they are doing.

God forgive Squarespace or the like sites should ever go down, but I feel for those who are pointy clicky only. How would corporate entities survive of they could not have the personnel to create an alternative way to build an emergency website or develop a needed application to stay in business. We will always need the “Mcgyvers” of programming so to speak. The ironic part to all this is that if you have done any ampount of programming, you will find that you reuse properly written code (with modifications) many times over and the need to reinvent every applications from scratch tends becomes less and less necessary. it’s called cut and paste or boiler plating for word processing. Even if you do not have your own code, there is so much source code available, with just a search of the web, you could use any set of existing code to build applications fairly easily.You could almost do a website as fast or faster than using gui tools. I reuse html and php code quite a bit on our internal web site.

If you have source code for one language and you program in another, you can still easily use the code if you can translate it, Computer languages do evolve. so you need to understand how everything works, so that if you do have to port code for one application or another it will not be a monumental task. It is like learning several languages if you want to visit other countries and be able to speak their language. I reuse code all the time. I still use some of the code I have in code written in dbase I will convert to c or bash. That is my favorite kind of game to see if I can get it to work.

Human Languages:
I love you.
Je taime. (sp?)
Ngoi hona nay (sp? and dialect?)
Ti voglio molto bene.
Tiamo mucho.
Etc.

Computer commands that do basically do the same thing but can only be used in certain environments.

A few high level computer language commands:
print
printf
writeln
display
?
echo
say
Etc.

Moral of the story. Be flexible and adaptable. If you can not translate language or port code, then you do not understand it.

Advertisements