From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id AAA22070; Thu, 29 Jan 2004 00:23:50 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA21632 for ; Thu, 29 Jan 2004 00:23:49 +0100 (MET) Received: from igw3.watson.ibm.com (igw3.watson.ibm.com [129.34.20.18]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id i0SNNmP00562 for ; Thu, 29 Jan 2004 00:23:49 +0100 (MET) Received: from sp1n293en1.watson.ibm.com (sp1n293en1.watson.ibm.com [129.34.20.41]) by igw3.watson.ibm.com (8.11.7-20030924/8.11.4) with ESMTP id i0SNNjN91008; Wed, 28 Jan 2004 18:23:45 -0500 Received: from bismarck-chet.watson.ibm.com (localhost [127.0.0.1]) by sp1n293en1.watson.ibm.com (8.11.7-20030924/8.11.7/8.11.7-01-14-2004) with ESMTP id i0SNNiO62560; Wed, 28 Jan 2004 18:23:44 -0500 Received: from bismarck (bismarck [127.0.0.1]) by bismarck-chet.watson.ibm.com (8.12.3/8.12.3/Debian-6.6) with ESMTP id i0SNQntl004612; Wed, 28 Jan 2004 18:26:50 -0500 Message-Id: <200401282326.i0SNQntl004612@bismarck-chet.watson.ibm.com> To: Alexander Epifanov cc: caml-list@inria.fr Subject: Re: [Caml-list] ocaml killer In-Reply-To: Your message of "Tue, 27 Jan 2004 09:32:31 +0300." <20040127063230.GA12482@inv_machine> References: <20040127063230.GA12482@inv_machine> Date: Wed, 28 Jan 2004 18:26:49 -0500 From: Chet Murthy X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 chet:01 murthy:01 chet:01 cobol:01 sux:99 sux:99 threads:01 threads:01 bug:01 bug:01 onsite:99 crap:01 internals:01 compiler:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Alexander, I don't know what to say, except that clearly, you should spend some time in the trenches, working with the COBOL of the 21st Century -- Java. That's what I do for a living. I've written extremely complex Java systems. I've debugged more Java code than anybody else at my current employer, and I'm not kidding. And, y'know what? Java/the JVM still sux. I left CAML in 1994, when it still didn't have a native-code compiler. I started hacking on Java in the spring of 1996. I've got code in (probably) every JVM. I've debugged dozens of very large, and hundreds of only somewhat large Java deployments, some of them in situations involving large amounts of business at risk. And y'know what? Java/the JVM still sux. "concurrency"! You ever tried to use Java threads to do anything meaningful? Check out the J2EE spec. It basically is BUILT around NOT sharing anything between threads. Oh, and y'know, we have a joke: "every Java bug is a connection-pool (or resource-pool) bug". Here's another: "When you arrive onsite, grep for synchronized, and if you see it, put your laptop back in your bag, tell 'em you're going to get coffee, and don't come back". Java/the JVM is not a systems-programming language. Period. Oh, and I'll defend that against all comers. Difference is, though, if you wanna attack, I'll expect real examples, not the academic crap that most programming language theorists throw around. --chet-- P.S. I came back to CAML for personal programming in 1999, and after that four-year hiatus, during which I became a commercial JVM internals guy, as well as a commercial transaction-processing firefighter (think "Mr. Wolf" from _Pulp Fiction_). So I think I have the experience to compare, and the verdict seems manifestly incontrovertible: Java/the JVM sux. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners