Be a Supporter!

Picking Your First Language

  • 668 Views
  • 20 Replies
New Topic Respond to this Topic
djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Picking Your First Language 2009-03-14 15:21:31 Reply

Many times on forums and in chat rooms I hear the same question over and over. "What programming language should I learn?" The answer is different for every person out there that wants to pick up programming. These tips are here to help people who would like to start programming pick out there first language. So go grab a pen and some paper and get ready to think and jot down some notes.

First you must really sit down and think about what you want to accomplish when programming. Do you want to make cool web apps, or maybe a quick windows app to calculate the amount of paint needed for a room? How about creating video games, or your own operating system. Maybe you want the option to try all these things, and if you want any of these things there is a programming language for you. You just need to figure out what your needs and wants are. Do some of your own research on some popular languages and find out what they offer.

Next you must decide on the level of difficulty you are willing to try. Never be afraid to try something harder then you think you can handle. If it is too much for you, you will know early enough to pick out a new language and not waste too much time. Most languages are the same at there roots anyways. You will find this out once you learn how to program.

Another thing you want to consider before picking out a language is compatibility. Do you need or want your app to work on Windows, Linux, and Mac? Or are you comfortable with just running on Windows or another environment? Most of the time this will be an easy choice. Since you are just starting out you will most likely just pick a language that will run on your current operating system.

Are you going to be able to find a lot of information about your language? What types of books, web tutorials, and documentation are there available for your language? You are going to need something to learn from and documentation is the main thing you will be looking to. Though it is always nice to have a good community around the language as well, most on-line communities are on forums or IRC. Remember that Google is your friend. Just look up your language on Google to find tutorials, and on-line community's, check Borders or Amazon dot com for books.

Type of language is also important. There are three main types of languages (there maybe more). First is web languages. Web languages are the code that makes up the web. When you open your Internet browser such as IE or FireFox it reads this code and then displays the sites based on the instructions that are written behind the scenes. Next are interpreted languages. Many web languages also fall in this category. When a language is interpreted it means that the code is read by the computer as it is executed. This is unlike our next type called a compiled language. When a language is compiled it means that you must first pass the source code threw a special program called a compiler. The compiler takes the human readable source code and turns it into computer readable code of ones and zeros. The program can now be ran and tested.

We will talk quickly about the level of a language. Computer do not understand source code they only understand 1s and 0s. When a language is said to be a low level language it means that the source code is more closely related to the ones and zeros. If a language is high level it means it is closer to human readable language. The benefits of a lower level language is speed and power. The problem is you wouldn't want to write an entire game in a low level language because it would be large and hard to understand.

Also do not stress to much over what language to pick. If you are just a hobbyist then pick whatever language you enjoy the most. Don't worry about what's cool or the newest thing go with what works for you. If you want to become a programmer or get into the information technology field pick a language that is going to let you learn the most about programming. Odds are you are going to be learning new languages later on anyways. So as long as you have programming basics, and techniques down you will be able to learn a new language very easy. The most important part is to have fun! Enjoy what you are doing or why do it at all?

~Language Reviews~

Now I will give some language reviews for some popular languages out there. To be noted this is not a full review of these languages. You should do more research on a language that might interest you in order to find out more. There are also many other languages other then the ones listed
Computer Applications

Python
Type: Interpreted - Scripting
level: Very High
Geared for: Everything
Difficulty: Easy
Compatibility: Cross-platform
Documentation: Great Documentation, many books, and on-line tutorials.
Links: www.python.org
Side notes: easy to learn, and very powerful. You can do just about anything with this language. Great for beginners.

Perl
Type: Interpreted
level: High
Geared for: General Purpose, Text Processing, CGI scripts, Automating Tasks
Difficulty: Mild
Compatibility: Cross-platform
Documentation: Many books, and on-line tutorials.
Links: http://www.perl.com/

