What do you mean its not his fault? If the story is correct and he was aware of the status of the parts it is irrelevant what the depot said. If he didnt know the status and was told to just sell the stuff on ebay then fine...more power to him. But if he did know then he was well aware that he was committing a crime by selling the parts.
I wonder where Ebert got his history. All the history I've read states that an Enigma was most definitely captured on U-505. I've read several sources that state that the first and second machines were captured by the British and the third by the Americans.
Macromedia didn't give up. This lawsuit has been going on for quite awhile and the 2.8 mil they had to cough up is nothing for a company like Macromedia. I know people here hate patents but Adobe was completely right to enforce their patent. The minute they don't they're screwed. It would have been easier for everyone involved if Macromedia would have just paid the damn licensing fee.
The author is not clueless. He is the founder of a very successful Java servlet consulting firm in Scotland. They even made a servlet system to let you run Cold Fusion apps on a java server. He may be other things but clueless is not one of them. Maybe I'm biased as I know him;)
>Have you actually written Perl programs with lots of classes? It's a bit ugly, but not that bad. I actually kind of *like* how exposed the mechanics are. It is a pain to have to write the extra line of code in the constructor to bless the reference, but that's all it is: one line of code. Not the end of the world.
Honestly I've hardly done a thing with Perl's OO stuff. Seems pretty pointless when there are other languages available with OO features that aren't just grafted on. If I were gonna have to do something that required objects that required a scripting language I'd probably use Ruby.
> Tomcat is a reference and not something that should be put into production
It certainly seems that way. I find that very disappointing.
I don't. They have never intended it to be a production-level piece of software. It certainly is getting better but I'd rather pay a modest fee for something like Resin or Orion. Then again there is always JBoss with Jetty.
> I just read the section of the FAQ that you mentioned and I see accusations with no proof to back them up.
(warning: sarcasm) Sure, those people are reimplementing all of Sun's libraries simply for the pleasure of doing so. (end of sarcasm)
There were actually two projects working on that (GNU Classpath and the GCJ people at Cygnus) but they have merged efforts now.
Maybe I wasn't clear. I'm not saying those issues don't exist. What I'm saying is that its goofy in an article to mention something like that without at least giving some examples of what you're referring to. When people read that sort of thing they tend to want proof. A few links or something would go a long way.
I'm not sure what you mean by "enterprise-level applications" -- do you mean things like the EToys ecommerce system [perl.com]? If you mean, "we have to sell this thing to a PHB who will only buy it if it is written in Java," then, okay, I guess that's the only option.
That would be something I'd consider part of an enterprise-level application. And I'm happy they were able to use Perl but I dont any significant advantage of Perl over Java Servlets in a situation like that and more negatives. They mentioned using Perl's OO features. Yuck.
They are using Tomcat. Tomcat 4 doesn't seem to be any faster than 3; both have about 10 times the latency of Apache for "hello world."
We tried out Resin last year, and it was much better than Tomcat, but building your app on a hidden-source-code foundation is just asking for trouble down the line. Not to mention having to deal with licensing issues.
Tomcat is a reference and not something that should be put into production. As to Resin I'm not quite sure I get what you're talking about. There is nothing hidden about the Resin source. It is downloadable and modifiable. I quote from the website "Modification for your own use is, of course, permitted and encouraged. Distribution of Resin or of works derived from Resin is governed by the license. In most cases, you will need to contact us for the right to distribute." I also dont get the bit about having to deal with licensing issues. They have 3 clearly defined options. The servlet runner is $500 per server regardless of number of CPUs. I dont see this as something that is hard to deal with.Then IBM should release an LGPL implementation of the JVM and class libraries, and everyone should use that. As things stand now, Sun has control, and they have demonstrated that they cannot be trusted.
IBM can't release an LGPL implementation. They dont own Java.
I just read the section of the FAQ that you mentioned and I see accusations with no proof to back them up. The person who wrote that needs to provide a list (or at least a subset of a list) of what exactly requires native calls. Mind you I'm not saying that the situation doesnt exist but hes hardly being credible by stating it and not providing examples. Its obvious that Java is more than just the VM. You have to have native code in order to get at the file system and things like that.
Aha! Better arguements! Thank you! Will reply below:
What bothers me is that Sun pretends to be all friendly and open, while actually using a restrictive license / undocumented native functions to make it difficult for people to implement their own JVMs. If you write your app using the Sun-provided libraries, you won't be able to run it with gcj, for instance.
Yes...I tend to agree that they pretend to be more open than they really are. I do take issue with that much more than the proprietary nature of Java itself. I'm not sure what you're referring to about undoced native functions and gcj.
When I did a project in Java, I found it much more convenient than C -- in particular, that it handled null pointer derefs and array out-of-bounds cases nicely, giving a stack trace that showed where the problem was. Also, garbage collection is nice, though it doesn't free you completely from memory management.
Agreed. Features I really like that take time off of projects because you have less to worry about. And youre right that GC doesnt solve all the memory management issues. wish all people thought that;)
When I subsequently learned Perl really well, I found I was several times faster in Perl than in Java or in C. Not "line noise" code -- nicely written code, broken up into little classes, etc.. Java is so *verbose* that it just takes way more effort to get anything done, and once you've written it, tearing it down and rewriting seems pretty unappealing. Not to say that I love everything about Perl -- I think it is too complicated and poorly defined. But boy is it handy!
Yes. You are right. Java is pretty verbose but I don't think that is necessarily a problem. Certain projects will call for Perl and its style and others for Java. This is just the nature of things. Right tool for the job and all that. Perl is very handy but there are many projects I wouldn't want to touch with it. I also think it is too complicated. At times that is worse than the verbosity of Java. Its the 'lets hack this and that onto it' feel of Perl that really bothers me. That being said I wouldnt use anything else for lots of my scripting and admin tasks. Very useful there and lots of people know Perl.
More recently, I've been doing C++ coding, which feels to me kind of like Java but without the memory bloat, and with nice generic containers (fewer verbose casts!). But boy do I miss map() and grep(). The STL equivalents just aren't the same at all. I can't say I miss anything about Java, but that may be because I haven't had to do any difficult memory management.
I just can't deal with C++ anymore. Its too "dirty" and there are far to many things it leaves you to deal with. Yes casting in Java can be a real PITA but so far, in the types of applications I write, it hasn't been an issue. Are generic containers less verbose? You still have to define the template no? Is that any less verbose than a cast when retrieving something from a container? IMHO the best containers I've ever dealt with are the ones in Smalltalk. Smalltalk just rules but it isnt for everyone or every project.
This is why I don't see why Java is useful -- it's more bloated than perl, comparable (but more variable) performance to perl, but even more verbose than C++. It combines the worst of both worlds! The Sun-is-evil slant is just the icing on the cake.
You would not use Perl on the same types of applications you'd use Java on (or for that matter C++). I think Java's best space is in enterprise-level applications. I dont see Perl being all that useful there nor C++ and with Java its much easier to have stuff co-exist on different platforms. You definitely get trade-offs for that.
Some people I'm working with are doing a big servlet application. They say it is very convenient, but we're having serious performance problems, and the memory usage is simply horrendous.
I'd be curious to know what app server or servlet container youre using. Several are notorious for what you're reporting.
I guess you haven't been following the latest stuff in the Apache section. Sun uses the Apache brand to gain credibility, Apache projects get Sun full-time developers: should be great, right? It would be, if Sun weren't so nasty.
I've been following it. But the Apache projects are still important to Java and I don't see them going away regardless of what Sun does. And anyhow Apache said things are getting better and they have support from others (like IBM). There is lots of important work being done under the Jakarta project. Sun wont change that.
Interfaces are a poor excuse for MI and are misused in Java. The fact that interfaces can't have a default implementation (or that certain aspects of an interface can't be option) is why interfaces stink. GCC has an extension to C++ called signatures which are much more useful than Java interfaces especially since they can be applied to a class post-compilation.
How exactly are interfaces misued in Java? If you wanted a default interface in Java you'd be better off using a language that supports MI. The whole point of an interface is that you get a guaranteed set of methods that someone has to implement thereby providing a contract between objects. This idea is used very well throught the various Java APIs (especially Swing). If you want MI then use a language that includes MI. Its pretty simple. I dont see lack of MI being a hindrance to the use of Smalltalk in many mission-critical applications. This sounds like the attempt at an argument that static typing somehow means more robust applications.
If Java does indeed pass value by reference, then surely I can pass reference by reference then perhaps? Or maybe dereference the reference and pass by value directly?
Java passes reference by value. Thats what you get when you use Java. Primitives are passed by value and objects are passed by reference by value. Seems to work just fine. If you need something else *use another language*.
There is no reason why drawString should be able to modify the String object that is passed in.
drawString won't modify the String object that is passed in. You have read the language spec right?
Is there a non-partial committee that oversees the development of the Java language? or do a bunch of suits at Sun determine what is in the language?
Last time I checked the JCP wasnt a bunch of suits at Sun determining what is in the language.
JVM bytecode *is* robust enough to be useful for other languages.
So then it supports MI? Or referencing objects? Or passing objects by value? It supports operating overloading? Come on now. JVM bytecode is only useful to languages which only contain identical functionality to Java.
The JVM is apparently robust enough for a Smalltalk implementation and Smalltalk certainly isnt identical in functionality to Java.
If a language cannot be mixed with other languages, then it is useless in the real world and useless for most production programs where legacy libraries are a reality.
The success of Java in the enterprise marketplace pretty much invalidates your statement.
My biggest problem with Java is how horribly ugly it is. Interfaces are a joke and the lack of MI is incredibly painful. It's collections are utterly uselessly and adapter classes are almost as painful as functors in C++ although the lack of any binder functions make them much less useful.
Please. Interfaces couldnt be any simpler or easier to use. Lack of MI might be incredible painful to the.01% of people who need it. The other 100% dont care because interfaces provide what you need. Is it perfect? No but its hardly what you make it out to be.
Java is, at best, an academic language. Very little useful things can be done with it other then a 20 line hello world program. It has some good ideas (Inner Classes) but they are poorly implemented and the memory model absolutely sucks.
Can I have some of what you're smoking please? Memory handling definitely could be improved but the comment that very little useful things can be done with Java is absolutely ridiculous.
Passing by reference encourages sloppy programming as the use of final is not encouraged as it should. A well written C++ framework is a thousand times more robust then Java
Java doesn't pass by reference. It passes reference by value. Your mistake is a common one. As to "well-written" C++ that is the key. Define robust please. Java is very robust.
Java would be better if 1) it was an open language and allowed input from people other than Sun engineers 2) it was organized by a company looking to create a good platform and not by a company looking to exploit every buzz phrase in the world 3) the JVM bytecode was robust enough to be useful for other languages (and not bastardized versions of languages such as Mangled C++).
Java does have input from people other than the engineers at Sun. JavaBeans being a prime example. I also dont get the buzz phrase comment. The APIs being created are there because people are asking for them. JVM bytecode *is* robust enough to be useful for other languages. The thing I wonder about though is why does that even make a difference?
> EVERYTHING IN JAVA IS A STANDARD. And works on all machines the same.
Meaning you have what Sun gives you. You are under the control of a vendor whose interests don't particularly line up with yours. Sounds a lot like other proprietary software situations, doesn't it?
I dont remember being forced to use most of what Sun provides. What they do provide though is a huge API that covers pretty much all the bases. You seem to forget that not everyone cares if something is proprietary or not. And Java certainly is not proprietary in the sense that you mean.
As for man-years, I would imagine that using Java increases the time required by quite a bit.
Why would you imagine that other than never having done a project in Java?
As I mentioned above, for string manipulation, Perl is very convenient. When building a web page, it happens sometimes that one does . . . string manipulation! In those cases, I'll always take the four lines of Perl over ten to twenty lines of Java, even if I can't claim I'm using an Enterprise Java Bean.
Java is pretty convenient for doing web projects also. Your comments carry even less weight with the implicit connection of web and EJB. EJB has nothing to do with the web. Can it be used for web projects? Yes. Is it necessary. No. Servlets work great.
I find it amusing all your railing against Java when Apache is a huge Java supporter in the web space.
Real, quality, music is meant to be so much more. Did any of the great classical composers concern themselves with what the teenagers thought of their image? Did any of the jazz greats cater to pre-teens? I think not. Instead, they composed music from their heart and soul - as much for their own satisfaction as for anyone else's. Either you appreciated the work that went into it, or you didn't - but there was no effort to "market" it to a particular crowd.
Of course they didnt. The infrastructure to market like today didnt exist when Beethoven was alive nor did it exist during the Big Band era (or the Bebop era for that matter). Do you seriously think that if the infrastructure did exist then that it wouldnt be the same? Classical composers at the time of Mozart generally had works commissioned by rich people...thats how they made their money. This whole idea that it was just about the music is ridiculous.
In my time programming Windows applications and watching people use PCs in general I've learned two things: Windows is not easy to use and the general population tends to learn the absolute basics of what they need by rote memorization and are completely lost if you throw in anything new. Sure there are some people that find Windows easy to use. In my experience most don't. The Mac *was* easy to use with its one button mouse and consistent menuing system. I don't think OS X quite fits the bill as well as the older UI but still does a better job than any member of the Windows line.
the other problem with economics, especially in relation to the environment, is the fact that so many things aren't factored into the real cost of things. For a perfect discussion of that read Natural Capital by Hawken and Lovins.
there are definitely people who should not drink at all but for many of us a bit of wine a day is good for us. yes you should be eating your fruits and veggies but alcohol itself has beneficial effects.
Hmmm....maybe I shouldn't have hit post so quickly...
5. Now your just being petty. Its stupid to have primitives as objects. THAT would be truly slow. if you want to remain so uptight, simply use 'Integer' inplace of 'int', every Java programmer knows that.
This is truely false. It is very smart to have primitives as objects because it helps keep the semantics of the language the same. There are a myriad of ways Java is confusing or just plain lame because they chose primitives. Also, modern implementations of Smalltalk handle the primitive-as-object behind the scene so that the programmer doesnt have to worry about it yet you get all the performance benefits of using primitives.
3. Who needs to pass by reference when everything is already a reference. You dont seem to have used java because this is certainly not an issue. Actually Java uses pass reference by value. In most cases you get the same behavior. In some you do not. That being said i've never had it be an issue. sounds like someone nitpicking to me.
That is not what I said. Java only allows you the choice to use it or not. If you try to develop a version of the language that meets your needs that Sun does not like, Sun will sick lawyers on you.
As is their right....its their language. I still dont get why everyone thinks that submitting your language to a standards body is a panacea. It isn't. Look at how limited the C# submission to ECMA is and how much control Microsoft still retains over it.
My experience of JCP is that Sun decides who gets to chair your group then the chair goes off to do what they damn well please.
And of course I have to ask how you came to get that experience? I've never heard of anything similar.
Oracles's java compiler is clearly in the interests of Sun as well as Oracle.
Aside from the fact that its related to Java I dont quite see how it is really in Sun's interest that Oracle made a compiler for their DB product. It definitely is in the interest of Oracle's customers and Oracle but I just dont see that Sun would be any better off one way or another by it.
There is nothing to prevent people writing to a portable sub-set of C# if they chose to do so. That is very different from Java which denies choice, programmers are forced to program to the lowest common denominator.
This is completely untrue. First of all nobody is holding a gun to anyone's head to program in Java. Second, what exactly is lowest common denominator? 1.02? 1.1? 1.2? 1.3? 1.4?
Again and again and again people act like Java on the client is where it's at and it simply isn't true. Windows features mean shit where Java is most popular which is on the server.
The problem with Java is that the language will always be limited to the subset of functionality that it serves Sun's interests to provide.
Again total bullshit. If it were only Sun's interest the JCP wouldn't exist. If it were only Sun's interest Oracle wouldnt have created a native compiler for Java in the Oracle DB.
You seemed to have missed the whole point of the post. The poster is saying that for most people newer CPUs and graphics cards, etc are pointless. For what the average consumer is doing hardware of several generations ago is still sufficient. My wife still uses her P100 with Windows 95 and a 1.2GB hard drive and it works just fine. Only thing thats been upgraded in that machine is the memory (which is now 80MB or so). She types stuff, plays Solitaire, reads email and browses the web every so often. She represents the average consumer....not the dorks on this website.
Not all tree-huggers are PC and not all PC persons are tree-huggers. All the tree-huggers I know have bigger spines than most people because it takes a bigger spine to stand up for what you believe in than to go with the crowd (and the last time I checked most real environmentalists dont quite fit in with the crowd). That being said...
The israelis would look at you like you were a madman, and then point out the last 30 or so suicide bombers that have set themselves off in malls or local businesses in the last 6 months. They have a problem over there.
Yes. Part of the problem the Israelis have over there is themselves. How bout this one: bulldozing homes that they say were 'mostly uninhabited' which was false (if I could I would link to the Economist article but its for paying customers only). Both sides are at fault and pretending that isn't so doesn't help anyone.
If certain ethnic groups over here don't like the profiling, then my suggestion is that they lean on the people that they damn well know are involved in terrorist acts against the states and either turn them in, make them stop, or eliminate them.
You seem to be making an awfully large assumption that...say...everyone in the US with a middle-east background knows someone who 'they damn well know are involved in terrorist acts'. The idea sounds so ridiculous I can't believe you even suggested it.
What do you mean its not his fault? If the story is correct and he was aware of the status of the parts it is irrelevant what the depot said. If he didnt know the status and was told to just sell the stuff on ebay then fine...more power to him. But if he did know then he was well aware that he was committing a crime by selling the parts.
I wonder where Ebert got his history. All the history I've read states that an Enigma was most definitely captured on U-505. I've read several sources that state that the first and second machines were captured by the British and the third by the Americans.
Macromedia didn't give up. This lawsuit has been going on for quite awhile and the 2.8 mil they had to cough up is nothing for a company like Macromedia. I know people here hate patents but Adobe was completely right to enforce their patent. The minute they don't they're screwed. It would have been easier for everyone involved if Macromedia would have just paid the damn licensing fee.
The M-Audio Delta series of 24bit audio cards have linux drivers. very nice audio boards.
The author is not clueless. He is the founder of a very successful Java servlet consulting firm in Scotland. They even made a servlet system to let you run Cold Fusion apps on a java server. He may be other things but clueless is not one of them. Maybe I'm biased as I know him ;)
Maybe I wasn't clear. I'm not saying those issues don't exist. What I'm saying is that its goofy in an article to mention something like that without at least giving some examples of what you're referring to. When people read that sort of thing they tend to want proof. A few links or something would go a long way.
Please. Interfaces couldnt be any simpler or easier to use. Lack of MI might be incredible painful to the
I dont remember being forced to use most of what Sun provides. What they do provide though is a huge API that covers pretty much all the bases. You seem to forget that not everyone cares if something is proprietary or not. And Java certainly is not proprietary in the sense that you mean.
Why would you imagine that other than never having done a project in Java?
Java is pretty convenient for doing web projects also. Your comments carry even less weight with the implicit connection of web and EJB. EJB has nothing to do with the web. Can it be used for web projects? Yes. Is it necessary. No. Servlets work great.
I find it amusing all your railing against Java when Apache is a huge Java supporter in the web space.
21% off at bookpool
BSS
Of course they didnt. The infrastructure to market like today didnt exist when Beethoven was alive nor did it exist during the Big Band era (or the Bebop era for that matter). Do you seriously think that if the infrastructure did exist then that it wouldnt be the same? Classical composers at the time of Mozart generally had works commissioned by rich people...thats how they made their money. This whole idea that it was just about the music is ridiculous.
In my time programming Windows applications and watching people use PCs in general I've learned two things: Windows is not easy to use and the general population tends to learn the absolute basics of what they need by rote memorization and are completely lost if you throw in anything new. Sure there are some people that find Windows easy to use. In my experience most don't. The Mac *was* easy to use with its one button mouse and consistent menuing system. I don't think OS X quite fits the bill as well as the older UI but still does a better job than any member of the Windows line.
the other problem with economics, especially in relation to the environment, is the fact that so many things aren't factored into the real cost of things. For a perfect discussion of that read Natural Capital by Hawken and Lovins.
uh...you arent forced to use the Luna interface in XP. Easily set to the win2k look.
there are definitely people who should not drink at all but for many of us a bit of wine a day is good for us. yes you should be eating your fruits and veggies but alcohol itself has beneficial effects.
5. Now your just being petty. Its stupid to have primitives as objects. THAT would be truly slow. if you want to remain so uptight, simply use 'Integer' inplace of 'int', every Java programmer knows that.
This is truely false. It is very smart to have primitives as objects because it helps keep the semantics of the language the same. There are a myriad of ways Java is confusing or just plain lame because they chose primitives. Also, modern implementations of Smalltalk handle the primitive-as-object behind the scene so that the programmer doesnt have to worry about it yet you get all the performance benefits of using primitives.
3. Who needs to pass by reference when everything is already a reference. You dont seem to have used java because this is certainly not an issue.
Actually Java uses pass reference by value. In most cases you get the same behavior. In some you do not. That being said i've never had it be an issue. sounds like someone nitpicking to me.
This is completely untrue. First of all nobody is holding a gun to anyone's head to program in Java. Second, what exactly is lowest common denominator? 1.02? 1.1? 1.2? 1.3? 1.4?
Again and again and again people act like Java on the client is where it's at and it simply isn't true. Windows features mean shit where Java is most popular which is on the server.
Again total bullshit. If it were only Sun's interest the JCP wouldn't exist. If it were only Sun's interest Oracle wouldnt have created a native compiler for Java in the Oracle DB.
You seemed to have missed the whole point of the post. The poster is saying that for most people newer CPUs and graphics cards, etc are pointless. For what the average consumer is doing hardware of several generations ago is still sufficient. My wife still uses her P100 with Windows 95 and a 1.2GB hard drive and it works just fine. Only thing thats been upgraded in that machine is the memory (which is now 80MB or so). She types stuff, plays Solitaire, reads email and browses the web every so often. She represents the average consumer....not the dorks on this website.
funny...most of the posts I've read here are complaining about the crappy quality of the article.
You seem to be making an awfully large assumption that...say...everyone in the US with a middle-east background knows someone who 'they damn well know are involved in terrorist acts'. The idea sounds so ridiculous I can't believe you even suggested it.
What "per transaction fee structure" are you referring to?