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.

DarkBASIC Professional Discussion / [LOCKED] Criticisms of DarkBASIC Professional

Author
Message
Mistrel
Retired Moderator
19
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 18th Oct 2009 12:40
As I stated previously you're more than welcome to contact me personally. This thread is not appropriate for this discussion.

Nathaniel
21
Years of Service
User Offline
Joined: 28th Sep 2003
Location: Dallas, Texas
Posted: 18th Oct 2009 17:27
Quote: "As I stated previously you're more than welcome to contact me personally. This thread is not appropriate for this discussion."


Like I stated previously, you shouldn't have responded in the forum if you didn't expect a like kind response.

However, as I've also informed you, for the sake of this thread, others, and expediency I will digress.

-N.

Not all who wander are lost. - J.R.R. Tolkien
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 19th Oct 2009 23:57 Edited at: 19th Oct 2009 23:58
Quote: "What does it matter if the way you can construct the code is limited? If you can make a program or game via one particular method, why do you need other redundant methods?"


Well in that case why not just go write a game in assembly? It'll take you several years and be very difficult but it can eventually get done. I think that's a good analogy.
Visigoth
19
Years of Service
User Offline
Joined: 8th Jan 2005
Location: Bakersfield, California
Posted: 20th Oct 2009 12:35 Edited at: 20th Oct 2009 12:54
I wasn't gonna post, but, I had to...

Quote: "Why do cars come with engines? Provided you're strong enough you can push them along just fine, why do you need other redundant methods to propel it?

Ans: Because doing that is a pointless waste of time and you could have gotten to your destination much faster if the manufacturers had built an engine into the car."


DC said:
Quote: "[edit] what's with all the crazy analogies that have nothing to do with this situation?"


Sorry, no disrespect, but, you criticize me for using an anology, yet, you fire one off on your next post. How hypocritical is that?
And, your anology makes less sense, in my opinion, than mine.

To answer your question, cars come with engines because a car would be worthless without one. It wouldn't even be a car. It would be a cart. Unless your name is Flintstone, who on Earth would push a car?

I can't see your point here; I don't even get the anology.

A better arguement might be why are there different types of engines, or different horsepower ratings. But a car without an engine is worthless. And there are different engines and different horsepowers to satisfy different driving styles.

Just like there are different programming styles. And there are different languages to satisfy those different programming styles, as well.

In case you didn't read the first post:
Quote: "I've recently been doing a lot of programming in decent languages(C++, lua) and my eyes have been opened. After coming back to DBPro to write a small example I noticed many limitations with the DBPro language that just make no sense and do nothing but impede development time and make using the language much harder for many users, especially beginners."




AGAIN, I stand by my original statement, that what DC is posting about is not a limitation, but a FEATURE REQUEST for the language.

I SWEAR, this is my last post on this. I know this thread should die, but, I can't just sit back and let it keep going without some debate about what actually is a limitation and what actually is a feature.
dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 20th Oct 2009 13:14
Quote: "Sorry, no disrespect, but, you criticize me for using an anology, yet, you fire one off on your next post. How hypocritical is that?"


I don't think my analogies were crazy and/or irrelevant so it's not hypocritical. If you read my whole analogy you'd see I mentioned you can still have the car function if you pushed it, just that doing so is a waste of time and energy when you could instead use a car with an engine, I think it's quite valid, though maybe a bit more extreme than this situation.


Quote: "I SWEAR, this is my last post on this. I know this thread should die, but, I can't just sit back and let it keep going without some debate about what actually is a limitation and what actually is a feature."


As Ron so eloquently put it: "Does it really matter what you call it?". Now please stop trolling my thread with crap, unless you have something that furthers the discussion; I'd rather not request a mod lock this as there may be some important factors I overlooked.

BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 20th Oct 2009 13:26
please keep on topic for the sake of the thread. It hasn't been locked yet, let's keep it that way.

Visigoth
19
Years of Service
User Offline
Joined: 8th Jan 2005
Location: Bakersfield, California
Posted: 20th Oct 2009 13:33 Edited at: 20th Oct 2009 14:26
Quote: "I don't think my analogies were crazy and/or irrelevant so it's not hypocritical. If you read my whole analogy you'd see I mentioned you can still have the car function if you pushed it, just that doing so is a waste of time and energy when you could instead use a car with an engine, I think it's quite valid, though maybe a bit more extreme than this situation."

So, my anologies are crazy and/or irrelevant?
Nice. Reading is fundamental.

In my VERY HUMBLE OPINION, you are DEAD WRONG in your criticisms of DBPro. Its like wanting steak from McDonald's and, not having to pay for it. How's that for an anology for you?
Whatever, I'm done argueing with you.

edit:
@ DC
btw, I DID read your entire analogy, in fact, I quoted the entire thing. I simply debated your analogy, the same way you debated mine. When you started this thread, you must have anticipated that some people would not agree with your thoughts. If I was the one who was behind DBPro, I would take personal offense to your opening statement, which I already quoted. It went out of its way to degrade and humiliate DBpro, because it lacks what you feel, once you opened your eyes, are necessary FEATURES for even beginners to make any kind of program in DBPro. At best, you could have renamed your thread to request additional features, like so many threads before. In fact, quite a few of the items you enumerated are just rehashed requests from other posters.
Regardless, when it gets to the point where you can't debate an issue with civility, an issue you created, btw, then I agree. Go ahead, lock this thread. Lock it down now. And you can go ahead and blame it on 1 "troll" who posted "crap" instead of "important" stuff.
Done.
tiresius
22
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 20th Oct 2009 16:27
When a discussion turns to picking apart people's analogies it has gone over the deep end. Besides, this forum post has ceased to be insightful or useful after page 3. I say LOCK and let Mr. Bamber supply some sort of response (whether awe-inspiring or anti-climactic, just something) in the November newsletter.

