Need Help On Picking The Right Language

Started by
17 comments, last by Codemonger 18 years, 7 months ago
Quote:Original post by Codemonger
So assuming people may thing VB worst language to write games in, I would make the argument that really it all depends on the power of the programmer. Use a language you feel comfortable enough to program in, and that you can get the job done in time, which is IMHO a lot more satisfying.


I'm assuming thats (at least in part) in response to my statement that BASIC variants are to be avoided. Just to qualify that a bit, I actually did a lot of my own learning in VB6, and yes, you can make some very good games, and even do a lot of things that people generally consider impossible (Yes, VB6 can use pointers [wink]).

If you're comfortable using such a language and it suits your needs, then for sure, go right ahead and use it. I'd never recommend such a language to a beginner however, as it was simply never intended to be used for games, and it's far to easy to get into bad habits with them.

So for sure - use any language you're comfortable with, but generally it's not the best idea to learn programming using a BASIC variant if you want to make games.

- Jason Astle-Adams

Advertisement
despite contrary believes, you can do about the same things you do in C with languages such as blitzmax, which is compiled, uses behind the scenes both openGL and direct x , has a neat and simple object oriented structure and handles dynamic memory management for you with lists. And the learning curve is much, much faster, since it's geared for games.
By the way, I see a lot of mention of bad programming habits, but would someone be willing to name what some of them are?
I'd go with Python or C#. Both are nice and easy to work with (although I only have limited experience with Python), and definitely powerful enough to make games.

As for VB (or other Basic flavors), yes, of course you can make (good) games with them, no one ever argued with that. But there's always the "bad habits" thing, (and yeah, one example is the goto-madness/spaghetti code)), and honestly, what does BASIC languages offer that other languages can't match? It used to be a simple and easy language that let you throw programs out quickly and easily.
Today, that feat is matched by most of the languages you mentioned, so why even bother with BASIC languages?
BlitzMax of course. :)

Check the link below and you will know why.
BlitzMax
<-Sweenie->
Quote:Original post by Ranma13
By the way, I see a lot of mention of bad programming habits, but would someone be willing to name what some of them are?


Mostly the goto/label structure. Also basic programs rarely use proper indentation.
Quote:Original post by Ranma13
By the way, I see a lot of mention of bad programming habits, but would someone be willing to name what some of them are?


- Goto.
- Poor OOP support (this has got a lot better in newer variants).
- Rarely encourage good program structure.
- Poor (relatively) runtime performance often leads to an obsession with inappropriate optimisation, resulting in fast but completely unreadable code.

- Jason Astle-Adams

Quote:Original post by Simian Man
Quote:Original post by Ranma13
By the way, I see a lot of mention of bad programming habits, but would someone be willing to name what some of them are?


Mostly the goto/label structure. Also basic programs rarely use proper indentation.


BASIC does not use goto and label structures anymore than C does, this is one of the most distorted things I have ever heard in a long time about BASIC. Indentation has nothing to do with the language but the PROGRAMMER, and your forgetting that readability is one of the KEY features of a BASIC language. The position that BASIC teaches bad habits or BASIC is too simplistic to program in, is just an elitist view IMHO and nothing more. Most BASIC's have their shortcomings, but this is no different than any other language.
-------------Become part of developing the specifications of a new language. Visit CodeBASIC.org
Quote:Original post by Kazgoroth
Quote:Original post by Ranma13
By the way, I see a lot of mention of bad programming habits, but would someone be willing to name what some of them are?


- Goto.
- Poor OOP support (this has got a lot better in newer variants).
- Rarely encourage good program structure.
- Poor (relatively) runtime performance often leads to an obsession with inappropriate optimisation, resulting in fast but completely unreadable code.


- Goto : what I said above ^

- Poor OOP support - well BASIC was never really intended to be an OOP programming language( exception of .net of course), so much for that argument (this could be applied to any language that doesn't support OOP, and there are a lot of them). VB for instance has excellent support for creating active X controls and the classes support properties (getters and setters).

- Rarely encourage good program structure ?? not sure I understand this, probably a bad argument if you are thingking OOP, otherwise the paradigm is not that much different than say C.

- Poor (relatively) runtime performance: this depends on the basic language, most people assume basic has been an interpreted language. Try using something like purebasic, it compiles to FASM, and is very fast, in fact inline assembly is supported and most of the users use assembly within their programs. If you are talking about VB, well their are optimizations like compiling to native code and removing bound checking on arrays, but yes it is slower than c/c++ in general.

-------------Become part of developing the specifications of a new language. Visit CodeBASIC.org

This topic is closed to new replies.

Advertisement