>> MVC is an old design pattern, one that keeps coming out in new flavors. To me that doesn't mean it's old, it means it has passed the test of time.
Yup. Like we did in Web Connection 15 years ago and just didn't call it MVC :-) wwBusiness, Process Methods and Templates. WPT for short, LOL!
+++ Rick ---
>>Hi Thomas,
>>
>>100% agree
>>
>>VFP/xBase was initially designed more than 30 years ago (already <s>), javaScript and Python 20 years ago, Ruby 15 years ago. All these languages are based on the idea that programming is a creative activity, and this requires freedom and a fair level of abstraction.
>>
>>Freedom in team work implies people sharing some conventions; that is obvious in JavaScript open source projects I'm aware of (Global properties are Proper(), how to write structures, variable naming, etc.). Before entering an open source projects, developers pass a constructive code review to make sure what they'll write can be shared and/or modified by others.
>>
>>Some other languages consider programmers are dumb and should have as little freedom as possible so that they "can't" produce bugs - and still they manage to do so.
>>
>>The fact is that JavaScript runs in hundreds of millions of browsers around the world; expecting some features like 'global variables' to be changed sounds to me just like asking that rain would be dry ;).
>>
>>BTW, it might interest you - we at FoxInCloud are working on complete VFP event support - including When() - this should be released within a couple of weeks.
>>
>>>Hi Thierry,
>>>>Issue 4 is just ... false,
>>>>global variables don't exist in JavaScript.
>>>>a non-declared variable is coerced to a property of global (window in the browser) object.
>>>
>>>which in essence is the same as having an entry in the top NTI
>>>if comparing to vfp and running into issues
>>>with unintended non-privatized variable writes.
>>>
>>>compare that to the sane design of python:
>>>undeclared vars are always local to the function
>>>you *can* declare them to be module-global
>>>you can modify other module-globals by specifiying the module.
>>>
>>>the design *protects* you but you still have the option
>>>to specify the more "dangerous" but sometimes needed things.
>>>
>>>I have not followed the search for setter/getter and private properties
>>>to know them by heart, but from articles by Crockford or Michaux
>>>it seems it is much more effort than the elegance of the vfp _access and _assign,
>>>which are similar to python properties - the design here is much better than
>>>the usage in C# and Java, even if annotations can reduce the noise there...
>>>
>>>There are some warts on every language
>>>(we just are habituated to the vfp ones better than to others)
>>>and acknowleding that fact is not saying JS is unusable or bad,
>>>but in some things I'd prefer a less hasty and helter/skelter
>>>design and "reference" implementation to have happened ;-))
>>>
>>>regards
>>>
>>>thomas