Jump to content
  • Advertisement
Sign in to follow this  
de.bug

First programming language: C, Python or something else

This topic is 2377 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[color=#000000][font=verdana, geneva, lucida,]I've been wanting to learn to program for a while, but I can't decide which language to learn. I've seen arguments for C and for Python. Most people saying C is a best first language say it teaches you more about programming and computers. Most people saying Python is the best say that it is more powerful and more practical than lower level languages like C.[/font]

Share this post


Link to post
Share on other sites
Advertisement
Go with Python; it'll be a lot easier to learn the basics with than C. You can always branch out to other languages later.

Share this post


Link to post
Share on other sites
ill give my 2 cents C# is a very powerfull language and used in alot of applications and programs and very high level games now. and its not very difficult to learn and you also get a good understanding of computer workings. its what i am learning

Share this post


Link to post
Share on other sites
Your confusion comes from a particular unstated assumption - that there is one "best" language to learn first. There is not. That said, many believe there are languages that shouldn't be learned first (e.g. system level languages such as assembler or C), or at all (e.g. legacy languages like Cobol, unless necessity requires it).

Why are system level languages poor beginner languages? Fundamentally, they assume the programmer has perfect knowledge of the system and any inadvisable things that they choose to do are for a good reason. An analogy might be a minesweeper entering a live mine field - hopefully they know what they are doing! The consequences of sending a beginner into a live mine field is comparable to starting a beginner with a system level language.

Clearly, this assumption of infallibility will not be true for beginners. In fact, the rich diversity of software bugs indicates that this assumption can fail even the most experienced professionals.

The next thing that beginners do not understand is that most programmers do not learn just a single language. They might use a single language predominantly, but they probably have learned a good half dozen or more. This is easier than one thinks, programming languages are not like natural languages in this regard. The point here is that you're not making a binding commitment to a given language for life. You're just choosing a starting point.

An important consideration for beginners is a languages popularity. Not because "one million programmers can't be wrong", but rather because there will be more information on popular languages, more books, fora, communities, libraries (the software kind), etc.

Three languages that I feel meet the criteria that I've outlined above are C#, Java and Python.

Share this post


Link to post
Share on other sites
I'm learning Java myself, mostly because I want to make a prequel to a game idea I call Crude. The latter is a C++ Action RPG, but the prequel is (hopefully) an online game in Java (with f2p basis and a small monthly for minor improvements, nothing like Farmvile though - yes, Farmvile lol).


Your confusion comes from... *snip*


Great post, rip-off. biggrin.png

@ OP: The most important things I've learned in programming methodology is that you wanna start with top-down programming - the stuff that teaches you to use objects, classes, etc. at the highest possible level without (1) having to know the method/function behind every single built-in variable or (2) having to build those objects or methods/functions yourself, from scratch.

I'm learning Java myself, and there's tons of great stuff within the .acm library that I don't need to know about until later. Just an example.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!