VB / VB.net
Type: Compiled
level: High
Geared for: Windows applications
Difficulty: Easy
Compatibility: Windows
Documentation: Well supported by Microsoft and many books.
Links: http://msdn.microsoft.com/en-us/vbasic/d efault.aspx
Side notes: Not a great language, but easy to use and whip up a quick app. Not well respected by other programmers. Dot net is compiled differently. Research the dot net platform for more information.

C / C++
Type: Compiled
level: Middle
Geared for: Everything
Difficulty: Mild - Hard
Compatibility: Cross Platform
Documentation: Tons!! Books, on-line, people, just tons!
Links: http://www.cplusplus.com/doc/tutorial/
http://www.cprogramming.com/
Side notes: Well respected language. Take the time to understand this language, it will pay off. There is a reason it is the industry standard.

C#
Type: Compiled
level: High
Geared for: General, The Dot Net Platform
Difficulty: Mild
Compatibility: Native to Windows, Cross Platform
Documentation: No lack of books or developers to speak with.
Links: http://msdn.microsoft.com/en-us/vcsharp/
aa336809.aspx

http://www.microsoft.com/express/vcsharp /
http://mono-project.com/Main_Page
Side notes: Not directly compiled to machine code. The mono project is working on making the language cross platform but does not have all features of the Microsoft dot net platform.

Java
Type: Compiled
level: High
Geared for: Everything and portablity
Difficulty: Mild - Hard
Compatibility: Cross platform
Documentation: Well documented
Links: http://java.sun.com/docs/books/tutorial/

Side notes: I have heard good and bad things about this language. Not a choice I would pick for a beginner.