I'm not a real programmer but I play one with DBPro!
Alfa x
18
Years of Service
User Offline
Joined: 1st Jul 2006
Location: Colombia
Posted: 20th Oct 2009 18:38
There is starting to be debate in this thread for nonsenses. We know that lee has saw this thread, just make well constructed posts that is what really should matter...
EdzUp
22
Years of Service
User Offline
Joined: 8th Sep 2002
Location: UK
Posted: 20th Oct 2009 23:57 Edited at: 20th Oct 2009 23:59
Quote: "
DarkBasic Professional was never designed to be an end-all be-all language. If it was meant to be a serious language we wouldn't have ridiculous commands like "Control Camera Using Arrowkeys".

The target user for DBP is the beginner and hobbyist programmer.
"

I know this may sound strange but when it was first released it was targetted at the Professional Dark Basic developers who wanted more control over everything than DBClassic could provide, with this in mind I do believe that DBPro has lost its way and is now being targetted as a replacement for DBClassic.

For me the simple statement is this: "The things stated in this forum should be added into the language mainly to make it easier for the programmer to use the language" after all if everyone elses programming languages are easier to use then why use DBPro, if its not made to be easier then I can see it falling by the wayside, maybe thats what DBPro X10 or is it X11 is going to be.

-EdzUp
Grandmaster B
15
Years of Service
User Offline
Joined: 30th Aug 2009
Location:
Posted: 25th Oct 2009 01:41
I must agree with the critics mentioned at the start of this thread. I wonder how people can do any serious games - beyond the very simplest one - with the lack of the mentioned features.

I'm not a beginner, i've written code in C/C++, Python, PHP, FreeBASIC, ActionScript and more. However, i did not expect features like classes, templates, references or the like from DarkBASIC.

But i expected a well balanced easy to learn language that grows on me and gives me the ability to create some cool games. For me this was a letdown because the language is so limited that i'm unable to handle the game data in a logical and clean way (for an experienced programmer anyway). Data of course is the most important part in any game or application.

Im actually not strongly disappointed about that because i can easily switch to another language but i realy wonder why these issues are ignored for such a long time.

In my opinion its not right to impose beginners to use workarounds for common programming practices just because DarkBasic misses basic features.

In contrast i think that everything around DarkBASIC - the awesome add-ons, the website, the content, the tools, the community - and so on - is realy great and unique! And if DarkBASIC gets some more language features theres nothing to complain anymore.
EdzUp
22
Years of Service
User Offline
Joined: 8th Sep 2002
Location: UK
Posted: 25th Oct 2009 20:32
Another thing its topics on the forum that highlight to first time programmers what the problems are with the language and what they really need to read later on is that they are FIXED. The more bugs that dont get fixed the more people will be put off from purchasing the language and/or move to one of your competitors.

-EdzUp
Novaguy
15
Years of Service
User Offline
Joined: 1st Apr 2009
Location:
Posted: 26th Oct 2009 01:25
I have nothing really constructive to offer here, but here's what I could use:

#1. arrays inside UDTs
#2. functions able to have UDTs as parameters and return variables

having vectors not be primitives isn't that big of a deal since you can just easily make them on your own. Their functions are easy to replicate, especially if we had #2. If I had those 2 options above, though, my current project would go MUCH faster.
Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 26th Oct 2009 11:02
Quote: "For me this was a letdown because the language is so limited that i'm unable to handle the game data in a logical and clean way (for an experienced programmer anyway). Data of course is the most important part in any game or application."


What has programmer experience got to do with it - except that an experienced programmer should know how to deal with a limitation. These are not show-stopping problems, people are using DBPro right now to make games. These features are not vital, we'd like them and they'd save us time - but they would not kill a project.

Quote: "In my opinion its not right to impose beginners to use workarounds for common programming practices just because DarkBasic misses basic features."


What workarounds? - if these features don't exist, then what's the chances of a beginner even knowing about them?. DBPro users tend to learn DBPro, they don't learn a dozen other languages, achieve nothing, then end up here achieving nothing because DBPro doesn't have UDT's or some other feature that one of their ex-languages does (or maybe some do). I use languages with these features too, for a living, funny how their absence doesn't bother me much when using DBPro - as has been said by plenty people, these would be useful features if added, they are not vital.


Health, Ammo, and bacon and eggs!
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 12:26 Edited at: 26th Oct 2009 12:28
Quote: "What has programmer experience got to do with it"


I think most experienced programmers have a way of writing and maintaining manageable code. To come back from using languages that allow such flexible, modular code, it's horrific to remember just how rigidly DBPro forces you to program. It makes me cringe every time I write some sort of system in DBPro - I just know how badly written it's forcing me to write it, having to hard code absolutely everything, and use workaround for such basic things as returning UDT variables from functions. Not only is it hard to maintain, but it's hard to do from the start. For some reason it feels to me a bit like using goto...

Quote: "if these features don't exist, then what's the chances of a beginner even knowing about them?"

Nil I guess, they'll just pick up bad habits from the alternative way they have to code.
Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 26th Oct 2009 13:13
Quote: "For some reason it feels to me a bit like using goto..."


Now that is one feature I'd like to see removed from the language.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 13:28
Why?
DarkSINNER
15
Years of Service
User Offline
Joined: 30th May 2009
Location:
Posted: 26th Oct 2009 14:02
Quote: "I don't think my analogies were crazy and/or irrelevant so it's not hypocritical. If you read my whole analogy you'd see I mentioned you can still have the car function if you pushed it, just that doing so is a waste of time and energy when you could instead use a car with an engine, I think it's quite valid, though maybe a bit more extreme than this situation."


