Thursday, December 24, 2009

Best programming language for beginners?

I've searched the net, and there seems to be a lot of opinion on the best language for an absolute beginner. Some say Visual Basic, others say C# and the last few recommended PASCAL. So which one should i go for, or is there a better programming language for beginners?Best programming language for beginners?
Python, hands-down.Best programming language for beginners?
Pascal and its main derrivative (Delphi) are outdated and not used particularly much in real life. You're going to find it hard to find a lot of interesting beginners level open source projects to hack apart if you go with that. It's not impossible, but you don't have the millions deep developer network of peers that the currently popular languages offer.





C++ offers a lot of confusion that has been mitigated with the revelation of c#. A lot of the dirty work / plumbing code is generated by the internals of c# and hidden out of the way. In addition to that, c++ allows for the use of programming constructs (like multiple inheritance) that quickly become unmanageable outside the confines of a highly structured engineering team. The only reason to code c++ is if you want to do embedded devices like cell phones / palm or emerging operating systems that don't have higher level language support.





If you're pirating your development environment, go with c#.net 2008 and a copy of jetbrains resharper 4.5. The background compiler in resharper will highlight pretty much anything that's wrong with your code, and it will also tell you when you're doing something a little queer. If you forget how to code a programing construct, it has code generation. For example, if you need a foreach loop, you type fore tab tab and it will fill in the skeleton of the structure.





visual basic.net is also very easy to learn and it comes with a background compiler that will tell you major errors. Minimum version should be 2003 running on .net 2.0 (2002 / 1.1 and below sucked). The last time I checked, 2008 basic was selling for $49 retail %26amp; free for students. The things stripped out from the reduced cost / intro version are never used in real life unless you're developing reports for sql server.





sun java is also a fine place to start. There are free development environments for it that are decent (eclipse) and paid ones that are amazing (intelliJ IDEA).





Any of those 3 are acceptable places to start with pretty much equal community support. I personally think that the microsoft languages are a bit easier than java because you can go to msdn.microsoft.com and watch thouands of hours of free video training to get up to speed.
When I first started programming, I learned c/c++. I can't imagine learning anything else first.





If I learned python first, I wouldn't have known about types and many other things that it doesn't specify. Python is so easy, that you wouldn't learn the basics of programming IMHO. If all you want to know is one language, then Python is it. But, if you want to learn others, go with a ';strong typed'; language.





You could learn java first, however, i think it is a harder language to learn than c/c++ for your first language. Also, it introduces things like objects and ';this';, that might be confusing to a beginner.





The disadvantage of learning c++ is that ';pointers'; are a little confusing at first. I don't know PASCAL, because it was more used before my time. I've programmed in 20-30 languages, and I've never had to use it yet.





It also depends on where you want to go with your knowledge. Do you want to program on micro-controllers, websites, or something else? If you want to get good basics, go with c++, and you can use this knowledge to learn many other languages. To start, you can download an IDE, and look at tutorials.





IDE's:


http://www.eclipse.org/cdt/ (i like this one)


http://www.bloodshed.net/devcpp.html (this is a pretty good one)





Tutorials:


http://www.cplusplus.com/doc/tutorial/


http://www.learncpp.com/





I hope this helps.
I am Java Developer myself and I would say it is not easy to pick up if you are a beginner. Java is great but it is huge.





If you just started out programming I would suggest Ruby. Ruby is a new language which is gaining a lot of attention.





I started learning Ruby myself because I feel it has a lot of good features.





http://www.ruby-lang.org/ is the official site.





Check out http://pine.fm/LearnToProgram/. The author uses Ruby to teach programming.
I work with Python and love it's flexibility but for a true noob Visual Basic .NET may be the easiest to get started with. It's graphical interface makes it easy to start creating simple programs within the day. Before you begin programming or shortly there after I would read up on object-oriented programming methodologies. Once you know the concepts of programming learning each language will be purely syntactical.
This is a matter of taste. I prefer Pascal, others might prefer something else. I find Pascal quite easy and logic to use.





Example of a pascal program that asks you to guess a number from 1-100:





Program guess;


uses crt;





var number,randomnumber : integer;


counter : integer;





begin


randomize;


randomnumber:=random(99)+1 {To avoid getting 0 as a random number}





writeln ('Guess a number between 1 and 100');





repeat;


readln (number);





if number %26gt; randomnumber then writeln ('Try a smaler one');


if number %26lt; randomnumber then writeln ('Try a bigger one');





counter:=counter+1;





until number = randomnumber;





writeln ('Congrats! you used ',counter,' atempts');


readln;


end.
I too would like to learn programming, primarily for mobile iPhone apps as I have ideas that will take over the world....of course.


I also want to understand the basics of programming, the nuts and bolts of it.


I've been a 'user' (3dsMax) for about 7 years now and would like my career to go in a different direction. I'm also making the jump from PC to Mac if I go this way.


I've been researching this subject lately as to where is best to start, should I dive straight into C#, or learn the nuts and bolts of C++, or go to Java, which some info I've found has suggested if wanting to do iPhone apps.





Please e-mail me if anyone can help with some sound advice.
This is definitely a quirky choice, but I recommend AutoHotkey. At first it appears to be a simply macro language, but it shades easily into real programing.





If you want to just pick up a little programing and be able to create actual USEFUL programs, right away, AutoHotkey is for you. Though if you're planning a career in it, you may want a more standard introductory language.
BASIC, then FORTRAN, if you know those too it will be very easy to learn any of the other. Ps. Although alot of people use C++ instead of Fortran, Fortran is alot better, programs are simpler, smaller, take less memory, and thus run faster.
I learned in PASCAL. PASCAL is pretty easy to get the hang of, but it's not really used for anything anymore. The more commonly used languages are Java, and the many variations of C.
Asm - X86


Structure Programming - C


Object - Java


Web - PHP
Java





Easy to start with, Object-Oriented, Portable, and not as complicated as C++.





C# is similar to Java in syntax.
C++


=


http://www.cplusplus.com/doc/tutorial/


http://www.cprogramming.com/tutorial/les鈥?/a>
Assembly is by far the best for beginners.
java
english

No comments:

Post a Comment