Can you please help me find a good language that fits what i want?

Started by
15 comments, last by James Trotter 18 years, 9 months ago
Hello, I have tried a few programming languages, but none seem to really fit what i'm looking for. But i've just been skimming a ton of languages. I am ready to settle on a language and learn everything i can on that language. I'll give a list of requirements that i want in a language, and can you guy's tell me if there are any languages that fit's them? 1. fairly intuitive coding (not nessicarily laymen readable but, easy to understand after a little bit of time.) 2. Something that has a good amount of on/off-line documentation. 3.Good for creating video games. 4. easy GUI elements and forms 5. easily accessable compilers. Thank you for taking the time to read my post, and just for the record i dont want this to turn into a big "x vs. y" battle, and there's no reason to throw z into there either. And i know that there are different opinions on different things. But i thank you all in adv. for posting. PDO
Advertisement
I would suggest the languages C# or C++.
C, it was my first language and I picked it up very easily.
Quote:Original post by Project-Delta-One
1. fairly intuitive coding (not nessicarily laymen readable but, easy to understand after a little bit of time.)


Python is a good bet. All languages have their "gotchas"; some are better than others at hiding them. And with really good coding habits (that develop with experience), code in most languages can approach "laymen readable", even if it's far from "laymen writable".

In plain C you will have to do a lot of work yourself. In C++ the standard library covers your bases fairly well, but there are even more ways to mess things up, and a lot of people that would have you do things in the old C ways for no good reason. Plus the error messages can be somewhat intimidating. (It is IMHO worth the mental exercise of reading error messages and comprehending them fully. Trace through the logic. Consult a dictionary if necessary.)

Quote:
2. Something that has a good amount of on/off-line documentation.
5. easily accessable compilers.


Almost every language that wasn't more or less created as a joke will satisfy these two. Although some languages are not exactly "compiled" in the traditional sense.

Quote:
3.Good for creating video games.


This is too general; there are lots of sorts of video games, and a wide range of performance constraints possible. More efficient languages may be required for really impressive stuff that takes full advantage of the hardware, but beginners won't be writing that kind of stuff anyway.

There are basically four things you need to know here:

1) Make it work first, then clean it up, *then* worry about performance *if* there's something to worry about.
2) When worrying about performance (you will probably not be a "beginner" by the time you really have to), profile things first and figure out where the biggest gains are to be had.
3) On the other hand, don't knowingly write inefficient or pointless things. "Elegant" code is readable, compact (readable both in spite of and because of the compactness), and intuitive.
4) Realize that in some cases it is possible to mix and match languages on a project, in two main ways - typically referred to as "extending" and "embedding".

Quote:
4. easy GUI elements and forms


This largely contradicts the idea of "good for making video games". Keep in mind that good general application UI is not necessarily good game UI, and vice versa.

There is a (somewhat undeserved) perception that "visual", RAD ("rapid application development") languages - wherein support for creating GUIs and so forth is built right in - are in some way inferior or are not "serious" languages. These languages can be very useful tools, especially for prototyping something. You can quickly draw up what you want something to look like and the basics of the behaviour (making it work for a very specific case, for demonstration), and then go to a more "serious" environment and use the prototype as a sort of design document. However, while a significantly complex project can be created entirely with such a language, you should be aware that it *may* be woefully inadequate (either in performance, or "expressiveness" - the power which you as a programmer have to tell it what you want to happen), and it *may* teach you some really bad programming habits.
Quote:I have tried a few programming languages


Which ones, and what did they lack that you needed?
I feel dumb and immature saying this, because you all are gonna laugh at me, and i understand that it doesn't make any sense, but there wasn't really anything wrong with alot of languages that i tried. The one that i had the most luck in, the one that i enjoyed the most...was C#.

To tell you the truth, I just slowly started looking into other things, not nessecarily because something was wrong with it, i just...drifted.

One thing was though, that C# didn't seem to have a big "game thing" (sorry for how child-ish that phrase was.) I am looking into games as a career (I'm fairly young so i have some time anyway.) But C# didn't have a ton of game tutorials online, or that i could find, the few that did made no sense. I figured as this happened that I just did not know the basics well enough. As i looked, there seemed to be a gap n the documentation between "super newbie" and "intermediate."

If any of you know a good gaming tutorial or book using C#, please feel free to add it to this thread. But i spent a while, only to get stuck, on c#. And before I start that again, I want to know other's opinion on which I should use.

PDO
Quote:Original post by Project-Delta-One
I feel dumb and immature saying this, because you all are gonna laugh at me, and i understand that it doesn't make any sense, but there wasn't really anything wrong with alot of languages that i tried. The one that i had the most luck in, the one that i enjoyed the most...was C#.

To tell you the truth, I just slowly started looking into other things, not nessecarily because something was wrong with it, i just...drifted.


You're right, that is stupid. You're trying to do silly things like "learn", "expand your horisions", and "broaden your toolset". Oh wait, those are good things...

IMO, It's the paradigms that matter more than the language. That said, it can be useful to learn more languages, especially those with direct support for paradigms you may not be accustomed to. So, for example, I might start with the Wikipedia entry for "Programming paradigm" and following the links to some of them, which in turn state some languages most aligned with the concept.

Just some thoughts.

-Mike
Quote:Original post by thannett
C, it was my first language and I picked it up very easily.


Hey, 2 out of 5 ain't bad...
Quote:Original post by thannett
C, it was my first language and I picked it up very easily.
Although the syntax can quickly be picked up, C lacks in many programming techniques which are almost a requirement when taking on a large project like a video game. As for something that fits the specifications you provided, I'd say C# and the .NET framework. The MSDN is very good about providing documentation for every class they provide as well as an awesome GUI system. As for C# in games, I suggest you check out SDL.NET for a starting point if you think you're confident enough.
Rob Loach [Website] [Projects] [Contact]
Everyone will probably have differing opinion on this. In my experience of C/C++ being my first language, I would have to recommend learning the basics on a different language first. The reason I say this is that C/C++ has a lot of little quirks that can be very confusing to someone starting out (things like unresolved externals, heap/stack corruption, memory leaks, or wild pointers which are difficult for beginners to understand much less debug).

I would recommend you start out with something like Python, Perl, or even Java or C#. All those languages are very powerful professional languages. Just pick one that looks interesting to you.

This topic is closed to new replies.

Advertisement