Of course YOU don't think YOUR's are crazy or irrelevant. Because YOU wrote the damn things! God you are so up yourself dude. This is less "critisiams of DarkBASIC Professional" and more. Whining that it doesn't work the way you want it too. That you can't be bothered to program in the way that is needed.

DarkBASIC Professional is a freaking awesome language. I used it for just 7 days, with only a little background in BBC BASIC, and QuickBASIC. Within those 7 days, I had produced 3D Cubes, imported models, made them move. By day 7, I had programmed pong. Never programed a game before in my life! Within a month, that same pong game had evolved into full 3D, with shadow's, a great water shader effect, and even a reflective metallic surface in the ball. I hate to think how long it would have taken me to do all of that in C++ lol.
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 26th Oct 2009 14:08
I'm not disagreeing with these nice-to-haves being...nice-to-haves But if you think they are stifling development, I point you to 2 open source projects that prove otherwise...

1. FPS Creator. It's commercial, it's professional and it works. There are also lots of people out there managing to read it and modify it.

2. Brucie, the current tutorial code in the newsletter. It's a good example because it's well documented and dissected, and includes systems that lend themselves to the use of arrays in UDTs et al, but is managing very well without them.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 14:32 Edited at: 26th Oct 2009 15:05
Quote: "1. FPS Creator. "

I'm sorry, are you arguing for or against these basic core features? Mentioning one of the slowest and most buggy applications to come out of DBPro doesn't really help its case.

I haven't read the latest newsletter so I can't really comment on your second point.

As for nice-to-haves, aren't most of the language features just that? We don't need SELECT/FOR/DO/REPEAT/WHILE and such, so why do we have them? Removing these would most likely be beneficial since the complexity of the compiler could probably be significantly reduced, and not at much cost since it's extremely easy to recreate such constructs manually, and get this - without making code much harder to manage. Of course, your counter argument will no doubt be because these are basic fundamental constructs, which is our argument too.
DarkSINNER
15
Years of Service
User Offline
Joined: 30th May 2009
Location:
Posted: 26th Oct 2009 14:40
Let's look at this blokes original post shall we?

Quote: "I've recently been doing a lot of programming in decent languages(C++, lua) and my eyes have been opened."


Notice how he starts off by saying "decent language". DarkBASIC Professional IS a decent language. As a prototyper, quick development, and hobbiest language. DarkBASIC Professional fits the bill wonderfully. It's cheap, it does alot of the work for the user with easy commands, and supports everything that is nessassary to make games. Sure they might not be optimised as much as the quake engines, or run as fast as pure C++. But the commands are close to common sense english, the reasoning, layout and logic of the commands works great!

Quote: " After coming back to DBPro to write a small example I noticed many limitations with the DBPro language that just make no sense and do nothing but impede development time and make using the language much harder for many users, especially beginners."


You're not a beginner dude.You're not talking from the beginner end of the market. You're taking experiences gained from the other major languages. Which clearly you're fairly good at, then applying them, pretending to know what is, and isn't easy for beginners dude.

News flash! If C++ or Lua or whatever was that easy, then DarkBASIC Professional wouldn't have a market. The BASIC standard was invented for beginners. A tredition that DarkBASIC Professional does very well.

"Keep in mind, while some of these issues can be worked-around"

You are again, pushing other non-BASIC language standards ont DarkBASIC Professional. Your "work around" is just a negative way of saying. "You can do it"... well, if we can do it, why are you complaining? It's not like what you're bringing up can't be done. It just means you're so infexible, that you don't want to do it in the method that is required.

Another sign of a control freak I feel.

1-1) Lack of arrays in UDTs

Haha, and you think a "beginner" would know what a UDT is? User Data Types, work fine. I have on complaint with them. I've had no problems assigning arrays to datatypes. This is more than enough in the majory of cases. In fact it helps organisation. You have #Constants, Data Types, Globals, Arrays. Structure them properly at the beginning of the program, and the code looks perfectly neat.

To any flexible programmer this isn't a big issue to work around. Again it just means structuring your code a little differently compared to the other languages.

1-2) The inability to return a UDT from a function

Functions return local variables. If you want to update them, make them global. Works fine for me! As long as the variable is global it can be updated on the fly. If it isn't you just return the variable to the program loop. Easy peasy.

As for having Myvar as mydatatype within a function. Just stick it at the beginning of the program dude, and make it a global. Stick a quick comment after it saying what it is and you're set.

1-3a) Global variable declarations have to be 'executed' for initialization to happen

Just stick it in a subroutine, then write the subroutine in another source file. Sorted.

1-3b) Global array declarations have to be 'executed' for initialization to happen

Again, subroutine. Are you really sitting the complainin that DBPro has to "run commands" before they work? lol, this isn'tan OOP language. And as a "beginner" I can certainly see the logic of a program having to "run through commands one by one". Which is all DarkBASIC Professional is doing here.

1-4) The inability to pass UDT data from an array to a function

Quote: "This limitation makes even less sense, you can pass the contents of arrays that use any of the basic types to a function and you can assign the contents of any kind of array to a variable, but you can't pass a UDT array's contents to a function??? This limitation is again totally arbitrary and does nothing but impede development and confuse beginners."


You're not a beginner dude. I can't say it confused me any. As a beginner I was barely aware what an array even was! When I did find out, I cna safely say that I didn't notice this "limitation" lol. Again you're talking from the high end of the market. Please don't talk about beginners as it's clear to me. You've lost the ability to think like a beginner. You are once again speaking from your experiance with high end languages.

1-5) The lack of a distinct 'elseif'/'else if' statement

Use the Case statement dude. That's what it's there for.

1-6) Inability to do complex statements on 'exitFunction'/'endFunction'



The inability to do something like: 'endFunction something * 5'

err, how about you just do.

something = something * 5
endFunction something

Or just have:

something = functionname()
something = something * 5

or

