Why every new release some language instructions change?

With each new release (or almost) I have to change my code. Because even if the old features are still compatible, soon they won’t be.
This complicates my work. Especially if I developed components, I know for a fact that among some versions my customers will no longer be able to use them.

uh … its new and shiny !

This is called life: everything changes.

With some changes you have to wonder if they have been introduced to force users to upgrade …

And others are a very welcome change (Exceptions, DateTime, … f.e.) :wink:

exceptions as a general purpose error handling mechanism are much slower
thats deliberate
they are meant to have almost no impact on normal code flows but are slow when you end up hitting them a lot
I wrote about this

What specifically?

no idea who you are targetting with that question ?

Wondering what changed specifically for @Gabriele Marchionni that requires a change in code.

Lord knows but there do seem to be new bugs in old code with R2
Feedback has a bunch listed
And the forums have several discussion - some relating to things like URLConnection which isnt new but the bugs are
like https://forum.xojo.com/56833-2019r2-sslsocket-problem

Let us be mercenary: these new changes will require upgrades to your components, and an occasion to grab some dough :wink:

Change is inevitable… but changes just for change sake is stupidity

update - not necessarily “upgrade”
in many cases the only thing that changed in Xojo was the name
they even said as much

from Your Path Forward with API 2.0 – Xojo Programming Blog

I started using Xojo 11 years ago. I bought the first license of RealBasic in 2008, then update to Xojo in 2013. And then I bought other updates over the years. I’m not talking about only this latest update to 2019r2, but in general.

Take a look here at all the deprecated things over time http://documentation.xojo.com/resources/deprecations.html
Can you imagine how many times we had to rewrite the code?

I don’t understand in this release some simple things, for example:

  • Why “var” and no longer “dim”?
  • TextFiled, why “value” and no longer “text”?
  • Array, why “LastRowIndex” and no longer “Ubound”?
  • etc.

And I don’t understand why after lots of updates and yet:

  • There isn’t simple and quick bookmark management like Visual Studio.
  • You can’t change the code in debug running, but you have to stop, change and restart.
  • The main toolbar takes up a lot of space and has very few features.


You are not alone here… and there are literally HUNDREDS (ok, a few dozen) changes like that that do nothing to add benefit or productivity… as a matter of fact… .most reduce it.

But these do not force you to change code. You don’t have to rewrite a single line for any of those examples.

Which would be fine if you could turn off the deluge of unnecessary “deprecation” errors… [WITHOUT having to turn off ALL messages]

“Deprecated” is misleading, I think we all agree with that. Those calls are not going away, probably ever. But you are still not forced to change code because of them.

Who really believes that “You don’t have to rewrite a single line…” is a positive reason for moving to 2019r2? As far as I can see it, there is only one reason to move to 2019r2 and that is if you really, really need API2. Of course, later versions may introduce new features or bug fixes.

The biggest issue now (and it has never before been this extreme) is the problem with backwards compatibility all the change for the sake of ‘consistency’ introduced.

At this time they do not really add significant new functionality/capabilities but take away something that is important to many.