On Sat, 18 Jan 2003 10:20:41 +0530, Tahir Hashmi wrote:
I'd rather prefer going through some pain on my part than have thousands of users pay the performance price. Nor do I want to pay the performance price myself, so my PC doesn't have a JVM.
That's exactly the point!
If you want performance, then C/C++ or Assembly(!) is better. But, that takes a long time to code and debug. Whereas, doing things in a more higher-level abstracted language makes development and deployment easier. So, basically the choice depends on the requirements.
You might want to look at the different scripting languages available out there and decide which one to use. It's not very difficult to implement a solution like this one. Why, maybe you could try out the Korn Shell - it has support for regex, sockets and other goodies built-in!
Nosferatu
On Sat, 18 Jan 2003 13:38:49 +0530 Nosferatu wrote:
If you want performance, then C/C++ or Assembly(!) is better.
Code written in compiled languages is ultimately resolved into machine instructions (common knowledge). What's interesting is that for some architectures (most RISC CPUs and the latest IA-32/64 CPUs with long pipelines and hyperthreading), you'd have a very tough time cooking up an efficient logic even in assembly!
The compilers are designed keeping in mind the optimization support offered by the architecture and they generate code in a way that best exploits the CPUs optimization algorithms.
You might want to look at the different scripting languages available out there and decide which one to use. It's not very difficult to
Yes, I use scripting languages quite often. I hope you don't mean to imply that Java is a scripting language. It's a systems programming language like C and C++. The difference is that you use it to program for a virtual system, rather than a real one. Nor does it have any significant "abstraction" over C or C++. Let me hazard a guess at what makes people think Java is a higher-level language:
Garbage Collection: No, GC is not the latest and greatest technology. It was used back in the 80s for SmallTalk. Guess what, you have GC libraries for C++ too.
OOP: Old hack again, and incomplete. Simula did it way back in '67! OOP is a paradigm and you can apply it even with C, substituting compiler enforced rules with coding style rules. Gnome is an example of OO design in C. C++ was born as "C with Classes" and the complier actually acted like a preprocessor, generating C and invoking a C compiler to compile it.
Dynamic Typing: Simula, SmallTalk, Lisp, C++...
Tahir Hashmi wrote:
Nor does it have any significant "abstraction" over C or C++.
You're either joking or you don't have much of an idea. A lot of C/C++'s "unspecified", "undefined" (nasal demons) and "implementation-defined" things have well-defined equivalents in Java.
me hazard a guess at what makes people think Java is a higher-level language:
<snip>
Java might be full of these "old hacks" but somehow they're useful! Just because they're old hacks doesn't mean they're automatically useless (and certainly doesn't give C/C++ an edge over Java).
And how about a HUGE and /well-designed/ foundation class library. Add to that the tons of ready made components/libraries available on the Internet.
Manish
On Sat, 18 Jan 2003 19:41:50 +0530 Manish Jethani wrote:
of C/C++'s "unspecified", "undefined" (nasal demons) and "implementation-defined" things have well-defined equivalents in Java.
Use a compiler from just one vendor and use it for just one platform (essentially what you are doing with Java) and these issues are resolved. BTW, by abstraction I meant the kind of abstraction afforded by scripting languages since the parent poster referred to them, the above mentioned gotchas remaining as they are.
Java might be full of these "old hacks" but somehow they're useful! Just because they're old hacks doesn't mean they're automatically useless (and certainly doesn't give C/C++ an edge over Java).
My point was that they are not exclusive to Java and certainly available in C++.
And how about a HUGE and /well-designed/ foundation class library. Add to that the tons of ready made components/libraries available on the Internet.
Ditto for C++. I never disputed about the extensive Java library but one should not ignore that there are libraries for almost all those things in C and C++ too. Though the standard C library is rather small, the standard C++ library (incl. STL) is much more extensive and statically typed to boot.
Tahir Hashmi wrote:
On Sat, 18 Jan 2003 19:41:50 +0530 Manish Jethani wrote:
of C/C++'s "unspecified", "undefined" (nasal demons) and "implementation-defined" things have well-defined equivalents in Java.
Use a compiler from just one vendor and use it for just one
Just one vendor?!! Now you've started misguiding people, man!
Either that, or you deparately need to catch up with times (this would automatically disqualify you from participating in this discussion).
platform (essentially what you are doing with Java) and these
Well, obviously you need a platform! And yes, just one (virtual) platform that abstracts away the hajaar nuances of other platforms.
issues are resolved.
You're asking people to go back to their GCC/SUNWPro/MSVC++/Borland/blah compiler kit and create relatively unportable/unmaintainable software that ties its users down to one OS.
Good.
Java might be full of these "old hacks" but somehow they're useful! Just because they're old hacks doesn't mean they're automatically useless (and certainly doesn't give C/C++ an edge over Java).
My point was that they are not exclusive to Java and certainly available in C++.
How about: "No! They're not available in C++."
Manish
On Sat, 2003-01-18 at 15:17, Tahir Hashmi wrote:
On Sat, 18 Jan 2003 13:38:49 +0530 Nosferatu wrote:
Yes, I use scripting languages quite often. I hope you don't mean to imply that Java is a scripting language. It's a systems programming language like C and C++. The difference is that you use it to program for a virtual system, rather than a real one. Nor does it have any significant "abstraction" over C or C++. Let me hazard a guess at what makes people think Java is a higher-level language:
Garbage Collection: No, GC is not the latest and greatest technology. It was used back in the 80s for SmallTalk. Guess what, you have GC libraries for C++ too.
Ha. You missed out Common Lisp. Inbuilt GC. Machine code generation as fast as C (in many cases) when compiled. Beats the shit out of C++ (what Java??). You maybe interested in checking out Greenspun's Tenth Law.
OOP: Old hack again, and incomplete. Simula did it way back in '67! OOP is a paradigm and you can apply it even with C, substituting compiler enforced rules with coding style rules. Gnome is an example of OO design in C. C++ was born as "C with Classes" and the complier actually acted like a preprocessor, generating C and invoking a C compiler to compile it.
Again you missed Common Lisp. CLOS.
Dynamic Typing: Simula, SmallTalk, Lisp, C++...
Lisp? Common Lisp.
finally : Java?? What Java??