something = functionname() * 5

Seriously this is nit picking at best. Hardly a difficult bit of programming.



1-7) No function overloading

Oh yes, as a "beginner" functionoverloading is always on my mind... It's not at all the first time I've heard the term at all! Yes, this is Irony.

2-1) Lack of option explicit

Quote: "Some users believe the ability to randomly use variables without declaring them beforehand is a feature, while this may be true, you should also have the ability to disable it as it can very quickly lead to issues that are very hard to debug."


Oh no! We can create variables on the fly! The HORROR!

2-2) Vectors and matrices aren't basic types

No comment here, I'm a beginner. I'll just load in my models, play the animation an go "awesome, that was soo easy"

2-3) No methods in UDTs

Dude your obsessed with User Data Types. Seeing UDT again, just made me skip over what you said.

2-4) No references

I got bored at this point, and decided to go hit my head against the wall repeatedly.

Darkcoder has basically out grown DarkBASIC Professional. I can see that. Fine, good for him. He can go use DarkGDK, or move to another language entirely.

But. As a True Beginner. I'm dead chuffed that I managed to produce a great pong game inside of a month with barely any coding skills at all. DarkBASIC Professional, has taught me alot, many of the skills I'm told are transferable to other languages. All this for the price of a new game! I've seen collages, and schools using DarkBASIC and DarkBASIC Professional to teach with.

I just hope, when I'm skilled enough to move to another langauge. I won't be like Darkcoder. Who's basically not willing to move on, he's obsessed with DBPro, and simply trying to drag it behind him. Shape it into whatever new standards he's learned. Just so he doesn't have to say goodbye to it.

Darkcoder it's clear DarkBASIC Professional has done alot for you! Rather than complaining about what you CAN'T do in it. Perhaps you should just smile, thank TGC and move on.
DarkSINNER
15
Years of Service
User Offline
Joined: 30th May 2009
Location:
Posted: 26th Oct 2009 14:52
Quote: "I'm sorry, are you arguing for or against these basic core features? Mentioning one of the slowest and most buggy applications to come out of DBPro doesn't really help its case.

I haven't read the latest newsletter so I can't really comment on your second point.

As for nice-to-haves, aren't most of the language features just that? We don't need SELECT/FOR/DO/REPEAT/WHILE and such, so why do we have them? Removing these would most likely be beneficial since the complexity of the compiler could probably be significantly reduced, and not at much cost since it's extremely easy to recreate such constructs manually, and get this - without making code much harder to manage. Of course, your counter argument will no doubt be because these are basic fundamental constructs, which is our argument too. "


I'm using FPS Creator. My only minor gripe with it is the level loading times. Beyond that. It's not buggy, it works. And it does what's advertized. It's priced no more than a new game.

The trouble is people come into this wanting to make the next F.E.A.R. or Bioshock. Of course a £29.99 product won't do that. How thick would you have to be to think that?

What is does do, is allow for the quick building of fun FPS games. Have you seen some of the entries made into the TGC competitions? Beyond life is freaking awesome. I sooo wanted to play more of that!

Back to DBPro, again the nVidia competition showed what is possible with the language. That dragon game, the one with the matrial arts. For an indi developer the animation, moves and playability was freaking awesome. I sooo want to buy that game! Wasn't Darwin or something simular produced i DBPro or DarkGDK? DarkBASIC Classic has the starwraith games.

And of course FPS CReator was programmed in DarkBASIC Professional, a highly sucessful product. Easy to use, easy to understand.

No, all you moaners aren't critising the language. Your critising your lack of development skill. Ben, what has he ever made? I've never seen a program made by him at all. Darkcode is the exception he's made some amazing stuff. Which, dispite his complaining, only goes to show that DarkBASIC Professional is a perfectly capable language.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 15:03 Edited at: 26th Oct 2009 15:07
DarkSINNER, I can't be bothered to read the entirety of both your posts, but I think you've missed the point. He's not mindlessly slamming DBPro because it doesn't do what he wants, he's offering suggestions that would benefit the language. You'd realise this if you took some time to read his posts properly rather than just assuming he's slagging off DBPro for the sake of it.

... Actually while writing this I read the end of your second post. I'm not sure if you're just some angry fanboy who wants to insult others because they appear to be putting down your favourite toy, or if you're just trolling, but please refrain from such comments. This is intended to be a mature debate.
Daniel TGC
Retired Moderator
17
Years of Service
User Offline
Joined: 19th Feb 2007
Location: TGC
Posted: 26th Oct 2009 15:15 Edited at: 26th Oct 2009 15:16
No, suggestions go.

In my opinon, the language sould be able to do xx

Not

I've just been using a decent language, here's what's wrong with your language.

You also don't entitle your post "Criticisms of DarkBASIC Professional"

You'd call it "Suggestions to improve DarkBASIC".

I've noticed that the two of you, do tend to put a negative spin on things whenever possible.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 15:18 Edited at: 26th Oct 2009 15:18
Quote: "I've yet you see you Ben, or Darkcoder actually sit down and write "the great things DBPro can do!". No, you simply sit there delighting in taring apart, bashing, and complaining. I for one and tired of seeing your endless complaining."


I am aware you aren't familiar with the concept of constructive criticism so I'll let such a comment slip.

I don't think DBPro is a bad language, I just think it could be made a lot better, especially with the basic improvements mentioned on this thread. I would like to see one of my favourite tools improved.

Now please will everyone stop taking this criticism of the language as a personal insult.

And will the person above refrain from getting personal. If you can't debate the issues at hand, don't bother posting. I don't really want a vicious argument here, just a friendly debate.
Daniel TGC
Retired Moderator
17
Years of Service
User Offline
Joined: 19th Feb 2007
Location: TGC
Posted: 26th Oct 2009 15:20
When was the last time you said something nice about a TGC Product Ben?

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 15:34
Quote: "When was the last time you said something nice about a TGC Product Ben?"


