Go Down

Topic: Arduino 1.0 IDE Compatibility with previous versions (Read 9 times) previous topic - next topic

Coding Badly

Even worse - from what I read, it sounds like the future versions of the IDE might be paying versions?


Paying versions?  As-in the Arduino folks will try to charge money for it?

wholder


The Arduino Team considered including a WProgram.h, but ultimately they decided against it:

http://code.google.com/p/arduino/issues/detail?id=609

Personally, I would not have made that choice.  In Teensyduino, I kept WProgram.h and also added Arduino.h, so either new or old libs can work.


I strongly agree with Paul on this.  I think many of the choices made for Aduino 1.0 were less than farsighted and have probably created a great deal of confusion for new, or novice users (which I'm told are a primary target for Arduino.)  In my opinion, the real value proposition in Arduino is the vast array of user libraries that handle a lot of complex details and make it possible to use sophisticated components, such as accelerometers, barometric pressure sensors by just importing a library and defining a few parameters.  yet, the changes made to Wire API, for example, have broken many of these libraries and left users who depended on them in a weird kind of ("gee, everything broke when I updated to 1.0" limbo.  Would it really have been that hard to include additional methods to allow for backwards comparability with these libraries until their respective authors could have time to update them and, more important, have time for these updated libraries trickle down into all the secondary sources, projects and books that reference them.

Wayne

Jantje

All
As we are complaining; I'll add one. 8)
I think the change in flush is worst of all. As I already implied in other posts: Removal of flush would have been "not smart, but acceptable". Reusing flush for a different purpose is "Stupid and unacceptable" (any professor would rightfully sack you for this  ]:D)
The strongest argument for removing flush was: "there is no possible need for a function like that" (That is for the original implementation throwing away data)
Some heroic discussions on the usefulness of throwing away data have been held on this forum. Separating the community in 4 groups; The believers  ]:), the non believers ]:D, the readers =( and the ignorant :smiley-sleep:

Later on -when I copied some Arduino IDE code into my eclipse plugin- I was at least astonished :smiley-eek-blue:. Because in the Arduino IDE the flushed functionality (in the "throw away data" sense) of serial data is used :smiley-eek:. I guess that proves the usefulness of the code.

Don't get me wrong. I switched to 1.0 because it supports DHCP for the Ethernet shield and I'm happy I did. But the lack of a transition period brought some clouds which could easily have been avoided.
And yes anyone who re purposes a function in my class can forget deliberation. 8)

Best regards
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Paul Stoffregen

#23
Apr 24, 2012, 11:45 am Last Edit: Apr 24, 2012, 11:50 am by Paul Stoffregen Reason: 1

yet, the changes made to Wire API, for example, have broken many of these libraries and left users who depended on them in a weird kind of ("gee, everything broke when I updated to 1.0" limbo.  Would it really have been that hard to include additional methods to allow for backwards comparability with these libraries until their respective authors could have time to update them and, more important, have time for these updated libraries trickle down into all the secondary sources, projects and books that reference them.


Several weeks ago, actually on March 11, I tried to bring this exact idea up on the Arduino developer mail list, to be included in 1.0.1.  

Of the many lingering 1.0 incompatibility issues, legacy sketches and examples using Wire seems to be the most persistent.  Nearly all widely used libraries have been updated, so the initial pain of changes like WProgram.h to Arduino.h have largely been solved.

I submitted issue 854 with a patch.  Here's the URL:

http://code.google.com/p/arduino/issues/detail?id=854

You can read the developer list archives on March 11-12 if you want to see the conversation.

Eight people gave opinions, where 3 of those 8 were from the Arduino Team.  Tom Igoe replied "That's a good idea."  Massimo Banzi wrote "Personally I think we warned people well in advance that we were going to break a few things in order to have a more consistent 1.0 release.  We clearly stated that 1.0 was going to be stable in the future."  David Mellis responded (on the issue tracker) "I'm not quite convinced this is a good idea, but if we're going to do it, we should do it for 1.0.1.  Will consider."

Responses from others also varied, with some in favor, some against, and some neutral, including Todd Krein (who's actively working on Wire) willing to go with whatever the decision ended up being.

With Massimo and David seemingly against, I decided not to advocate this patch further.  It's still on issue 854, and I'm planning to keep it as part of the Teensyduino installer for the forseeable future, so at least people using Teensy will automatically have pre-1.0 sketches using Wire work automatically.  I honestly believe it would benefit so many Arduino users if included in the upcoming 1.0.1 release, with no practical downside.  That's why I went to the trouble to create it for Teensy users, and the additional effort to prepare an issue+patch and write up a lengthy post to the developer list to advocate it.  Much as I'd like to see this in Arduino 1.0.1, it's simply not my decision, nor within my ability to convince those who do.

Sadly, the playground, old forum and numerous websites will probably never be fully updated or purged of old Wire library examples.

Jantje

All
If you feel compatibility is an important issue I propose you star or comment issue 854 from Paul

http://code.google.com/p/arduino/issues/detail?id=854

I did, I hope you do  :)
Best regards
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Go Up