PB Reliability

Everything else that doesn't fall into one of the other PB categories.
User avatar
geoff
Enthusiast
Enthusiast
Posts: 128
Joined: Sun Apr 27, 2003 12:01 am
Location: Cornwall UK
Contact:

PB Reliability

Post by geoff »

Please excuse me for raising this issue again.

I believe PureBasic is brilliant and I am impressed by what Fred has achieved, but I wish to make a few constructive criticisms.

The recent issue of PB3.94 shows up shortcomings in the way PureBasic is being developed. We have had 5 beta issues, followed by a "final" version that still has significant bugs, and won't even run on some versions of Windows.

I believe the following measures would improve this situation:

1) Once at beta release, only bug corrections should be done, and by the simplest method available. It is not a good idea to re-write stuff to make it neater, to add anything new, or to change the structure or logic of how things are done. If you do this you revert to an untested system and have to start testing all over.

2) Posting odd files for people to download is not a good idea. Everyone ends up with a slightly different version and it is difficult to compare test results. Every version, however small the changes should have a version number so it can be uniquely identified. It does not matter if we end up with numbers like 3.94.2.1, extra numbers cost nothing.

3) At least some testing should be done for each version on the supported OS's. Version 3.94 crashed Windows 98 and Me with a single line program containing only the command "End". I assume this version was not tested at all on these OS's

4) There is always a conflict between the desire to add new functionality and the need to create a tried and tested reliable tool. I believe that some of the core enthusiasts and developers give new functionality too high a priority and ignore the "silent majority" who want a solid and reliable tool to enable them to get on with coding that supports their other interests or enterprises in a reliable manner.
wcardoso
User
User
Posts: 80
Joined: Fri Apr 25, 2003 5:06 pm
Location: Uruguay

Post by wcardoso »

I agree 100%. That's said. Period. :roll:
with love from Uruguay
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post by Trond »

We're not allowed to report stuff that's will cause PB to become more solid than barely glued together with tape because then people call you "Role model for Anal Retentives" because they want to get on with adding more features.
Edwin Knoppert
Addict
Addict
Posts: 1073
Joined: Fri Apr 25, 2003 11:13 pm
Location: Netherlands
Contact:

Post by Edwin Knoppert »

Agreed, even if the tone is not so nice.

There are important things to do, but checking the use of this compiler on this forum it seems to be used more on games stuff then truly serious stuff.
Also the dll license witholds to take it serious, for business i mean.
I mean you can get far but a few things make it more a hobby than really profi.
I have no intention to blow PureBasic away, really.
But a few aspects to increase the status of pb are still not implemented.

You can do a lot with pb, don't misunderstand me.
But lacking doubles and a good string engine...?
(Or it must be changed lately?)
Also the resource stuff was added in the latest 3.94, something like that could be done months or even years ago.

Again, it's not my intention to have a pick on pb, but my reaction now was mainly because of the critic on Trond in another thread, be pleased someone mentions anything he sees, you can always say that it will be done in the far future or not at all.
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

There is a simple way to achieve the results you are looking for. A bit of simple arithmetic will put it right in no time. Just take the number of coders listed in the About box, multiply by nine, and poof! You've got it. These guys eat, drink and sleep and breathe this stuff for the pure love of the project and for the benefit of the user base. All for sixty euros a pop. What do you want for crying out loud? :shock: :shock: :shock:
BERESHEIT
Edwin Knoppert
Addict
Addict
Posts: 1073
Joined: Fri Apr 25, 2003 11:13 pm
Location: Netherlands
Contact:

Post by Edwin Knoppert »

You are over-protective..
Money is not the issue, products are.
If some dumb new image import is implemented and not a good working string engine i call that keeping it hobby.
It might take 2 or 7 days whatever, then you should have proper string and double behaviour.
In spite of things we should write ourselves.
A compiler (like this) should have the basic functionality first, then optional stuff)

I seen the requests for resources long time ago, but imo not asked by a lot of people, this gives me thinking.
Only workarounds where available.

It's a goal for a compiler like this to let it embed resources, a secundairy support is if it provides function to obtain the resources, but that's not a goal.
That's my point.
pantsonhead
User
User
Posts: 39
Joined: Fri Mar 26, 2004 1:47 pm
Location: London, UK
Contact:

What constitutes a "good string engine"?

Post by pantsonhead »

What kind of string functions are you missing Edwin Knoppert?
oldBear
Enthusiast
Enthusiast
Posts: 121
Joined: Tue Jul 05, 2005 2:42 pm
Location: berrypatch

Post by oldBear »

Having run data centers for several large fortune 100 companies for a number of years (decades actually) I can sympathize with you and offer a little time tested advice.

For critical production applications, never move to the latest version of anything until it's been released long enough to have been thoroughly tested in the real world - not just beta tested.

