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>

Reply via email to