Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › The Best Programming Language for you to learn
New Posts  All Forums:Forum Nav:

The Best Programming Language for you to learn

post #1 of 5
Thread Starter 
So from time to time we continue to see this type of question pop up. "What is the best possible programming language?" "This programming language is better than that programming language." "What programming language should I learn?"

Okay okay, here it is. I'm about to let you all in on a little secret, are you ready for this? I'm about to give you the BEST programming language. That's right no more flow charts, pie charts, no more heated debate or discussion, just the hands down best programming language. And that language is... "Whichever suits your needs best."

Let me throw this into perspective for you. Okay so pretend your a carpenter (that's right for once we're going to imagine our hands working on something other than a computer), I want to contract you out to say build a house. Now this house is pretty much a carbon copy of most other houses around the neighborhood, very little changes to it's structure. How would you suggest we start building. - Okay stop right here. Now we could possibly say to ourselves, "Well well well, in the future we may wanna plan ahead to dormer it, maybe add an apartment on." Yes that is true, but what if you know for a fact that isn't going to happen? Should I spend more time creating a blue print for ease of adding on an extension in the future if I know that the extension will never exist? To me it sounds like a waste of money, time, effort, etc... So we eventually decide against that, and were good to roll. Right? Wrong. Well what tools should we use? Well I could potentially trade off customizability for a framework that a company sells. It almost cuts my build time in a third, as well as getting everything that I wanted on the blueprint done in record time. Or I could grow the trees, mine some steel, create the tools, grow more trees, get the lumber for the house from those trees, build the house using the tools I created and be done with a house that could of taken me 2 months to build at a record 15 years. And then after all that, look back at my blueprints and all the tools I have and realized I never planned ahead to use any of this in the future anyway, so I'm gonna throw all that stuff out after I'm done. Thank god I'm not a carpenter, yea, I'm just a computer programmer, no hard decisions on what tools to use there .

And there it is, the underlying similarity. You see, creating a program, is much like building a home or other structure. It all starts with the blueprints. Some programmers tend to over complicate themselves here, thinking too far into the future and some not enough. Now don't get me wrong, hindsight is 20/20 and it can be ugly if you don't try to look beyond what your plans currently are. But if you know for a definite that the project your building start and ends here, there is absolutely no need to waste time, money, and effort on creating an entire plug-in system and extensive libraries that will eventually have,... no plug ins, or no use. As for the tools we use to create our application, the dreaded choice of programming language, many people will swear by the language they know best. I look at it like this, use/learn most of the languages you come across. It will save you a ton of work in the future. If everything we saw today was programmed in assembly code, because it offers such blazing speed and almost 1 to 1 compilation into machine code, we would be still be waiting for the release of Duke Nukem Forever (Oh Wait). Oh and bugs, god would there be bugs, buffer overflows, memory leaks, and god knows what other types of human error mistakes on god knows how many lines of code. If an application that needs to be developed quickly across platform comes along that I can use Java on, I'm doing it. Or if an application comes along that needs lower level access, guess what? If I can write it in C/C++, maybe i'll do that. If I'm creating a quick web application, I may just jump to use Ruby or Python, maybe RoR (Ruby on Rails) solution. But if I need a web application that needs to make use of one of the billion libraries available already on PHP guess what? I'm programming it in PHP. And don't forget pre-existing and pre-packaged frameworks. Many of which happen to be royalty-free, opensource, and great solutions for quick projects that share a similarity.

The point I'm getting at is, all these languages were created to fill in a need at a given time. And as time goes by, popularity may fluctuate for these languages, but in the long run, most will still have a niche or use (For goodness sakes people still use COBOL and FORTRAN). If it fits the bill and it's going to get it done the best, and in the least amount of time, then that's that language you use. Sure I may be able to use a screwdriver to build everything as a carpenter, but if I utilize the right tool at the right time, not only will I be saving myself allot of time and frustration, but my quality of work will be looked upon as robust and superior.

So the Best language is the language that is going to get the task you've been assigned done efficiently, as well as productively, and will fit your clients/boss needs to exact specification. Even though I'm sure the flame wars will continue between which language is better, I urge all new programmers, please, please, take in all the knowledge about new languages that gain any type of main stream popularity (and even some of them that don't). It could make the difference when your at the job site and you have the extra tool in your belt to get the job done better and quicker than the competition.

Happy Coding
post #2 of 5
Quote:
Originally Posted by CraigVella View Post
So from time to time we continue to see this type of question pop up. "What is the best possible programming language?" "This programming language is better than that programming language." "What programming language should I learn?"
How many times have you seen it in these 10 (or less) days you've been registered? ... Just wondering.
post #3 of 5
Quote:
Originally Posted by floatingDivs View Post
How many times have you seen it in these 10 (or less) days you've been registered? ... Just wondering.
It the question that people always asked even in real life.
post #4 of 5
Nice write up craig. I'll certainly take this on board.
post #5 of 5
The simple way to say that is "use the right tool for the job" lol
Desktop
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q9550 EVGA 780SLi EVGA GTX285SSC 4GB OCZ Reaper HPC Edition 
Hard DriveOptical DriveOSPower
150GB Velociraptor x2 - RAID0 2 - Samsung Write Master's Window 7 64-bit 750 Watt OCZ 60 AMPs on +12v 
CaseMouse
LIAN LI PC-V2110B Black Logitech G3 
  hide details  
Reply
Desktop
(13 items)
 
  
CPUMotherboardGraphicsRAM
Q9550 EVGA 780SLi EVGA GTX285SSC 4GB OCZ Reaper HPC Edition 
Hard DriveOptical DriveOSPower
150GB Velociraptor x2 - RAID0 2 - Samsung Write Master's Window 7 64-bit 750 Watt OCZ 60 AMPs on +12v 
CaseMouse
LIAN LI PC-V2110B Black Logitech G3 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › The Best Programming Language for you to learn