Develop on the latest release (development, not "fixes" to production).

As much as we'd like to have it that way, new relesases are never bulletproof. Ask M$ or any other software producer.

Any of you immediately jump to the latest release of windows as soon as it's available for your critical production application environments? I doubt it. By design, and published to our customers, we stayed at least 1 release behind (this was unix and/or MVS) and our customers appreciated it.

Now, this assumes an environment where bugs in releases are "fixed" and not delayed until the next production release. I haven't been around here long enough to know if that's the case or not.

cheers,
Edwin Knoppert
Addict
Addict
Posts: 1073
Joined: Fri Apr 25, 2003 11:13 pm
Location: Netherlands
Contact:

Re: What constitutes a "good string engine"?

Post by Edwin Knoppert »

pantsonhead wrote:What kind of string functions are you missing Edwin Knoppert?
Nothing much since i almost never use PureBasic.
It's just that i suggest to change the approach a little to embeded the more profi parts.
Note that i don't know all the changes lately so forgive me.

1) A string engine using ANSI BSTR's
Even for exported functions so VB and PowerBASIC can use it directly
Not the most important per se but the same string engine will provide the 2gig size.

2) Resources, lacking them gives a hobby taste, very good it is in right now (at last).

3) Doubles, and i mean not the stuff with 2xlongs or so.

4) Option Explicit (var. declaration)

I can most likely bring up a few more, don't know them now.
Things like don't let the program start at front but let it start at a winmain entrypoint.
It's very confusing imo.
Get rid of all the non-direct selectable objects, like you need to select a window to reach a gadget.
Go back to Windows, having hWnd + ctrlid's (the PB syntax itself mean).
(Same applies to loading dll's, the loading id i mean)

Hope you get enough things to think over to improve the language itself and not the features.
Edwin Knoppert
Addict
Addict
Posts: 1073
Joined: Fri Apr 25, 2003 11:13 pm
Location: Netherlands
Contact:

Post by Edwin Knoppert »

Actually, when i implement a new feature in one of my designers, it will be provided to the users as beta.
There is a master and beta.
The beta functions usually have no impact on existing stuff, sometimes though.
If it has it was usually a minor change.

So imo features can stay in a beta for a long time.
End users know that this new stuff can change during the beta.
So it can be followed since i made the changes known.
I don't see much difference with pb, only it might have to much feature changes at a time?
Don't know.
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Well, honestly I had no idea bout the win9x bug. Thats a foolish thing to let happen.

I think fred should release a fix as a hotfix ASAP for this.

Otherwise I think that the guys are doing a great job.
User avatar
geoff
Enthusiast
Enthusiast
Posts: 128
Joined: Sun Apr 27, 2003 12:01 am
Location: Cornwall UK
Contact:

Post by geoff »

I think fred should release a fix as a hotfix ASAP for this.
He has done, it seems to fix the Win9x problem
http://www.purebasic.com/beta/PureBasicIDE.zip
freak
PureBasic Team
PureBasic Team
Posts: 5944
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

Post by freak »

First of all, let me say this: No software is ever perfect, but on some point you just have
to release it, or you can never move on.

Did you guys realize that this version had the longest beta-Phase in PB's history ??
Do you think that was for fun? Of course not, we have spend endless days
and nights trying to fix all the bugs that were reported. And in my opinion,
v3.94 is a pretty solid version. (except for the ME bug, read below)

Since beta4 & beta5, the number of reported bugs has gone down seriously,
and the logical choise is to release a final version. (where final is relative here,
PB is in constant development, as you know)
What do you want us to do, keep it in beta forever !?

People value the fact that a PB update is released several times a year,
and not (like other products) once every 2 years or so.
This has been said many times around here, just read this recent post:
viewtopic.php?t=16102

So the so called "silent majority" who just wants to stay at v1.0 beta,
with no features, but at least they work 1000% is maybe not as "major"
as you migh think.

To some of your comments:

geoff:
The recent issue of PB3.94 shows up shortcomings in the way PureBasic is being developed. We have had 5 beta issues, followed by a "final" version that still has significant bugs, and won't even run on some versions of Windows.
This is simply not true. It is no way full of "significant bugs".
So far 3.94 has shown only one major bug
(which happens to be yours), but which need i remind you also only
affects a minority of PB users.
Stuff like this happens, we are also just humans, did you know that?

Now if you want to continue using such an old version of Windows, that is fine, and we will do our best to keep it supported, but you have to get used
to the fact that support for more recent, more popular versions of Windows
comes first.
1) Once at beta release, only bug corrections should be done, and by the simplest method available. It is not a good idea to re-write stuff to make it neater, to add anything new, or to change the structure or logic of how things are done. If you do this you revert to an untested system and have to start testing all over.
Very true, and we are doing just that. There is usually only very few new stuff
added after the first beta is out.
The fact that it is a little different this time is that the IDE and debugger is
a completly new product, which resulted in many suggestions by users,
especially those comming from jaPBe.
So yes, it wasn't only bugfixes, but thats also why we had 5 beta versions here,
compared to 2-3 for PB updates so far.

