Click here to Skip to main content
11,709,033 members (62,112 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C Java Linux Python
Please i need help.
I dont know which language to learn first.
Some says,javascript,C,python,C++,C#

please which one is the best language for a newbie in programming world..
And which book the you recommand i should buy and read.

Thanks for you help
Posted 1-Oct-12 12:30pm
Sergey Alexandrovich Kryukov at 1-Oct-12 18:38pm
Not only this is a difficult question, but no answer can be perfect. I cannot be even sure that you need to learn any of them. :-)
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Practically, I think this is the answer which could serve your well: That would be too dangerous to rely upon the answer by any stranger in the world, no matter how good is the answer.

Do I even have to explain why? We don't know what are you and what you want to do. Anyway, I could point out that there are some languages which no one should ever use, but… from your list, no one could be considered that bad. Even stupid and archaic C is good for something; take, for example, some embedded systems. What you want to do is also important. For example, if you want to do any Web development at all, you cannot afford going about it without JavaScript. Yes, this language is pretty hard to understand (despite of apparently simple look of many applications) and hard to debug, but it's one of the standards having no alternatives for client-side scripting, so you will need to know it, plus a number of other languages.

This is the key: do you want to become a decent reputed developer? If so, forget about the choice of languages: you will need to know a decent set of them. You will only be able to choose some languages of your main focus, but you won't be able to afford being not familiar with a number of others. Also, try to focus on programming technologies somewhat abstracted from the languages; try to see the common aspects rather then differences. You cannot learn everything at all, that why you will need to focus on the fundamentals first, and the detail will be much easier to learn when you need them. But the knowledge of the fundamentals should be very deep.

pasztorpisti at 1-Oct-12 19:39pm
+5 For the "do you want to become a decent reputed developer?" question. You should have detailed that a bit. Becoming a programmer is tremendous work that can be done only if doing it is joyful for the individual.
Sergey Alexandrovich Kryukov at 1-Oct-12 19:52pm
Thank you very much.

And your suggested detail could make a decent answer by itself, especially if you could detail your detail a bit more:

...and if such joy is the case, the problem of the language choice will disappear by itself: a developer will readily absorb all languages withing her/his reach! :-)

Sergey Alexandrovich Kryukov at 1-Oct-12 20:01pm
...but, as a matter of fact, this is something one could read between lines of your own answer. :-)
pasztorpisti at 2-Oct-12 4:44am
Sure, to some extent I emphasized the importance of his interest in programming.
Sergey Alexandrovich Kryukov at 2-Oct-12 10:49am
This is the key component, if not the most important.
ridoy at 2-Oct-12 1:39am
Sergey Alexandrovich Kryukov at 2-Oct-12 10:26am
Thank you,
Espen Harlinn at 2-Oct-12 6:47am
Good points :-D
Sergey Alexandrovich Kryukov at 2-Oct-12 10:27am
Thank you, Espen.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Have a look at C++ Builder[^]

Personally I think it's a good idea to learn a language that allows you to get "close" to the hardware. In a way it could be argued that assembly is a good first language, except that you would proably find the exercise rather frustrating.

C++ Builder comes with a set of libraries, and a visual user interface builder, that is rather gratifying to work with - that does not require you to learn everything at once.

Best regards
Espen Harlinn
pasztorpisti at 1-Oct-12 19:44pm
C++Builder? :thumbsup: +5 I'm a big fan of tools like Delphi/C++ Builder for certain kind of tasks. I think the power of these tools is highly overlooked and underappreciated by many.
Sergey Alexandrovich Kryukov at 1-Oct-12 19:57pm
I finally voted 5, but... please see also my comment below.
Sergey Alexandrovich Kryukov at 1-Oct-12 19:56pm
Well, isn't it somewhat obsolete? Isn't a Visual Studio a better choice these days? And, after all, this isn't about a choice of a language. I voted 5 though as I can understand your enthusiasm about it...

(But by the way, why not Delphi then? As the language, it is one of the most academic, clear, crystal-clear, simple and good for learning of itself as well as computer science and good programming practice. That would make is a great choice for the first one.)
pasztorpisti at 2-Oct-12 4:40am
I myself chose Delphi as a development platform for commercial stuff mostly because I was unwilling to drop its fast compile times (much better iterations). I also like its simplicity and the way it hides low level stuff/pointers - in my delphi projects (database frontends) I never needed those. The problem is that compile speed between these two tools matters if we speak of RAPID development tools. Still the ability to use both the components of delphi and rich C/C++ libraries of the world is a power. C++Builder isn't obsolete, its still in development. Some of my hobby projects were built in C++Builder. I just don't use it these days because its component set wouldn't be much help in my current hobby projects or at work. If rapid gui development/database support doesn't help you much then its definitely better to go with VisualC++ as it is the defacto standard, most supported, and (in my opinion) the best/fastest optimizing compiler on windows.
Espen Harlinn at 2-Oct-12 6:45am
There is a huge difference between someone who is able to think in terms of what actually goes on inside a computer, and one who never has related to how things actually work.

I'm pretty sure your own development style is heavily influenced by your prior knowledge of Delphi, C/C++ and assembly, even when you work in languages such as c#, java, python or javascript.