Assembly
Type: Compiled
level: Low
Geared for: Special niches when needed
Difficulty: Very Hard
Compatibility: Each processor architecture has Its own version.
Documentation: Normal
Links: http://webster.cs.ucr.edu/
Side notes: Has a big purpose in the programming of embedded systems (you name it, anything from washing machines to tv's). If you learn assembly for one architecture, than it isn't too difficult to code on different ones. You just have to learn a new instruction set.

Remember to have fun and learn all you can. This is the most important part of life.


I am a hacker of a Nu-Aira

BBS Signature
066pop
066pop
  • Member since: Oct. 23, 2008
  • Offline.
Forum Stats
Member
Level 12
Blank Slate
Response to Picking Your First Language 2009-03-14 16:27:29 Reply

Handy little list there y'ah gots. *Bookmarks*

Put another post with HTML, JavaScript etc... For websites and the internet, as a lot of people consider it to be a language that is easy for beginners to get started.

Even I managed to teach my friends some basic HTML lol...
FLAMEBOY97
FLAMEBOY97
  • Member since: Jul. 3, 2008
  • Offline.
Forum Stats
Member
Level 11
Blank Slate
Response to Picking Your First Language 2009-03-14 17:18:58 Reply

thank you for this!


When zombies attack Earth...I will be there...boning ur girl!

djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-14 20:03:58 Reply

Check the full version on coder profile. This it the 'NG' version I had to shorten it down to fit one post.


I am a hacker of a Nu-Aira

BBS Signature
Entice
Entice
  • Member since: Jun. 30, 2008
  • Offline.
Forum Stats
Member
Level 13
Blank Slate
Response to Picking Your First Language 2009-03-15 18:35:39 Reply

At 3/14/09 08:03 PM, djconnect wrote: Check the full version on coder profile. This it the 'NG' version I had to shorten it down to fit one post.

Thank you.

copypaster
djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-15 23:30:01 Reply

At 3/15/09 06:35 PM, bgraybr wrote:
At 3/14/09 08:03 PM, djconnect wrote: Check the full version on coder profile. This it the 'NG' version I had to shorten it down to fit one post.
Thank you.
copypaster

copy paster?

I wrote the article that is on coder profile. It is also in a few other places. ShadyTyrant is my Main user name on the interweb. It is an alt of mine here on NG as well if you would like to take a look.


I am a hacker of a Nu-Aira

BBS Signature
ShmenonPie
ShmenonPie
  • Member since: May. 17, 2006
  • Offline.
Forum Stats
Member
Level 22
Blank Slate
Response to Picking Your First Language 2009-03-16 15:52:36 Reply

You forgot Pascal.

Pascal is the king of programming languages. Learn Pascal.


Oh, inc(posts);

BBS Signature
kiwi-kiwi
kiwi-kiwi
  • Member since: Mar. 6, 2009
  • Offline.
Forum Stats
Member
Level 09
Programmer
Response to Picking Your First Language 2009-03-16 16:27:43 Reply

I'd go for C# on this one, because it has more uses than most programming languages and it's quite easy to learn. I mean the thing can program robots (link) not to mention xbox, zune, DirectX and more.

djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-16 21:25:02 Reply

At 3/16/09 03:52 PM, ShmenonPie wrote: You forgot Pascal.

Pascal & a number of other languages will be added to the full updated version very soon. It is not forgotten.

At 3/16/09 04:27 PM, kiwi-kiwi wrote: I'd go for C# on this one, because it has more uses than most programming languages and it's quite easy to learn. I mean the thing can program robots (link) not to mention xbox, zune, DirectX and more.

I love C# and C++. C# makes allot of little things much easier. One thing that stood out to me when I first started was the way Variables are added to strings.

//Not actual C# code just a quick example.

string myString1 = "Programming"
string myString2 = "C#"

Console.WriteLine("I Love {0} in {1} !" , myString1, myString2)

Output: I Love Programming in C# !


I am a hacker of a Nu-Aira

BBS Signature
Ru5tyNZ
Ru5tyNZ
  • Member since: Aug. 29, 2008
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Picking Your First Language 2009-03-16 21:52:56 Reply

At 3/16/09 03:52 PM, ShmenonPie wrote: You forgot Pascal.

Pascal is the king of programming languages. Learn Pascal.

And haskell.

Or to be cruel, they should write everything in prolog.

Bapabooiee
Bapabooiee
  • Member since: Aug. 14, 2004
  • Offline.
Forum Stats
Member
Level 12
Programmer
Response to Picking Your First Language 2009-03-16 23:25:09 Reply

Just a random thought not directed to anyone particular here: When you're picking your first programming language--or just need advice in general--never take the recommendations of one as Word of God.

Every person on this Earth is biased in one way, or another; don't let anyone taint your own choices. It's best to take advice from many people/sources, and form decisions on your own.

/advice

djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-16 23:56:32 Reply

At 3/16/09 11:25 PM, Bapabooiee wrote: advice

This is a good point. I am going to add something along those lines into the article.


I am a hacker of a Nu-Aira

BBS Signature
thoughtpolice
thoughtpolice
  • Member since: Mar. 24, 2003
  • Offline.
Forum Stats
Member
Level 10
Blank Slate
Response to Picking Your First Language 2009-03-17 00:45:26 Reply

Personally, I just point people to python. It's intuitive, simple and you can get shit working quick. Beginners need motivation. Being able to build real apps fast gives you a sense of accomplishment, which is important. You can move when (if) you want to, but for a complete novice, first impressions are important. :)


omg.
Playstation Network tag: muffin-noodle
the empty set

Entice
Entice
  • Member since: Jun. 30, 2008
  • Offline.
Forum Stats
Member
Level 13
Blank Slate
Response to Picking Your First Language 2009-03-19 13:51:47 Reply

At 3/15/09 11:30 PM, djconnect wrote:
At 3/15/09 06:35 PM, bgraybr wrote:
At 3/14/09 08:03 PM, djconnect wrote: Check the full version on coder profile. This it the 'NG' version I had to shorten it down to fit one post.
Thank you.
copypaster
copy paster?

I wrote the article that is on coder profile. It is also in a few other places. ShadyTyrant is my Main user name on the interweb. It is an alt of mine here on NG as well if you would like to take a look.

Apologies. I'd seen the article before and when you posted the link I assumed ut was stolen.

At 3/16/09 03:52 PM, ShmenonPie wrote: You forgot Pascal.

Pascal is the king of programming languages. Learn Pascal.

Is Pascal supported anymore?

"Pascal was finally killed by object orientation and the move to Windows on the industry-standard PC platform. In the 1980s, Bjarne Stroustrop, also of Bell Labs, popularized object-orientation by developing C++, which kept the familiar syntax of C while extending it for object orientation. C++ came to define object orientation to a generation of programmers, and remains a strong force even today." - http://www.taoyue.com/tutorials/pascal/h istory.html

polym
polym
  • Member since: Oct. 2, 2007
  • Offline.
Forum Stats
Member
Level 14
Audiophile
Response to Picking Your First Language 2009-03-19 14:26:58 Reply

Pascal shouldn't be recommended as a practical language

DroopyA
DroopyA
  • Member since: Dec. 10, 2002
  • Offline.
Forum Stats
Member
Level 19
Blank Slate
Response to Picking Your First Language 2009-03-19 15:37:26 Reply

At 3/17/09 12:45 AM, thoughtpolice wrote: Personally, I just point people to python. It's intuitive, simple and you can get shit working quick. Beginners need motivation. ...

I would think VB.Net would be better. A few clicks of a button and you can have a windows application. You can create an MDI form in about 2 minutes... complete with toolbars and File Menus.

Plus, it suppots OOP and uses the .Net framework so what little you learn can easily be transfered over to other similar languages that are far more advanced IE: C# or C++.

If the person goes all out and gets visual studio, the VB experiance will also help familurize themself with the VS application and it's helpful debugging tools.

I've never used Python so it's kind of an unfair judgment for me to make, but I'd still say VB.Net mainly because I've never needed to use Python. I've yet to run across any code that uses Python in my job, but I have, however, ran into plenty of VB in my days... even if it's just VB script in Excell worksheets, it's still VB.

Then again, I only make Windows apps... that may have something to do with it. :)


