hi Gael, I might even agree more with you than you or I thought at first sight ... Gael Varoquaux wrote:
Traits can be seen as three things:
* Type validation of attributes: good point, if you know how to handle the exceptions, instead of "error 1229: contact your distributor" * Reactive/callback programming made easy. very good point, should be done all the time ! * Visualization made easy: it's boring, but also a very good point, although I'm not a MS fan at all, all programs should be good as Excel at this point.
but as follower of the KISS principle, again I don't understand it.
KISS is great, but remember: 1 month of hard work can save you one week end of learning. If you start doing interactive GUIs, you won't be able to get around learning a few things, and I think it is easier to learn Traits than the alternatives.
I'll hope the future will change that: simple programming for everyone !
No object oriented programming. I don't believe you can do complexe codebases without OOP. agreed. In addition you don't have any reactive programming: the code above cannot be interactive. This is what I call a "visual script". Going from program-driven logics, where the user is presented sequentially a set of dialogs, to user-driven logics, where the user (or an experiment) keeps interacting with the program, will require a paradigm shift. More than agree, my adagiao: "the best programs are written by users", unfortunately programming is yet too difficult for most domain experts. I believe that Traits will make this paradigm shifte easier than any alternative. I also believe your second best bet is PyQt. But Traits has a nice model/view separation in which you can get the reactive programming without the GUI event-loop, and that's really nice.
In short, yes you do have to learn things, but you won't get an interactive program for free, sorry.
And now I get a strange feeling, ... ... that I'm working on some kind of traits, maybe a lot less sophisticated, but on the other hand much easier ;-) thanks for the explanation, cheers, Stef