I couldn't possibly tell you, because since the past couple of years I haven't been properly using DBPro. I can assure you that I have indeed praised TGC on some occasions. I think that for the most part they've done a good job with the product as a whole. Anyway, this is completely off-topic.

Could we please get back to the discussion that offers the opinions of those that have used it and other languages significantly, in the hope that we can improve it (and by this I mean the people that are actually debating properly on topic - VanB, Me, etc ).
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 26th Oct 2009 15:37
Quote: "I'm sorry, are you arguing for or against these basic core features? Mentioning one of the slowest and most buggy applications to come out of DBPro doesn't really help its case."


It's not slow, and it's not buggy. Users still have to adhere to the principles of good design. If somebody doesn't understand the concept of portals and occlusion, and doesn't read any of the vast amounts of information available, then it will be slow. If they realise they have a £30 program that covers everything but the advanced scripting and design and with a little effort they can produce something worth playing, then they will be successful.

Let's face it, 99% of users here cannot write an FPSC standard game/app in any language, so arguing that the extra commands are essential is pointless. If they could write an FPSC standard program, they wouldn't be here in the first place.

I reiterate - I would love to see some of these extra commands, and it's good to discuss it, but it cannot be argued that they are essential.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 15:41 Edited at: 26th Oct 2009 15:42
Quote: "It's not slow, and it's not buggy. "


Well then, I suppose we won't be able to debate this as it's clearly down to personal opinion when it comes to what is regarded as 'buggy' and 'slow'.

Quote: "Let's face it, 99% of users here cannot write an FPSC standard game/app in any language"


What's the reasoning behind this statement?

Quote: "I reiterate - I would love to see some of these extra commands, and it's good to discuss it, but it cannot be argued that they are essential."


I can agree with you that they aren't essential. But I do still feel that they are fundamental features.
dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 26th Oct 2009 15:42
Quote: "When was the last time you said something nice about a TGC Product Ben?"


I wasn't aware that praise must be balanced out with criticism.

Why must people resort to attacking people's characters or motives rather than their points? These are both logical fallacies you know.


Quote: "Notice how he starts off by saying "decent language". DarkBASIC Professional IS a decent language."


I mentioned C++ and lua as being examples of decent languages, if you think DBPro is as good as these then you clearly haven't used it enough to see these obvious flaws, luckily, I pointed the major ones out along with justifications, so come back when you've read the thread.

Also, take note that throughout the thread, when I refer to DBPro I'm talking about the core language, as that's what matters. When I say C++ is a decent language, I'm not referring to the quality of the boost libraries or OGRE, but the core language.

pcRaider
17
Years of Service
User Offline
Joined: 30th May 2007
Location:
Posted: 26th Oct 2009 15:47
It is natural for a language designer to write a good code.
There is a necessary thing so that other people write a good code.
The statement that is kind to another person.
And a good commentary document is necessary.
Sasuke
18
Years of Service
User Offline
Joined: 2nd Dec 2005
Location: Milton Keynes UK
Posted: 26th Oct 2009 15:47 Edited at: 26th Oct 2009 15:48
Quote: "Let's face it, 99% of users here cannot write an FPSC standard game/app in any language, so arguing that the extra commands are essential is pointless. If they could write an FPSC standard program, they wouldn't be here in the first place."


I bet I know who's in that 1%, though looking at what he's doing now I wonder if he's still around.

One thing though, if these core features were implemented, in what state would FPSC be in?

A dream is a fantasy, if you achieve that fantasy it was never a dream to begin with.
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 26th Oct 2009 15:49
Quote: "Quote: "Let's face it, 99% of users here cannot write an FPSC standard game/app in any language"

What's the reasoning behind this statement?"


Just trying to point out that you (as in anyone, not you personally ) can't blame the tools if you don't know how to write a decent application in any language. The majority of users are just hobbyists who are dabbling in the world of coding, these features won't make them code any better, maybe just a little quicker.

borngamer
15
Years of Service
User Offline
Joined: 16th Sep 2009
Location: London, Ontario
Posted: 26th Oct 2009 15:51
I've been staying out of replying to this thread and I'm not going to get into the argument. However, I did want to spend a second talking about the whole if...else if... debate.

Select/Case statements are only good for single value checks.

If you are comparing only one value, a Select/Case statement is great.

SELECT feelings
CASE happy: PRINT "Happy"
CASE sad: PRINT "Sad"
ENDSELECT

But it is not a good tool if you have more than one condition. Take the following example, a SELECT/CASE statement wouldn't work.

if feelings=happy and wallet=fullofcash
PRINT "Happy and ready to party"
elseif feelings=happy and wallet=empty
PRINT "Happy but broke"
elseif feelings=sad and wallet=fullofcash
PRINT "Sad but have cash to buy happyness"
elseif feelings=sad and wallet=empty
PRINT "Sad and broke"
endif

However, this said, nesting if statements isn't difficult. It just get's a bit messy to look at.

I agree that elseif would be a wonderful addition to the language, however it won't stop me from doing what I need to do.

John
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 26th Oct 2009 15:54
Quote: "The majority of users are just hobbyists who are dabbling in the world of coding, these features won't make them code any better, maybe just a little quicker."


So it's not worth catering towards those that will actually create anything of any significance because they are in the minority?
Daniel TGC
Retired Moderator
17
Years of Service
User Offline
Joined: 19th Feb 2007
Location: TGC
Posted: 26th Oct 2009 16:33 Edited at: 26th Oct 2009 16:36
Quote: "Quote: "Let's face it, 99% of users here cannot write an FPSC standard game/app in any language"

What's the reasoning behind this statement?"


How about the fact, that no one other than Lee has ever made it

