Cross Platform Programming Languages
lloy0076 at adam.com.au
Fri Jan 19 10:42:28 CST 2007
>> 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:
> 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
> There's tabnanny and indent(1) for fixing up silly files with tabs :-)
Indeed, or use Eclipse or Netbeans and convert them :)
More information about the linuxsa