[SOLVED] Good first programming language to learn.
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
What's a good first programming to learn? Is C good? I'm thinking it's a good first language because it's powerful and the syntax is like C++ and I think java? Also what are good books to learn it. Also I only have Linux/Mac machines so I can't learn Visual Basic.
EDIT:I really just want to have a fun easy language that is useful. Also I heard python is a bad first language because the syntax is a lot different than other languages so it makes it hard to switch.
Last edited by asipper; 11-07-2011 at 05:18 AM.
Reason: To get better answers.
It all depends what you want to do with a programming language, but obviously C is a very good language.
As far as I know, this is one of the best books on C.
I have made a research about it lately, tye best answer i have found (all.around the net), is to start with python.
I am don't recommend to you start with C since it is very detailed language with a lot of power, but as you start learning a programming language you have to get a reflects from.the programs you write, and this reflect is your motivation so with C it is very hard to get these kind of reflaces since it take a lot of time to learn and debug untill you can run something.
(that is my pilosofy about why to start with Python).
So start with Python first.
It all depends what you want to do with a programming language
+1, if you're programming web apps and your hosting provider only support PHP and Perl, learn another language would be pointeless somewhat, if you're programming software with QT graphic interface library, better learn C++ etc...
The OP may not know what kinds of programs they want to write yet and may want to learn programming because it's a useful skill. In that case, Python's probably a good choice since it's easy to learn and not as complicated as, e.g. C++. There's a free book for Python available (legally, I might add!) here. I think it assumes no programming knowledge whatsoever, so it might be good (I found it a bit too basic, but I'd done programming before).
The OP may not know what kinds of programs they want to write yet and may want to learn programming because it's a useful skill. In that case,...
...in this case, it will be a better idea to wait and postpone learning programming till he figures out what kind of programs he wants to write. If OPs doesn't know what he wants to write, he doesn't have necessary motivation to learn programming - to learn programming, you must NEED to learn programming, "want" is not enough.
Anyway, for a first language, assembler might be a good choice - it will give basic understanding of how computer works. If not assembler, then C. In the long run it doesn't matter that much anyway.
Each to their own, I suppose. I learnt because I wanted to.
My point was, that to learn ANY kind of skill well, you need some kind of strong driving force. You could have a strong desire to learn the skill, or you could have problem you HAVE to solve, or you could be having a lot of fun while learning, or you could really hate somebody and channel emotion into study. It doesn't matter what it is, but if you don't have the driving force, you're very unlikely to ever advance beyond toy problems. In my opinion, people that ask "what is the best language" already do not have enough motivation. Another thing is that choice of first language isn't that important - there are common principles/patterns that apply to nearly all languages at once. If you learn one language, you'll have easier time learning another.
don't you ever heard that you shouldn't start with the hard level but with the easiest?
any body that is learning a computer language, it is like to learn a spoken language but much harder, because you can't make any falls with the syntax, and there isn't always somebody to correct you if you spell something wrong, i am suggesting to you to start with Python because it has the both of the worlds, easy to learn & powerful language, that the results from whatever you would build with it will give you the desire to keep learn and advanced.
@SigTerm: you are right that you need motivation to learn a programming language, and especially how to program correctly, but if somebody ask that question on a forum, and looking for answer i assume that he has some motivation to do so, i think that most of the self thought people who learn programming, start to do it from curiosity and some spare time, they didn't hate or anything extraordinary.
My first was the rudimentary form of Basic that runs on TI's graphing calculators. I spent about half of my classes in high school programming games on my calculator so could make it through the other half of my classes without killing myself.
I don't thnk it really matters where you start. Most languages are very much the same (ignoring Assembly, VHDL/Verilog, and a few others)
Last edited by suicidaleggroll; 11-06-2011 at 01:13 PM.
Well, at one point in time I was tasked to teach something to our apprentices, and I did PHP with them.
I'ts easy to use, teaches basic HTTP and internet stuff, and is actually useable for some tasks.
don't you ever heard that you shouldn't start with the hard level but with the easiest?
I would not recommend python for the first language. C, ASM, Pascal, Perl, PHP, shell scripts, but not Python. The beauty of languages like C/ASM (that you think are "hard") is that you have limited number of instruments on your hand and can do almost anything with them, which, in my opinion, makes them a good starting point.
Anyway, it doesn't matter. You should start with ANYTHING and switch languages as you go.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.