Why every new release some language instructions change?

  1. ‹ Older
  2. 6 days ago

    Karen A

    Nov 7 Pre-Release Testers
    Edited 6 days ago

    @Kem T LastRowIndex is not a change, it's an addition

    If LastRowIndex was truly seen by Xojo Inc as an addition and not a replacement, Ubound would not have been deprecated... That means Xojo inc would strongly prefer we not use it NOW, and it theoretically could disappear in any future release (well any after at least 1 year)...

    While I realize that is not likely anytime soon, if one is writing code one expects to need to maintain for the long term, one has to take deprecations seriously... While not actually forcing the change NOW, deprecation is rather strong coercion to do so... Ignoring deprecations is sort like having an overdue loan from a loan shark! You never know when you will get a "Candygram"... Oh never mind, CandyGrams are from Land Sharks not Loan Sharks! ;) (to mix skits)

    BTW using row terminology for arrays STILL really grates on me... it is IMO so obviously conceptually wrong for arrays!

    - Karen

  3. 5 days ago

    Dave S

    Nov 7 San Diego, California USA

    Mongo likes Candygram...

  4. Johann K

    Nov 7 Perth, Australia

    They might have rewritten Xojo for beginners only without using a documentation

  5. Wayne G

    Nov 7 Pre-Release Testers, Xojo Pro New Zealand axisdirect.nz

    Thank you all for making me feel so young. At 60 I can still embrace change, but please don't bring back the data division of Cobol that really sucked.

    To me API2 is a welcome refresh and shines a light on an awesome future for the product.

    Terminology also changes. Most of the people I deal with have used this little thing called a spreadsheet before citizen coders existed and guess what a row is a row not a record, they don't append a record they add a row and that carries through to an array or now a table.

    Those of you that don't want change, just keep with your old versions & don't complain, us young fellas will carry on with the good stuff!

  6. Thomas R

    Nov 7 Europe, France, Besancon

    Wayne, you're right. But it's frustrating to keep an old Xojo version for someone who paid for the upgrade. If Xojo told people some months ago that a future update will come with a lot of work in the code people would have think twice before renew license.

    I personnaly would have hesitated, but renew anyway.

  7. @Kem T 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.

    You are not forced, for now. But in few releases you won't be able to use them anymore.

  8. @Kem T That's a different debate Dale. The question was, why is the OP forced to change code in r2, and the answer with the examples given is, you're not

    This was not the question. The question related to all releases. And what you don't need to rewrite now surely you will have to do in some future version. As has happened in the past.

  9. Edited 5 days ago

    When my development platform says "deprecated" it scares me. It gives me the idea that I have to rewrite the code or soon in future releases it won't work anymore.

    Maybe they are trying to change the programming language, to replace Basic? I hope the change is due to future compatibility on Android.

    Because, until there isn't a release that will allow me to create App for Andoid, I don't need to update Xojo, and its license.

  10. Emile S

    Nov 8 Europe (France, Strasbourg)

    I got a phone call from a company yesterday and they ask me my developing environment. They answer “Xo what ?” and I answered “a Visual BASIC competitor”, but this was a bad answer.

    On the other hand, there are nowadays so many different software to build applications / so few time to explain. I’ve made a bunch of “demo” applications and I sent links to prospect companies, but apparently, they never download them to watch them. (they probably trust the resume).
    “It is at the foot of the wall that we see the mason ... (bricklayer)”
    One question remains: where’s the wall, and I think this was deprecated long ago.

  11. Kem T

    Nov 8 Pre-Release Testers, Xojo Pro, XDC Speakers Connecticut

    @GabrieleMarchionni When my development platform says "deprecated" it scares me. It gives me the idea that I have to rewrite the code or soon in future releases it won't work anymore.

    I understand that, and that's why "deprecated" was ... shall we say, not the best choice for API 1.0 calls. But this is merely a fear with no basis in Xojo's history. Other than changes dictated by evolving OS's, we haven't had to do more than make some fairly minor (in the general scheme of things) modifications over the years. I have projects started for OS 9 (!) that haven't needed much change. Heck, I can still use #if TargetPowerPC..., and that hasn't been relevant in, what, fifteen years?

    This is, frankly, not a concern, despite the "deprecated" label.

  12. Anthony C

    Nov 8 Pre-Release Testers, Xojo Pro, Third Party Store GraffitiSuite Developer

    @Emile S I answered “a Visual BASIC competitor”, but this was a bad answer.

    What you should have said is "A modern, object oriented, multi-platform development language". They push you for the language, just say that it's a "highly modernized BASIC variant".

    If you say "Visual Basic" to many potential customers in-the-know, you've already lost the war. How you present something is, in many cases, more important than what you are actually presenting.

  13. Karen A

    Nov 8 Pre-Release Testers

    @Kem T I understand that, and that's why "deprecated" was ... shall we say, not the best choice for API 1.0 calls. But this is merely a fear with no basis in Xojo's history.

    Neither do the type (EVENTS!) and scope of the changes and changes in philosophy for R2. The past at this point can not be used for guidance as we are in uncharted territory.

  14. Kem T

    Nov 8 Pre-Release Testers, Xojo Pro, XDC Speakers Connecticut

    We know the issues with events. The past can certainly be used as a guideline for when we can expect stuff like "dim" or "Ubound" to be removed, and it tells me "probably never". And you still don't have to rewrite your code, now and possibly ever.

    They made mistakes (IMO), they didn't suddenly become evil.

  15. Karen A

    Nov 8 Pre-Release Testers

    @Kem T They made mistakes (IMO), they didn't suddenly become evil.

    I don't think they became 'evil'. I think Geoff has decided that a different product philosophy would help make the company more profitable. There is nothing wrong with a company trying to maximize profits as long a it is done ethically, and that is what he is trying to do IMO...

    That is why I said all bets are off for the future... Not because of Xojo inc being evil or not caring, but because of a basic philosophy change.

    Many tried to tell them they were making a mistake during the beta, but because they believed in that new philosophy they did not change course then... and while they might make some minor course corrections, if past is prolog it could be a long time before they decide to make a major change in that philosophy (Xojo.Framework)

    That leaves us needing to decide if the new philosophy alines with what we want from the product going forward.

    - Karen

  16. Dale A

    Nov 8 San Diego, California, USA

    @Kem T To build on that with an example, InStr is 1 based as always, but now there is a new IndexOf which is zero-based. Mid is 1 based, as always, but now there is a new Middle which is zero-based. If you do a search and replace of ".InStr" to ".IndexOf", yes, you will break your app. So don't do that. :)

    Also in that 0 vs 1 category, if you used RecordSet.IdxField anywhere and are converting to RowSet.ColumnAt be aware that IdxField is 1-based and ColumnAt is 0-based. I just got bit by that one in a project I am updating from 2012r2.

  17. 4 days ago

    Tim S

    Nov 9 Pre-Release Testers Canterbury, UK

    @Jeff T IRight now, my main concern is : what about changing the index of strings?
    Haven't they switched to a zero base?
    So if "You don't have to rewrite a single line..." won't that immediately hard break any app of a decent size that uses INSTR and MID?
    Won't it immediately make for off-by-one errors?

    InStr and Mid are not changed. For String there are new methods (IndexOf and Middle respectively), which are zero based. As far as I'm concerned, this is a plus as now I can search a string or an array using the same syntax. Some other useful methods from Text (such as BeginsWith, EndsWith) have been back ported to String - another good thing as I can throw out my own versions of these methods.

  18. Emile S

    Nov 9 Europe (France, Strasbourg)
    Edited 4 days ago

    @Tim S I can throw out my own versions of these methods.

    They used Left(SourceString, Value) and Right(SourceString, Value)) ?

  19. Tim S

    Nov 9 Pre-Release Testers Canterbury, UK

    @Emile S They used Left(SourceString, Value) and Right(SourceString, Value)) ?

    Sorry, don't understand the question.

  20. Norman P

    Nov 9 Pre-Release Testers, Xojo Pro great-white-software.com/blog

    @Tim S ...as now I can search a string or an array using the same syntax.

    no you cant
    arrays have no "middle" method. nor left right etc or any others unless you added then via extends methods

  21. Tim S

    Nov 9 Pre-Release Testers Canterbury, UK

    @Norman P no you cant
    arrays have no "middle" method. nor left right etc or any others unless you added then via extends methods

    I can with IndexOf.

or Sign Up to reply!