IAintaBlonde.com

What is ur excuse to learn a Programming language?

Here is a funny approach to mathematically see how a programming language is better than another.

Let L be the set of all programming languages ever conceived past, present, and future.

The meta-question, M, thus becomes:

Among all members of L, which is the “best” and thus, which should I learn and use?

A variant of M, let’s call it M’, is: Is L(x) “better” than L(y)?

Let P be the purpose for which you wish to learn a “best” language.

Let A be the answer to M or M’ with condition P as a constraint.

A is thus the following set:

P = “I am interested in the design of languages and/or language theory.”

Learn as many members of L as time permits. Do not pollute L with your own ideas until you really understand what you are doing and what has already been done. Then do so only if you are convinced you can materially add to the state-of-the-art with original and useful work. The world does not need another language just so you can prove that you understand LR(1) grammars. Implement a subset of at least one existing language yourself to see just how hard this is to do well.

P = “I need to become/stay employable.”

Survey common practice in your profession of choice and determine the most common operating systems, GUIs, and languages already in use and the probable evolution of these items in the next several ears. Based on this information, you should select one procedural language, one object language, one scripting language, and, possibly, one assembly language which will comprise your core skill set. In selecting these, also consider the availability of supporting tools like standard libraries, debuggers, language-sensitive editors, profilers, and so on. If you have some choice of languages, always prefer those that share a common link format and have compatible inter-language calling APIs. If it comes down to a tie, pick the older language because it will almost always have fewer bugs.

P = “I want to make lots of money.”

Quit programming. Become a rock star, actor, or corrupt politician. The odds of getting rich in these fields, however slight, are probably better than in programming.

P = “I’ve heard that OO is the way to do things, so I want the best OO language.”

OO is one way to crack a problem. It is not the only way. More importantly, it is often not a good way. A solid OO language should be in your bag of tricks, but it’s not the only thing you will need.
P = “I want to produce code faster.”
Type faster. It doesn’t matter what you type because if speed is your goal you’ll just become expert at writing buggy code, so why bother with syntax and semantics at all? Correct code is always produced by people who are thoughtful and deliberate about what they are doing. Oh, and in the long run, they’re almost always faster getting things done too.
P = “I’m very nerdy. All I like to do is code on as many different platforms with as many different languages as I can. My Resume’ is 14 pages long. I have not been out of the house since 1982. Please help.”

Get a life. Read some poetry, or better still, write some (without using curly braces or semicolons). Learn a musical instrument that does not require electricity in any form. Get a low-tech hobby like gardening or sewing. You are an Addict - I feel your pain. As a recovery strategy, consider volunteering your skills to a cause that’s worth your time and effort and which requires you to interact with people who have absolutely no clue how a computer works. Do something good for your body and your spirit. I strongly recommend at least one high-activity sport (channel surfing does not qualify). Collect something other than computer manuals.


P = “I want to be famous.”

Rob a bank and get caught. OR Write a ton of really useful code and then give it away.

P = “I’m bored, I need a new challenge.”

If you already know more than 5 languages, consider joining the Navy SEALs - they are very busy at the moment and are always looking for an Adventurer just like you. If you are over 19 and this is therefore impractical, get married and raise children. You will never be bored.

This entry was posted on Friday, January 5th, 2007 at 2:35 pm and is filed under I Love Programming!. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply »»

Close
E-mail It