btw, after the beta5 was out, all i added was the "SaveAll", "CloseAll" menu
and one preference option. So yes, we do take this point seriously.
2) Posting odd files for people to download is not a good idea. Everyone ends up with a slightly different version and it is difficult to compare test results. Every version, however small the changes should have a version number so it can be uniquely identified. It does not matter if we end up with numbers like 3.94.2.1, extra numbers cost nothing.
We cannot re-package the whole thing every time one small thing gets changed in one file.
SmartUpdate is the way to go to ensure that you have the latest non-beta
files available. (or if this does not work, teh files are usually on www.purebasic.com/update/ too.)
3) At least some testing should be done for each version on the supported OS's. Version 3.94 crashed Windows 98 and Me with a single line program containing only the command "End". I assume this version was not tested at all on these OS's
You are wrong. I did test said problem on my Win98 testing setup, and it worked.
After you reported it, i tried again, and it happens here only once every 20th or 30th time.
As said above, such things can happen even if you do testing. That's life.
4) There is always a conflict between the desire to add new functionality and the need to create a tried and tested reliable tool. I believe that some of the core enthusiasts and developers give new functionality too high a priority and ignore the "silent majority" who want a solid and reliable tool to enable them to get on with coding that supports their other interests or enterprises in a reliable manner.
True. But i think simply the length of time we took to have this version beta-tested (almost 2.5 Months) shows that we do care about the stability
and do not take this lightly.

Well, but as said above, at some point, you have to move on.

Trond:
We're not allowed to report stuff that's will cause PB to become more solid than barely glued together with tape because then people call you "Role model for Anal Retentives" because they want to get on with adding more features.
You are way out of line here, and i think you know that. I will not comment on that.

Edwin Knoppert:

I am sorry, but i do not get your point. You say you agree with what is said
by geoff (basically no new stuff, more bugfixes please), yet in the same
breath you complain why new features you want are not implemented yet.
So what is it that you really want?

Doubles have been promised for v4, and thats where they will be added,
but according to some people's wishes, we will never get there.

> Also the resource stuff was added in the latest 3.94, something like that could be done months or even years ago.

The simple reason why the resource stuff was so low in the priorities is the
fact that it is a windows only concept. Like it or not, but PB is a crossplatform
compiler.
quidquid Latine dictum sit altum videtur
Edwin Knoppert
Addict
Addict
Posts: 1073
Joined: Fri Apr 25, 2003 11:13 pm
Location: Netherlands
Contact:

Post by Edwin Knoppert »

Sorry, my englisch is not at it's best..

I don't consider the numbered points i named above to be new features but basic stuff which imo should be in by now.
Like i said, i don't use pb often and the things i said are suggestions.

That resources are Windows only, ok i can imagne it had a low priority, i seem to forget that sometimes :)

And yes, i assume that we like updates each 6 months or so.
The point is that i think the pb developers better spend time to get the compiler to a higher standard and forget the additional stuff for a while.
Ok, doubles are for version 4, let's wait..

Still, i'm not flaming it all.
Just don't mix my suggestions with other statements.
fweil
Enthusiast
Enthusiast
Posts: 725
Joined: Thu Apr 22, 2004 5:56 pm
Location: France
Contact:

Post by fweil »

To te whole team, I just would like to say I support you definitely in the way you pushed the 3.94.

I tested, well, not all intermediary releases but two of them. And I installed the final 3.94 only 2 days after its launch, which means the work was much better than ever. Usually I read posts for some weeks before to install on my production target.

Maybe one problem we have here, is that beta testers should not be all users, sorry if one feel this exclusive, but it is a fact that beta testing can't be done by users who have critical focus on their customers' apps.

Building a strong panel of beta testers would not solve all, and is not easy to define and do.

Also any beta which was proposed was explicitely defined at users risks.

According to this, I guess that nobody can complain that when using a beta it gives some bugs.

Now, it occurs that some remaining bugs may exist in the released package. This is like blue screens we used to get when using older Windows versions.

Neither more nor less.

Just saying that even if I have sometimes difficulties to do my job by using PureBasic, I made my business, even small, with it, and i fully support you.
My avatar is a small copy of the 4x1.8m image I created and exposed at 'Le salon international du meuble à Paris' january 2004 in Matt Sindall's 'Shades' designers exhibition. The original laminated print was designed using a 150 dpi printout.
Locked