From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f849b,d275ffeffdf83655 X-Google-Attributes: gidf849b,public X-Google-Thread: f5d71,d275ffeffdf83655 X-Google-Attributes: gidf5d71,public X-Google-Thread: 146b77,d275ffeffdf83655 X-Google-Attributes: gid146b77,public X-Google-Thread: 109fba,d275ffeffdf83655 X-Google-Attributes: gid109fba,public X-Google-Thread: 115aec,d275ffeffdf83655 X-Google-Attributes: gid115aec,public X-Google-Thread: 101b33,d275ffeffdf83655 X-Google-Attributes: gid101b33,public X-Google-Thread: 1108a1,d275ffeffdf83655 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,d275ffeffdf83655 X-Google-Attributes: gid103376,public From: "Erik Funkenbusch" Subject: Re: Ada vs C++ vs Java Date: 1999/01/13 Message-ID: X-Deja-AN: 432396282 References: <369C1F31.AE5AF7EF@concentric.net> <369CF85A.B108ACA8@pobox.com> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800 X-Complaints-To: abuse@visi.com X-Trace: ptah.visi.com 916284392 209.32.178.131 (Wed, 13 Jan 1999 21:26:32 CDT) X-MSMail-Priority: Normal NNTP-Posting-Date: Wed, 13 Jan 1999 21:26:32 CDT Newsgroups: comp.lang.ada,comp.lang.c++,comp.vxworks,comp.lang.java,comp.java.advocacy,comp.realtime,comp.arch.embedded,comp.object,comp.lang.java.programmer Date: 1999-01-13T00:00:00+00:00 List-Id: Ralph Cook wrote in message news:369CF85A.B108ACA8@pobox.com... >> Well, Java is gaining a lot of vendor support. But be aware that the >> language is changing rapidly and that there is no standardization of it. > >This is a lie. Sun has been criticized for controlling its standardization too >much. Ummm.. Standardization means standardization by a public comittee like ISO or ANSI. While Sun has made a lot of hoopla about making Java an ISO standard, it's not even really begun yet. >The language has evolved, so that versions 1.0, 1.1, and 1.2 are more different >than >similar version numbers of, say, a compiler for an already defined language. >But there >IS a standard, regardless of what MS thinks. Who said anything about MS? The fact is that Java can change at Sun's whim. That's not a standard, nor is it something you want to base a long term project on. >> New versions are likely to make older code obsolete (for instance, the >> switch from 1.0.x to 1.1 introduced whole new event models). It's a very >> immature language and is likely to go through a lot more growing pains. > >Your bias against Java is obvious: let me restate this in a less >negative way. The language has gone through many changes; how many >it has to go through yet before being considered "mature" is a matter of >opinion. I think, myself, that the parts of the it they didn't get quite right >in the first place are mostly reworked satisfactorily now, and that >growth and change will slow down greatly. Others (obviously) think >differently on the subject. Are you willing to bet your next 20 year project on that? Suppose your (or others) life depended on it. Java hasn't even been around long enough to prove it's stability over time. I'm not saying that it's not stable, I'm simply saying that it isn't old enough to get valid statistics. >> >- support "almost real time" execution >> >> Well, Java certainly can't do this yet. C++ can, depending on OS support. >> ADA most certainly does, or it wouldn't be able to be used in Jet Avionics >> and such. > >Unfortunately, the phrase is meaningless, so we can't say what languages >can and cannot do this (on what processors and OSs, again). Real-time >means a lot of things, but really what somebody needs is "fast enough". Real time doesn't mean a lot of things. It has a pretty well defined meaning. It means the ability to react to external time-critical events as they happen. For instance, you don't want a fly-by-wire aircraft avionics system to have to wait 150 ms's to process that a wind gust has just pushed a plane going Mach 7 downwards. >Whether you're doing human genome mapping or GUI interaction makes >a lot of difference. Don't get caught in the trap of thinking faster is always >better unless you really need all the speed you can get -- there are VERY few >applications/systems like that (and FORTRAN still has C, C++, and Java all >beat in this regard). in many applications faster is always better, as long as accuracy is also present. You might be surprised at how many time-critical applications there really are. An ATM network might not seem like it's speed sensitive, but it is. When processing millions of transactions an hour speed is of very great importance. Don't get caught in the trap of thinking that every application is a stand-alone application running on a single user PC. >> C++ generally isn't. There is an "embedded C++" that's in the works, and >> there might even be some implementations. C is better for embedded work >> than C++. I don't know the specifics of ADA embedded work. > >And Java can work well in many embedded environments, and has definitions >of EmbeddedJava and PersonalJava for the purpose. I note that the original >responder doesn't mention this... Both of which do not exist in practical form yet. >> Well, I would vote against Java. It's too immature for a long term project >> and has questionable speed. > >And I would vote for Java; you need to figure out if there is enough speed >(for your environments and applications) *regardless* of your language. >The runtime environment is far easier to debug, and the language itself is >more strictly OO, without the baggage of C compatibility. I find Java's >changes to be less of a problem than things about C++ that will not change. So, tell me. If you were about to start a 15 year project in which you cannot go back and rewrite code because of compiler changes, and you were betting your own personal fortune on it's success (if not your life). Would you still choose Java? >> Your choice of ADA and C++ has many factors. It's likely going to be easier >> to find people to maintain C++ code than ADA. It's also got more 3rd party >> support. Both are standardized, although not all current compilers support >> the full standard C++ yet (in fact, I don't know of any that are fully >> compliant yet). > >Isn't it wonderful to have a standard that no one supports? >What does that mean? The standard was only ratified last year (1998). It takes time for implementations to match the standard. Yes, It's true that the standard has been roughly static for about 2 years, but most compiler vendors didn't want to take the chance of it changing yet again (like it's done several times before when it was "almost done"). The standard is done, it's now a matter of vendors implementing it. >And there *is* a java standard; go and get the books from Barnes >& Noble if you want. There is no international standard for Java. Java is what Sun says it is, and that's not a standard. >Again, the previous poster seems to have given up on Java. >I would expect people familiar with Java to be more numerous >than for Ada, but I don't have numbers and don't really know. >Actually, I'd try to hire good programmers and have them use >whatever language got chosen; good programmers are harder >to find than people who know the tricks of one language. And what do you do when all you have are people that know the tricks of one language and can't find any "good" programmers?