No more broken code!
The v4 release is an extreme case, where we tried to clean up some long-standing issues.
We also changed some stuff with new implementations in mind, so we can then implement the stuff without breaking anything.
In previous releases, changes were usually done only to one command or so at a time,
so it was not really a big issue to adapt the code to that.
You will not see a change list as big as the v4 one any time soon in the future.
We will continue to change things though if we think it is neccesary to keep the language clean.
We also changed some stuff with new implementations in mind, so we can then implement the stuff without breaking anything.
In previous releases, changes were usually done only to one command or so at a time,
so it was not really a big issue to adapt the code to that.
You will not see a change list as big as the v4 one any time soon in the future.
We will continue to change things though if we think it is neccesary to keep the language clean.
quidquid Latine dictum sit altum videtur
Thing is, though, 3.94 had some things internal (not just what we see) that made it difficult to move on - or that is my understanding. Reading between the lines it seems like a huge rewrite took place.
So choice was 3.94 with small almost cosmetic changes, or a big revamp.
The big revamp meant some things broke. That being the case, breaking some other things as well, to make it better still, is a reasonable move.
We now have a choice. Old 3.94 stuff, new 4.00 stuff.
In most cases:
3.94 ends an era and 4.00 kicks off a new one.
Think GWBasic - BasicA, QBasic - GWBasic, Visual Basic for DOS - GWBasic, etc, etc, etc.
That said, I do believe that anything that might need breaking in the future (if predictable or even possible) should be broken now.
So choice was 3.94 with small almost cosmetic changes, or a big revamp.
The big revamp meant some things broke. That being the case, breaking some other things as well, to make it better still, is a reasonable move.
We now have a choice. Old 3.94 stuff, new 4.00 stuff.
In most cases:
- Apps in 3.94 that don't need rewriting need not be rewritten.
Apps in 3.94 that required updating and where 3.94 will do, use 3.94.
Anything under development as at release, decide on 3.94 or go 4.00
Anything new, 4.00 (or even 3.94)
3.94 ends an era and 4.00 kicks off a new one.
Think GWBasic - BasicA, QBasic - GWBasic, Visual Basic for DOS - GWBasic, etc, etc, etc.
That said, I do believe that anything that might need breaking in the future (if predictable or even possible) should be broken now.
@}--`--,-- A rose by any other name ..
- Fangbeast
- PureBasic Protozoa
- Posts: 4789
- Joined: Fri Apr 25, 2003 3:08 pm
- Location: Not Sydney!!! (Bad water, no goats)
I write things in modular fashion so that when things break between compiler revisions, it's reasonably easy to fix, unless I made a bad mistake and a more forgiving compiler let me get away with it. Which on many occasions, it has.
But I have a sneaky tactic.. I let experts like Dare2 (The cheque and assorted loose women is in the mail mate) find bugs and get them fixed while I focus on what I know works.
Once they have done all the hard work (MWUAHAHAHAH, evil grin(c) Fang enterprises)), then I can go back and do harder stuff.
Generally, I do the following:
Quick and dirty stuff: Gosubs (harder to debug)
Rock solid code: Procedures. Can return error codes, easier to track.
I have so many reusable procedures procedures in so many programs but they are all setup to return a code for fail or success so when things break, I'm not left staring at thousands of lines of code to fix but only at small procedures to look through. Magic.
But I have a sneaky tactic.. I let experts like Dare2 (The cheque and assorted loose women is in the mail mate) find bugs and get them fixed while I focus on what I know works.
Once they have done all the hard work (MWUAHAHAHAH, evil grin(c) Fang enterprises)), then I can go back and do harder stuff.
Generally, I do the following:
Quick and dirty stuff: Gosubs (harder to debug)
Rock solid code: Procedures. Can return error codes, easier to track.
I have so many reusable procedures procedures in so many programs but they are all setup to return a code for fail or success so when things break, I'm not left staring at thousands of lines of code to fix but only at small procedures to look through. Magic.
Amateur Radio/VK3HAF, (D-STAR/DMR and more), Arduino, ESP32, Coding, Crochet
lol. Sarcasm at it's best.Fangbeast wrote:I let experts like Dare2


I put a loose woman in the mail but the GPO refused to accept her unless she conformed to standards (of packaging, that is).
To be politically correct I put a loose bloke in the mail as well. Same deal at the GPO and the skanky begger stole your cheque!
@}--`--,-- A rose by any other name ..
- Fangbeast
- PureBasic Protozoa
- Posts: 4789
- Joined: Fri Apr 25, 2003 3:08 pm
- Location: Not Sydney!!! (Bad water, no goats)
I wasn't being sarcastic damnit!!! (More money and another spare, replacement loose woman in the mail. And I shot the skanky beggar, fed him to the roses)Dare2 wrote:lol. Sarcasm at it's best.Fangbeast wrote:I let experts like Dare2But, on consideration thanks, that's about as close to expert as I'll ever get.
I put a loose woman in the mail but the GPO refused to accept her unless she conformed to standards (of packaging, that is).
To be politically correct I put a loose bloke in the mail as well. Same deal at the GPO and the skanky begger stole your cheque!
I seriously think you are a million miles ahead of me in talent and experience. I couldn't find a hole in the goldfish bowl, even if there was a sign pointing to the opening.
Amateur Radio/VK3HAF, (D-STAR/DMR and more), Arduino, ESP32, Coding, Crochet
- utopiomania
- Addict
- Posts: 1655
- Joined: Tue May 10, 2005 10:00 pm
- Location: Norway
freak wrote:
I've only been around since 3.94, and feared we would go through this on every major version change of the language.
Thats good news!The v4 release is an extreme case, where we tried to clean up some long-standing issues....
You will not see a change list as big as the v4 one any time soon in the future...

Why do you need to rewrite your code? Nobody has taken away the 3.94 compiler. You can continue to use it for your existing code.chris319 wrote:PureBasic updates are not free if you incur a cost in rewriting your code to accomodate changes in the language.Are the competitor updates free ?
Unlike some compilers, multiple version of PureBasic will happily co-exist.
-
- Addict
- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:
Except the Code wich needs the PureRESIZE Lib I had absolutely no problem to update our Messenger too, which has a few thousand lines of code to, in fact it even helps to tidy the code again.
Visit www.sceneproject.org