Sign in to follow this  

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

This topic is 4545 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

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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...

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Hey, from what I've seen, C# isn't a bad place to start; same with Java. And learning new languages is a good thing; even if you don't ever use them, they'll teach you to think in different and useful ways. I would second the people who say Ruby and Python are good places to start, and support/evangelize Objective Caml as well --though it's VERY different from the C family of languages, I've found it to be a great tool.

Share this post


Link to post
Share on other sites
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.)

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.



I'd recommend Java.

1. It's reasonably intuitive. Clear function naming in the APIs can be helpful and don't amount to excess typing if you use the autocompletion feature of your IDE. Also the language itself it quite simple and the environment is forgiving for programmers with garbage collection and pretty strict runtime error checking, which helps with debugging.

2. The API documentation is one of the best I've seen and there's tons of stuff on the Internet and in bookstores.

3. Performance may be somewhat of an issue here, but atleast simple games, even with 3D, are not out of reach with Java. Here's my first (and thus far only) attempt at making a realtime game in Java: Meteors

4. GUI toolkit is possibly the best I've seen. Reasonably clear design and fairly easy to use, with minimal hassles (mostly).

5. Easy to get and free (of charge). Also you can get a pretty good IDE (NetBeans or Eclipse) for no cost (other than what you pay for your ISP).

Additionally similarities with C++ will make transition to C++ somewhat easier later on, if you feel the need for that in the future.

Share this post


Link to post
Share on other sites
I'd recommend any language. You're doing it the wrong way around. You don't look at 15 languages, and then pick the best one. You pick a language, learn it, and then you're a programmer, and can switch languages in a matter of hours. [wink]

Other than that, most languages are fairly intuitive.
C++, C, C#, Python and Java all have a good amount of on/offline documentation
C/C++ are most popular for creating games, but you can definitely do it in Python or Java too, although the performance might be a notch lower. C# seems to be getting a nice following too. *roughly* as fast as C/C++, and as easy to use as Java/python.
For easy GUI, I'd say Java or C# (Preferably C#)
Easily accessable compilers? Not sure what you mean. Compilers tend to be more or less the same. Also, most languages have several free compilers.

But the bottom line, (and as you said, you didn't want an x vs. y thread, although I'm having a hard time figuring out why you asked for the best language then), is that you should just pick a language, and learn it. Switching languages is easy enough, and once you've learned your first language, you'll actually be able to judge the pros and cons of different languages yourself.

Share this post


Link to post
Share on other sites
ok, guys...I give you many thanks.

Thank you for not scoffing at me and blowing this question off.
Thank you for the opinions you guys expressed here
And most of all thank you for helpiung me pick a language to stick with...I've . decided on C#

Thank you
PDO

Share this post


Link to post
Share on other sites
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#.


Really, for solo development, that's the most important part. I'm glad you chose C#.

Quote:

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."


This is a serious problem in pretty much every piece of software, especially nerdy software. I remember when I first started learning Linux. The resources I found pretty much jumped from "cd is like cd in DOS, ls is like dir in DOS, etc." to "If you want to write a video driver for the X Windowing System...". Until someone does something about this (I'm trying in my own ways, but don't have a lot of time) your best bet is to find a board like this and ask the "in between" questions. We're helpful. We don't bite, unless you ask us to, and then we don't bite hard.

As for sounding childish, you sound more mature than most. I've known very mature four year olds and very immature fourty year olds.

Quote:

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


You should use C#. If you have trouble finding resources for C#, look into Java. Most of the C# tutorials are geared toward people who already program. Java is used as a teaching language at many universities so there're more Java tutorials for those without programming experience. The transition from Java to C# should be an easy one once you know more about programming. However, you should do C# first.

Share this post


Link to post
Share on other sites
It's good that you've settled on a language. But should you feel the need to explore, to learn a new language, or if you're just feeling adventurous, then I would recommend Python. It's a fairly simple language, and it lets you write programs quickly. I think Tk is sometimes used for GUIs in Python, (not entirely sure about this, though). Also, when it comes to game development, you should check out pygame.

Happy coding!

Share this post


Link to post
Share on other sites

This topic is 4545 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this