Most of the hard-core server side programmers out there need the power of the VisualAge interface.
- You actually need to look at more than one method at a time? - A text editor cranks out the code, but pays little attention to the architecture of that code. VisualAge presents you with packages/classes/methods and the inheritance hierarchy. When you're dealing with hundreds of classes, you need that kind of complexity control.
- "inability to lock source?" Hmm.. VisualAge TeamConnection, perhaps?
- Lack of editor features? Okay, emacs has pretty much everyone licked here, but you CAN add more editor features through VAJ's ide API.
In general, I think that "hardcore coders" don't want to have to think about silly details like source code files, header files, makefiles and compiling everytime they fix something. These people want to design a good, maintainable and fast system. By using a repository, incremental compilation, and excellent class layout paradigm, VisualAge definitely shines for OO designers that want to do their job right.
Sure, OSS doesn't need deadlines. It can however lead to feature creep. Hence the need to ship a "production" version on a fairly regular basis, similar to how Linus releases a major version of Linux every 18 months.
Please understand my position.. you're claiming that "you understand RMS better than most of the world", which is sort of like saying "i'm not crazy, the rest of the world is."
In the end, you may be right, and I respect your opinion.
"Wrong. The FSF has the right to enhance the work and then keep the rights to its changes. Third parties do not. "
Could you explain this better?
Any third party can modify an FSF work (software or book) any way they see fit, and redistribute it any way they see fit, so long as there is at least one medium that is accessible "at cost" and others can also freely derive from this offshoot work as well.
What right does the FSF have that a third party does not? You're being awfully cryptic here, and dare I say, somewhat ignorant.
I've always liked you, especially your columns & forum messages in Infoworld.
Lately, however, you seem to be on this anti-RMS crusade. I don't agree with all of the man's ideals either, but he does have a right (and a logical reason) to request that someone write free GNOME documentation.
RMS is not against profit-making. He is against profit making at the expense of freedom. He does not believe that economic incentive or conveinience is a proper excuse for giving up freedom.
If you want to fight RMS, fight him on that principle: that sometimes, yes, giving up freedom for convenience or economic incentive *IS* what we want to do, as the end economic benefits of copyright incentive does produce MORE freedom in the end (by increasing our standard of living). RMS has given us a gift through his radicalism: it forces people to take stock of the business and IP world around them and ask, "Do I want this?".
I think the recent interest in open source licences throughout the industry is a result of many reasonable people saying, "well, you know, intellectual property protection isn't ALWAYS that beneficial, nor an incentive to me." It makes us THINK about what we value. Right now, the majority don't REALLY value IP freedom. I personally don't think most people *will* value it for the forseeable future (3-5 years), but after that, who knows?
In the end, I suggest you start understanding RMS' position better in the future, lest people label you as a troll who radically twists a situation to suit his own opinion.
I really wish it were cheaper, but Apple's Interface Builder for OS X or WebObjects/NT is probably the most powerful Java Swing visual designer out there... I used this back in the Rhapsody DR1 days, and I couldn't believe how much flexibility you could have without even writing code - all you need to write is the business logic or complex model interactions.
VisualAge's editor is probably closest in the "wiring" concept to IB, but as you say, Visualage's code generation leaves something to be desired. (IMHO, though, it is better than Symantec's code gen). On the other hand, VisualAge is definitely a server-side developer's dream (again imho)...
Actually, it does have to do with "putting the work into it" that makes "copying" legal.
Copyright is all about protecting a specific _instance_ or _manifestation_ of a set of intellectual works. This protects the work PUT IN to creating those works, effectively giving economic incentive.
Such is the case with "clean room" software. For instance, it's VERY clear that StarOffice 5.0 is a clean-room redoing of Microsoft Office, yet they have not been charged with copyright infringement (look 'n' feel is still a shady area).
I guess I must be patient or something, but I really don't find much of a response-time difference with VisualAge vs. VisualCafe vs. J++. VisualAge comes up with an hour-glass more than those tools, but not for more than a second or two, typically. An extra second or two isn't going to kill me since I work so much faster in VA (and Codewarrior for that matter).
While in hindsight it was over, OS/2 *did* gain significant marketshare from 1994-95 with the release of Warp - and people did somehow think that it would trouce Windows 95.
Warp v3 really put OS/2 back in the limelight, but only for a short period. (Remember the Nuns commercial?:)
Of course, it was a silly thought, but it was hope, nevertheless.
Perhaps IBM has the right philosophy here - VisualAge *is* a time tested, usable product. Smalltalkers in droves swear by it. Even C++ people swear by it.
It's not usable by the average joe because this is not an average joe's IDE. It is an IDE by professionals FOR professionals.
This is not meant to sound as elitism. You don't have to be a rocket scientist to figure this IDE out - it really IS simple - simpler than Visual C++ or J++, in my experience.
It took me maybe 3-4 days to figure out pretty much everything about how VisualAge operated and WHY the traditional Smalltalk IDE metaphor of repository + incremental compile + packages/classes/methods layout *IS* so effective.
A repository makes your project a nightmare? What planet were you born on?
Most people I know that use VisualAge refuse to work with ANYTHING else unless deemed necessary by project requirements. [this includes myself - I need J++ to do some WFC GUI stuff, but VisualAge for the back end business objects]
I suggest you really look into what your problems with the tool are before slitting your through. The help does not suck (that I've found). The tool offers more features and flexibility than ANY other IDE I've encountered. And it has never crashed (it's not buggy). [I'm talking about VAJ 2.0 here - not 1.0]
If an enterprise IT shop regularily uses C/C++ on the server side, I would really pity them. Maintenance is, after all, 70% of all a piece of software's costs, and C++ often encourages programming that leads to an unmaintainable quagmire.
IBM has the most to benefit from Java. They need a new language to replace the "old" stalwart business language: COBOL. Smalltalk was destined to do this - it didn't quite work out that way. Java is a scaled down attempt at achieving the same thing: bringing modern programming practicies into the enterprise.
Have you taken a look at IBM's new VM for Win32? It runs faster than most Java native compilers do. And it's 85% cross platform - meaning you'll see this on Solaris, Linux, etc. some day.
only problem is, using ORBs for production distributed systems is largely a bad idea. They are still based on RPC's, primarily: not a very scalable approach.
The new CORBA Messaging spec is a start, but I don't think there are very many implementations of it.
My only rebuttal: I don't believe most of the software in the world today is shrink-wrapped: it's custom in-house software at banks, financial houses, manufacturing plants, IS deparments everywhere and the government.
It is said that 2/3 of the world's data lies on IBM servers - most of it non-relational at that. Most of those programs are in-house. They will *always* be proprietary, as they are so specialized, there is no reason a community should be formed around the code.
So, this was my perspective: the software market is going to continue to be largely driven by custom, proprietary software. Programmers who make a living at that can then spend their free time (if they really want to:) on making free software...this is what Bruce Perens does.
Okay, well here's a curve ball: I don't believe a corporation's purpose is to turn a profit.
I'm not alone on this, either. Peter Drucker's the one who got me thinking along these lines - he paints a very solid argument.
Essentially, profit is a necessary requirement for a corporation's survival and for its contribution to our society's economic performance - but it's not the reason for its existence.
The reason for its existence is to "make strength productive" - i.e. get a bunch of people together, build on their strengths, and make them more productive together than they would be individually. From that premise can the authority of management be drawn.
Being "productive" in this sence means that the organization focuses on one goal: creating a customer. That is, finding a need, or creating (innovating) a need/want, and fulfilling that need.
The tone of my reply was patronizing precicely because I felt that your initial post was rather immature. Since you've posted a rather coherent, thought out responce, I misjudged the person behind the post, I suppose. Please ignore the "grow up" and "Get a clue" remarks... they were made out of frustration.
The NetBSD and FreeBSD source code stuff comes from what I recall being discussed on the MacOS X developer list by an Apple employee, and what Apple has mentioned at last year's WWDC. I don't have any concrete source for you, sorry, but I guess the only way to find out is if we download Darwin and check.:)
As for Mach, it is more like Mach 2.5++++. MacOS X final (the consumer version) will be on an extended 3.0 kernel. My sources here again, are informal mailing list discussions.
Regarding the Scoville analogy: I remember when that essay first came out, and enjoyed it immensely, however I believe that GUI interfaces can be made powerful enough to parallel the creativity available with the CLI - it just hasn't been done yet. Furthermore, the whole event-driven nature of WIMP-based gui interfaces does provide a degree of flexibility above the traditional model of "green screen" applications that businesses have traditionally used.
Note that I don't recall in your original rant you focusing on the power of the CLI vs. the GUI - it was more about the "proprietary, bloated nature" of the GUI. I understand fully the power of the CLI, and am not questioning that. Right now, it IS the tool for power users. However, augmenting that with a GUI as consistent as the MacOS's, no matter how propretary, seems to be a Good Thing, which is why I'm looking forward to using MacOS X Server.
It's about good and easy. Easy GUI's for the routine stuff, powerful CLI's for the hard stuff. And perhaps eventually, we'll figure away to get the expressiveness of a CLI into a GUI.
I just wish some advocates HERE would realize what you said. Contributing to code and documentation does so much more than flapping one's mouth off about how all proprietary software will crumble under the Linux jihad.
Only through continual persistence and innovation will Linux prosper. This is harder than advocacy, but much more effective.
I agree that he doesn't "Get it", but I think if you think that the software industry can survive on "support profits" alone, you don't quite get it.
While support is important, it isn't enough to sustain a multi-billion dollar industry. And if you think "they'll downsize, they can't stop the Linux J1H4D!", I have news for you. Most people feel that giving up their freedoms (especially if they DON'T CARE if the source is free because they can't code) is fine for convenience. This means that free software is something to continually fight for - it is NOT an inevitability.
The world isn't going to turn into 100% programmers over the next decade. For that reason, There is room for BOTH free and proprietary software in this world. Furthermore, a company wanting to reach current levels of profit would need many indirect flows of cash beyond support - including distribution fees ala. RedHat.
Free software is important, and it is good that we move in that direction, but it's also important to take stock at what the barriers to this future are today. The picture you painted is viewed through some rather narrow goggles - it's important to see beyond your perceived "inevitability" of freedom - it is NOT inevitable. You have to fight for it.
From what I gather you feel that "friendly people" do good, but "Friendly people within companies" don't make for a "friendly company".
I think that's baloney. Apple in past was not a friendly company, but they have changed. This much is obvious beyond the PR - listening to engineers that work there, you can tell what that company is about: radical innovation with great marketing. [with innovation being in the "business" sense of the word, not that "bright idea" sense of the word].
All for-profit companies CAN do is to make our lives a little better through their innovations, while remaining socially responcible in adding to the economy - which slowly increases our standard of living. This isn't about "money grubbing", though your disillusionment with capitalism probably makes it appear so.
Apple does this better than any other PC company (now).
Compaq can't hold a candle to other direct manufacturers. They haven't been able to put a cap on their out of control inventory situation, they haven't been able to exploit Digital or Tandem... most of all, they concentrated on sub-$1000 consumer PC's when they knew that eroding margins should have kept them in the safe business-PC world (which, while competitive, doesn't have to deal with 'consumer ficklenss').
In short, "Getting bigger" doesn't mean "Getting Better", and poor Eckhard learned the lesson the hard way.
Most of the hard-core server side programmers out there need the power of the VisualAge interface.
- You actually need to look at more than one method at a time?
- A text editor cranks out the code, but pays little attention to the architecture of that code. VisualAge presents you with packages/classes/methods and the inheritance hierarchy. When you're dealing with hundreds of classes, you need that kind of complexity control.
- "inability to lock source?" Hmm.. VisualAge TeamConnection, perhaps?
- Lack of editor features? Okay, emacs has pretty much everyone licked here, but you CAN add more editor features through VAJ's ide API.
In general, I think that "hardcore coders" don't want to have to think about silly details like source code files, header files, makefiles and compiling everytime they fix something. These people want to design a good, maintainable and fast system. By using a repository, incremental compilation, and excellent class layout paradigm, VisualAge definitely shines for OO designers that want to do their job right.
Sure, OSS doesn't need deadlines. It can however lead to feature creep. Hence the need to ship a "production" version on a fairly regular basis, similar to how Linus releases a major version of Linux every 18 months.
Actually, the iMac is selling out like crazy in Japan from what I understand. 50% of all buyers are first-time buyers too.
Japan is a burgeoning personal computer market, and I think it's an intersting trend to see Apple capture so much share so quickly.
Thanks for your clarifications.
Please understand my position.. you're claiming that "you understand RMS better than most of the world", which is sort of like saying "i'm not crazy, the rest of the world is."
In the end, you may be right, and I respect your opinion.
"Wrong. The FSF has the right to enhance the work and then keep the rights to its changes. Third parties do not. "
Could you explain this better?
Any third party can modify an FSF work (software or book) any way they see fit, and redistribute it any way they see fit, so long as there is at least one medium that is accessible "at cost" and others can also freely derive from this offshoot work as well.
What right does the FSF have that a third party does not? You're being awfully cryptic here, and dare I say, somewhat ignorant.
I've always liked you, especially your columns & forum messages in Infoworld.
Lately, however, you seem to be on this anti-RMS crusade. I don't agree with all of the man's ideals either, but he does have a right (and a logical reason) to request that someone write free GNOME documentation.
RMS is not against profit-making. He is against profit making at the expense of freedom. He does not believe that economic incentive or conveinience is a proper excuse for giving up freedom.
If you want to fight RMS, fight him on that principle: that sometimes, yes, giving up freedom for convenience or economic incentive *IS* what we want to do, as the end economic benefits of copyright incentive does produce MORE freedom in the end (by increasing our standard of living). RMS has given us a gift through his radicalism: it forces people to take stock of the business and IP world around them and ask, "Do I want this?".
I think the recent interest in open source licences throughout the industry is a result of many reasonable people saying, "well, you know, intellectual property protection isn't ALWAYS that beneficial, nor an incentive to me." It makes us THINK about what we value. Right now, the majority don't REALLY value IP freedom. I personally don't think most people *will* value it for the forseeable future (3-5 years), but after that, who knows?
In the end, I suggest you start understanding RMS' position better in the future, lest people label you as a troll who radically twists a situation to suit his own opinion.
I really wish it were cheaper, but Apple's Interface Builder for OS X or WebObjects/NT is probably the most powerful Java Swing visual designer out there... I used this back in the Rhapsody DR1 days, and I couldn't believe how much flexibility you could have without even writing code - all you need to write is the business logic or complex model interactions.
VisualAge's editor is probably closest in the "wiring" concept to IB, but as you say, Visualage's code generation leaves something to be desired. (IMHO, though, it is better than Symantec's code gen). On the other hand, VisualAge is definitely a server-side developer's dream (again imho)...
Actually, it does have to do with "putting the work into it" that makes "copying" legal.
Copyright is all about protecting a specific _instance_ or _manifestation_ of a set of intellectual works. This protects the work PUT IN to creating those works, effectively giving economic incentive.
Such is the case with "clean room" software. For instance, it's VERY clear that StarOffice 5.0 is a clean-room redoing of Microsoft Office, yet they have not been charged with copyright infringement (look 'n' feel is still a shady area).
Blackberry does not run Windows CE.
I guess I must be patient or something, but I really don't find much of a response-time difference with VisualAge vs. VisualCafe vs. J++.
VisualAge comes up with an hour-glass more than those tools, but not for more than a second or two, typically. An extra second or two isn't going to kill me since I work so much faster in VA (and Codewarrior for that matter).
Yes, you can customize the VisualAge editor. There's a really nice API built into the workspace that you can use to extend the whole environment.
While in hindsight it was over, OS/2 *did* gain significant marketshare from 1994-95 with the release of Warp - and people did somehow think that it would trouce Windows 95.
:)
Warp v3 really put OS/2 back in the limelight, but only for a short period. (Remember the Nuns commercial?
Of course, it was a silly thought, but it was hope, nevertheless.
With VisualAge I can have method-level source control. Can you do that with CVS?
I really like CVS, but I fail to see what's mickey mouse about VisualAge's version control.
Perhaps IBM has the right philosophy here - VisualAge *is* a time tested, usable product. Smalltalkers in droves swear by it. Even C++ people swear by it.
It's not usable by the average joe because this is not an average joe's IDE. It is an IDE by professionals FOR professionals.
This is not meant to sound as elitism. You don't have to be a rocket scientist to figure this IDE out - it really IS simple - simpler than Visual C++ or J++, in my experience.
It took me maybe 3-4 days to figure out pretty much everything about how VisualAge operated and WHY the traditional Smalltalk IDE metaphor of repository + incremental compile + packages/classes/methods layout *IS* so effective.
A repository makes your project a nightmare?
What planet were you born on?
Most people I know that use VisualAge refuse to work with ANYTHING else unless deemed necessary by project requirements. [this includes myself - I need J++ to do some WFC GUI stuff, but VisualAge for the back end business objects]
I suggest you really look into what your problems with the tool are before slitting your through. The help does not suck (that I've found). The tool offers more features and flexibility than ANY other IDE I've encountered. And it has never crashed (it's not buggy). [I'm talking about VAJ 2.0 here - not 1.0]
Symantec is *not* a good ide.
If you're doing server side work, or anything complicated, no other IDE offers me the flexibility or ease of mind.
I just hope they release PPC binaries. (sigh)
I like the Smalltalk IDE metaphor. It's too bad so few other IDE's have adopted it.
If an enterprise IT shop regularily uses C/C++ on the server side, I would really pity them. Maintenance is, after all, 70% of all a piece of software's costs, and C++ often encourages programming that leads to an unmaintainable quagmire.
IBM has the most to benefit from Java. They need a new language to replace the "old" stalwart business language: COBOL. Smalltalk was destined to do this - it didn't quite work out that way. Java is a scaled down attempt at achieving the same thing: bringing modern programming practicies into the enterprise.
Have you taken a look at IBM's new VM for Win32? It runs faster than most Java native compilers do. And it's 85% cross platform - meaning you'll see this on Solaris, Linux, etc. some day.
only problem is, using ORBs for production distributed systems is largely a bad idea. They are still based on RPC's, primarily: not a very scalable approach.
The new CORBA Messaging spec is a start, but I don't think there are very many implementations of it.
...for your clarifications..
:) on making free software...this is what Bruce Perens does.
My only rebuttal: I don't believe most of the software in the world today is shrink-wrapped: it's custom in-house software at banks, financial houses, manufacturing plants, IS deparments everywhere and the government.
It is said that 2/3 of the world's data lies on IBM servers - most of it non-relational at that. Most of those programs are in-house. They will *always* be proprietary, as they are so specialized, there is no reason a community should be formed around the code.
So, this was my perspective: the software market is going to continue to be largely driven by custom, proprietary software. Programmers who make a living at that can then spend their free time (if they really want to
Okay, well here's a curve ball: I don't believe a corporation's purpose is to turn a profit.
I'm not alone on this, either. Peter Drucker's the one who got me thinking along these lines - he paints a very solid argument.
Essentially, profit is a necessary requirement for a corporation's survival and for its contribution to our society's economic performance - but it's not the reason for its existence.
The reason for its existence is to "make strength productive" - i.e. get a bunch of people together, build on their strengths, and make them more productive together than they would be individually. From that premise can the authority of management be drawn.
Being "productive" in this sence means that the organization focuses on one goal: creating a customer. That is, finding a need, or creating (innovating) a need/want, and fulfilling that need.
That's my view of it, in short.
The tone of my reply was patronizing precicely because I felt that your initial post was rather immature. Since you've posted a rather coherent, thought out responce, I misjudged the person behind the post, I suppose. Please ignore the "grow up" and "Get a clue" remarks... they were made out of frustration.
:)
The NetBSD and FreeBSD source code stuff comes from what I recall being discussed on the MacOS X developer list by an Apple employee, and what Apple has mentioned at last year's WWDC. I don't have any concrete source for you, sorry, but I guess the only way to find out is if we download Darwin and check.
As for Mach, it is more like Mach 2.5++++. MacOS X final (the consumer version) will be on an extended 3.0 kernel. My sources here again, are informal mailing list discussions.
Regarding the Scoville analogy: I remember when that essay first came out, and enjoyed it immensely, however I believe that GUI interfaces can be made powerful enough to parallel the creativity available with the CLI - it just hasn't been done yet. Furthermore, the whole event-driven nature of WIMP-based gui interfaces does provide a degree of flexibility above the traditional model of "green screen" applications that businesses have traditionally used.
Note that I don't recall in your original rant you focusing on the power of the CLI vs. the GUI - it was more about the "proprietary, bloated nature" of the GUI. I understand fully the power of the CLI, and am not questioning that. Right now, it IS the tool for power users. However, augmenting that with a GUI as consistent as the MacOS's, no matter how propretary, seems to be a Good Thing, which is why I'm looking forward to using MacOS X Server.
It's about good and easy. Easy GUI's for the routine stuff, powerful CLI's for the hard stuff. And perhaps eventually, we'll figure away to get the expressiveness of a CLI into a GUI.
Wonderful post. One of the best I've read here.
I just wish some advocates HERE would realize what you said. Contributing to code and documentation does so much more than flapping one's mouth off about how all proprietary software will crumble under the Linux jihad.
Only through continual persistence and innovation will Linux prosper. This is harder than advocacy, but much more effective.
I agree that he doesn't "Get it", but I think if you think that the software industry can survive on "support profits" alone, you don't quite get it.
While support is important, it isn't enough to sustain a multi-billion dollar industry. And if you think "they'll downsize, they can't stop the Linux J1H4D!", I have news for you. Most people feel that giving up their freedoms (especially if they DON'T CARE if the source is free because they can't code) is fine for convenience. This means that free software is something to continually fight for - it is NOT an inevitability.
The world isn't going to turn into 100% programmers over the next decade. For that reason, There is room for BOTH free and proprietary software in this world. Furthermore, a company wanting to reach current levels of profit would need many indirect flows of cash beyond support - including distribution fees ala. RedHat.
Free software is important, and it is good that we move in that direction, but it's also important to take stock at what the barriers to this future are today. The picture you painted is viewed through some rather narrow goggles - it's important to see beyond your perceived "inevitability" of freedom - it is NOT inevitable. You have to fight for it.
From what I gather you feel that "friendly people" do good, but "Friendly people within companies" don't make for a "friendly company".
I think that's baloney. Apple in past was not a friendly company, but they have changed. This much is obvious beyond the PR - listening to engineers that work there, you can tell what that company is about: radical innovation with great marketing. [with innovation being in the "business" sense of the word, not that "bright idea" sense of the word].
All for-profit companies CAN do is to make our lives a little better through their innovations, while remaining socially responcible in adding to the economy - which slowly increases our standard of living. This isn't about "money grubbing", though your disillusionment with capitalism probably makes it appear so.
Apple does this better than any other PC company (now).
Compaq can't hold a candle to other direct manufacturers. They haven't been able to put a cap on their out of control inventory situation, they haven't been able to exploit Digital or Tandem... most of all, they concentrated on sub-$1000 consumer PC's when they knew that eroding margins should have kept them in the safe business-PC world (which, while competitive, doesn't have to deal with 'consumer ficklenss').
In short, "Getting bigger" doesn't mean "Getting Better", and poor Eckhard learned the lesson the hard way.