View Full Version: Which Programming Language

Politics And Prose > Discover > Which Programming Language



Title: Which Programming Language


RancerDS - September 24, 2006 03:13 PM (GMT)
A couple of years ago, I had started reading up on various programming languages. Mind you, this was years after any upper-level instruction that was received on this very subject. Yes, that's right. I have taken the following language courses in colleges/university:
  • Assembler
  • Basic
  • COBOL
  • Fortran
  • PL/I
As well as a couple of others that probably cease to exist on any level of usage. Now for some of you, you may not be completely comfortable with this topic's background, so I'm including the Wikipedia article now:

http://en.wikipedia.org/wiki/Programming_language

Then we have the recent slew of scripted languages which are actually very closely related to a full-bodied parent. By this, I mean PHP or Javascript from the C language (and/or variants) and VBscript from Visual Basic (by Microsoft).

Now comparing any of these with other languages [Ada, APL, Caml, Cold Fusion, D, Eiffel, Erlang, Forth, Haskell, Java, Lisp, Mathematica, Pascal, Perl, Prolog, Python, Ruby, Scala, Scheme and Smalltalk] is like comparing apples and oranges and grapes and bananas and strawberries and even tomatoes. We can argue about tomato being a fruit or vegitable later on, just like we can argue that maybe one of those in the bracketed list isn't a language.

We can safely say that any programming language strong enough to create a brand new high-level language is worth studying... like C, C+ or C++. Logically you might think that C is a subset of C+ and C+ a subset of C++. That isn't altogether true, though is a general assumption that isn't far off either.

The two types of breakdowns that people consider when making a choice of learning one of these is either speed of applications built by them or total amount of code instruction needed to get the job done. The latter is a prime example of how lazy programmers really are. But then, who would want to type 50 lines of long drawn-out statements in one when they can accomplish the same in 5 lines or less? And there are examples of this out in the real world. Again the comparisons can't be fairly waged because different ones have different strengths. Some are powerful in handling numbers, some more capable in handling string data. Others handle conversions well and some will let you create your own customized functions. A function in a programming language is much akin to a macro in a spreadsheet, it automates things a bit by calling regularly used portions. As it so happens, we can call those oft used parts as routines. Basic programmers think of them as sub-routines.

Variables and constants make up the alphabet of the language in how data is manipulated. Then the real power, the decisive capabilities, come into usage. The take the form of such statements listed here.

ON ... GOTO ...
ON ... GOSUB ...
IF ... Then ... Else {... Elseif} ... EndIF
select/on CASE ...
DO WHILE or DO UNTIL loops

Having chosen to illustrate with code that is familiar to the Basic language variants, it was done due to my familiarity as well as for everyone's readability. I could have chosen to type "if {} fi", but it is not universally understood when reading such C-language statements that was an IF and END IF. Which also brings up something that factors into which language(s) to choose to learn/use - readability. COBOL was hugely popular in the business world (and may still be) for it's readability. But it isn't the same as reading plain English and the code is bulky to say the very least. Programming in it is a nightmare from a typist's point of view.

Yet another factor is one that is referred to as portability. WIll it only run on MacIntosh computers? Only run on IBM-PC compatables or Sun MicroSystems high-end equipment? Or maybe the restriction is more based upon the user's operating system (OS) which leads to the reference of being "OS dependant". There are some that are OS-independant. Ironicially, it is developed by a computer equipment manufacturer just listed... Sun. It is the language called Java. They even have a Java Developer's Kit (JDK) which is intended to help others create applications using this language.

The difference between it and say Visual Basic's environment is like night and day. Yet there are striking similiarities. The biggest is that they are both "object-oriented", meaning specifically created to handle actions regarding objects. An analogy is that they are like verbs as their objects are to nouns. Just as in any environment, being able to interact with it is deeply important. For those enjoying anacronyms, multiple instances of object-oriented programming is OOPs. There are two positions in career fields you don't want to hear saying the word "oops". They are surgeons and IT managers. Usually that means they've left something out or lost something, which is why both have inventory lists or checklists to make sure everything is done properly. Now where did that scapel go??

There are some things in life that are easy yet make things much more difficult when things go wrong. Learning a complex language is ominous at times. Yet learning a language that is simple and has an excellent graphical-user interface (GUI) isn't uncommon... but has a possible price tag that leads to a kind of sticker shock. That specifically addresses trouble-shooting or debugging the code that was created by this easy-to-use solution. By not learning the nuts and bolts of how a language works, you are only asking for headaches when it comes to fixing the applications (or applets) that you'd written yourself. Programming projects have died as a result of this. A friend of mine was using an application that is used to create games. He was working on multiplayer game, then asked me to help test it out. Came to find out that the way our internet connectivity worked out, it was going to take some effort to resolve why I could not connect to this application's game server. Since the issue of port forwarding was too complicated and involved getting into LAN/WAN aspects, they simply gave up. Getting a finished product to work perfectly the first time will be more crushing to the perfectionists of this world.

{to be continued???}

LABaller - September 25, 2006 06:40 PM (GMT)
QUOTE
Since the issue of port forwarding was too complicated and involved getting into LAN/WAN aspects, they simply gave up.


Lol, I could have set that up for them with ease.

When deciding which programming language you want to learn, you should also take into consideration what you are wanting to do with those languages.

Maybe you want to make a website?

HTML (not a programming language, ML = markup language, but still a good example).

Or to make repetetive tasks simpler?

BATCH scripting.

Or to make contact with your server and database?

PHP, ASP, etc.

Create simple windows programs?

Visual Basic.

Create advanced online platform independent programs?

Java.

The list goes on...

Great article :)







Hosted for free by InvisionFree