99% is pretty generous I think. 1% of the world population is still alot of people!

Quote: "Quote: "Notice how he starts off by saying "decent language". DarkBASIC Professional IS a decent language."

I mentioned C++ and lua as being examples of decent languages, if you think DBPro is as good as these then you clearly haven't used it enough to see these obvious flaws, luckily, I pointed the major ones out along with justifications, so come back when you've read the thread.

Also, take note that throughout the thread, when I refer to DBPro I'm talking about the core language, as that's what matters. When I say C++ is a decent language, I'm not referring to the quality of the boost libraries or OGRE, but the core language."


lol, you are a great programmer Darkcoder, but for the love of god. Don't become an ambassardor. You'd start world war 3, 4, 5, and 6, overnight.

DarkBASIC Professional is a Decent language. It does what it's designed to do, and it does it well. It takes the confusing syntax of other languages such as C++ and turns it into something closer to the english language. That's pretty much been the BASIC standard since it first started. It's not as fast, I agree. But so what? As a prototyping, hobbiest and indie development package DarkGAME Studiod does the job, and keeps the user within a low budget, while not limiting the users sales. You consistantly, and without fail place DarkBASIC Professional within the same market, target group as languages such as C++. Anyone producing games like FEAR, BIOSHOCK, or whatever, is going to have alot of capital behind them. DarkBASIC Professional allows garage developers, indie and hobbiests a way into programming without having to make it a full time job. They don't have to go through years of professional training to use it.

When you look at it's price, it's design goals, and the market targetted. It's a very decent language! In some respects it doesn't do what Blitz basic does, which many consider to be it's direct competitor. However, it's engine isn't based on Direct X 7, but the far newer Direct x 9.0c. It does use shaders, which any gamer will want to put into their games these days. Examples such as FPS Creator demonstrate what the langauge is able to do.

So yes Darkcoder. You should learn to balance your critisiams with the odd "what I do like" now and then.

DarkBASIC Professional does it's job, and it does what it was designed to do, very well. But it's not designed to replace, or improve upon C++, or any other language that has had many, many developers contribute to it. I think Lee does a remarkable job.

dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 26th Oct 2009 16:59
Quote: "How about the fact, that no one other than Lee has ever made it"


You just offered a response to a question that wasn't posed; writing an "FPSC standard game/app in any language", doesn't require you to write FPSC, just one of its standard, which, if you're going by coding quality isn't hard to attain.

Quote: "lol, you are a great programmer Darkcoder, but for the love of god. Don't become an ambassardor. You'd start world war 3, 4, 5, and 6, overnight."


Okay...?


Quote: "You consistantly, and without fail place DarkBASIC Professional within the same market, target group.[citation needed]"


I haven't done this at all, believe it or not, it is possible to compare languages that aren't in direct competition. Because guess what? I'm comparing their implementation of their chosen paradigms, if I wasn't then I wouldn't have listed C++ and lua because they are completely different. lua has about a trillion more features C++ will never see, but that doesn't make it any better, just completely different, I can still compare their implementations though, as I'm doing here.


Quote: "When you look at it's price, it's design goals, and the market targetted. It's a very decent language!"


I wasn't aware that the quality of a language was related to its cost. Good to know, as MSVC++ express is free, thus its quality must be over 9000.


Quote: "DarkBASIC Professional does it's job, and it does what it was designed to do, very well. But it's not designed to replace, or improve upon C++"


You clearly didn't read the thread; I've already addressed this.

Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 26th Oct 2009 17:30
Quote: "So it's not worth catering towards those that will actually create anything of any significance because they are in the minority? "


TGC does cater to those that will create things of significance. I know many examples of this and there are probably lots of examples that I am unaware of. I've experienced it myself.

Those that "will" create something of significance are already creating things of significance. That has very little to do with the tools. The tools just help you express the idea. Being able to return a UDT from a function will not make a ho-hum idea into a thing of significance. NOT being able to return a UDT from a function will not prevent a great idea from becoming a thing of significance.
It's never about the best programmers. It's always about the most creative and the most driven. Frankly, that is a much better group to cater to as they will be the ones who create things of significance. So, while I do agree that all of these things would be nice, I also don't think any of them will make a bit of difference in the output from this community. I'm all for adding them, but not having them doesn't deter me in the least.


a.k.a WOLF!
Alfa x
18
Years of Service
User Offline
Joined: 1st Jul 2006
Location: Colombia
Posted: 26th Oct 2009 18:15
@ Bat, Ron, Daniel: There is a premise when you deliver something of any kind, the less people talk the better when people complains, make suggestion and so on, is because there is a lack of something.

If people feels, that something is missing, and should be implemented, you should not take things lightly, and is better if they are adressed..., DC only exposed various things that for some people can become a pain in the neck. If they were there it would be very nice to develop in DBPRO for some people. I don't think he is atacking DBPRO, rather aiming that people has a better developing experience, and that the products that can be developed with TGC can have a better future (So in the ends all is redundant benefiting TGC).

I know it's hard when you are hard to digest when something you are behind gets criticized, but rather than start debate in an opposite way that can get the things offtopic, TGC and its moderators should answer how (and when) they are going to be adressed (if they are going to be), and if not say it too. If this things exist, you should address to what extend some of them can be implemented or not, and making a decision (For example for me passsing by reference is so damn necessary that I feel a frustrated), thus improving yours products. You can't possible know what can be done with this features / suggestion, if you never implement them. Take a look and a shot, so all the community including yourselfs can improve together.
Daniel TGC
Retired Moderator
17
Years of Service
User Offline
Joined: 19th Feb 2007
Location: TGC
Posted: 26th Oct 2009 18:27 Edited at: 26th Oct 2009 18:45
Quote: "I haven't done this at all, believe it or not, it is possible to compare languages that aren't in direct competition. Because guess what? I'm comparing their implementation of their chosen paradigms, if I wasn't then I wouldn't have listed C++ and lua because they are completely different. lua has about a trillion more features C++ will never see, but that doesn't make it any better, just completely different, I can still compare their implementations though, as I'm doing here."


