Cross Platform Programming Languages

David Lloyd lloy0076 at adam.com.au
Fri Jan 19 10:42:28 CST 2007


Chris,

>> Java + an IDE is just as fast as Python + an IDE.
> 
> I don't know much about IDEs, but do you think things have changed
> redically from 6 years ago when this study was done:
>     http://page.mi.fu-berlin.de/~prechelt/Biblio/jccpprt_computer2000.pdf
> where the programming time for non-compiled languages was less than half
> as long as compiled languages ?

With modern equipment and an IDE to help, running a compiled application 
under a well-written Eclipse plugin or Netbeans plugin is really just as 
easy as using a Python IDE, or for that matter vim and the commandline.

If you use something like Matisse (a Swing GUI builder that comes with 
Netbean 5.X [and possibly the earlier versions as well btw]) you can 
come up with good looking Java GUIs relatively quickly.

I currently code simple Java GUIs by hand because I have the firm belief 
that you need to understand the code that the WYSIWYG tool is making to 
be able to use it effectively. I believe that this would apply to 
Python/WxWidgets as to Java/Swing.

I'd clearly back the programmer who "knew" his toolkit's intricacies 
from actually writing it from scratch than the one who only knew the GUI 
point and click way.

> Have you got any references or are you speaking from your experience ?

Once I thought Java programming was "slow" and GUI building was slow, 
but I've discovered that's because I hadn't really looked into it. Over 
the past few months, I've taken to investigating and reading about 
WxWidgets, Swing and SWT (because I got bored and wanted something to do).

The conclusion I came to was that if you were going to do them all by 
hand, provided you were proficient with your editor (mainly being able 
to copy, paste and substitute very quickly), you could code all three of 
the toolkits as efficiently as each other PROVIDING also that you were 
familiar with each one.

Java/Swing programmers can throw rocks at Python/WxWidget weenies [you 
could substitute Java/Swing jerks vs Python/WxWidget wizzes if you 
prefer the other slant :P]. However, I suspect if you stop the rock 
throwing and get them all to understand at least the basics of what the 
opposing toolkits can do, you'll find that what you lose on the swings, 
you gain on the roundabouts.

Of course, if you have a GUI builder to do the work for you, it depends 
on how good/bad that builder is. Further from that, it then depends on 
how good a programmer you are. If your program design or architecture is 
"crap" then it's going to be crap whether you code it in Perl, C, C++, 
C#, Java or Python.

Having worked with a POS frontend before, it's much MUCH more important 
that your backing code can cope with the random things your customers 
will want the front end to do. POS customers are likely to ask you to 
put a "Give Discount if Mars is Transiting Saturn and the Sun is in 
Taurus" check box.

Realistically, if it's going to be difficult to add an extra checkbox to 
your GUI then either:

  a) Your GUI toolkit truly sucks
  b) The way you've coded it truly sucks

>> It's just that the Java code will be more verbose, as you identify and 
>> it won't die mysteriously if you mix tabs and spaces :P
> 
> hehe....
> There's tabnanny[1] and indent(1) for fixing up silly files with tabs :-)

Indeed, or use Eclipse or Netbeans and convert them :)

DSL


More information about the linuxsa mailing list