Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / DarkGDK or DarkBASIC for a beginner

Author
Message
Wonder Cody
16
Years of Service
User Offline
Joined: 31st Dec 2007
Location:
Posted: 31st Dec 2007 17:44
I have a (very)basic knowledge of C++, but I am reading books on it everyday and plan to eventually get as complete a knowledge of C++ as I can. I am also willing to learn any other language necessary. I wish to develop games. Which would be better for me, DarkGDK or DarkBASIC? Thanks for your help!
Mcadieux
16
Years of Service
User Offline
Joined: 29th Dec 2007
Location:
Posted: 31st Dec 2007 19:15
I started with Dark GDK a few weeks ago, and like you had only a limited knowledge of C++. I've found this to be a very easy engine to learn with good documentation and tutorials. I haven't used Dark Basic, but since GDK is free you can't go wrong.
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 31st Dec 2007 23:03
and if you find c++ a bit daunting syntax-wise, you could get the dgdk.net for VB.NET (and C#) in January 2008. In the meantime you can get your feet wet in the free DBP trial, then convert to one of the dgk's (c++,vb.net, c#) when you realize oop is way better than procedural basic

My DBP plugins page is now hosted [href]here[/href]
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 1st Jan 2008 00:24
I Concur! Go with the C++ or .Net stuff in Jan2008 if you can! Also, knowledge learned (like .net and C++) will carry over to other things - where as DarkBasic is just DarkBasic - you can't go Write a Database System with it - ...well... I wouldn't recommnded it

Mason
20
Years of Service
User Offline
Joined: 20th Mar 2004
Location: Arizona
Posted: 1st Jan 2008 03:31
I learned Dark Basic Pro before I started with c++. I think you'll be better off starting with Dark Basic Pro imo.

With Dark Basic Pro, you'll have a lot less problems involving syntax and compiler errors. It gets really frustrating as a beginner trying to get everything setup in GDK as well. I use GDK now in place of Dark Basic, but I like the quick results and learning with DB. You learn 3d concepts a lot faster too.

Once you learn a lot of Dark Basic commands and get comfortable programming, I would suggest you start with c++. Grab a book like c++ Primer, learn some basics of c++, then mix GDK into the picture while learning the book. This way you can take the stuff you learn from the book like arrays for example, and use GDK to make something like tic-tac-toe.

Anyways, thats just my 2 cents. Good Luck bro


Comp Guru 910
16
Years of Service
User Offline
Joined: 23rd Dec 2007
Location:
Posted: 2nd Jan 2008 02:13
I disagree with mason. DBP is for beginners to game programming, and is not really a stable, fully functional language. Its made only for game development, and runs considerably slower than C++ and C#. Whereas, like Jason said, C++ is a language you could use to develope anything. Their even developing operating systems (Vista) in C++ now. And, learning to program in DB, as opposed to C++/C#/VB.Net, will not help you when it comes to logic of programming. In example. I program in VB, PHP and im picking up C++, and all of those languages are similar to eachother in a way that all you have to do is pick up and learn the different enviroment, and change you syntax slightly, and wala, you know a different language. I would recommend starting off with Dark GDK, and take a few tutorials in just C++ if you havent programmed in any other languages yet.

typos...
m0ng00se
16
Years of Service
User Offline
Joined: 2nd Dec 2007
Location:
Posted: 3rd Jan 2008 05:38
I say go with Dark GDK. I've never seen Dark Basic but I was a VB programmer for years and it suxs. Okay it was easier to write code but because it wasn't compiled it was slow as a duck in gumboots, and because it wasn't compiled it was easy for others to hack and crack your code and steal it.

Then it needed the VB runtime that matched your code and it was an absolute nightmare keeping the VBRUN**.DLL in sync with code updates. That still wasn't what I hated most though. VB is like a layer on top that doesn't access hardware directly (or at least it used to be). I loved ANSI C and then C++ because you can directly write to the video card or CPU or Disk controller and drop straight into assembly code. You can OWN that computer, control everything and you had speed. In the old days before hardware became cheap you had to code for pure speed in any game or it ran like a dog. A C/C++ program ran at five times the speed (using vectors and pure maths for 3D games) and was quarter the size of a VB program for an infinitely better result.

That's my personal opinion anyway. You want POWER in a programming environment more than ease of use. For me anyway.

m0ng00se
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jan 2008 07:03
Here Here! So True - Dead on with my way of thinking! Ut Oh...

m0ng00se
16
Years of Service
User Offline
Joined: 2nd Dec 2007
Location:
Posted: 3rd Jan 2008 08:24
Just to give you an idea of the power of C++ versus most other languages... I used to be a hacker for a living... as in I was in charge of security for a large network and got sent by my employers to hacking seminars so I knew how to stop people hacking their way in.

Only C++/C and assembly can bypass almost ANY software or hardware security layer and take direct control of the operating system almost down to "Ring 0" which is meant to be the protected kernel... and cover it's tracks at the same time. It's incredibly powerful if you access the WinAPI hooks directly for example and most hardware API's or "hooks" expect a C or C++ function call.

Other higher "4 GL" languages like basic have to call a pre-compiled c funtion to get at those hooks or call pure assembly so why not write native code in the first place?

-m0ng00se
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 3rd Jan 2008 12:33
mongoose

that description is of VB is from 1994 (vb 4 an below). vb5 & 6 were not interpretted, they compiled to machine code exe's. But I do agree, anything before vb.net blew in comparison to c++.

.NET changes all that, VB.NET and C# are on an equal playing field with C++. I know its hard to accept that c++ is no longer the sole choice for a powerful and truly oop language.

My DBP plugins page is now hosted [href]here[/href]
m0ng00se
16
Years of Service
User Offline
Joined: 2nd Dec 2007
Location:
Posted: 3rd Jan 2008 13:02
Well yes and no, I was still a VB programmer for a living in 2003 writing backend databases and frontend Access interfaces that used SQL to query backends and yes there was a very complicated mechanism for turning them into sort of "exes" but certainly not my idea of a properly compiled program. They still needed key files to handle security and they were still very slow compared to a C++ linked list, or hash tree or 3D array because they went off all over the place looking for files they could never find half the time. More of a VB/Access problem I admit than a pure VB problem.

Too true though, I've never even looked at VB net though I do have it. You've got to uderstand that even in 2000 MS was telling it's developers (I was a registered MS Developer) that VB was just for prototyping and VC++ was for REAL programs. MS used to give us VB for free just to prototype with and even in 2002 we still built our VB widgets in C++ then added them. So we all dutifully trained up our C++ skills only to now be told that C++ is out the door and C.NET is the new golden boy. Plus VB is back in favour.

Call me cynical if you like but MS was the one that led us all around in circles. We just wished they'd make up their mind and stick to it. They told us VB is for fast prototyping but it's not commercial standard. Now they (MS) don't even seem to know what they want anymore. They're trying to blend everything together now into a huge bloated whale that wallows around in an ocean of RAM.

I judge everything by what the hackers use and they can still build C/C++ programs that are under 500kb compiled size and hide in a few k's of RAM but can take over a whole network and make it dance like Elvis. VB takes a 20 megs exe to draw a window with a widget in it, then can't find the DLL it needs, runs out of RAM at 300 megs, so it overflows the buffer and sits there looping for a week wondering what to do next.

Okay so I'm biased. Peace.

-m0ng00se
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jan 2008 13:21
I used to write operating systems for fun - so I know where you're coming from. Microsoft - I feel - is trying to get us out of knowing Computer inards with a proprietary alternative that over time will make more and more coders less knowledgable of what's really going on and they'll all only know Microsoft Products.

Cattle Rustler said they wanted to do this for more platform independant code - I can buy that too.

For a beginner - I think OOP will get them further - Albeit C++, C#.NET or VB.NET.

If you truly want pure assembly and C++ - Hit the DirectX API directly! It's as close as you can get!

CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 3rd Jan 2008 13:44
mongoose, I agree with what you just said. As a professional software developer I know what its like, as well, to be led around by MS and their "best laid plans" etc. And believe me, I wouldnt defend VB6 or below against anything really. I just usually try to encourage people to not persist the once true, now mythical, disparities between "c++ vs vb". And I also try to encourage hardcore c++ programmers to give .net a look, and see how vastly different and improved "vb" is (vb.net), not to try and switch them over, just to get them to realize that vb (vb.net) is no longer a toy language by comparison to c++, and that vb.net and c# are co-equals, because of the whole concept of .NET Frameworks. It does require some self education on their part. Most are interested and come back with enlightenment and positive things to say, some dont, and some never bother to look. Its those guys that dont ever go look is who I have no respect for. And its usually those guys who dont go look, that continue to perpetuate the myths (I'm not saying thats what you did or are doing, not at all) I am just relaying my experiences, and things I have seen.

My DBP plugins page is now hosted [href]here[/href]
m0ng00se
16
Years of Service
User Offline
Joined: 2nd Dec 2007
Location:
Posted: 3rd Jan 2008 14:34
It's okay CattleRustler I totally agree with you. I'm just sulking because C++ isn't exactly an easy language to learn and I get sick of the rules changing. It's not just VC versus VB. When the web first took off we all learned HTML, then it was XHTML, then we had to add Java, then Perl, then Flash and *.asp... then the lot at once... then everything changed from "professional" to "enterprise" plus at the same time I was still supporting legacy COBOL financial code on UNIX. Then Linux took off and we all brushed up our c skills on GCC again.

Then Access was the greatest database in the world, though stolen from 4th Dimension on the Apple Mac. Then that kicked off VB big time until MS SQL server became stable and Access was suddenly only a front-end and ODBC became redundant in favour of pure SQL written in C++ for speed (try doing a GIS system with Cadastral data queries nested 20 deep and you learn what a dog VB can really be). Then whoa thin clients and Citrix and terminal server and new rules.

I'm just sulking because I'm getting old and I get sick of changing every few months. These days I start writing C++ then realise I've slipped into Java syntax with a Perl routine that doesn't belong at all and VB and COBOL are similar too for file operations so it all gets a bit muddled.

I haven't played with VB NET but I have played with C# and it's so close to C++ but it's not C++ and I compile it and it runs then realise I've mixed a C# project with a C++ project and why can't I use my C# widgets in C++ and oh look MS gave me VB NEt as well and some Web net thing and do I boot them up as well and lose another 4 gigs of space and why do I need 4 gigs of libraries to build a 256kb program anyway? Does it really need that many DLL's just to load up the first window?

Okay the real reason is I'm obsessive/compulsive so if I do play with it then I'll want to know it inside out and I'll get distracted from the stuff I'm already doing so it's much easier for me to run it down and kid myself it's no good so then I won't even look at it and I can actually get some work done.

-m0ng00se
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jan 2008 15:32
I can empathize with that - I think many of us can. But, As I've been reminded - these decisions are geared towards making money formost.

New Technologies are NOT always better - and often are quite the reverse.

If big business actully wanted pure speed, ease of use, and security - they would:

A: TOSS everything out, and start a NEW OS from Scratch, it would be written in C++ or FreePascal (BARE Language - close to RAW) with a direct processor assembly being used sparingly where necessary for optimal performance - in small digestable pieces that can be ported easily to other platforms.

B: Every resource would be "Owned" by the OS - and controlled via thin code layers to allow maximum performance - say... for graphics libs like DirectX to get as much throughput as possible.

C: Executables introduced to the System would be treated like USERS in that by default they can not access any resources at all - no read, no write, not even video HOWEVER the operating system could easily report EVERY RESOURCE Said "unpriveledged exe" was inquiring about. Think of it as putting a TIGER in a CAGE, then putting the CAGE in the ZOO Area for all the other Tigers... if the TIGER seems not too agressive... You might start letting him out with the others. This would be done via giving said EXE priviledges... Like Video Exclusive, Window, Window with ability to stay on top, Access to its own directory, or others... individually or grouped.

D: Said OS would be able to report any and all resources made availble to any user or EXE at will acccurately. e.g. "Can /temp/MyNew.EXE Currently Access Video? Yes or No?"

E: Files Aren't deleted - just flagged with a "Deleted Unique ID, and date/time/user (and application that did it) stamp. When harddrive full... files deleted the longest would become the new free disk area to write on.

F: Filesystem would support forward and Backward reading of files - like old IBM VSAM method - but at the sector/cluster level for quick access both forward and backwards through files - essentially allowing for faster databases. Additionally - said file system would essentially be a double linked list on disk.


But we won't ever see this - (I tried but I'm one guy...making hardware drivers stinks) - and all we usually get are "repackaged" things put on older technolgies - called "Brandnew" ...usually... Linux tends to be close... but some of its roots seem to be becoming lost - the original UNIX roots were sound - if not overly esoteric.

I'm done.

Login to post a reply

Server time is: 2024-09-29 09:20:12
Your offset time is: 2024-09-29 09:20:12