When I'm Done With B3D

BlitzMax Forums/BlitzMax Beginners Area/When I'm Done With B3D

IKG(Posted 2006) [#1]
Originally, I planned on switching to something like Truevison3D once I am done using B3D, since it is C++ based. This is because of how I want to increase my knowledge of C++ before I move on to making games from scratch some day.

Now I'm starting to think it would be a smarter choice to wait until the BlitzMax 3D module is released. Do you think BlitzMax is an excellent place to start if I want to move on to C++ in the future?

Sorry for such a basic question.


FlameDuck(Posted 2006) [#2]
This is because of how I want to increase my knowledge of C++ before I move on to making games from scratch some day.
Now why on earth would you want to do that?

Do you think BlitzMax is an excellent place to start if I want to move on to C++ in the future?
I think BlitzMAX is an excellent language on it's own merits. If you want to program in C++, why don't you just do that? Personally I find BlitzMAX has too many cool features to make me ever want to go back to using C++.


Chris C(Posted 2006) [#3]
believe me c++ is a horrid language, it positivly encourages bugs and can be hard to read.

The only use I have for it now-a-days is to make a wrapper or dll for a saner language like Max!

You have all the readablity of a "simple" language, and very little of the speed penelties, which really is a moot point with modern hardware, if the program is too slow you're probably coding it wrong!


Dreamora(Posted 2006) [#4]
If you are planning to move to a modern language, I would suggest to go for C# and either TrueVision3D, Irrlicht.Net or Axiom/OgreDotNet

That way you can avoid many of the worst thing ever that are going to die out in the near future (outside linux at least) anyway.


N(Posted 2006) [#5]
Waiting for Max3D is pointless. It'll probably be a good year before it is released, and I wouldn't count on it being very stable or well documented on release (hell, it's been a year and BMax is still horribly documented).

If you really want to try something more 'advanced,' try C# with something like Axiom, OgreNet, or Truevision 3D (my preference).

believe me c++ is a horrid language, it positivly encourages bugs and can be hard to read.

No, bad programming encourages bugs.


Damien Sturdy(Posted 2006) [#6]
I'd suggest C# if not Max. I havent used it myself yet much however i'm learning to love it :-) (I couldn't figure out C++....)


Robert Cummings(Posted 2006) [#7]
Now I'm starting to think it would be a smarter choice to wait until the BlitzMax 3D module is released. Do you think BlitzMax is an excellent place to start if I want to move on to C++ in the future?


I can code in anything. I kinda started with basic. Blitzmax is worth sticking with because it is similar to C# and C++ in a lot of ways but without the agony.

If you plan on a career in programming then learn C++ right now. If you plan on doing your own thing, STAY with blitzmax. I like it as a language a lot.


IKG(Posted 2006) [#8]
I already learned C++ last summer. All I could do at the time was make basic console applications. Graphics were way too hard.

Won't it be easier if I switch from BlitzMax over to C++? I mean, it has OpenGL too so that may be good practice before I move on to college real soon to study programming.


Dreamora(Posted 2006) [#9]
No as most of the C++ stuff is very different in several parts. C++ is unmanaged, not type safe and has many other leaks from modern OO languages.

BM is managed, typesafe, modern OO to say it simple.. If you would switch to something like Java or C#, then yes it is easier as you are used to program with a GC, typesafeness (and its great positive effect on fast application dev) as well as other aspects.


IKG(Posted 2006) [#10]
I'm not comparing both languages. As for as I know, C# is dead :P

C++ is what is mostly used today for making programs and games from scratch. I know it may not be as easy as BlitzMax, but that isn't what I'm asking. When I start studying computer science in school, I'll be learning C++. I don't care if it's not as safe as Blitz or doesn't...whatever. All I'm asking if it's a safe language to study in my spare time before I move onto the next advanced step, which will be learning C++.

And by "safe" I mean will it help me out in the long run when it's time to switch? Is the syntax similar? I know B3D is a bit too simple to compare to C++, so that's why I'm considering BlitzMax before switching in a year or two to C++.

Thanks again.


xlsior(Posted 2006) [#11]
The biggest issue when programming is *thinking* like a programmer, not so much the language you use.

A great programmer can figure out pretty much any language.


IKG(Posted 2006) [#12]
Ok, but is BlitzMax's syntax much closer to C++'s?


skidracer(Posted 2006) [#13]
I would stick with Blitz3D and produce an entire game before moving on to C++.

There are certain things that completing a fully working application will teach you that are more important than learning the basics of multiple programming languages.


IKG(Posted 2006) [#14]
Like I said, this is for the future. I'm still going to use B3D for a long time.


N(Posted 2006) [#15]
A great programmer can figure out pretty much any language.


One of the few things I agree with in this thread.


FlameDuck(Posted 2006) [#16]
C++ is what is mostly used today for making programs and games from scratch.
Nobody writes games or programs from scratch these days. It's just not cost efficient. The reason most people use archaic languages like C++ is because they already have a lot of value (invested money) tied in to propriety software.

Anyone who would want to start doing something from scratch, and chooses to do it in C++ (over C#, Java or BlitzMAX) are crazy. It just isn't worth the stress.

Ok, but is BlitzMax's syntax much closer to C++'s?
Than Blitz3D? Not really. It has some more OO functionality than Blitz3D, and some more advanced features than C++ (as Dreamora mentioned) but the language itself is, thankfullly nothing like C++.


IKG(Posted 2006) [#17]
You still don't understand. Most applications and programs are written in C++! I will be taught C++, because it's exactly what I'll need to know when I apply for a job in programming. I'm not saying that games and programs are made JUST in C++. Part of it has something to do with Directx, OpenGL, etc. It's just today's industry. If not C++, than what do honestly think today's games are programmed in?

Maybe C++ is useless to you guys for making independent games, but it's my future in programming so I must know what is best for my next change. I suppose it'll be Truevision3D.


mikelandzelo(Posted 2006) [#18]
I've learned to code with C++ and I really have to say: DON'T EVEN THINK OF USING C++!!!
It's a complicated and NOT easy-to-use language. Stay with BlitzMax. It has all you need.


Andy(Posted 2006) [#19]
>You still don't understand. Most applications and programs
>are written in C++!

Are they?

>I will be taught C++, because it's exactly what I'll need
>to know when I apply for a job in programming.

No, that will simply get your application tossed in the same bin as those from people knowing WP macro's, Javascript and C64 BASIC V2.

You need more than C++. First of all you should study C, then C++(And you should understand the differences between C and C++, and why C would be more useful in some cases depending on the application). Then you should get to know and use Java, C#, PHP and every language you can get you hands on.

While you're eagerly studying all of this you would be well advised to look into code layout and documentation. Also look into code management, application design and software testing.

When you've learned and used these languages, know all about how to make well designed, maintainable code and how to debug that code, then you've (hopefully) developed an understanding of programming in general and about the merits of each language.

Hiring someone is trivial, many companies use external consultants just to screen the programmers from the hopefulls. Your application will be competing against seasoned veterans who know everything you know + 250 percent and have many years of experience. When you're hired, the real process starts. They have to train you to be part of a team, to deliver, to plan and manage your own time and to make quality code. And that's before they give you anything interesting to work on.

>I'm not
>saying that games and programs are made JUST in C++. Part
>of it has something to do with Directx, OpenGL, etc. It's
>just today's industry. If not C++, than what do honestly
>think today's games are programmed in?

Most game development is about licensing an engine and then hiring 25-50 people to do story, graphics and most importantly scripting using a scripting engine built into the engine. So most of the programming that goes into making a game is really done in a scripting language and only minor tweaks of the actual engine is done in C++.

>Maybe C++ is useless to you guys for making independent
>games, but it's my future in programming so I must know
>what is best for my next change. I suppose it'll be
>Truevision3D.

Knowing the language is not understanding it. You can go to any internet forum and see a sig saying 'knows C,C++,C#, Java, Delphi, VB, PHP and SQL), but the person has never actually used that knowledge for anything useful, couldn't finish a project if it saved his life and applies the same solution to every problem he is faced with.

Knowing C++ is good, but it won't give you a headstart over a VB programmer with imagination and a poodle. Focus on learning to program rather than what language you program in. Write the same program in various languages and note the benefits and burdens of each. The basic elements are the same, conditions, branches, loops etc. so programming really comes down to how the programmer solves a problem in the most efficient way.

EDIT:
And in reference to your subject - You're never done with any language you've learned.


Andy


IKG(Posted 2006) [#20]
And in reference to your subject - You're never done with any language you've learned.

First of all, where the hell did you get that from? I've already made many games with B3D, and if you check my site I spent last summer working with C++ to make very basic applications. Currently I'm working on a full game for B3D. C++ graphics where just too complicated at the time for me to move on to.

Ok, so I let me try to say everything differently.

Before I move on to C++ (because yes, that WILL be what is taught when I enter the course) I want to know what is best to help me practice before moving on to such an advanced language.

Most of you are just saying that you've "tried" C++ and it didn't react good with you. You guys have a choice since you either do this on the side for fun, or some other reason. When it's time for me to get a job (programming of course) I won't have a choice. To program applications or even make games if I decide to join that kind of industry, will require me to program in C++! Hell, take a look at any "Help Wanted" page online. I know C++ isn't always "required" since most experienced programmers can quickly learn it, but it will definitely help me in the long run when it's time to.

I've decided to switch to Truevision3D in the future now, anyhow.

Let me also make something else clear that a lot of you aren't getting: I NEVER said you must know C++ if you want to be a good programmer. I just want to use something with similar syntax before switching. That will make my life a whole lot easier.

And Andy, everyone learns differently. Not everyone learns in the exact order you described.


Andy(Posted 2006) [#21]
>First of all, where the hell did you get that from?

From your topic.

>I won't have a choice. To program applications or even
>make games if I decide to join that kind of industry, will
>require me to program in C++!

Or perhaps C, C#, Java, Delphi, VB or some scripting language.

Just focus on more than just learning C++. C++ won't get you a job alone, and often the 'just out of UNI' types will be competing for the same jobs with substantially the same qualifications. By adding knowledge, understanding and practical ability, you will be more valuable to your employer. When you are done with your course, the world could be in a recession, which means you need the edge of that extra knowledge to get the job.

>I NEVER said you must know C++ if you want to be a good
>programmer.

Of course not, that would be absurd.

>And Andy, everyone learns differently. Not everyone learns
>in the exact order you described.

True.

Listen, Instead of getting offended by my post, try looking at it from a constructive angle. Look at all of the opportunities we are showing you, the directions and the options. Try not to focus only on learning C++, learn other languages as well and understand the practical differences as well as the theoretical differences.

>Hell, take a look at any "Help Wanted" page online. I know
>C++ isn't always "required" since most experienced
>programmers can quickly learn it, but it will definitely
>help me in the long run when it's time to.

Absolutely, just don't limit yourself to C++. I'm not saying that you should program in B3D until old age, but remember what you've learned, because much of it applies to all programming languages. Maybe, if you are ever tasked with programming a game demo in 2 or 3 hours(been there, done that), you'll get out your copy of Blitz MAX V6.0, and start typing away.


Andy


IKG(Posted 2006) [#22]
Thanks Andy :)

I plan on continuing with B3D for awhile anyway. I'll make the change when the time is right.

It's just that I thought BlitzMax would help me with what I failed to do with C++; graphics. Being that it supports OpenGL and all...


FlameDuck(Posted 2006) [#23]
You still don't understand.
No. I assure you, I understand perfectly.

Most applications and programs are written in C++!
Most old stuff is written in C++. Today, most applications are written in Java or C#. The old stuff is usually wrapped in some JNI-like interface, if not rewritten entirely from scratch.

I will be taught C++, because it's exactly what I'll need to know when I apply for a job in programming.
If you want to get a job maintaining other peoples poorly written and worse documented code, then yes, C++ is the way to go. If you want a development job, you go with Java (EE) or C#/VB.Net.

If not C++, than what do honestly think today's games are programmed in?
Python or Lua. Only the core engine is programmed in C++ (and you won't get a job as a core programmer off the streets). The game itself is then written in Python (Vampire and Civ4) or Lua (Unreal).

Most of you are just saying that you've "tried" C++ and it didn't react good with you.
I have developed C applications professionally for 3 years. It's not that C (and C++) aren't nice (it was certainly a step up from assembly), and at the time (before Java) it was the best thing ever. Fast forward 10 years and C++ simply isn't the top dog anymore. I don't know what university you're going to but at mine they primarilly teach Java, and some C# for their software development courses. The only courses that teach C (or C++) are the embedded device programming ones, and even they are switching to Java.

That will make my life a whole lot easier.
The only thing that will make your life easier when switching to C++ is getting a decent IDE. I recommend Code Warrior, as that's the one I used and even then (Code Warrior 5) it was better than what Visual Studio and Borland Builder are today.

Every other aspect of progrsmming will be much more convoluted.

It's just that I thought BlitzMax would help me with what I failed to do with C++; graphics. Being that it supports OpenGL and all...
It will. And it will let you get comfortable with the object oriented paradigm, if you're not into that yet. But as far as syntax goes, you're pretty much out of luck. The only language I can think of that has similar syntax would be Pascal.


Brendane(Posted 2006) [#24]
"Python or Lua. Only the core engine is programmed in C++ (and you won't get a job as a core programmer off the streets). "

Utter rubbish. Don't let these nay-sayers with no experience of the real world put you off or convince you of their limited and frightening little existence.

Learn C++ - it is not difficult, it's not inherently bug prone, it's not going to die out. Games, tools and their core engines are written in C++ - scripting is done using scripting languages by the very programmers who write the core game code. How do I know? 6+ years of experience writing C++ core 3d engines/tools and games in the games industry that's how.

Did I walk in off the street no - I got a degree, I got several years experience programming C++ (amongst other languages) and I had an interest in games.

I don't work in the games industry any more however - it's far too unstable, pooly paid and badly managed. I prefer to get paid more money for less work.