In this case I chose C++ builder over Delphi because the syntax will make it relatively easy to pick up languages such as C#, java and javascript - apart from that, Delphi would also be an excellent choice :)
Sergey Alexandrovich Kryukov at 2-Oct-12 10:29am
You are right, and have good point. At the same time, it's important to overcome the imprinting... My eyes are not closed to the Delphi problems.
Espen Harlinn at 2-Oct-12 10:30am
I guess we are, not surprisingly, on the same page here :)
Sergey Alexandrovich Kryukov at 2-Oct-12 10:50am
Not surprisingly at all. :-) And I enjoyed this discussion.
Thank you,
Espen Harlinn at 2-Oct-12 10:51am
You're welcome :)
ridoy at 2-Oct-12 1:41am
Espen Harlinn at 2-Oct-12 6:53am
Thank you, ridoy :-D
JF2015 at 4-Oct-12 7:26am
I personally don't like C++ Builder since we had very bad experience with it at work, but it certainly is good to start with. 5+
Espen Harlinn at 4-Oct-12 7:40am
Thanks, I've built some "serious" solutions with C++ Builder, and while there was an oddity or two related to the C++ compiler - thinks usually worked quite well.
Rate this: bad
Please Sign up or sign in to vote.

Solution 3

I think the more languages you know the more you see from the big picture. Its easier to program in higher level languages like C# but some problems can be solved only with lower level ones like C. Of course there are a big set of problems as well where a higher level languages offers 1000 times better solutions than a lower level one. Both starting with a low level language (like asm/C) and with a high level one (C#/java) have their own advantages.

If you are more interested in bit twiddling, embedded systems, operating system internals/drivers then start with C, assembly, maybe later C++. Warning!!! If you are not doing this for fun it will be hell for you. Really. But if you like it then its heaven itself. Smile | :) Lets make a try!

If you want to learn higher level stuff like enterprise software development and related frameworks, databases, object oriented design, then start with C# or java. In my opinion java is a much simpler language than C# and is much easier to learn but its better to know both of them. If you are just starting to learn object oriented programming then definitely go with C# or java as these detect your early mistakes quite well unlike C++ that just throws strange crashes in front of you for example in case of an invalid cast (at random points in your code...).

In my opinion if someone has the time to learn the lower level stuff (or even better: learns it just for fun as ahobby) then progressing up towards higher level languages is a breeze, but the same isn't true for the reverse order. Some higher-level-only programmers tend to be unable and/or unwilling to proceed towards lower levels.

There are some pretty useless languages but those you listed are very popular and shine in some areas/scenarios. List a few areas of development that you think you would enjoy and then we can help more on which language fits that area the most. What are you interested in? ("Everything" is not a good answer in this case... Smile | :) ) Of course sooner or later you should learn most of these langs...
Sergey Alexandrovich Kryukov at 1-Oct-12 19:58pm
It's my pleasure to read your considerations manifesting mature experience and wisdom. My 5, of course.
pasztorpisti at 2-Oct-12 4:16am
Thank you very much!
ridoy at 2-Oct-12 1:39am
pasztorpisti at 2-Oct-12 4:17am
Espen Harlinn at 2-Oct-12 6:48am
Good points :-D
pasztorpisti at 2-Oct-12 7:07am
Thank you! :-)
CPallini at 20-Nov-12 3:50am
pasztorpisti at 20-Nov-12 8:41am
Thanks! :-)
Rate this: bad
Please Sign up or sign in to vote.

Solution 6

Every programming language (but COBOL) will do the job.
I would choose (for you) a mainstream one (e.g. Java or C#).
However, one of the best book on a programming language I've ever read is Iesuralimschy's "Programming in Lua".
Sergey Alexandrovich Kryukov at 19-Nov-12 18:49pm
I would say, but COBOL, Basic, and a lot more...
Learning Lua is one of good ideas...
CPallini at 20-Nov-12 3:50am
Thank you.
Rate this: bad
Please Sign up or sign in to vote.

Solution 4

every one have different point of view for this question
suppose comparing c# & vb, vb is easy for me

first you should decide on which technology you want to work.
language doesn't matter so much

like real-world example, we can convert french, hindi etc languages to some other languages using Google or other sources, same way we can say that it is something similar in programming languages if conversion does not replying exact result then you can do finishing.

basic programming concepts should be clear like class, enums, interfaces...

as per my point of view, Try to develop a small, real-time application in your target technology. that will help you to decide, you want to continue or not with such language.
and if you will do it with different technologies & languages your decision will be more clear and may you like to work with more than one technology.

decide which application you want to develop Winapp, mobileapp, webapp etc...
and start it with language you want(or have little knowledge for start code) and it's also depend on development-environment that allow to code in desired language. e.g. .net environment supports lots of languages, iphone apps in C language, php is different language and can develop web apps using it.

in short comparison & experience will help you a lot.
Smile | :)
Rate this: bad
Please Sign up or sign in to vote.

Solution 5

That will depends on your need to programming means How you are going to use ur programming skills and also How much time you have?
and also Which course you are offering as a part of ur studies.

If you have good time,

start with Python and
go for C.

Then you will get good understanding.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 580
1 Maciej Los 235
2 Peter Leow 219
3 OriginalGriff 214
4 Mika Wendelius 170
0 OriginalGriff 9,348
1 Sergey Alexandrovich Kryukov 8,727
2 CPallini 5,189
3 Maciej Los 4,991
4 Mika Wendelius 3,856

Advertise | Privacy | Mobile
Web04 | 2.8.150819.1 | Last Updated 9 Oct 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100