Request deletion
This went wrong.

Randy74
Randy74
  • Member since: Aug. 24, 2007
  • Offline.
Forum Stats
Member
Level 25
Blank Slate
Response to Picking Your First Language 2009-03-19 15:43:16 Reply

I am currently taking C++ right now and it's pretty interesting and kinda fun if you ask me. My best first language, and it is required to take to learn more advanced programming.


Check out my profile! l Did Adam and Eve have bellybuttons?

BBS Signature
djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-19 15:53:17 Reply

At 3/19/09 01:51 PM, bgraybr wrote: Apologies. I'd seen the article before and when you posted the link I assumed ut was stolen.

Thats fine I would have thought the same thing.

I wouldn't recommend it for much now a days but I will add Pascal to the list of review anyways. BTW if any one wants to write up a review or add something, post it here and I will updated the two main articles and give you credit for what you did.


I am a hacker of a Nu-Aira

BBS Signature
polym
polym
  • Member since: Oct. 2, 2007
  • Offline.
Forum Stats
Member
Level 14
Audiophile
Response to Picking Your First Language 2009-03-19 16:00:08 Reply

This has turned from a 'picking your first language' to a comparison of languages and why you should choose any one of them at any point in time

djconnect
djconnect
  • Member since: Jan. 13, 2007
  • Offline.
Forum Stats
Member
Level 18
Blank Slate
Response to Picking Your First Language 2009-03-20 12:26:14 Reply

At 3/19/09 04:00 PM, polym wrote: This has turned from a 'picking your first language' to a comparison of languages and why you should choose any one of them at any point in time

Well I do not see that as a bad thing. Beginners need to know what languages are good for what and a discussion on what language you should choose at any one time does just that. Though if you have any think you want to add then feel free.


I am a hacker of a Nu-Aira

BBS Signature
zNelson24
zNelson24
  • Member since: Mar. 19, 2007
  • Offline.
Forum Stats
Member
Level 10
Blank Slate
Response to Picking Your First Language 2009-03-22 17:56:01 Reply

I say it depends on what your doing. If your an animator or a game/web developer who works with Flash, learn ActionScript. If your a PC developer (or a game developer like myself) than I would go ahead and learn C#.

Promise me you wont quit at a single road block.