While I never got into Ruby I was a BIG FAN of Python, and still am. Nowhere near as integrated and powerful as Qt4, Python is a powerful scripting language which, with the help of some GUI APIs, is a powerful GUI-RAD tool. My favorite combination is Python + Boa-Constructor. They are in the repository.
Ruby and Python have kept a large number of developers away from proprietary programming tools, and have even drawn them from Java.
But, MS isn't taking this standing still. They have EMBRACED both Ruby and Python, and EXTENDED them, creating IronRuby and IronPython. which provoked this comment and is an EXCELLENT read.
The "Iron" part, users will soon learn, refers to the construction of the lock-in jail they will find themselves and their data encased in IF they continue down that path. The "Iron" alludes to making those tools "stronger", but Microsoft's track record for that is abysmal. When MS thinks they have lured the heart and soul of the Ruby and Python users into the IronRuby and IronPython camps it will EXTINGUISH those tools (not Ruby or Python) or do what they did to VFP or VB. Those who have incorporated the proprietary extensions into their applications and databases will be LOCKED IN (or back into) Microsoft's money generating upgrade treadmill, the whole purpose for the EEE tactic.
I started programming for hire using Borland's Turbo Pascal 3.02A and the Database Toolbox and later switched to AREV when Borland was sold. I switched to MS dev tools when OpenInsight, a GUI version of AREV, failed to match AREV's performance. My experience with the effects of MS lock-in began when I learned to use FoxPro for DOS in 1997, a tool used by my last client and last employer. Upgrading to Visual FoxPro 5.0 was no problem. Neither was upgrading our applications and databases to VFP 6.0. The problem came when Microsoft announced, on the UniversalThread (a subscription web forum for developers of tools on all platforms), that VFP 6.0 was going to be discontinued. Suddenly, on cue, most of those members who had been awarded "VFP MVP" status, whom we thought were merely developers like ourselves, suddenly began offering C# and .NET training classes on the VFP forum. UniversalThread had over 40,000 ACTIVE VFP developers in their VFP forum, and estimates were that there were over 250,000 world wide. The outrage was immediate and intense. MS didn't expect that kind of backlash and after a couple months they relented and grudgingly continued, at a snails pace, to offer VFP, but with lots of C# and .NET enhancements ... warming the frog up one degree at a time.
Lots of developers besides myself decided to leave both the UniversalThread and VFP. I go back on occasions to browse around but have found the wall around the UT even higher and its contents devoted more exclusively to MS tools. Like Dell's Linux offerings, there are token representations of other tools and platforms.
At work we decided to leave VFP (and the UniversalThread) and move our applications to another tool not under Microsoft's control. That led me to explore Java, Ruby, Python, Qt3 and several other tools. I developed versions of the HomeStead application using the best tools in three of those languages and evaluated their ease of installation, development, maintenance, and upgrading.
Java was available in at least two flavors, one owned by Sun and one a free clone. The free clone lacked a lot of Java's functionality and was always behind Java (sound familiar? Mono and .NET). One particularly aggravating problem was that I was constantly trying to work around JDeveloper's habit of marking the programs I needed to modify to add my functionality as "Do not edit this" because they were always regenerated. It also had the habit of re-arranging my GUI form objects to suit itself. I really hated the backward path reference structure of Java and how wordy it was. It reminded me of my favorite language to hate - COBOL.
Moving to Python, I found I could develop in Python-Boa about 2X faster than with Java, and the Python executable was 2X-3X faster than the Java app. Python nearly won, but the fact that all its variables were global, it had "don't edit" functions, and it had to be synchronized with Boa, led me to focus on Qt3. Qt3 was a pain but Qt4 came out almost immediately after I began working on Qt3 and Qt4 was a dream. It also avoided Qt3's painful designer-IDE tool and returned to the classic C++ development paradigm, with the designer relegated to just designing GUIs.
I found that development in Qt4 was faster than Java or Python and about the same or slightly faster than with VFP. Qt4 was a WHOLE LOT more stable than VFP. With a VFP app, even after deployment, a control (textbox, combo box, button) would occasionally "break" (cease working, or work differently than it was designed to work). I would have to edit the source, delete the defective control, drop in the identical control as a replacement, and recompile. No form element on a deployed Qt4 app has ever "broken" and required replacement.
After I finished writing Hap2006 I wrote a document for the benefit of the other 15 developers in my department explaining how to install, configure, and write applications with C++ and Qt4. Hap2006 was the first time I ever used C++ or Qt4. Back then I used MS Visual Studio with Qt Integration on Windows and Kate on Linux. I found I was 2X-4X faster on Kate under Linux (including debugging) than on MSVC under Windows. That document is somewhat dated because the tools are now easily installed from the repository and are pre-configured for both a release and a debug version, dynamic or static, and with FOSS database drivers. It is now MUCH easier to install and use Qt4 and QtCreator. But, the document still has value because a lot of developers with more Qt4 and C++ experience than I possess have edited and contributed to that document, greatly improving it and correcting my errors and misunderstandings.
It is unfortunate that a LOT of Ruby and Python programmers will be seduced by Microsoft's siren song and will open their eyes only after Microsoft pulls the "I'm for Open Source" mask off and "cuts off their Oxygen supply". It won't affect those who stay with Ruby OR Python. Those who jump onto the "Iron" (or Mono) bandwagon will find themselves, sooner or later, realizing they've been deceived and the whole purpose was to put them back onto Microsoft'$ upgrade treadmill revenue stream, holding their data hostage.
Anyone found a way to get their data OUT of SharePoint and into an Open Source database? Yes, since Google attacked the problem, which is why Microsoft is attacking Google. It may not be easy, but that's what you should expect when you give your data to a proprietary business.
Ruby and Python have kept a large number of developers away from proprietary programming tools, and have even drawn them from Java.
But, MS isn't taking this standing still. They have EMBRACED both Ruby and Python, and EXTENDED them, creating IronRuby and IronPython. which provoked this comment and is an EXCELLENT read.
The "Iron" part, users will soon learn, refers to the construction of the lock-in jail they will find themselves and their data encased in IF they continue down that path. The "Iron" alludes to making those tools "stronger", but Microsoft's track record for that is abysmal. When MS thinks they have lured the heart and soul of the Ruby and Python users into the IronRuby and IronPython camps it will EXTINGUISH those tools (not Ruby or Python) or do what they did to VFP or VB. Those who have incorporated the proprietary extensions into their applications and databases will be LOCKED IN (or back into) Microsoft's money generating upgrade treadmill, the whole purpose for the EEE tactic.
I started programming for hire using Borland's Turbo Pascal 3.02A and the Database Toolbox and later switched to AREV when Borland was sold. I switched to MS dev tools when OpenInsight, a GUI version of AREV, failed to match AREV's performance. My experience with the effects of MS lock-in began when I learned to use FoxPro for DOS in 1997, a tool used by my last client and last employer. Upgrading to Visual FoxPro 5.0 was no problem. Neither was upgrading our applications and databases to VFP 6.0. The problem came when Microsoft announced, on the UniversalThread (a subscription web forum for developers of tools on all platforms), that VFP 6.0 was going to be discontinued. Suddenly, on cue, most of those members who had been awarded "VFP MVP" status, whom we thought were merely developers like ourselves, suddenly began offering C# and .NET training classes on the VFP forum. UniversalThread had over 40,000 ACTIVE VFP developers in their VFP forum, and estimates were that there were over 250,000 world wide. The outrage was immediate and intense. MS didn't expect that kind of backlash and after a couple months they relented and grudgingly continued, at a snails pace, to offer VFP, but with lots of C# and .NET enhancements ... warming the frog up one degree at a time.
Lots of developers besides myself decided to leave both the UniversalThread and VFP. I go back on occasions to browse around but have found the wall around the UT even higher and its contents devoted more exclusively to MS tools. Like Dell's Linux offerings, there are token representations of other tools and platforms.
At work we decided to leave VFP (and the UniversalThread) and move our applications to another tool not under Microsoft's control. That led me to explore Java, Ruby, Python, Qt3 and several other tools. I developed versions of the HomeStead application using the best tools in three of those languages and evaluated their ease of installation, development, maintenance, and upgrading.
Java was available in at least two flavors, one owned by Sun and one a free clone. The free clone lacked a lot of Java's functionality and was always behind Java (sound familiar? Mono and .NET). One particularly aggravating problem was that I was constantly trying to work around JDeveloper's habit of marking the programs I needed to modify to add my functionality as "Do not edit this" because they were always regenerated. It also had the habit of re-arranging my GUI form objects to suit itself. I really hated the backward path reference structure of Java and how wordy it was. It reminded me of my favorite language to hate - COBOL.
Moving to Python, I found I could develop in Python-Boa about 2X faster than with Java, and the Python executable was 2X-3X faster than the Java app. Python nearly won, but the fact that all its variables were global, it had "don't edit" functions, and it had to be synchronized with Boa, led me to focus on Qt3. Qt3 was a pain but Qt4 came out almost immediately after I began working on Qt3 and Qt4 was a dream. It also avoided Qt3's painful designer-IDE tool and returned to the classic C++ development paradigm, with the designer relegated to just designing GUIs.
I found that development in Qt4 was faster than Java or Python and about the same or slightly faster than with VFP. Qt4 was a WHOLE LOT more stable than VFP. With a VFP app, even after deployment, a control (textbox, combo box, button) would occasionally "break" (cease working, or work differently than it was designed to work). I would have to edit the source, delete the defective control, drop in the identical control as a replacement, and recompile. No form element on a deployed Qt4 app has ever "broken" and required replacement.
After I finished writing Hap2006 I wrote a document for the benefit of the other 15 developers in my department explaining how to install, configure, and write applications with C++ and Qt4. Hap2006 was the first time I ever used C++ or Qt4. Back then I used MS Visual Studio with Qt Integration on Windows and Kate on Linux. I found I was 2X-4X faster on Kate under Linux (including debugging) than on MSVC under Windows. That document is somewhat dated because the tools are now easily installed from the repository and are pre-configured for both a release and a debug version, dynamic or static, and with FOSS database drivers. It is now MUCH easier to install and use Qt4 and QtCreator. But, the document still has value because a lot of developers with more Qt4 and C++ experience than I possess have edited and contributed to that document, greatly improving it and correcting my errors and misunderstandings.
It is unfortunate that a LOT of Ruby and Python programmers will be seduced by Microsoft's siren song and will open their eyes only after Microsoft pulls the "I'm for Open Source" mask off and "cuts off their Oxygen supply". It won't affect those who stay with Ruby OR Python. Those who jump onto the "Iron" (or Mono) bandwagon will find themselves, sooner or later, realizing they've been deceived and the whole purpose was to put them back onto Microsoft'$ upgrade treadmill revenue stream, holding their data hostage.
Anyone found a way to get their data OUT of SharePoint and into an Open Source database? Yes, since Google attacked the problem, which is why Microsoft is attacking Google. It may not be easy, but that's what you should expect when you give your data to a proprietary business.
Comment