On Thu, Aug 03, 2000 at 12:47:32AM +0100, Alex Barnell wrote: > Brandon wrote: > > > > What percentage of the developers are using Unix? > > > > Core developers: 100%. I don't know about everyone else because it's > > rather shifty as to who is developing and who isn't. > > > > Just to say that I'm hacking searching into Serapis, and I'm using Unix. I > would > rather everything was in Java.
I'm not a real Java fan. I personally like Python for stuff that is not very speed dependent, and plain old ANSI C for stuff that is quite speed dependent. Here is my list of laurels and laments about all three of these languages. IMHO the problem with Java is: 1. It's proprietarily controlled (unlike C or Python) 2. Behavior differs from VM to VM (even on the same platform) 3. It is strongly typed when it doesn't have to be (even if it used static typing, it could use /transparent/ statically evaluated typing 4. Even though it is faster to code in that C, it does not have rapid programming that is possible in Python 5. To do various stuff in Java, do to its static typing, you need templates, but you have to go with lousy casts because Java doesn't have templates (note that templates are not necessary at all in dynamically typed languages such as Python) 6. Java can't call Unix system calls (unlike C or Python) (note that this is an advantage in some ways because it increases portability) 7. Java forces object orientation on you at all times (even when it is not necessary or *shouldn't* be used) 8. Java is slowish like Python, but doesn't have the coding advantages of Python 9. Java is *not good* for low level stuff The good parts about Java: 1. Java has array bounds checking 2. Unless you have a fscked up VM like Sun/Blackdown, Java doesn't segfault and leave you a nice big core file to delete 3. Java is rather portable (unlike C or Python+Unix system calls) The good parts about C: 1. C is *fast* 2. C is *very powerful* 3. You can do all sorts of low level stuff in C that you would never be able to do in Java or Python. The bad parts about C: 1. C is rather nonportable except between Unix systems 2. C can easily segfault and leave you a nice core file 3. C is statically typed (yeah, this is a *disadvantage* of Java, but static typing is often nice when doing high performance low level work (which Java isn't meant for)) 4. C doesn't provide basic easy to use types (even in separate modules/libraries like in Java) The good parts about Python: 1. Python is *fast* to code in 2. Python is *easy* to code in 3. Python is *powerful* 4. Python is dynamically typed 5. Python has a nice big library of modules to work with 6. Python gives you access to many (but not all) Unix system calls 7. Python is very portable (unless you use Unix system calls) The bad parts about Python: 1. Python is slower than languages like C 2. Python is unsuitable for low level work (it doesn't give you access to stuff like ioctl, sysctl, shared memory, socket options, protocols other than TCP) -- Travis Bemann Sendmail is still screwed up on my box. My email address is really bemann at execpc.com. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 2430 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20000802/536165bc/attachment.pgp>
