If you could pick one programming language to learn, it should be...
Posted March 12th 2012, 5:43pm
Several people have asked me which programming language would be the best to learn. I tried to avoid answering the question in the past because the answer would lead people away from forumotion. But this isn't forumotion, so here are my thoughts on the subject.

It is useful to know several programming languages, because it seldom happens where using a single language will allow you to complete a project. Also, in the "real world", using the most advanced and cutting-edge techniques is usually a way to remain unemployed, unless you work for a company that develops those techniques. So what does this all mean? It means that you should focus on languages such as C++ (and Apple's variant called Objective C), Javascript, PHP, and to a lesser extent ASP and PERL. On a more basic level, knowledge of HTML4 and CSS2 is a must, along with knowledge of selected features of HTML5 and CSS3.

However...the most important programming language of all, and the one which makes the most money for those good at it, is SQL. Even the best-written programs are useless without being able to access data, and that access is frequently the biggest performance bottleneck. In many cases that access determines whether a program is worth writing. This is where knowledge of SQL becomes an extremely desirable commodity.

Here's a sample SQL query, which happens to be an actual query used on this board:

$sql = 'SELECT u.user_id, u.username, u.user_email, u.user_lang, u.user_notify_type, u.user_jabber
FROM ' . (($topic_notification) ? TOPICS_WATCH_TABLE : FORUMS_WATCH_TABLE) . ' w, ' . USERS_TABLE . ' u
WHERE w.' . (($topic_notification) ? 'topic_id' : 'forum_id') . ' = ' . (($topic_notification) ? $topic_id : $forum_id) . "
AND w.user_id NOT IN ($sql_ignore_users)
AND w.notify_status = " . NOTIFY_YES . '
AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')
AND u.user_id = w.user_id';

35 years ago, COBOL programmers oftentimes made more money than people several levels higher in their organization. This was because corporations ground to a halt if their data was not, or could not be, accessed. The same is true today. COBOL is the father of SQL, and if you look closely, many SQL queries have more than a passing resemblance to their ancient COBOL counterparts.

Several features of this board were made possible through customized SQL queries. The smilies in the Quick Reply. The first-post-text when you hover over a topic. The avatars in the memberlist. The Likes system. The skin selector. And much of the index page. The soon-to-be-unveiled homepage for this board uses customized SQL queries to create a Wordpress look, yet still be within phpBB3.

So take some time to look at the documentation for an SQL engine such as MySQL or SQLite. Learn how to create efficient databases and write efficient queries. Because if you do, you will be making several times more money than the guy who thought learning the "latest and greatest" was the ticket to a great job!
φ
Posts: 1599
Joined: March 12th 2009, 11:00pm
Location: Uncertain due to momentum
Likes Given: 26
Likes Received: 357
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 9:14am
I agree with C++, I'm aiming towards doing more python and dev cpp.
PERL seems pretty good too.
φ
Posts: 237
Joined: October 29th 2011, 11:00pm
Location: england, united kingdom, stoke on trent
Likes Given: 20
Likes Received: 4
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 10:20am
SQL, probably one of the easiest too :P
φ
Posts: 509
Joined: July 9th 2011, 11:00pm
Location: England
Likes Given: 15
Likes Received: 26
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 12:24pm
LGforum said:
SQL, probably one of the easiest too :P

Learning the SQL syntax is easy, as you said. Learning how to use that syntax to create efficient database tables, and to make efficient queries of those tables, is extremely difficult for most software programmers. It is why "database experts" command the highest salaries and contract fees of all programmers...just as they did 35 years ago.

The reason? All other software languages are procedural or object-oriented, which are considered "left-brain" tasks. SQL is spatial, which is considered a "right-brain" task. Solutions in all other software languages are like solving a word puzzle. Solutions in SQL are like combining a bunch of odd-shaped blocks into a specific object, such as a cube.
φ
Posts: 1599
Joined: March 12th 2009, 11:00pm
Location: Uncertain due to momentum
Likes Given: 26
Likes Received: 357
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 12:34pm
Ryan said:
I agree with C++, I'm aiming towards doing more python and dev cpp.

C++ is a great place to start. It's what I use in my "real" job, along with SQL, ASP, and PHP.

Python is following the path of FORTRAN. It re-invented itself midstream, and my guess is that it will continue to follow FORTRAN's path into oblivion. This is why I didn't have Python on my list above.
φ
Posts: 1599
Joined: March 12th 2009, 11:00pm
Location: Uncertain due to momentum
Likes Given: 26
Likes Received: 357
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 1:59pm
Dion said:
Ryan said:
I agree with C++, I'm aiming towards doing more python and dev cpp.

C++ is a great place to start. It's what I use in my "real" job, along with SQL, ASP, and PHP.

Python is following the path of FORTRAN. It re-invented itself midstream, and my guess is that it will continue to follow FORTRAN's path into oblivion. This is why I didn't have Python on my list above.
What's your opinion on dev cpp?

http://www.bloodshed.net/devcpp.html
φ
Posts: 237
Joined: October 29th 2011, 11:00pm
Location: england, united kingdom, stoke on trent
Likes Given: 20
Likes Received: 4
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 2:54pm
Ryan said:
What's your opinion on dev cpp?

http://www.bloodshed.net/devcpp.html

Never tried it. The product seems a bit dated (not a big issue for learning C++), and the documentation looks good. It would make a good starting point into C++ using the Windows platform.
φ
Posts: 1599
Joined: March 12th 2009, 11:00pm
Location: Uncertain due to momentum
Likes Given: 26
Likes Received: 357
If you could pick one programming language to learn, it should be...
Posted March 14th 2012, 9:32pm
Ryan said:
Dion said:
Ryan said:
I agree with C++, I'm aiming towards doing more python and dev cpp.

C++ is a great place to start. It's what I use in my "real" job, along with SQL, ASP, and PHP.

Python is following the path of FORTRAN. It re-invented itself midstream, and my guess is that it will continue to follow FORTRAN's path into oblivion. This is why I didn't have Python on my list above.
What's your opinion on dev cpp?

http://www.bloodshed.net/devcpp.html

Ya its good I have used in back in first year undergraduate class; from there I learned for if else while loop thingy
φ
Posts: 163
Joined: August 5th 2011, 11:00pm
Location: Pakistan
Likes Given: 34
Likes Received: 3
If you could pick one programming language to learn, it should be...
Posted June 22nd 2012, 10:35pm
C++ was the first programming language that I learned. I agree with Dion, learn C++. It is used more so than we realize (mostly to write executable installation scripts, and not actual computer "programs"), but be careful if you are new to programming, because C++'s functional side is friendly, but unless you are a well seasoned programmer, the object-oriented side can get nasty with you, and you will find yourself in a hole. That is what happened to me, so I quit C++ for now. I am currently learning Java, my second language, and I hope that when I am done with Java, I will be ready to take on object-oriented C++. (My knowledge of object-oriented C++ is basic, and my knowledge of functional C++ is very good, except for that I like to use the goto command in C++, which is looked on as being very amateur-like.)

If you are new to programming here is a suggestion that I made to somebody on my forum.
φ
Posts: 280
Joined: October 2nd 2011, 11:00pm
Likes Given: 27
Likes Received: 4
If you could pick one programming language to learn, it should be...
Posted June 23rd 2012, 4:37am
You'll find object oriented programming exists in almost every language. Especially Java, so your gonna have to bite the bullet and understand it.
φ
Posts: 509
Joined: July 9th 2011, 11:00pm
Location: England
Likes Given: 15
Likes Received: 26
If you could pick one programming language to learn, it should be...
Posted June 23rd 2012, 9:49pm
LGforum said:
You'll find object oriented programming exists in almost every language. Especially Java, so your gonna have to bite the bullet and understand it.
I am well aware of that, but I have been told that object oriented C++ is the hardest object oriented type of language to learn for a novice. (Contrariwise, I have been told that it is the easiest functional language for a novice.)
φ
Posts: 280
Joined: October 2nd 2011, 11:00pm
Likes Given: 27
Likes Received: 4
Post a reply
11 posts

Who is online

Users browsing this forum: No registered users and 0 guests