I could compare a Sports car with a family carrier if I wanted too. I could sit here, and go on and on, about how the sports car can do all this wonderful stuff that the people carrier doesn't! I cold also complain that the sports car doesn't have enough space! But it would be massively unfair of me to do so. They are both designed for different purposes.

DarkBASIC Professional does it's job. It isn't C++ but, it can do the majority of things you need. It's just in some cases it doesn't do some things in one command, or in the way you want it too. Ron has a point, these minor issues you bring up don't affect the creative talant here. They may address an inconvinance or two for you. But I can't really think of a situation where any of those out right prevents you from coding, or developing. I'm afraid the words "work around" to me, just means "had to do it in a way I didn't want too."

Quote: "I know it's hard when you are hard to digest when something you are behind gets criticized, but rather than start debate in an opposite way that can get the things offtopic, TGC and its moderators should answer how (and when) they are going to be adressed (if they are going to be), and if not say it too. If this things exist, you should address to what extend some of them can be implemented or not, and making a decision (For example for me passsing by reference is so damn necessary that I feel a frustrated), thus improving yours products. You can't possible know what can be done with this features / suggestion, if you never implement them. Take a look and a shot, so all the community including yourselfs can improve together. "


I address the customer service side. I have no hand in development. When people send in suggestions, I pass them along to Lee. The moderators also have no hand in development. They are here to moderate the forums, and are community volanteers giving up their time to do so.

Bugs can be addressed easily as we have a specific board for them.

My issue with Darkcoder isn't what he's saying. It's the way he says it. When he says things like "decent language" that gives the impression it isn't a decent language. And thus I have to wonder why he keeps using it! He may not intend to come across in the way it does. But anyone considering purchasing DarkBASIC Professional, could well come across his thread not understanding programming and suddanly not want to purchase it anymore.

dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 26th Oct 2009 18:44
Quote: "I could compare a Sports car with a family carrier if I wanted too. I could sit here, and go on and on, about how the sports car can do all this wonderful stuff that the people carrier doesn't! But it would be massively unfair of me to do so."


If you read the thread you'd know I'm not doing this at all, to use your analogy, I would be comparing the build quality and shared features of it; commenting on how the family carrier has doors that are welded shut, forcing me to enter and exit through the window, which is a fine work around, but it's pointless and makes no sense(the whole point of this thread).


Quote: "these minor issues you bring up don't affect the creative talant here."


Obviously, but it does impede the speed at which you can develop your ideas into programs, and also increase your learning time to be able to express those ideas. These can both lead to you thinking up less ideas due to having less time to think them up.

Daniel TGC
Retired Moderator
17
Years of Service
User Offline
Joined: 19th Feb 2007
Location: TGC
Posted: 26th Oct 2009 18:55
Quote: "If you read the thread you'd know I'm not doing this at all, to use your analogy, I would be comparing the build quality and shared features of it; commenting on how the family carrier has doors that are welded shut, forcing me to enter and exit through the window, which is a fine work around, but it's pointless and makes no sense(the whole point of this thread)."


lol, that's my point. Never in moderation. Now you are basically saying that DarkBASIC Professional has massive blocks on it forcing people to take extreme measures to get around the problem. This isn't true at all. I'm sure in your mind it's the end of the world. But, I bet any kid who's seen the dukes of hazard is going "cool!". Well any child of the 80's anyway.

Quote: "Obviously, but it does impede the speed at which you can develop your ideas into programs, and also increase your learning time to be able to express those ideas. These can both lead to you thinking up less ideas due to having less time to think them up."


Maybe the first time you hit a speedbump it may slow you down a little. I dunno about you, but if I hit a problem. I'll write it down in my TiddlyWiki, copy the code and write a quick tutorial. The next time I need it. I'll have instructions. No matter what languge you use you'll hit speedbumps. But once they are solved. As long as you write things down, they never need to slow you down again. That's just basic organisation.

EdzUp
22
Years of Service
User Offline
Joined: 8th Sep 2002
Location: UK
Posted: 26th Oct 2009 19:07
Quote: "
Maybe the first time you hit a speedbump it may slow you down a little. I dunno about you, but if I hit a problem. I'll write it down in my TiddlyWiki, copy the code and write a quick tutorial. The next time I need it. I'll have instructions. No matter what languge you use you'll hit speedbumps. But once they are solved. As long as you write things down, they never need to slow you down again. That's just basic organisation.
"


