|Java, and so?... Denis.Bredelet@ensisun.imag.fr (Denis Bredelet) (1999-03-02)|
|Re: Java, and so?... firstname.lastname@example.org (Derek Ross) (1999-03-04)|
|Re: Java, and so?... email@example.com (1999-03-04)|
|Re: Java, and so?... firstname.lastname@example.org (Markus Mottl) (1999-03-04)|
|Re: Java, and so?... email@example.com (Greg Haynes) (1999-03-09)|
|From:||Markus Mottl <firstname.lastname@example.org>|
|Date:||4 Mar 1999 12:15:06 -0500|
|Organization:||University of Economics and Business Administration, Vienna, Austria|
Denis Bredelet <Denis.Bredelet@ensisun.imag.fr> wrote:
> Do you think it's fair that Java is the only competitor in its
> category? It *does* have many advantages, and I'm wondering why I
> don't have a choice when I need a Write Once-Run Anywhere,
> cross-platform, industry-elected (...) high-level language that
> doesn't make me amazed by its strangety.
Especially, because you are from France, you should definitely take a
look at OCAML, which is developed by INRIA (Institut National de
Recherche en Informatique et en Automatique).
Address (for OCAML): http://caml.inria.fr/ocaml
This language is very high-level (certainly much higher-level than JAVA),
because it is a functional language. The programming environment features:
* byte code compiler
* native code compiler
* portability to many, many platforms/architectures
* debugger (seldom needed - it's quite easy to write correct programs
in OCAML in comparison to imperative languages)
* scanner generator (if you want to do string processing you are
probably interested in that).
* LALR(1) - parser generator
* good libraries (also for string processing)
* good documentation
* ... and much more than I could ever tell you ...
The compiler (and the interpreter, too) are *incredibly* fast - not only
what concerns compilation speed, but also the resulting code. It easily
leaves JAVA in the dust and the native code can sometimes even beat C/C++
for the same algorithm (honestly).
> Other question : what would you suggest to ease the linking and the
> modularity of a language? For now, I'm still thinking of C-like
> #include model...
Do yourself a favour and forget the "#include" model. Its invention/use
as a means of creating modularity was probably one of the most brain-dead
deeds in the history of programming languages.
OCAML has (IMHO) at the moment the best module-calculus you can get. It
fully preserves seperate compilation, even allows inlining across modules
(where appropriate) and still has the full power of parameterization
But the best about the language (programming environment): you can have
it for free! Even for commercial purposes! Including the sources!
> Another one : Do you know a powerful, simple and elegant way to manage
> strings? I'm looking at Perl, but I feel it isn't well-suited for
> generic languages.
PERL is certainly hard to beat when it comes to string processing. But
it is a real pain for large projects, even more so if these require
complex data structures. If you want to do something big, use OCAML
instead. The "Str"-library allows regular expressions for string
matching and if you have some heavy-duty tasks, you can always rely on
the scanner generator (ocamllex), which produces *very* efficient
> Last but not least, I'll have to think about graphics and
> presentation... Any references?
Here a nice little OCAML-program drawing different (random size and color)
circles all over a window until a key is pressed ;-)
let main () =
let sx, sy = size_x (), size_y () in
let maxr = min (sx/2) (sy/2) and maxc = 256 in
while not (key_pressed ()) do
let x, y, r, color = int sx, int sy, int maxr,
rgb (int maxc) (int maxc) (int maxc) in
set_color color; fill_circle x y r
let _ = Printexc.catch main ()
Short and clear enough?
Markus Mottl, email@example.com, http://miss.wu-wien.ac.at/~mottl
Return to the
Search the comp.compilers archives again.