New To Programming: What Language Is Right For Me?

Started by
65 comments, last by demonkoryu 15 years, 11 months ago
Currently I am only familiar with HTML. While I cannot write code for other web languages I have been very successful in "lightly" modifying existing code to suit my needs in the following languages: &#106avascript, PHP, CSS, MYSQL, XML, and Perl. I am a long time Windows user and care little for cross platform languages like Java. I have nothing against Java, just saying that if I learn a Windows only programming language like C# it wont be a negative thing for me. I only plan on developing programs for my personal "non-profit" needs. I am a quick learner, learn quickly from trial and error, and am looking for the path of least resistance. Currently the project I have my eyes set on is creating a Virtual Game Table. Examples include: MapTool, Fantasy Grounds, and Klooge.Werks. Would C# or Python be ideal? I know C# has Visual Studio and is a very popular language. Any suggestions or feedback would be most appreciated. Generally these programs allow players to connect online to play pen and paper based games (Dungeons & Dragons for example) together. They have dice rollers, macro support, various types of text modifications (color, size, font, bold/italics/underline, etc...), drawing tools (simple like MS-Paint), multiple layers for graphics, fog-of-war, etc... The last two links above link to screen shots of the programs if your interested in what one of these programs generally looks like. Any information, links, or feedback would be most appreciated. [Edited by - modmiddy on April 21, 2008 5:39:40 PM]
Advertisement
C# and/or Python are good choices. Neither of them -- contrary to what you appear to have been told -- are "Windows" programming languages. C# works just fine on non-Windows systems, provided (of course) you stay away from Windows-specific APIs.
Quote:Original post by jpetrie
C# and/or Python are good choices. Neither of them -- contrary to what you appear to have been told -- are "Windows" programming languages. C# works just fine on non-Windows systems, provided (of course) you stay away from Windows-specific APIs.
This.

Personally I would suggest C#. I find it to be a cleaner language, with more structure than Python. Early on in programming development, structure is important. It also has better, easier libraries for game development (pyGame isn't bad, but the stuff available for C# is just far better).
http://edropple.com
Don't get too hung up on what language to pick. When you first start programming, your goal should be to learn how to think like a programmer, not to learn such and such a language. You're not even going to learn just one language, if you have any interest in improving your skills. I would recommend starting with Python, since it will allow you to focus on the fundamental concepts of programming without getting in your way, but C# is an option as well.
I see very few advantages of picking C# over Java for a beginning programmer other than the fact that one of them starts with the letter C.

My vote is for Python or C, as each of them are good examples of the style of programming they support.
Quote:I see very few advantages of picking C# over Java for a beginning programmer other than the fact that one of them starts with the letter C.
The tools are infinitely better for C#. When you get into stuff like GUI programming (which isn't particuarly far into most curricula), the .NET libraries are way better to deal with. But Java would be fine for most purposes.

Quote:I would recommend starting with Python, since it will allow you to focus on the fundamental concepts of programming without getting in your way
No, it will allow you to focus on the usual kludge of procedural and object-oriented programming, as opposed to a decent language that enforces object oriented behavior.

Quote:My vote is for Python or C, as each of them are good examples of the style of programming they support.
The style of programming they support is not optimal for a beginning programmer. Procedural programming is great if you're living in the 80's and haven't heard of Smalltalk.

Learn the cleanest method to develop first. That would be a strictly object-oriented approach--Java or C#. Simply because Python can be used to teach does not make it good for that purpose.
http://edropple.com
Quote:The style of programming they support is not optimal for a beginning programmer. Procedural programming is great if you're living in the 80's and haven't heard of Smalltalk.

Learn the cleanest method to develop first. That would be a strictly object-oriented approach--Java or C#. Simply because Python can be used to teach does not make it good for that purpose.


I've seen some fugly Java and C# code which might as well be procedural (one class with tons of unrelated methods). Java and C# certainly do force programmers to use OO, but that doesn't mean it forces them to use OO correctly. You can't expect a programming beginner to completely grasp the concept of OO. For that reason, Python is just as good a choice as C# for a first language.

I agree with Captain_Thunder. The main thing is being able to develop the logic skillset that is used all the time in different programming problems.

C# may have an edge because of the incredible VS IDE, but you can't go wrong with learning either language.
I've actually done quite a bit of research on both books. I've got lessons from novice to professional although I think I'll be able to get by with novice to intermediate since most tasks I have in mind are pretty basic in design. I'm not worried about creating something that will work for all people, just for me and my gaming group.

Personally C# and the Visual Suite available for it are extremely tempting and it is my first choice. If there were plenty of Python recommendations I would go that route instead. Last time I researched both of these languages I had a very different programming project in mind. Before I started learning anything I just wanted to touch base with you guys and make sure C# was still an attractive choice.

I greatly appreciate the feedback offered. Thank you very much =)
I don't have any experience with Python so I can't offer a fully-informed opinion, but I can say that I think C# + Visual Studio Express + XNA make for a fantastic (and free!) game-making environment. C# is also very popular these days, which always helps when you're trying to find tutorials or ask people for help.
*sigh*

Article on This Site

This topic is closed to new replies.

Advertisement