You will be suprised how many times remarks come in useful . It may seem an annoyance adding `this does this and that by using this. If you come back to your code later you will be surprised how much easier it is to read.

As I said in my earlier posts its the job of programmers to work around these problems which has been done to some extent the thing I think is raised here is that adding these things to the language will make it MUCH easier for them to learn.

-EdzUp
Alfa x
18
Years of Service
User Offline
Joined: 1st Jul 2006
Location: Colombia
Posted: 26th Oct 2009 19:51 Edited at: 26th Oct 2009 19:52
Quote: "
My issue with Darkcoder isn't what he's saying. It's the way he says it. When he says things like "decent language" that gives the impression it isn't a decent language. And thus I have to wonder why he keeps using it! He may not intend to come across in the way it does. But anyone considering purchasing DarkBASIC Professional, could well come across his thread not understanding programming and suddanly not want to purchase it anymore."


You have the reason in this point, but I think that he didn't make that comments with that goal (maybe he was exalted?) (Altought I can't asssure this ).

What I don't what to happen is that the true meaning of this thread loses its purpose, because in the end I think this will be beneficial to all.
Grandmaster B
15
Years of Service
User Offline
Joined: 30th Aug 2009
Location:
Posted: 26th Oct 2009 22:02
You should take a look at FreeBASIC, while i think its to complicated for beginners to learn it in its entirety, there are a lot of examples how a Basic language can extend itself in a useful way. FreeBASIC is used by beginners and experts alike.

What is the point about not extending the DarkBASIC language to its own good? You can't argue that the requested features are useful for many people and open new possibilities that are already available and proven elsewhere.

@Mods: Im sure nobody wants to offend DarkBASIC - its good, like you sad. But why not taking it to the next level? Any software gets updates...
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 26th Oct 2009 22:35
Quote: "If people feels, that something is missing, and should be implemented, you should not take things lightly, and is better if they are adressed."


I agree. I don't have a problem with the discussion, it's how many of the newer features of DBP have made the way into the product. My point is as Ron says - those who can, just do. They don't let the lack of certain features get in the way. People who can't often use threads like this to justify their lack of progress. Given that it was DC who started the thread, who is one of the most productive people around here, I understand the premise on which it was started. Some of the posts, though, are leaning towards blaming the language for producing nothing.

By the way...the Mods have nothing to do with the product. We're just here to take the abuse

Jeff Miller
19
Years of Service
User Offline
Joined: 22nd Mar 2005
Location: New Jersey, USA
Posted: 27th Oct 2009 02:09
I don't view the Mods as here "to take the abuse". In many threads, and to an extent in this thread, I've seen Mods frankly discuss limitations of the DBPro product, and apparently not get sacked for doing so. In this thread some Mods may feel some heat for a personal opinion, but I don't think the heat has been generated by their status as a Mod, but rather based upon a disagreement with the opinion itself.

This is an interesting thread for several reasons, including the fact that 5 Mods have jumped in, which is fairly unusual. 4 offered interesting and valuable perspectives on the issues; 1 commercially exploited the issues, which I found nothing less than amazing. That TGC would countenance a Mod throwing DBPro under the bus illustrates TGC's extreme open-mindedness, even to the extent of questionable business judgment, and proves that Mods are certainly not here "to take the abuse".

I hope that the discussions in the thread will prompt some revisions in DBPro to address the limitations that have been specifically pointed out by Dark Coder and others who have participated. However, if the revisions are not addressed, I will continue to use it.
dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 27th Oct 2009 05:39
Quote: "lol, that's my point. Never in moderation. Now you are basically saying that DarkBASIC Professional has massive blocks on it forcing people to take extreme measures to get around the problem. This isn't true at all."


You just said yet another random blanket statement without putting forward any points to back it up! I don't know about you, but I've written many many projects in DBPro that are several thousand lines long so I know exactly what limitations with the language are incredibly annoying. The lack of UDTs in arrays isn't some limitation you can just wrap in a function once and never come across the issue again, it's something you must constantly work around whenever you need it.

As I've already mentioned in this thread, due to this, development time with the language is exponential with code length because once your work arounds start interacting with your other ones then you have one giant headache to manage. At the end of the day I found C++ easier and faster to work with, and that's not even mentioning the other benefits that come with it, why is this? The only reasons I should leave DBPro should be because I either need lower level access, or faster runtime speed, not because the language is too annoying to use.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 27th Oct 2009 08:11 Edited at: 27th Oct 2009 08:21
Quote: "Those that "will" create something of significance are already creating things of significance. That has very little to do with the tools. The tools just help you express the idea. Being able to return a UDT from a function will not make a ho-hum idea into a thing of significance. NOT being able to return a UDT from a function will not prevent a great idea from becoming a thing of significance."


Of course, if the programmer is determined they will work around the limitations of the language, with additional complexity and development time. But it's tedious, and some people are put off by this. But it's not all about the projects that never see the light of day, it's also the projects that see reduced productivity because of these limitations.

As far as I'm aware no one here has stated that these are essential features, although some of them are fundamental and would help decrease code complexity, development time, and increase manageability.

I'm not sure what your argument is here, but let me address what I think it is:

Do these limitations prevent projects from getting finished? Well we have proof that some projects do indeed get finished, so we can't say that this statement is true. But just the same we can't say that some projects don't get finished because of these limitations. And I'm aware that given the effort it is possible to work around all of these limitations, but as I said before it's not just about the possibility of doing it, but it's also the willingness.

Now my argument (one of the original ones I believe):

Do these limitations have the potential to increase code complexity, development time, and hinder manageability? Yes.
Sid Sinister
19
Years of Service
User Offline
Joined: 10th Jul 2005
Location:
Posted: 27th Oct 2009 08:25 Edited at: 27th Oct 2009 08:27
I saw the writing on the wall a long time ago and quit DBP. Useless updates, no upgrades. Now I'm in school for game programming and using more advanced languages anyway.

And if I may add my two cents, arguments like:

Quote: "most users won't be bothered by these issues until it hits them, IF it hits them."


are complete fallacies IMO. I understand the point, but I definitive don't agree with the line of thinking at all. If TGC's line of thinking is this way as well, then I'm saddened. Not in a sarcastic way, but in a real way. Even though I never really made anything in DBP, it's a fond memory. I would hope that TGC is in the business to improve their products.

As a community, we KNOW how awesome DBP can be. And as a community we KNOW how to make it even better. It's frustrating, isn't it? To sit back and not be able to make it better? If TGC doesn't improve it, or release DX10 DBP sometime in the next year or two, I would really like to see this language go open source. At this point, I think TGC is getting in it's own way.

"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
Current Project: http://strewnfield.wordpress.com/ (Last updated 06/11/09)

Login to post a reply

Server time is: 2024-11-23 05:00:40
Your offset time is: 2024-11-23 05:00:40