Today is Sep 10 2002, a decade after GUI came to first Apples, OS/2s, Windows and X11 terminals. Years of usability and style wars. Have we decided yet about color, fonts, shapes and layouts? Not yet? Then we certainly very lazy, stupid, disorganized.
But actually I don't think so. I think we, users, have already decided that don't care too much about what styles will be delivered by default in our OS, especially, when we can change them. We care more about available applications, stable work and interoperable integration.
Mac OS before X has real problems with with available applications, compare to Win32. Mac OS X is even worse. Go to te nearest shop and check out yourself. Then double check on the web. Mac OS before X was terribly unstable and very crashing - it was the most unstable GUI on the market. OS X is not perfect either, compare to *n*x. With death of OpenDoc (thanks, Steve) nothing close to COM or CORBA.
So, what's left to Apple in attempt to save Mac OS? As usually - appealing to style and to snobish users. Mac OS was, is and will be pretty useless expensive (because of hardware) toy until Apple will done or both of the following:
either will fire Steve Jobs, the man who failed to bring any market succes to Next, and think more about applications, stability and interoperability (back to OpenDoc?),
or will give up Aqua source code, letting OSS to migrate it into X11, and keep as a hardware vendor.
Meanwhile I advise to use Linux/PPC (YDL, RH or others) as much better OS than Mac OS (including OS X).
Compare a measly little 1.25GHz G4 w/2MB DDR cache to a 1.25GHz 21264 Alpha w/16MB DDR cache
Is there any difference in price?
If I have, let's say $2K, what can I get for it on the market of PC, PPC and Alpha? And which one will fly and smoke?
Seriosly, are there any cross-platform comparison of models for the same price (systems for $1k, $2k and $3k) tests with GCC (linux kernel compilation), GNOME (theme changing), OpenGL (redrawing), PostgreSQL (reindexing), Java (servlet processing) and Lisp (bootstrap rebuilding)?
My intuition answers that the lower is the price the more advantage PC will have for the same price. The higher is the price the more advantage Alpha will have for the same price. Mac may have a chance to win a benchmark somewehere on the middle.
Unfortunately I cannot find any links for such fair testing. Vendors hate fair testing and show only results of unfair tests. And there is no such thing as independent benchmarks. Or is there?
With a little of budget I can afford to buy new Mac, but then no money left to buy all those upgrades.
I bought the software when it was promised to work on all PowePC Macs. The promise is broken.
I bouhgt OSX 10.0 thinking I've got new OS, right? Wrong! I bought a beta version, then I had to buy 10.1 and then 10.2 again. So, by the time of 10.9 I'll spend $1290! And that only for OS - I have to upgrade lot's of 3rd (and not only 3rd!) party software and hardware, so the final OSX ownership price would be about $10,000 - Wow!
With all that OSX upgrades Apple is doing wrong things for its customers - it's milking money like B*ll G*tes. Even uglier - I can download WinNT/2K system upgrades free, but I have to buy each new number after ten (in 10.X) again and again.
As an Apple customer I am dissatisfied. Very:(
As a Mac user I am installing Linux/PPC (YDL) and very happy:)
First of all, I've been using Apache in my web aplications since 1995. And I love the server.
Second, I've been writing various scripts about 10 years and I do it again when it comes to solve some small sysadmin task, especially on the backend of some CLI-compatible OS.
In a big web application I don't like being limited by default interpreter. And I need a good data/functional/object model. Certainly, neither PHP nor Perl nor Tcl can help. Although I still like scripts as a part of aspect separation. That's why I use either Java with XSLT or Python with Zope (Perl with AxKit is not ready to be used in a production mode yet, IMHO).
Now, I see that nothing wrong of using Tomcat (or another Java servlet engine) in standalone mode listening http directly, without any Apache. It's easier to install, customize, control and maintain. Zope standalone - same situation.
So, why would I even be bothered with Apache? Integration with decent PHP and CGI applications? Have you ever tried to integrate Apache CGI with Java servlets or Zope products, like session sharing? You don't want to do it again.
Does it mean that Apache doesn't have any future? Not at all. Even although today developers recognize that PHP and CGI is not a way to go, Apache still keeps a niche of static content handlers and micro-CGI servers. Besides, it might have very interesting future as a SOAP gateway.
Regarding Apache 2, I think that people are loosing an interest in Apache. And when they have to decide to migrate to Apache 2 or not (from Apache 1), they also ask "Isn't it a perfect time to consider another web server, like Tomcat or Zope?"
Berlin is a windowing system derived from Fresco, a powerful structured graphics toolkit originally based on InterViews. Berlin extends Fresco to the status of a full windowing system, in command of the video hardware (via GGI, SDL, DirectFB or GLUT) and processing user input directly rather than peering with a host windowing system. Additionally, Berlin's extensions include a rich drawing interface with multiple backends, an upgrade to modern CORBA standards, a new Unicode-capable text system, dynamic module loading, and many communication abstractions for connecting other processes to the server. It is developed entirely by volunteers on the internet, using free software, and released under the GNU Library General Public License.
I've installed YDL 2.X and had all hardware modules you've mentioned above either automatically loaded or after just a couple of commands. Without recompilation - out of the box. Dual-head? Well, at least it was not more complicated than on PC. Although, I agree, Linux/PPC installation and configuration is not for housewives (except ones with smart hasbands), yet. But it's already usable by housewives. And it should already meet expectations of corporate IT personnel. It's perfectly managed remotely, it's secure (hack-proof) and safe (fool-proof).
I agree, that Linux/PPC user have problems with commercial applications. And sometimes it is not acceptable. But not all times. People in our company use GIMP for graphic UI mockups and similar tasks. And they use Open Office for all typicall office document work, connecting to M$ Office users without major problems. And that saves a lot of $$. Well, most of users and all servers use PC (win2k), but some use Mac (OS 9). After MSFT decided to milk money on license fees, we've decided to go with Linux. And Linux/PPC might be a good way to make a desktop and an application set of Mac users unified with PC users. Besides, it will integrate better with Linux servers (I hate Apple proprietary network protocols).
Give just another year for Linux (all platforms in general) and it will surpass both Windows AND Mc OS X in end-user usability, inlcuding installation and configuration. One year ago I had problems with M$ Office files and Java, both KDE and GNOME were unusable and unstable, Mozilla was just out of control. USB, Firewire, DV, SANE, *Pilot - it was a beta. Linux was the platform for servers. Things have been chenged. And they are changing right now. GNOME 2 , Mozilla 1.x, Office v1, USB, Firewire, DV, SANE , jPilot - the application set is basically completed. The last set of details for a home user is in self-configuration improvement and for a corp user is RBAC. And we know that people are working on it. One year and the desktop market will be shaken again. By OS which works for end-users same way on PC and PPC (and on Alpha and on Sparc).
OK. We know that hardware self-configuration is not gonna be a problem in Linux, eventually. How about RBAC? Mac OS X is not better than Linux/PPC either. What Mac OS X has left to compete with Linux/PPC? Aqua and a commercial application support.
Aqua is not a threat for GNOME 2. I've shown both Aqua and GNOME 2 to non-technical win32 users and they found both same usable. Personally I think that Aqua is a buzz only for Mac OS 9 users to move to Mac OS X. Win32 already saw win2k and XP. GUI tricks in GNOME and Aqua are just new themes for them.
Commercial application support is not a need for an average computer user. No commercial application in exchange to robust open source equal applications? Even better - no fee, good for budget. Commercial games? It's not a question to arise in corps. And a home users did not have enough commercial games for Mac either - most of commercial games are for PC, check yourself in the closest store. There are some commercial games for Mac OS (X?), but there some games for Linux/PPC as well.
just to complete the picture: Yellow Dog is not the only Linux distro running on PPC. I've tried successfully: LinuxPPC (now dead, last distro is 2000'Q4), Debian and Gentoo. And I heard about some success of porting of FreeBSD and NetBSD to PPC platform, partiuarly into Mac/PPC.
Why am I telling it? I think Mac OS (including Mac OS X) users should use the same formula as was driving users from PC to Mac - "Think different, think Apple!", but now with a small change: "Think different, think Linux/PPC". Mac/PPC world should not be and is not limited by the dictated choice of the sector monopolist (Apple). And Linux is doing the same great job is it's doing on the PC sector - it's giving the choice for people. The choice of OS.
Seriosly, think about it. What kind of choice Mac gives to people? To spend another $1K for more expensive hardware and then to stick with Mac OS after discovering lots of Mac OS (even OS X) problems? With Linux/PPC people can buy Mac/PPC and use same skills as they have with Linux/x86.
I think that Apple, instead of porting of Mac OS X into PC/x86, should officially support (and contribute!) Linux/PPC. Eventually Apple should either port Aqua to Linux/X11 or to give up Mac OS at all.
I hope people will remove coffee-coloured glasses, open their eyes, open their mind, begin to see and start to think. Then the time for real programming languages and real design techniques will come. Meanwhile I recommend to read the following books:
I've just been tired from java problems since the bigining of Java waiting when Java will be improved finally up-to the production quality and it's still not there.
So, still keeping some Java projects, I've decided to try something else. First I've tried was Python, which I used for while in OS automation scripts, but now I've tried to use it for a bigger scope: "servlets", UI, JMS-like messaging, XSLT, text processing, RDF, and finally in some AI stuff using FP, which is poor in Python, but at least it is there. By the way, OOP in Python is also far away from being perfect. It is slow on massive calculations, although it is fast enough for script -based OS automation, UI, "servlets" and XML processing (but not on huge files). it is dynamically typed and it has lazy evaluation - both very important features for messaging. Python is less known, comparing to Java, but its community is not really tiny as Perl and other *n*x hackers usually know Python.
After Python I've tried Erlang, Oz, OCaml, Haskell. I think Erlnag is ready for distributed messaging and for OS automation. The others are not - the lack of libraries. Although, each of them, Oz, OCaml and Haskell, has a very great potential if some big corp will do support. Any of these three may need just 10% of Java marketing to collect a crical mass and become recognized.
Before Java I had an experience also in C, Perl, Scheme, Lisp and Tcl, in few projects each. C is very "crashy" in you hands if you don't use it every day. Tcl does not handle well big enough apps. Perl is a "write-only" self-obfuscated lang. The only choice left is Lisp and Scheme. Lisp is very power for big standalone apps, Scheme is convinient for being embedded somewhere.
So, in the finals I've got Python, Erlang, Scheme and Lisp. Not a bad choice.
Coming back to UML. It does same help for Python programming as for Java. As for Lisp/Scheme and Erlang, I think that things like UML are too primitive to fit. On serious languages you need a serious math, and usually diagram is just an iluustration in the math article, not a whole article.
So, if you tired from kid pictures get the math in your hands:)
If you are creating a large system, you do NOT want to be hacking ASP, PERL, PHP
That's in a theory, if there is no legacy system. A practive is more complicated, as usually. You've got a legacy system, you have to integrate with, and that system use a mix of languages, protocols, layers and architectures.
Sure you can create a layer of EJB components interfacing with the legacy stuff and hardcoding the logic of both new and old systems.
Personally I prefer XML to deal with such interfaces - XSLT wherever pipes work and SOAP when it crosses a network. And if new system can be design based on XML - fine, let it all be XML (XSLT or SOAP) - one system, one maintenance, one set of required skills and tools. Besides, with XML I feel much more comfortable when I verify both logic and data consistency. And I don't care what languages are integrated if they support XML (most of modern lang do).
As for EJB... I don't like it. I don't like how Sun handle EJB specs and I don't like how Sun handle Java specs. It might be better organized than some open source lang (like Perl), but it doesn't appreciate my creativity.
Besides, when I need a distributed system with several big app servers and lots of remote PC clients and embedded agents then I cannot use EJB everywhere, I don't have enough RAM/CPU for it everywhere. In such a case I am initially forced to choose something that will work everywhere. Here I come again with XML, processed by Java in app servers and by C/C++/Python/Perl/VB on remote clients/agents.
1. You must mean OS independent - platform is too general word and besides OS it may mean architecture (web 3-tier vs clent server), app-server (EJB vs CGI), framework (components vs templates) and so on.
2. Java will never be OS-independent. Compare the user management and permissions in *n*x vs NT. File system concepts, multi-thread model. There is no such thing as OS-independent language. And, by the way, there is no such thing as a platform independent language. Even English is used differently: "threads" in NT and Linux:)
3. Java suffers from its attempt of being OS-independent. Covering OS specific problems, Java doesn't use OS benefits either. As a result Java is good only for OS-independent domains: UI applets, simple servlets, XSL transformers. As for communications - it cannot be OS independent and thus it is not good domain for Java. EJB is closed architecture (only EJB to EJB), so is JMS. I hope SOAP eventually, spreading everywhere, will help to integrate Java into different platform environments. But it is not gonna happen anytime soon. At least untill all major operating systems will implement complete enough API based on SOAP. That is about Java as a "consumer of OS" By the way, as a "provider of OS" (like startup and configuration scripts, command line interface, various listeners and daemons), Java is even in worse shape (long startup time, big in memory, bad memory management).
4. There are other OS-independent domains, like AI and text processing, but Java is not good in such domains either. Java is a single-paradigm language - you have to use only OOP (no FP, no LP). And OOP in Java is one of the worst OOPs among other programming languages - no multiple inheritance, no meta-object protocol, no type inference, no parametric polimorphism. I don't think this will be ever improved and thus Java is really limited to applets, servlets and XSLT.
Canada and the United States are nonvoting members of the Council of Europe, and representatives from both countries' police agencies have endorsed the controversial cybercrime treaty, which has drawn protests from human rights activists and civil liberties groups. Of nearly 50 participating nations, only Albania has formally adopted, or ratified, the treaty.
Well, it seems to me that US and Canada are not only nonvoting, but also not-very-democratic members:)
Actually, I have a bad feeling about a future of the Internet. In general.:(
I've just asked few mom-age people about WordPerfect and got the typical answer: "Back in DOS I've been enjoying in WordPerfect. Despite non-WYSIWYG (or quasi-WYSIWIG) UI, the usability logic was more intuitive and more goal-oriented then even modern MS Word. If it would be a chance to choose I'd certainly get WordPerfect. Just keep me two sync windows: one with pre-view and the other with pseudo markup code - I want to control and understand my work."
Personally, I think that OpenOffice should pay attention on WordPerfect. Mimicing MS Word means mimicing MS mistakes. But if the market forgave mistakes to MS, it won't do it for OpenOffice.
Specifically I would consider to have ability to type in one of two synchronized windows - one with WYSIWIG pre-view (like regular document window in OpenOffice) and the other in XML tags of the document source code. Or even one more: in the document outline tree like in Outline Vew of MS word (OpenOffice forgot to mimic this specific feature).
Same way I compose documents in Mozilla, sometimes. Well, Mozilla Composer has some serious usability and stability problems and thus cannot be seriously considered for every-day office document composing. At least yet. Plus Mozilla Composer supports only HTML (both as a format *AND* as a style), which is good for being a part of a web browser package, but certainly not enough for carrying more general office document composition tasks.
I choose the ability to see correctly most of web sites. So, I choose Mozilla. As a bonus I've got that correctness in the same way on all platforms I use: Mac, Linux and Win32.
Speaking about Mac specific browsers, I would prefer to re-animate the good old CyberDog.
Alternatively, Larry, if your Perl project has 10 pages size (take another measrement if you want), how long will it take for you that you would not be able to read it from the first time and make a change in the code?
Larry, do you understand your own code written in Perl two years ago?
Personally, I think that the most of PC users care more about information/document management rather than computer games. And also I think that Intel creates CPU for the most average computer users.
So that the upcoming enhanced version of notepad will load in less than 10 minutes.
With GNU attach client (X)Emacs loads up in a fraction of second:)
Seriously, most of information/document tasks (including notepad related) work fine even on Pentium II it it has enough memory and good speed of data exchange between memory and disks. It makes more sense to have a workgroup server or a power workstation with Pentioum Celeron 500 MHZ and 2048 MB RAM rather than Pentium 4 3 Ghz and 128 MB RAM !
I'd better invest my money for having more RAM and faster system bus. Why would I need ~3Ghz for software development and information/document management?
Why use OSX? First, the OS doesn't crash as often. Second, it's UNIX. I love being able to ssh to my Linux box from work, send a WOL packet to my Mac to wake it from sleep, ssh into it, locate a file, and use scp to send it where I need it.
Aren't you able to do the same with Linux/PPC (YDL)? What's the point to pay $100+ for OS which is even not available for being downloaded as an ISO image when ther is a much better choice (YDL)?
But actually I don't think so. I think we, users, have already decided that don't care too much about what styles will be delivered by default in our OS, especially, when we can change them. We care more about available applications, stable work and interoperable integration.
Mac OS before X has real problems with with available applications, compare to Win32. Mac OS X is even worse. Go to te nearest shop and check out yourself. Then double check on the web. Mac OS before X was terribly unstable and very crashing - it was the most unstable GUI on the market. OS X is not perfect either, compare to *n*x. With death of OpenDoc (thanks, Steve) nothing close to COM or CORBA.
So, what's left to Apple in attempt to save Mac OS? As usually - appealing to style and to snobish users. Mac OS was, is and will be pretty useless expensive (because of hardware) toy until Apple will done or both of the following:
- either will fire Steve Jobs, the man who failed to bring any market succes to Next, and think more about applications, stability and interoperability (back to OpenDoc?),
- or will give up Aqua source code, letting OSS to migrate it into X11, and keep as a hardware vendor.
Meanwhile I advise to use Linux/PPC (YDL, RH or others) as much better OS than Mac OS (including OS X).Is there any difference in price?
If I have, let's say $2K, what can I get for it on the market of PC, PPC and Alpha? And which one will fly and smoke?
Seriosly, are there any cross-platform comparison of models for the same price (systems for $1k, $2k and $3k) tests with GCC (linux kernel compilation), GNOME (theme changing), OpenGL (redrawing), PostgreSQL (reindexing), Java (servlet processing) and Lisp (bootstrap rebuilding)?
My intuition answers that the lower is the price the more advantage PC will have for the same price. The higher is the price the more advantage Alpha will have for the same price. Mac may have a chance to win a benchmark somewehere on the middle.
Unfortunately I cannot find any links for such fair testing. Vendors hate fair testing and show only results of unfair tests. And there is no such thing as independent benchmarks. Or is there?
I bought the software when it was promised to work on all PowePC Macs. The promise is broken.
I bouhgt OSX 10.0 thinking I've got new OS, right? Wrong! I bought a beta version, then I had to buy 10.1 and then 10.2 again. So, by the time of 10.9 I'll spend $1290! And that only for OS - I have to upgrade lot's of 3rd (and not only 3rd!) party software and hardware, so the final OSX ownership price would be about $10,000 - Wow!
With all that OSX upgrades Apple is doing wrong things for its customers - it's milking money like B*ll G*tes. Even uglier - I can download WinNT/2K system upgrades free, but I have to buy each new number after ten (in 10.X) again and again.
As an Apple customer I am dissatisfied. Very :(
As a Mac user I am installing Linux/PPC (YDL) and very happy :)
Second, I've been writing various scripts about 10 years and I do it again when it comes to solve some small sysadmin task, especially on the backend of some CLI-compatible OS.
In a big web application I don't like being limited by default interpreter. And I need a good data/functional/object model. Certainly, neither PHP nor Perl nor Tcl can help. Although I still like scripts as a part of aspect separation. That's why I use either Java with XSLT or Python with Zope (Perl with AxKit is not ready to be used in a production mode yet, IMHO).
Now, I see that nothing wrong of using Tomcat (or another Java servlet engine) in standalone mode listening http directly, without any Apache. It's easier to install, customize, control and maintain. Zope standalone - same situation.
So, why would I even be bothered with Apache? Integration with decent PHP and CGI applications? Have you ever tried to integrate Apache CGI with Java servlets or Zope products, like session sharing? You don't want to do it again.
Does it mean that Apache doesn't have any future? Not at all. Even although today developers recognize that PHP and CGI is not a way to go, Apache still keeps a niche of static content handlers and micro-CGI servers. Besides, it might have very interesting future as a SOAP gateway.
Regarding Apache 2, I think that people are loosing an interest in Apache. And when they have to decide to migrate to Apache 2 or not (from Apache 1), they also ask "Isn't it a perfect time to consider another web server, like Tomcat or Zope?"
And if you like it then read here:
Berlin is a windowing system derived from Fresco, a powerful structured graphics toolkit originally based on InterViews. Berlin extends Fresco to the status of a full windowing system, in command of the video hardware (via GGI, SDL, DirectFB or GLUT) and processing user input directly rather than peering with a host windowing system. Additionally, Berlin's extensions include a rich drawing interface with multiple backends, an upgrade to modern CORBA standards, a new Unicode-capable text system, dynamic module loading, and many communication abstractions for connecting other processes to the server. It is developed entirely by volunteers on the internet, using free software, and released under the GNU Library General Public License.
I've installed YDL 2.X and had all hardware modules you've mentioned above either automatically loaded or after just a couple of commands. Without recompilation - out of the box. Dual-head? Well, at least it was not more complicated than on PC. Although, I agree, Linux/PPC installation and configuration is not for housewives (except ones with smart hasbands), yet. But it's already usable by housewives. And it should already meet expectations of corporate IT personnel. It's perfectly managed remotely, it's secure (hack-proof) and safe (fool-proof).
I agree, that Linux/PPC user have problems with commercial applications. And sometimes it is not acceptable. But not all times. People in our company use GIMP for graphic UI mockups and similar tasks. And they use Open Office for all typicall office document work, connecting to M$ Office users without major problems. And that saves a lot of $$. Well, most of users and all servers use PC (win2k), but some use Mac (OS 9). After MSFT decided to milk money on license fees, we've decided to go with Linux. And Linux/PPC might be a good way to make a desktop and an application set of Mac users unified with PC users. Besides, it will integrate better with Linux servers (I hate Apple proprietary network protocols).
Give just another year for Linux (all platforms in general) and it will surpass both Windows AND Mc OS X in end-user usability, inlcuding installation and configuration. One year ago I had problems with M$ Office files and Java, both KDE and GNOME were unusable and unstable, Mozilla was just out of control. USB, Firewire, DV, SANE, *Pilot - it was a beta. Linux was the platform for servers. Things have been chenged. And they are changing right now. GNOME 2 , Mozilla 1.x, Office v1, USB, Firewire, DV, SANE , jPilot - the application set is basically completed. The last set of details for a home user is in self-configuration improvement and for a corp user is RBAC. And we know that people are working on it. One year and the desktop market will be shaken again. By OS which works for end-users same way on PC and PPC (and on Alpha and on Sparc).
OK. We know that hardware self-configuration is not gonna be a problem in Linux, eventually. How about RBAC? Mac OS X is not better than Linux/PPC either. What Mac OS X has left to compete with Linux/PPC? Aqua and a commercial application support.
Aqua is not a threat for GNOME 2. I've shown both Aqua and GNOME 2 to non-technical win32 users and they found both same usable. Personally I think that Aqua is a buzz only for Mac OS 9 users to move to Mac OS X. Win32 already saw win2k and XP. GUI tricks in GNOME and Aqua are just new themes for them.
Commercial application support is not a need for an average computer user. No commercial application in exchange to robust open source equal applications? Even better - no fee, good for budget. Commercial games? It's not a question to arise in corps. And a home users did not have enough commercial games for Mac either - most of commercial games are for PC, check yourself in the closest store. There are some commercial games for Mac OS (X?), but there some games for Linux/PPC as well.
Why am I telling it? I think Mac OS (including Mac OS X) users should use the same formula as was driving users from PC to Mac - "Think different, think Apple!", but now with a small change: "Think different, think Linux/PPC". Mac/PPC world should not be and is not limited by the dictated choice of the sector monopolist (Apple). And Linux is doing the same great job is it's doing on the PC sector - it's giving the choice for people. The choice of OS.
Seriosly, think about it. What kind of choice Mac gives to people? To spend another $1K for more expensive hardware and then to stick with Mac OS after discovering lots of Mac OS (even OS X) problems? With Linux/PPC people can buy Mac/PPC and use same skills as they have with Linux/x86.
I think that Apple, instead of porting of Mac OS X into PC/x86, should officially support (and contribute!) Linux/PPC. Eventually Apple should either port Aqua to Linux/X11 or to give up Mac OS at all.
- Why Functional Programming Matters
- Haskell: The Craft of Functional Programming Second Edition
- FAD: A Functional Analysis and Design Methodology
- Structure and Interpretation of Computer Programs
- Concepts, Techniques, and Models of Computer Programming
- CLOS Meta Object Protocol
I've just been tired from java problems since the bigining of Java waiting when Java will be improved finally up-to the production quality and it's still not there.So, still keeping some Java projects, I've decided to try something else. First I've tried was Python, which I used for while in OS automation scripts, but now I've tried to use it for a bigger scope: "servlets", UI, JMS-like messaging, XSLT, text processing, RDF, and finally in some AI stuff using FP, which is poor in Python, but at least it is there. By the way, OOP in Python is also far away from being perfect. It is slow on massive calculations, although it is fast enough for script -based OS automation, UI, "servlets" and XML processing (but not on huge files). it is dynamically typed and it has lazy evaluation - both very important features for messaging. Python is less known, comparing to Java, but its community is not really tiny as Perl and other *n*x hackers usually know Python.
After Python I've tried Erlang, Oz, OCaml, Haskell. I think Erlnag is ready for distributed messaging and for OS automation. The others are not - the lack of libraries. Although, each of them, Oz, OCaml and Haskell, has a very great potential if some big corp will do support. Any of these three may need just 10% of Java marketing to collect a crical mass and become recognized.
Before Java I had an experience also in C, Perl, Scheme, Lisp and Tcl, in few projects each. C is very "crashy" in you hands if you don't use it every day. Tcl does not handle well big enough apps. Perl is a "write-only" self-obfuscated lang. The only choice left is Lisp and Scheme. Lisp is very power for big standalone apps, Scheme is convinient for being embedded somewhere.
So, in the finals I've got Python, Erlang, Scheme and Lisp. Not a bad choice.
Coming back to UML. It does same help for Python programming as for Java. As for Lisp/Scheme and Erlang, I think that things like UML are too primitive to fit. On serious languages you need a serious math, and usually diagram is just an iluustration in the math article, not a whole article.
So, if you tired from kid pictures get the math in your hands :)
Borland might use Java to write JBuilder, but did they use RUP or Rational Rose? I don't think so.
I heard from the teacher on courses of Rational University that Rational uses neither RUP nor Rational Rose to create their software.
After a couple of year of my own experience I am very careful with RUP - it does not fit every project. OOP either. If you feel the same - try FAD: A Functional Analysis and Design Methodology.
That's in a theory, if there is no legacy system. A practive is more complicated, as usually. You've got a legacy system, you have to integrate with, and that system use a mix of languages, protocols, layers and architectures.
Sure you can create a layer of EJB components interfacing with the legacy stuff and hardcoding the logic of both new and old systems.
Personally I prefer XML to deal with such interfaces - XSLT wherever pipes work and SOAP when it crosses a network. And if new system can be design based on XML - fine, let it all be XML (XSLT or SOAP) - one system, one maintenance, one set of required skills and tools. Besides, with XML I feel much more comfortable when I verify both logic and data consistency. And I don't care what languages are integrated if they support XML (most of modern lang do).
As for EJB... I don't like it. I don't like how Sun handle EJB specs and I don't like how Sun handle Java specs. It might be better organized than some open source lang (like Perl), but it doesn't appreciate my creativity.
Besides, when I need a distributed system with several big app servers and lots of remote PC clients and embedded agents then I cannot use EJB everywhere, I don't have enough RAM/CPU for it everywhere. In such a case I am initially forced to choose something that will work everywhere. Here I come again with XML, processed by Java in app servers and by C/C++/Python/Perl/VB on remote clients/agents.
Any? Try to apply this book to CLOS or OCaml or O'Haskell or Oz and see the limitations.
1. You must mean OS independent - platform is too general word and besides OS it may mean architecture (web 3-tier vs clent server), app-server (EJB vs CGI), framework (components vs templates) and so on.
2. Java will never be OS-independent. Compare the user management and permissions in *n*x vs NT. File system concepts, multi-thread model. There is no such thing as OS-independent language. And, by the way, there is no such thing as a platform independent language. Even English is used differently: "threads" in NT and Linux :)
3. Java suffers from its attempt of being OS-independent. Covering OS specific problems, Java doesn't use OS benefits either. As a result Java is good only for OS-independent domains: UI applets, simple servlets, XSL transformers. As for communications - it cannot be OS independent and thus it is not good domain for Java. EJB is closed architecture (only EJB to EJB), so is JMS. I hope SOAP eventually, spreading everywhere, will help to integrate Java into different platform environments. But it is not gonna happen anytime soon. At least untill all major operating systems will implement complete enough API based on SOAP. That is about Java as a "consumer of OS" By the way, as a "provider of OS" (like startup and configuration scripts, command line interface, various listeners and daemons), Java is even in worse shape (long startup time, big in memory, bad memory management).
4. There are other OS-independent domains, like AI and text processing, but Java is not good in such domains either. Java is a single-paradigm language - you have to use only OOP (no FP, no LP). And OOP in Java is one of the worst OOPs among other programming languages - no multiple inheritance, no meta-object protocol, no type inference, no parametric polimorphism. I don't think this will be ever improved and thus Java is really limited to applets, servlets and XSLT.
Well, it seems to me that US and Canada are not only nonvoting, but also not-very-democratic members :)
Actually, I have a bad feeling about a future of the Internet. In general. :(
Personally, I think that OpenOffice should pay attention on WordPerfect. Mimicing MS Word means mimicing MS mistakes. But if the market forgave mistakes to MS, it won't do it for OpenOffice.
Specifically I would consider to have ability to type in one of two synchronized windows - one with WYSIWIG pre-view (like regular document window in OpenOffice) and the other in XML tags of the document source code. Or even one more: in the document outline tree like in Outline Vew of MS word (OpenOffice forgot to mimic this specific feature).
Same way I compose documents in Mozilla, sometimes. Well, Mozilla Composer has some serious usability and stability problems and thus cannot be seriously considered for every-day office document composing. At least yet. Plus Mozilla Composer supports only HTML (both as a format *AND* as a style), which is good for being a part of a web browser package, but certainly not enough for carrying more general office document composition tasks.
That was the previous day :)
Speaking about Mac specific browsers, I would prefer to re-animate the good old CyberDog.
Larry, do you understand your own code written in Perl two years ago?
How about even more straight-forward question:
Larry, do you understand your own code written in Perl two years ago?
Geeks should buy Mac - much better for geeks :)
With GNU attach client (X)Emacs loads up in a fraction of second :)
Seriously, most of information/document tasks (including notepad related) work fine even on Pentium II it it has enough memory and good speed of data exchange between memory and disks. It makes more sense to have a workgroup server or a power workstation with Pentioum Celeron 500 MHZ and 2048 MB RAM rather than Pentium 4 3 Ghz and 128 MB RAM !
Just because you don't know (or don't understand) FP doesn't make you right.
I'd better invest my money for having more RAM and faster system bus. Why would I need ~3Ghz for software development and information/document management?
Aren't you able to do the same with Linux/PPC (YDL)? What's the point to pay $100+ for OS which is even not available for being downloaded as an ISO image when ther is a much better choice (YDL)?
The day I've installed Linux/PPC is the day Mac OS died on the Mac for me.
Same about TeX vs M$.doc
The age is not bad when original design was done using brains.