Sign in to follow this  
dih

Basic?

Recommended Posts

Ok, I have some (started but never finished learning or just using (so forgot) in these langauges. Html/javascript Perl/Php/ruby and C/C++/C# i've tried Qbasic and Pascal. I like basic but i quit learning cause qbasic is old and isn't supported by newer system. So what is a good basic Dialect to learn? I want to make Games and eventioally go to C++

Share this post


Link to post
Share on other sites
basic and c based languages are two different ball games. programming is programming but you may experience a learning curve when switching from based to a c based language. you'll also have difficulty finding resources for visual basic game development compared to a c based language.

Share this post


Link to post
Share on other sites
wich one then would be a good one to learn? like what is easy yet powerful for games i hope to make like a doom game or something within 4 years

Share this post


Link to post
Share on other sites
DarkBasic Professional has an advertisement-driven version for free. It includes the abilities to make 3d graphics easily.

Once you move up to C++ there is a free library called Dark GDK that comes with Microsoft Visual C++ Express Edition that is based on DarkBasic's runtime libraries.

Share this post


Link to post
Share on other sites
Python is my recommendation. But really, whatever you choose stick with it until you are reasonably comfortable it. Your goal shouldn't be to learn Language X rather to learn how to program, and learning to program is largely independent of what language you use. Some languages encourage certain ways of thinking about programming (some of which might be more suited to you than others) and some will throw more obstacles in your way as you try to understand programming, but any reasonable language can get you there in the end.

In my experience, Python provides a good mix of:
-few obstacles between you and learning to program
-encouraging you to use techniques you wouldn't find if you just stuck to C or C++
-and practical usefulness (large standard library, well supported and adopted, plenty of libraries, etc.).

Share this post


Link to post
Share on other sites
Python is a good choice. C# with XNA is another possibility.

Whichever you go for, I agree with Ezbez's recommendation to learn how to program rather than a particular language.

Share this post


Link to post
Share on other sites
Of the two go for VB.Net. VB6 is an option along with anything else but it's old and, according to Wikipedia, Microsoft no longer support it at all.

VB.Net tools are free to download, guyver23 posted the link to them above.

My own recommendation is C# or Python, but I lean more toward C# personally.

Share this post


Link to post
Share on other sites
Frankly, I wouldn't recommend VB for anything -- It's basically a dead-end language: support for pre-.NET VB isn't around, and VB.Net itself offers no advantage over C# in ease-of-use. I'm convinced that it only exists in the first place to placate Microsoft's business customers who were worried that their VB-centric programming staff would demand more money if they had to program in something that looked more like C.

I also wouldn't recommend any of the commercial BASICs (Like DarkBasic) -- They're good enough for what they are, but you're somewhat tied into their mindset of doing things a certain way, from what I understand of them.

At this point it may sound like I'm against BASIC, but that couldn't be further from the truth. I cut my teeth at programming primariy with QuickBASIC 4.5 (the most popular version that had a compiler to produce real executables) and it was a fine language for learning and for getting things done.

A modern replacement for QuickBASIC is FreeBASIC, which is about 98% compatible with the QuickBASIC 4.5 syntax, supports basic OOP principles and a flat memory model (one of the QB 4.5 headaches that is gladly gone). Last I checked, they had compilers for Windows and Linux, and they were working on a Mac port. Best of all, its free, as in both speech and beer.

My ultimate recommendation though, is probably C# -- its really quite a joy to use. I hadn't touched C# in nearly 3 years (and from that time long ago I only had about 6 months with it) but I've recently had to pick it back up again for work. Granted that I have a good deal of programming background in general, but I can honestly say that jumping straight into the deep end of the language has presented no real hurdles. I'm using basically every advanced and new feature of C# -- Linq, Lambda Functions, Expression Trees, Extension Methods, Reflection and everything else. Linq alone, which I've been doing a lot of work with, is probably the coolest thing to hit a mainstream programming language in a very long time.

The things I dislike about C# are the little things I find that differ from C++ for no apparent reason or gain: For example, the lack of method level static variables both perplexes and annoys me, as it destroys my ability to manage the scope of the variable as I see fit, but I'll concede that more annoyance than a real issue. Library support is great with C# -- You get all of the .Net framework libraries of course, then there's XNA, SlimDX and Tao for all your gaming and multimedia needs. Take a look at the recent image-of-the-day posts -- Two of them have implemented Carmack's Mega-texture technique in C# -- Clear proof that C# can do some impressive things.

Share this post


Link to post
Share on other sites
Thank you Ravyne i was looking into Freebasic and i think im gonna stick with it and learn either freebasic or Qbasic (wich one i find a tut/ebook for first).


Or do i just learn Qbasic. And then learn Freebasic's oop tutorials?

Share this post


Link to post
Share on other sites
PureBASIC is also quite popular. It is a great choice for game development, and I have heard it runs faster than DarkBASIC. However, I would recommend either one. While DarkBASIC is not really performance-tuned to make large-scale commercial games, it does allow lightning-fast prototyping. You can do in 2 lines what it takes about every other language 30 lines.

Share this post


Link to post
Share on other sites
I'm going to shake things up and suggest BlitzMax
http://blitzbasic.com/Products/blitzmax.php

Even though it's my favorite language, in the interests of helping you and not being a fanboy I will tell you that the language's documentation is a bit thin on the ground. But the community is active and friendly, and really helpful like this forum.

You didn't specifically mention you wanted 3D but it doesn't do 3D out of the box. However you can expand it with a third party 3D module. There are free and commercial ones to choose from.

Also BlitzMax is cross-platform (when using OpenGL and not DirectX) between Windows, Mac and Linux. This might be of interest to you.

It isn't a free language, which could be a downer for you. There are good free gaming languages are there to compete with it, I won't deny that..

Share this post


Link to post
Share on other sites
Quote:
Original post by dmatter
Of the two go for VB.Net. VB6 is an option along with anything else but it's old and, according to Wikipedia, Microsoft no longer support it at all.

VB.Net tools are free to download, guyver23 posted the link to them above.

My own recommendation is C# or Python, but I lean more toward C# personally.

Actually, Microsoft shipped the VB6 runtimes as part of Win7 so it'll stick around until the next version of Windows after that so it's down but not completely dead yet LOL!
"VB6 runtime will ship and will be supported in Windows 7 for the lifetime of the OS. Developers can think of the support story for Vista being the same as it is for Windows 7. However there are no plans to include VB6 runtime in future versions of Windows beyond Windows 7."
Anyways, having programmed in VB6 and VB.NET I don't recommend anyone learning it unless you have to for you work or something.
I'd stated my reasons before but I'll say them again:
#1 Microsoft treats VB.NET as a second class language compared to C# i.e. no XNA support, documentation/code lacking in many other areas not even related to XNA, etc.
#2 It makes you lazy. Seriously I know get all the advice the C language based programmers used to give to avoid it if possible or as Charles Petzold would say VB rots the brain or something like that. You can type all your code with total disregard to case since VB is case insensitive first of all. So you get in the bad habit of not capitalizing anything since the IDE will do it for you. That brings me to the second point which is intellisense and code snippets is ages ahead in VB.NET compared to C# so that's the other part that makes you lazy so when you do switch to C++ or C# it'll make you made because it's those little things that will aggravate you.
So that's why I recommend C# anyday over VB or any of it's variants.

Share this post


Link to post
Share on other sites
If you're going to go with QuickBasic/FreeBasic, then I recommend you to just jump straight into FreeBasic. Depending on what version of Windows you're running, QuickBasic programs may or may not run out of the box -- Just like an old DOS game, you'll often have to tweak application-level settings (eg Windows 95 compatability mode) or run it under an emulator like DOSBox.

In general, the biggest reason to avoid QuickBasic now, with FreeBASIC as an alternative, is because QuickBasic is a DOS program which generates DOS executables. This means you get all the headaches that plauged DOS application development, like the old 64k segmented memory and the 1MB real-mode memory limit. There are ways to get around this in QuickBASIC, just as there was for any DOS program, but why fix what can be neatly avoided in the first place?

The QuickBASIC IDE itself, for instance, tops out at about 96K of source code -- Once you've hit that, you need to put things into different projects and use makefiles to build (I hit that limit myself, and ended up moving to a pre-processor someone had written, along with a generic Windows-based code editor when my project grew too large.)

FreeBASIC is a program which exists in, and produces executables for, operating systems with a flat memory model (Windows, Linux, OSX -- any "modern" 32+ bit OS) -- you'll never have to deal with memory segments, near and far pointers, memory extenders, etc.

Share this post


Link to post
Share on other sites
Quote:
Original post by daviangel
Quote:
Original post by dmatter
Of the two go for VB.Net. VB6 is an option along with anything else but it's old and, according to Wikipedia, Microsoft no longer support it at all.

VB.Net tools are free to download, guyver23 posted the link to them above.

My own recommendation is C# or Python, but I lean more toward C# personally.

Actually, Microsoft shipped the VB6 runtimes as part of Win7 so it'll stick around until the next version of Windows after that so it's down but not completely dead yet LOL!
"VB6 runtime will ship and will be supported in Windows 7 for the lifetime of the OS. Developers can think of the support story for Vista being the same as it is for Windows 7. However there are no plans to include VB6 runtime in future versions of Windows beyond Windows 7."
Anyways, having programmed in VB6 and VB.NET I don't recommend anyone learning it unless you have to for you work or something.
I'd stated my reasons before but I'll say them again:
#1 Microsoft treats VB.NET as a second class language compared to C# i.e. no XNA support, documentation/code lacking in many other areas not even related to XNA, etc.
#2 It makes you lazy. Seriously I know get all the advice the C language based programmers used to give to avoid it if possible or as Charles Petzold would say VB rots the brain or something like that. You can type all your code with total disregard to case since VB is case insensitive first of all. So you get in the bad habit of not capitalizing anything since the IDE will do it for you. That brings me to the second point which is intellisense and code snippets is ages ahead in VB.NET compared to C# so that's the other part that makes you lazy so when you do switch to C++ or C# it'll make you made because it's those little things that will aggravate you.
So that's why I recommend C# anyday over VB or any of it's variants.


This article on MSDN sums up Microsoft's stance on VB6 support. It outlines that they are still supporting the runtime on the newer Windows versions, and they also promise to ensure that the VB6 IDE will still work on Windows 7. However, they also say that this does not change their position that they are still no longer directly supporting VB6.

There was a backlash when MS brought out VB.NET due to the complete change of the language and the breaking of backwards compatibility. I believe VB6 was set to go unsupported as of April, 2003, but the community petitioned for longer support due to legacy applications and use of VB6. MS agreed, and extended the support to April 2008 (their support periods go in blocks of 5 years). VB6 support ran out in April 2008. It is nice to see them continuing to help out VB6 coders, though, by continuing to push the VB6 runtimes on the new OS.

EDIT: There is also the conundrum of how to get VB6. I am not sure if it is still part of the MSDN subscription package, but that is pretty expensive just to get VB6. It has not been published and sold in years, so if you cannot get it through MSDN, the only other way is through piracy, which is not becoming of a professional developer.

Share this post


Link to post
Share on other sites
Quote:
Original post by jackolantern1
Quote:
Original post by daviangel
Quote:
Original post by dmatter
Of the two go for VB.Net. VB6 is an option along with anything else but it's old and, according to Wikipedia, Microsoft no longer support it at all.

VB.Net tools are free to download, guyver23 posted the link to them above.

My own recommendation is C# or Python, but I lean more toward C# personally.

Actually, Microsoft shipped the VB6 runtimes as part of Win7 so it'll stick around until the next version of Windows after that so it's down but not completely dead yet LOL!
"VB6 runtime will ship and will be supported in Windows 7 for the lifetime of the OS. Developers can think of the support story for Vista being the same as it is for Windows 7. However there are no plans to include VB6 runtime in future versions of Windows beyond Windows 7."
Anyways, having programmed in VB6 and VB.NET I don't recommend anyone learning it unless you have to for you work or something.
I'd stated my reasons before but I'll say them again:
#1 Microsoft treats VB.NET as a second class language compared to C# i.e. no XNA support, documentation/code lacking in many other areas not even related to XNA, etc.
#2 It makes you lazy. Seriously I know get all the advice the C language based programmers used to give to avoid it if possible or as Charles Petzold would say VB rots the brain or something like that. You can type all your code with total disregard to case since VB is case insensitive first of all. So you get in the bad habit of not capitalizing anything since the IDE will do it for you. That brings me to the second point which is intellisense and code snippets is ages ahead in VB.NET compared to C# so that's the other part that makes you lazy so when you do switch to C++ or C# it'll make you made because it's those little things that will aggravate you.
So that's why I recommend C# anyday over VB or any of it's variants.


This article on MSDN sums up Microsoft's stance on VB6 support. It outlines that they are still supporting the runtime on the newer Windows versions, and they also promise to ensure that the VB6 IDE will still work on Windows 7. However, they also say that this does not change their position that they are still no longer directly supporting VB6.

There was a backlash when MS brought out VB.NET due to the complete change of the language and the breaking of backwards compatibility. I believe VB6 was set to go unsupported as of April, 2003, but the community petitioned for longer support due to legacy applications and use of VB6. MS agreed, and extended the support to April 2008 (their support periods go in blocks of 5 years). VB6 support ran out in April 2008. It is nice to see them continuing to help out VB6 coders, though, by continuing to push the VB6 runtimes on the new OS.

EDIT: There is also the conundrum of how to get VB6. I am not sure if it is still part of the MSDN subscription package, but that is pretty expensive just to get VB6. It has not been published and sold in years, so if you cannot get it through MSDN, the only other way is through piracy, which is not becoming of a professional developer.

Ah yes, there is the problem of legally getting a copy of VB6. If I remember correctly and this was like a couple of years ago, since Microsoft doesn't sell or provide copies of VB6 anymore you have to find someone with a copy of the disc. You can legally use it if you've purchased a copy of VB.NET since Microsoft lets you downgrade that to VB6 or something like that.


Share this post


Link to post
Share on other sites
Hey.

First, about Perl, I have heard good things, though I've never used it myself.

Secondly, Am I the only freak that finds it odd that no-one has recommended jumping straight into C++ as an option? :D
Granted, I'm pretty biased toward C++ and I have a lot of time coding it in my magic bag of experience, but even from a programming language concept point of view, I would definitely recommend at least taking a look at C++

I know it is quite challenging to learn at first, and it is DAMN tough to learn well, but once you get into the C++ mindset, you can do pretty awesome things with it.

Alternatively, if you're looking for something that's a bit faster to learn, you can't really go wrong with C# (as people have already stated).

Using C# with the latest release of XNA studio thingy is really a wonderful experience.

Best of luck to you!

Share this post


Link to post
Share on other sites
Quote:
Original post by daviangel
#1 Microsoft treats VB.NET as a second class language compared to C# i.e. no XNA support, documentation/code lacking in many other areas not even related to XNA, etc.

There's plenty of resources available for VB.Net. Most examples in the MSDN documentation are written in both C# and VB, and there are a lot of books available that target VB exclusively. C# might be a slightly more popular, and doesn't make VB an irrelevant language.

Quote:
#2 It makes you lazy. Seriously I know get all the advice the C language based programmers used to give to avoid it if possible or as Charles Petzold would say VB rots the brain or something like that. You can type all your code with total disregard to case since VB is case insensitive first of all. So you get in the bad habit of not capitalizing anything since the IDE will do it for you. That brings me to the second point which is intellisense and code snippets is ages ahead in VB.NET compared to C# so that's the other part that makes you lazy so when you do switch to C++ or C# it'll make you made because it's those little things that will aggravate you.

So the superior support for VB.Net is a bad thing? Well, I guess you can always write your VB code in notepad and compile using the command line if that makes you less 'lazy'.

Share this post


Link to post
Share on other sites
When I was first starting out programming, I looked in to Perl. I couldn't make heads or tails of it even though I already had some programming experience. At the time, I was worried if experience with Perl would help me with other languages. I now believe that it would have, but not in the sense that learning C# would help with Java, or Visual Basic would help with learning Pure Basic. There are just not many languages out there that look or act like Perl, if there are any at all. I also think that the "there is a thousand ways to do every task" thing could be difficult for beginners to grasp; a lot of time struggling with syntax, and little time learning to program well.

Share this post


Link to post
Share on other sites
I've already tried C++ just couldn't get motivated enough there's alot to learn to do just one thing

Share this post


Link to post
Share on other sites
Quote:
Original post by dih
I've already tried C++ just couldn't get motivated enough there's alot to learn to do just one thing


Should try VB.

C takes lots of dedication. With VB you can just jump right in and start making apps like nothing. I started it like a week about and have made about 5 apps w/ GUI and everything. I'm currently working on a chatroom program but with C, I can barely make a window. ;o

VB is simple but it helps your brain think in terms of cause and effect without all the rules...that'll probably carry over when I go back to the more complex languages. This is my opinion. :p

Share this post


Link to post
Share on other sites
Quote:
Original post by Wan
So the superior support for VB.Net is a bad thing? Well, I guess you can always write your VB code in notepad and compile using the command line if that makes you less 'lazy'.

It's funny you should mention that because that's exactly how Petzold wrote his Programming for Windows book port for VB LOL!
And he wondered why it wasn't more popular?
Probably because he just didn't get the mindset of VB programmers of why wouldn't I use the VS IDE to write Windows programs?

Share this post


Link to post
Share on other sites

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