Domain: javasoft.com
Stories and comments across the archive that link to javasoft.com.
Comments · 29
-
Go Wite an App, Not a JSR
Why is the poster doing this as a JSR? They are requests for Java specifications. Things that go into the core of the Java platform.
The problem domain for this proposed JSR is primarily in the business world, not the technical one. I can't see any one proposal getting sufficient backing from a wide enough user group. Certainly not enough for everyone to agree on a useful technical implementation of this.
There are better ways to handle this...
I suggest that the poster goes and sets up his own web service to do this (banks and investment firms offer such services already). And work out an open API.
It's good you've found a problem that interests you. But please don't feel you need to go and clutter up my platform of choice to go solving it.
-
Java developer world
First, java development stuff:
1. Sun Java JDK (latest)
2. Eclipse (java ide)
3. GCJ (java compiler)
4. JEdit (awesome everyday editor)
5. Minq's DBVisualizer (database tool)
6. Apache Tomcat
From here I go to utils
7. Winrar or Winzip (prior is better. 7zip needs a better interface)
8. Thunderbird (best email client ever)
9. Adaware
10. Norton Antivirus -
Re:Java != .NET
We don't even consider it a contender for anything anymore because we don't want to deal with sun.
We?! What "We" are you talking about? Slashdot kids? No one cares what you think and no one cares if you trust Microsoft more than Sun.
If you are wondering what I'm talking about, the easiest example is to try and compile jdk13 from the ports in FreeBSD, you can't w/o agreeing to about 500 agreements and giving them plenty of marketoid info.
One license agreement and giving your name was too much to ask? If you think that's too much to ask, you obviously didn't register your NT server. Really, don't you have any real complaints or are you just going to bitch?
Every bit of the Java spec is published, check JavaSoft. There is no need for source, since the spec is public anyone can write a Java VM without consulting Sun. If the Open Source world isn't up to the task, tough shit, it's not like they spend money on anything else anyway. Your whole post was just stupid mindless bitching. You didn't mention one semi-valid complaint about Java. -
Slashdotted already!Interview by Christian Fredrik Kalager Schaller
If you have followed GNU/Linux for the last few years you know that GNOME has long been a stronghold of C, Perl and Python GUI programming. With Ximian's work on Mono, C# seems also to be a language that will see wide use in GNOME. Sun's involvement should also make Java applications integrate strongly with GNOME. But what about C++? Even in the GNU/Linux and Unix world this language has received many advocates and developers. I sat down with Murray Cumming, lead developer on the gtkmm and gnomemm C++ bindings for GTK+ and GNOME to get some information on the status of C++ development in GNOME.
Christian: What is your background and what puts food on your table in real life?
Murray: I'm a freelance developer, though that's difficult in the current market. I do C++ development on Unix, on all kinds of projects, such as protocol implementations, compilers, interpreters, data converters, management systems, and GUIs to make sense of all these. I've lived in Munich, Germany, for the past 3 years, but I'm officially a Brit. I love Munich's healthy outdoors lifestyle and easy-going socialising. I try to put the Lederhosen out of my mind.
Over the past ten years I worked my way up through paper-shuffling, data-entry, typography/design, tech-support, database consultancy, and Windows development. I didn't learn programming at a college, and I still stubbornly believe that it made me a better developer. You have to really care about something to teach yourself in your spare time.
I didn't use any Unix-like systems until Linux was widely available. People forget that before Linux you had to go to University to use Unix. Some companies had big Unix boxes, and the staff who used them generally earned huge sums because they knew how to move files around. Naturally they didn't let anyone else near them.
I've grown to love the control that Unix gives you but I've done hardcore GUI development on MacOS and Windows, so I know there's more to life. Unlike lots of GNOME developers, I know that the Mac is a worthy influence but that Windows gives us nothing to chase.
Christian: How did you get involved in developing gtkmm and gnomemm?
Murray: I was originally just a user, more attracted to the up-to-date gtkmm than the awkward (and then non-free) QT. I did the carthorse work necessary to get gnomemm 1.2 usable and stable, and that's how I learned about the general issues involved.
Then I decided to make a big effort to get gtkmm2 going, when it didn't look like anyone else was going to do it. Karl had the beginnings of gtkmm2, but it didn't build and he was reluctant to show it to the world, fearing that people would expect a certain amount of work from him. He didn't have time to do much more on it, but I did persuade him to put it on the gnome cvs. I worked on it gradually, sending progress reports to the list in case anyone was interested, and so that other people could learn too. After about 4 months I understood what it was doing, and it was able to run simple example code. As soon as I reached that stage lots of people started helping out.
Christian: What are the main design ideas of gtkmm and gnomemm?
Murray: We aim to provide the interface that a skilled C++ coder would expect, based on his experience of the language and the standard C++ Library. We try to use the standard language features wherever possible, just as any sensible C++ coder should. There would be nothing unusual about this if it weren't for bizarre C++ libraries such as QT and MFC. Is sanity really a design decision?
It's not really a design decision, but we are particularly proud that C++ allows us to simplify the underlying C interfaces. For instance, GtkTreeView has a great deal of flexibility, but gtkmm doesn't expect you to worry about that functionality unless you actually want to use it.
Christian: Okay, as you told me you made an effort to get gtkmm going, what where your aims when starting out with it?
Murray: I had 2 aims for gtkmm2:
1) Refactor it until both the interface and the implementation were ridiculously clear. I did not want any lingering doubt about the code just because people couldn't understand it. I believe that even a dull-witted person, with enough time, and enough notepaper, can make sense of anything. If he's not dull-witted then he'll make it easier for the next person.
2) Get more developers involved. This becomes easier after 1) when people can understand the code enough to improve it, but it's also necessary to:
- Present a clear vision so people know what's happening. To this end, I make a point of pre-announcing all major changes, discussing them, and announcing my interpretation of the consensus before proceeding. Everybody now understands that that's how we work, and that's why we've been successful. We only have to point to the list archives to justify our decisions in detail.
- Nurture people to get them started. We do this on the mailing list and in the #c++ IRC channel on irc.gimp.net.
- Let people know that their contributions are valued.
I know from commercial software development that money alone doesn't motivate people. In both proprietary and open-source projects, a team can only succeed if its members feel valued and involved in something worthwhile. That requires constant attention, but it pays off eventually.
Christian: That sounds good, so what is the current status of the C++ bindings for GNOME 2?
Murray: We are approaching API stability for gtkmm2, I think. Our code generator warns us about any functions that we've forgotten to wrap, and we are keeping track of API coverage manually too. We are spending most of our time now perfecting and simplifying the complex TreeView and TextView interfaces, and I see the end in sight there too. Lots of people are using gtkmm2 now and the response is overwhelmingly positive.
gnomemm 2 is progressing more slowly, mostly because it's more difficult for people to install all the latest GNOME 2 libraries. While it's still in development. Gnomemm 2 is much more integrated than gnomemm 1.2 - you can even download and install it as one tarball to get wrappers for libgnomeui, libglade, and gconf, among others.
I recently shared the gtkmm maintainership with Daniel Elstner because he's been doing so much good work on fundamental stuff. With two committed maintainers, and several regular developers, the future should be secure.
Also, we just announced support for the Forte C++ compiler that Sun will use for GNOME 2 on Solaris. And we are on the threshold of supporting Windows. Both of these platforms should be of great interest to commercial in-house developers.
Christian: Do looking ahead, what are the future directions of gtkmm and gnomemm?
Murray: For the future, we need to work on more Rapid Application Development stuff. The idea should be to add convenience without adding complication or straying from existing standards.
I'm working on some libglade additions that should make it easier to link custom code with separately-designed user interfaces. libglademm's syntax is already simpler and more helpful than libglade.
When GNOME's Anjuta2 is released, and when I can easily install KDevelop for KDE3, we need to add helper features for gtkmm.
We need to add things such as:
- Application-creation wizards so people can get started quickly.
- An "Add a signal handler for this widget to this class" feature
- An "Add a member variable for this Glade widget to this container class" feature.
- A widget creation wizard.
- A Bonobo control creation wizard.
- Add a class, deriving from this widget class.
- Add a method to this class.
- Override this method in this class.
Christian: OrbitCpp is being integrated to ship as part of the core ORBit2 package. What will this mean for C++ developers working on GNOME apps?
Murray: The Bonobo bindings are progressing well, but until ORBit2's C++ support is merged in, just after GNOME 2, we must supply bonobomm separately. I'm particularly proud of the Bonobo bindings - the lack of API clarity in Bonobo has long irritated me and this is an opportunity to show that it's not really that difficult. I've explained the issues in more detail elsewhere. C++ is the natural language for CORBA, which is inherently object-orientated - CORBA in C was always a freakish idea so it's no wonder that it's difficult.
So this means more people can use Bonobo. And the API clarity should mean that the Bonobo interfaces receive more scrutiny, because people will understand them well enough to criticize them.
We're really lucky that Michael Meeks decided to support our efforts by merging the C++ mapping into ORBit2 itself. It gives it a mainstream future.
Christian: The release of GNOME 2 is approaching fast now, how does the GNOME 2 platform look from the view of someone producing language bindings for the GNOME platform? Will there be any significant design changes introduced into the bindings due to the changed in the GNOME 2 platform?
Murray: Language bindings should now be much easier. The GTK+ and GNOME authors are more aware of the needs of language bindings and the various bindings are cooperating more, particularly with the
.defs interface-definition files. For instance, we use James Henstridge's .defs generation scripts for pygtk.The transition to GNOME 2 has allowed us to make previously forbidden interface changes to the underlying libraries. We developed gtkmm2 while GTK+ 2 was being developed. With gtkmm 1.2, we just complained about problems in GTK+ 1.2, but this time we fixed the problems in GTK+ as we found them.
gtkmm2 (for GNOME 2) is significantly different than gtkmm 1.2 (for GNOME 1.x). Some of these changes are due to changes in GTK+, but most are just lessons that we learned from gtkmm 1.2. GNOME 2 rationalizes its interfaces a lot by deprecating its more crufty stuff, and we make our interfaces even clearer by omitting those deprecated parts completely.
Christian: What are you favourite applications that has been developed using the gtkmm and gnomemm bindings?
Murray: I use Gabber every day as an instant messenger client - I love how it Just Works. I'm trying to persuade Julian to start the gnomemm2 port, even if I have to code it myself.
Cactus's Guikachu is also pretty impressive - it has made me want to do some Palm development.
There's a bunch of specialist apps out there, though not so many have been ported to gtkmm2 yet. I think that a lot of our users are doing in-house stuff. C++ is much more popular than C for that kind of thing.
I have high hopes for my own Glom app. It's meant to be a very easy-to-use database application that embodies my years of database design experience. But I've been too busy working on gtkmm2/gnomemm2 to port it properly. In the meantime, I released a small file utility, PrefixSuffix, which is a pretty good gtkmm2 example.
Christian: What are your thoughts on the future of the C++ language? Will it continue to be one of the major computer languages or is it set to be replaced by languages such as Java and C#?
Murray: In my opinion, Java and C# are much closer to interpreted languages in their design. By this I mean that much more is decided at runtime than at compile-time. I'm bored by discussions of executable speed, but I do feel that compile-time checking verifies designs and speeds development. Java and C# offer object-orientated improvements over scripting languages such as Perl and Visual Basic, but I see no competitor to C++'s feature set. I expect it to maintain its current high level of popularity.
Christian: About two years ago there was a lot of noise around gtkmm and gnomemm, with Havoc Pennington having started the Inti project, and with the leaving of Guillaume Laurent from gtkmm development, after which Guillaume was quite vocal in why he felt that gtkmm wasn't what thought is should be, in fact he called it a 'throw-away prototype' for a GTK+ C++ wrapper. Two years is a lot of time in the software world so I'm wondering what your thoughts are on the issues debated on back then, and how you see today's versions of gtkmm and gnomemm responding to any real issues raised back then.
Murray: I wasn't involved in those discussions, but I was annoyed at the schism. I like to think that I would have found an acceptable consensus. Most gtkmm users and developers strongly disagreed with Inti's design decisions so we carried on hoping that we would prevail. We did, and Inti didn't, and it's all history now. Inti died because it never involved a community of hackers, whereas I like to think that people preferred to work on gtkmm's design and felt more welcome in the gtkmm community.
RedHat's whole Inti framework never made much sense to people. Havoc is such a pragmatic developer that I still don't believe it was really his brainchild.
But Inti did create confusion among users, and even prompted one of the gtkmm maintainers to give up. My guess is that Guillaume never really got a handle on the gtkmm codebase and took the opportunity to jump clear of something that daunted him. When I was building gtkmm2 I sometimes felt the same but I chose instead to radically refactor it until it was manageable. I believe Guillaume felt certain anyway that, with RedHat's backing, Inti would succeed and gtkmm would fade away.
Guillaume uses QT now. He has stated that it was more important for him to have a full working toolkit than a perfect API. gtkmm2 will go stable soon - then we will have both in one toolkit.
Christian: What are the main differences of coding with gtkmm and gnomemm compared to coding with QT and KDE?
Murray: I addressed this in my GUADEC talk (1) and (2).
Basically, QT isn't developed publicly so it makes a number of mistakes without the benefit of any real criticism. Chief among these is its modification of the C++ language and the use of its own non-standard string class. It isn't necessary, as we've proved. These are just two ways that we've kept more up-to-date with the state-of-the-art in C++. It's then easier to use gtkmm in combination with other C++ APIs. I believe that you'll love gtkmm if you love C++, and that gtkmm is a better role-model if you're learning C++.
People sometimes complain about a lack of gtkmm documentation compared to QT, but that hasn't been true for a long time(*).
And perhaps most importantly, if you find a problem with gtkmm you can submit a patch or discuss it with the developers.
Christian: What is the advantage of using the bindings when creating GNOME and GTK+ applications in C++ compared to just accessing the C widgets?
Murray: Again, the GUADEC talk mentioned this (1) and (2).
gtkmm applications tends to be more organized than GTK+ programs. That's mostly because it's laughably easy for us to derive new widgets just to organise our code. In comparison, the structure of GTK+ code tends to be defined by the path that data happens to take through the code, rather than the layout of the source code itself.
Christian: What would you say to a developer who is trying to decide whether to write his application in C or whether to use gtkmm and gnomemm and C++?
Murray: I believe it's easier to develop software with C++, even if you're not very experienced, because the structure is there in the code, not just in your head. If you're as good as the GTK+/GNOME developers then maybe you can deal with the underlying C interfaces, but, in my experience, most coders want an easier life.
I'd recommend that people compare the C and C++ versions of the examples before deciding.
Christian: You made a presentation at GUADEC 3 this year. What is your impression of the GNOME community, is it becoming more language agnostic or is there still a strong favouring of C among the hackers you talked too?
Murray: I think people accept now that there will always be active language bindings for GNOME, and many of the core hackers now routinely use more than one programming language. There is still some general Unix-style dislike of C++, but interest has grown as people have seen that gtkmm is very much alive and useful.
Christian: For anyone wanting to learn how to create applications using gtkmm and gnomemm, where should they start looking? Are there any applications out there that you think a newbie would find a easy starting point to look at before starting creating their own applications?
Murray: Assuming that you're already a C++ coder, you should be able to get started easily by looking at the examples and the 'Programming with gtkmm' book. In fact, we have a particularly good documentation overview page with quick links into the manual and the reference documentation: http://www.gtkmm.org/gtkmm2/
We have converted all of the GTK+ examples and demos and added some of our own. I believe it's easier for a C++ coder to understand the gtkmm examples than it is for a C coder to understand the GTK+ examples.
I strongly suggest that you start with gtkmm2 rather than the stable gtkmm 1.2, because we have obliterated several confusing things.
People should also join the gtkmm-main mailing list and the #c++ channel on irc.gnome.org. We are a helpful bunch.
Christian: Okay, thanks for taking the time to talk with me Murray.
Murray: No problem, it was a pleasure.
-
Anyone tested Java on PS2 Linux yet?
I wonder, has anyone tested Java on a Japanese PS2 kit yet??? How about the Java 3D API along with the default Java 2D and Java Sound APIs??? (BTW, these are all part of the Java Media APIs).
Any PS2 extensions to support game controllers in Java??? -
It doens't matterIE has been shipping with an ancient JVM anyway. To use a compliant 1.3 (soon to be 1.4!) JVM in a browser, developers use Sun's Java plugin as an ActiveX control or Netscape Plugin.
See http://www.javasoft.com/products/plugin/index.htm
l for more information on the Java plugin.-m
-
Practial ConcernsWell, as an instructor at California State University, Chico, who teaches Java in the first programming course, I would imagine that I am finally qualified to weigh in on a Slashdot topic.
There are a few practical concerns about teaching that the students, and others, do not often take into account. First is the question of accreditation. Universities, in order to be taken seriously, must be accredited by a recognized accreditation organization. Otherwise, Joe's University would be handing out Master's Degrees via email. Wait, bad example, I get those emails all the time. Of course, the degrees are not worth the ink in the email. Since our accreditation requires that we teach at least two high level programming languages, we have chosen to do the first course in Java and the second course in C++.
Java - Enforces object-orrientation, simplifies the process of learning object-orriented techniques by abstracting a lot of the details. We get their feet wet with Java because with applets, the students can see dramatic results quickly. It helps also that the syntax is very similar to C++.
C++ - Now that we have taught them a strict object-orriented language, we turn them loose with a language that not only makes it easy to shoot your foot but often encourages it. At the end of both courses, students have two languages that are suited to different tasks.
Once those languages are out of the way, students move into Data Structures, Assembly and Operating Systems programming. Most of our courses after the "Big Five" programming courses, are not targeted to a specific language and the student decides the proper choice for what they are doing. In fact, even the Data Structures and OS programming courses are pretty much non language specific.
Often people try to focus on learning a specific language. In a university, we strive to not tie anyone to any specific language or architecture. Our job is to teach concepts, theory and practical applications of knowledge. We offer courses that provide tools for students to use the the quest of that goal. It is up to the student to decide what is best for them and for their particular need. If, after the first couple of courses, we only allowed people to program using Java on a Sun UltraSparc 10, we would not be serving our students well. On the other hand, the same applies if we only allowed them to use C++ on a Redmond box.
I often tell people that I cannot teach them Java or C++ or any other language. I have around 45 hours of lecture per semester and have class sizes of 80 students. I can facilitate their learning Java; however,in that time frame, actually teaching them the full capabilities and intricacies of a language is impossible. I teach loops, conditionals, classes, methods, arrays, inheritence, abstraction, events, exceptions, etc. I use Java to faciltate that teaching because it handles all of these things in an elegant and efficient manner.
Many attempt to look at the first CS course as a language course when it really is not. It is a concepts course and helps to aclimate new students to life in a university computer science department. The language is chosen to meet specific goals, one of which is to meet accreditation requirements. The other, more important, factor is to provide a language that facilitates the learning of what is needed in the first programming course.
Java matches our goal in the first course. It does not clutter things with referencing and dereferencing of pointers, it does not allow the student to break object-orrientation, which is one of the primary concepts we teach. We allow them to shoot their foot in the next course.
So, in closing, the language of the first course is important in that it is what facilitates the actual things that are taught in that course. BTW, check out This article about MIT's "Rethinking CS101" project. Very informative.
--- This is my sig. There are many like it, but this one is mine. ---
-
Do you want a language, or an IDE?
While you said you want to explore a different, cross-platform language, the examples you listed were all integrated development environments IDE, not languages. Indeed, ActiveState's Komodo IDE can actually be used to develop in many different languages:
Komodo recognizes multiple languages including JavaScript^(TM), HTML, Perl, PHP, Python, Tcl, XML, and XSLT
Conspicuously missing from that list is the language once championed as the cross-platform solution: Java. And let's not forget about the cross-platform capabilities of ANSI C or C++, if you stick to cross-platform libraries (e.g. no Microsoft Foundation Classes!)But, perhaps the real question is, what do you plan to do with this cross-platform language? Apart from being able to run on more than one platform, do you need:
- speed
- easy GUI development
- standardized database access
- standalone executables, interpreted scripts, browser-as-client, or server-side development
On the IDE side, what features are you looking for:
- syntax highlighting
- syntax completion
- auto-formatting
- debugging
- integrated help and reference info
- drag'n'drop GUI development
- code repository/version control
- IDE itself running on different platforms
- free (beer or philosophically) or proprietary
As with many problems in life, you need to refine your question before you're going to be able to come up with the right answer. Putting together a good set of requirements really helps when you're trying to solve a problem. And it helps other people provide intelligent commentary.
-
Re:umm, news ?
Since when is solaris an operating system written by college kids ? Perhaps someone got Solaris confused with the first Sun OS, BSD Unix, which was created at Berkeley. Bill Joy was in college when he helped create Sun in 1982...after he helped create BSD Unix.
-
Re:FLTKwhat are all those args for - I can't remember just now, but you need to know it.
If you look at the javadocs, it isn't too hard to figure out. (If the link doesn't work, it's because of
/.'s buggy long-line breaker) And there are versions of JOptionPane.showInputDialog that take fewer parameters. They're just less flexible. You have the choice: use the simple, but less flexible function, or the more flexible, but also more complex one.I think Einstein said it best:
"Things should be made as simple as possible, but no simpler."
-
Re:Before?
> Still, to be fair, in the case of the two features (multi-file choosing and mousewheel), these are both bugs in Sun's JDK, not in Borland's code. Hoepfully, Sun is working on these.
Mouse wheel support is planned for the next JDK (version 1.4, aka "Merlin"). You can find a PDF with all the proposed features at here
Not sure about multi-file choosing, but other file chooser enhancements are listed. If you want multi-file choosing, request it, because the draft is open for comments until next week. -
VisualStudio + Linux... =)
-
Blackdown JDK 1.2
IRT the performance test, remember Kiddies, the Blackdown JDK doesn't have the HotSpot Virtual Machine which dramatically increases preformance but only comes on Windows and Solaris. JDK 1.3 comes with it as standard. Basically the code is recompiled on the fly so the "hot" sections of the code (places that are continuously looped through) are optimized.
I have used the Blackdown JDK and the performace really lags compared to the Windows version, even without using HotSpot.
I would perfer to see this test with Sun's 1.3 JDK or 1.2.2 with HotSpot or IBM's 1.1.8.
--- -
Re:Is Anybody Really Using Java? (Honestly!)
Java is being used everywhere, and with more people using the 1.2 and 1.3 VM's and getting more familiar with Swing, Java applications will become much more responsive and usable.
And yes, I have used the horror which is Netscape 4.1 Admin Console. That has to be the worst Swing app I've ever seen, at least user interface wise... if you are just adjusting values in the LDAP tree you might want to use the sample JNDI browser availiable from Javasoft. Look in the products&API's under JNDI, the browser is a sepreate sample download.
-
Distributing Java 2 VM (JRE)I've found that distributing Sun's JRE and running it for the user during the install process is not too painful.
There are a few minor bugs with the JRE; check out Sun's bug parade section in the Java Developer Connection site for more info. (Like the NY Times, it's free, but you have to register.)
I would imagine using something like InstallShield's Java edition would make things even easier, but I've not tried it.
-
SUN JDK 1.2.2 supports Green Threads Only
According to the README, SUN says otherwise...
Note for Linux users:
We do not support or recommend running the Java 2 SDK on SMP kernels. Also the only thread model supported is green threads.
Of course, it is possible that they have native threads, but it hasn't been tested well enough to use in a production environment.
-
Bridge for Sale!
Alright, while I think this would be Really Cool (TM) and all, I think we have to remember who we are dealing with here. The company which has recently proven it has more faces then a pair of dice: Sun Microsystems.
These are the people who let the Blackdown Java porting effort do all the work, and then took it all from them with no credit.
These are the people who have said several times (here, here, and as far back as here) that Solaris isn't just going to be free, but Open Source.
These are the people who pushed Java as an open standard, and then -- once many companies had tied their future to it -- pulled out of the standards process. Then, when others suggested going forward with a Java standard without Sun, claimed that their own public documentation was not complete enough for anyone to do that.
So, when they say Solaris is going to be "free", I have to say: "Sure, and I have a bridge to sell you. It's in Brooklyn. Great view of the water."
I think Sun's products are pretty good (they're certainly a hell of a lot better then Micros~1) and that Java still has a lot of promise, but I'm still not gonna trust Sun any further then I can throw an E10K. -
Re:Apple Aqua NOT JUST Alpha transparency
What Miguel is missing is that Aqua is not about transparency, it's about Quartz, the Display-PDF rendering system.
The NeXT display postscript system and Sun's NeWS could also handle alpha easily, but does anyone think that the
only useful feature of Display Postscript or Quartz is being able to render alpha?
Miguel is intelligent enought to know we're not just talking about alpha channeling. He was saying that libart provided the necessary tools. In case you are unaware, libart is a library for high-performance 2D graphics. It is the antialiased rendering engine for the Gnome Canvas. It supports a powerful imaging model which is basically the same as SVG or Java2D. It does Vector Paths, Bezier Paths, RGB and RGBA images, Sorted Vector Paths, MicroTile Arrays, and Affine transformations.
The best innovations are built on the shoulders of others, and if Miguel would spend more time learning and stealing
technology from Apple, Microsoft, and even the KDE team, and less time dismissing everything and trying to reinvent
it, maybe GNOME wouldn't be so buggy and unusable.
This exact approach has been what Miguel has sought after. He is frequently quoted as wanting to take the best ideas from companies like Microsoft, get rid of the bad parts, and integrate them into Gnome. I've personally conversed with him about this exact issue while waiting to watch Phantom Menace on opening night. He says that he doesn't like it when everyone goes around saying Microsoft sucks and that's the end of the story. Microsoft, Apple, and others, have made great strides with their Desktop technologies, and Miguel has been borrowing from them, believe me.
---- -
License
It says quite clearly on a page pointed to by the Blackdown FAQ about licensing that Sun owns all changes made under the non-commercial internal use agreement that the Blackdown team have agreed to.
If they object, having accepted the agreement, then that is their silly fault, frankly. To be honest though, I don't expect they will object as long as Sun give credit where it is due, and I imagine that their not doing so immediately is just a screw-up.
-
Some of the "Monumental Failure" theory can't holdThe notion that Mozilla is a massive waste of "open source resources" is decidedly silly; consider:
What other open source project would you expect Netscape Communications Corp (or AOL) to be involved with?
The fact that it has taken a whopping long time for the (marginally usable) M10 release to arrive is not a clear example of failure; the project has had to labour under several significant constraints:
- In order to release Mozilla as Open Source(tm), Netscape had to tear out a whole lot of code that they didn't own. Java, VisiBroker, RSA stuff, ObjectStore, TrueDoc, Full Circle Talkback, Inso Proofreader, and others.
This left gaping holes in the source code tree, things that had to be reimplemented.
- Mozilla has essentially been rearchitected.
What with the above gaping holes, and other things that had grown into being ill-designed, it made huge sense to rebuild a whole lot of the functionality from scratch.
If a version that is of "production quality" is released in the next 4 months, which is not inconceivable, that essentially means that Mozilla has been recreated in two years, which is certainly not a monumental failure.
- In order to release Mozilla as Open Source(tm), Netscape had to tear out a whole lot of code that they didn't own. Java, VisiBroker, RSA stuff, ObjectStore, TrueDoc, Full Circle Talkback, Inso Proofreader, and others.
-
Re:HTML/Java is all you need?"
Yes, it is. When I and a partner a time ago worked on a specification of how we would manage to implement a thin client philosofy on a company, we sticked to the concept of intranet aplications, maybe with a framework for that done in Java Servlets. I know there are some solutions for working with Java on thin clients, but even if I like Java, it's not thin enought to run on a thin client. But some web browsers are ( ex: DrWebSpyder from Caldera, wich run on a i386 and comes in a single floppy ), and can access server side logic with Servlets. Some classes can give you graphics on demand, PDF on demand and so on, and I also imagine these clients will run aplications that would consist in endless forms if done in other languages, so, HTML has all you need. I hope I have been of some help. You could check Caldera Website and The JavaSoft Site for some more info.
-
Re:Speed
One point you forget to raise is that for most purposes, UI code doesn't have to be very fast.
The one serious problem with Sun's UI code (IMNSHO) is the 'minor' bug that prevents any program using Swing from shutting down when all threads die (as listed in bug 4030718 on the JDC). Vote now to see it fixed! -
Re:Print it out? This isn't all very obvious?
I'm going to kill whoever thought it was a good idea to have the ads reload every 10-15 seconds on the site that article is on. Grr.
take a deep breath... get in line... right-click->Open Frame in New Window... move on with life....
;)I would imagine that a greal deal of commercial stuff is actually good and relatively bug free.
Once upon a time... yeah. But the lemmings in the industry are dragging everyone else with them. Even the Blue Giant has moved up their release cycles, products that used to ship a version every couple years now ship on a 3 quarter cycle... and these are things far removed from the
.com hype. The products caught up in the thick of it are quarterly.Encapsulation and modularization are your friends..
OO is a fairly good paradigm yes, but it has some glaring problems. Especially in the realm of this discussion....
There is a piece of code I own that was written with entirely too much OO on the brain... every thing is an object, and everything is encapsulated. A simple trace through the section for one invocation involves something like 25 instances of about 40 classes (this is when inheritance sucks) on three threads. It has taken me over a year to have even a marginal feel for this code... and I understand it at the high level, and have full design docs at my disposal. This code by the way, is well under a KLOC in total... closer to 1/2 that. It doesn't need to be this complex; I've redrawn it on paper down to as few as 8 objects in the process of understanding it.
Managers view programmers as a resource, programmers are considered plug replaceable. I watched recently as a wet behind the ears college kid was plopped into place replacing a veteran of almost 20 years in the industry, who had inherited the code several years ago from another who had been around as long as he had. This poor kid is in over her head... and we all try to help her out... but she doesn't have a snowball's chance in hell: that component is just plain fsck'd, the first three new features management pushed down her throat resulted in the component being completely broken - not just a little flaky - completely broken.
Andreessen's quote: "We have, historically, definitely prioritized features over time and time over quality," describes near all of the industry by now.
It's all about the deadlines... psychotic as the auther called them. My management recently respun the "final" build about 8 times after giving it to the test organization, each time promising it would be the last one... never once did they push the ship date. Final testing happened in a couple days, instead of a couple weeks it was originally planed for, or the couple months asked for to do it right.
At the level of the programmer, it's all in the person. There are some who take immense pride in the quality of their work; they view bugs in thier own code as an afront to their engineerring ability. There are those who only seek to work on the new/popular/fun stuff; their code often contains half completed implementations with comments like "this is uninteresting". (actual quote from actual shipping code from that last reference!). I count myself lucky to work with the former rather than the later.
-
Re:Utterly false !! (Java support of Linux)Go to Blackdown and see: They have the JDK (Sun's version of which is now called SDK). Sun's official platforms are Solaris and Win32 (where they are currently at 1.3 beta), but they also list quite a few ports from other vendors.
(Note, though, that "competing" VMs on Win32 are strangely absent, including Microsoft's fast and well-patched one based on 1.1.4, IBM's etc.)
-
Sun's response
Is here. Kinda short, but basically echo's the "This isn't to big a deal, well just get the injuction re-written" thread.
-
Re:You want to work at a place that censors?
Coffee? Coffee on the Web? People are complaining about porn and there are caffeine references out there?
That's disgusting!
The stuff stunts your growth. It shorts out your circuits. It's behind the thrtow-away, get-ahead culture we have today! It turns ordinary God-fearing people into programmers!.
How many people realize that Starbucks has a Web site?
We need new blocking software, or a new service. I'm going to talk with the guys at Cyber Patrol to see if I can't license their software and make a caffeine-blocking service. Anybody wants in on this fast-growing industry, I'm accepting venture capital. The first two sites to be blocked are Starbucks and Javasoft
Excuse me, I've got to refill my espresso...
-
Good one!
Posted by !ErrorBookmarkNotDefined:
OK, so extrasolar didn't hold his punches, but he makes a good point.
Perhaps I should follow up with something like:
We need a Beowulf cluster of the developer.gnome sites.
...just make sure we cover all the cliches.
But here's a better question:
Look at the site. Ask yourself: what isn't here that I need.
Compare it to some other developer connections, like Sun's Java site and Netscape's rat-nest of a developer page.
Now ask of yourself how can I get involved to provide what I think is missing.
Documentation will really help with the acceptance of Linux, I think.
-----------------------------
Computers are useless. They can only give answers. -
PNG and JAVA
Possibly, in the bug parade at The Java Developers Connection support for PNG in Java has the second highest number of votes (only support for JDK 1.2 on Linux has more).
I know I have my vote in, I'd love to see PNG as a standard format for graphics in Java!
Some of the links given for other Java packages that provide support for PNG are:
http://www.cdrom.com/pub/png/src/j ava-png-0.88.zip
http://www.visualtek.com/PNG/
http://www.sixlegs.com/png.html
as well as Activated Intelligence which makes JIMI and can write PNG images - not free though! -
Cookies in your Java
Specifically, read here.