I won't get into this "war", but I'll respond to a small comment:

And you do need a good Java debugger. Trust me. You could always use a
good debugger, regardless of which language you write in. Too bad jdb is
pure useless crap.
I've been coding in Java both professionally and as a hobby (an open source project) for over 3 years now and my most powerful debugging tool is still System.out.println(). And no, I'm not writing 50 line programs. When you have well designed, thought out code in a language that has very few "surprises" (although any language can be like that if you know it well enough), all bugs are trivial mistakes. So I'm with Tzahi on this one.


Alexander Maryanovsky.



At 13:39 03.01.2003 +0200, Shlomi Fish wrote:
On Fri, 3 Jan 2003, Tzahi Fadida wrote:

> lets get the facts straight.
> pascal was designed for students and for learning purposes, since C is DIFFICULT to
> learn because

Actually, AFAIR Pascal has been around a long time before C, but was
indeed designed for educational purposes.

> of all the possible bugs u can get in a 50 lines program. and pascal has many saftey
> measeures.

Not too many measures. Wirth' later languages (Modula-2, Modula-3 and
Oberon) corrected some of the problem that Pascal had which could result
in buggy code.

> C was designed to write operating system code. and it was desgined to be flexible and
> efficient enough for the task.
> my opionion is that C is a relic of the past when u write program who does not really
> need efficiency!

Quite true. Of course, every program has some efficiency in mind. Imagine
a program to merge two directories that takes running all day long.
Luckily a Virtual machine like Perl is fast enough to do that. An
equivalent C program would be faster, but Perl would still be fast enough.

Then again, if you design brain-dead algorithms, like such that have O(n)
lookup, you can end up in programs that run as slow as a dog whether they
are written in C or in Perl. Then there's Visual Basic where I was told
arrays are implemented as linked lists...

> and short of writing kernel code C is the most dumb thingto use.

Kernel code, or code that needs to be very efficient, compile fast, and be
very portable, and with an expected behaviour. C gives you all that, and
C++, unfortunately does not yet. Unless, of course, you stick to using GNU
C++.

If you'll look into the source code of open-source projects that are
not written in a high-level language, you'll see that most of them are
written in C and not in C++. And you can write kernel code in C++ if you'd
like, as long as you don't use exceptions.

> C++ is a little better for the task, but if efficiency is not what you need, for
> example, in a program that sends queries to a database or numerous other high level
> programming tasks.
> there is no need to use C or C++. you have java, visual basic, and delphi on the top.

Visual Basic is Windows-specific and your code will not be portable.

Delphi is proprietary, available only on Windows and Linux/x86 and the
language itself is quite limited in comparison to higher-level languages
like Perl, Python (or for you, Oleg, LISP).

Java is nice, but proprietary. If you ask me it's a mid-way between C and
Perl, which is very verbose and overly object-oriented. But if you need to
write computationally-intensitive portable code, or such that can be
deployed on web-browsers, it's a good choice.

> phyton and scripting languages at the sidebars for straight forward tasks. and
> libraries that acompany various languages.
>

Using libraries and modules that other people wrote to you is always a
good idea in any language you use. They can often save you a lot of
labour.

> my point is, why program in C when you have JAVA? why write in C++ when you have
> visual basic?

I cannot write in Visual Basic, because I expect my code to be deployed on
Linux. Java itself is written in C, and C still outperforms Java. If you
want to write a virtual machine or a similar platform C is still a better
choice. Not to mentione with very efficient code, code that uses hardware,
and other things I've mentioned.

Some people avoid writing in Java because its only complete
implementations are proprietary.

> whywrite in perl when u have java applets or similar thingies that should make you
> job less difficult and
> buggy?

I beg your pardon? Java applets less difficult to write in with Perl?
System.out.println("Hello World") anyone? public static void main()?
extermely verbose class names like InputStream for doing trivial tasks?
I can produce Perl code much faster than I can ever do with Java. And I
need to compile the Java code and then interpret it, while in Perl I run
it out of the file.

Less buggy? There can be bugs in Perl code and there can be bugs in Java
code. If you are careful and experienced, your Perl code will not have too
many bugs. Java code can have many bugs. If you are looking for a language
that eliminates as many bugs as possible, look in the direction of Haskell
or O'Caml.

Writing my system scripts, text-processing and automation programs in
Java, does not sound substantially better than doing it in C. I'll take
Perl (or Python or whatever, if that's your preference) any day.

> ego? bravado? pure delight? :)
>
> i myself currently write in visual C++ because they were going to make me write in
> java.
> just going back to whats familiar, i guess, which is the real reason why i chose to
> program in C++,
> thinking logically, i would have a less buggy job writing in JAVA. and before someone
> points at me
> and says, see see! he doesn't know java debuggers are buggy too! nananana.. then i
> say: "thats
> because you won't really need a fancy debugger with java, because JAVA is not C or
> C++.
>

Let me get it straight: they wanted you to write the program in Java, but
since you did not know Java, you decided to write it in C++ instead. Why
not learn Java in the process of writing this program? That's how I
learned Perl, once my boss instructed me to use it to write CGI scripts.

And you do need a good Java debugger. Trust me. You could always use a
good debugger, regardless of which language you write in. Too bad jdb is
pure useless crap.

Regards,

Shlomi Fish

>
> * - * - *
> Tzahi Fadida
> [EMAIL PROTECTED]
> Technion Email: [EMAIL PROTECTED]
> My Cool Site: HTTP://WWW.My2Nis.Com
> * - * - * - * - * - * - * - * - * - *
>
> WARNING TO SPAMMERS:see at http://members.lycos.co.uk/my2nis/spamwarning.html
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Oleg Goldshmidt
> > Sent: Friday, January 03, 2003 9:52 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: C vs. Pascal vs. the World [was Re: Edu in linux]
> >
> >
> > Shlomi Fish <[EMAIL PROTECTED]> writes:
> >
> > > And C is the only language that is expected to bootstrap
> > >itself.[1]
> >
> > <snipped to footnote>
> >
> > > [1] - There are a few exceptions. ghc is an Haskell compiler that is the
> > > only tool capable of compiling its own Haskell code. The GNU Ada compiler
> > > is written in Ada. There's also a Dylan compiler written in Dylan, but
> > > luckily there's also a Dylan interpreter written in C that can
> > > compile it
> >
> > I cannot sit silent: obviously you are forgetting Lisp Machines
> > that ran Lisp interpreters written in Lisp. ;-)
> >
> > Now, going backwards intime from the beginning of the UNIX epoche,
> > to the two oldest high level languages that are still in use today:
> > Fortran and Lisp. Any self-respecting Lisp/Scheme book shows how to
> > write a Lisp engine in Lisp. Was there ever a Fortran compiler written
> > in Fortran? The only page that mentions something like that in passing
> > is http://www.nersc.gov/~deboni/Computer.history/Mendicino.html
> >
> >
> > --
> > Oleg Goldshmidt | [EMAIL PROTECTED]
> >
> > =================================================================
> > To unsubscribe, send mail to [EMAIL PROTECTED] with
> > the word "unsubscribe" in the message body, e.g., run the command
> > echo unsubscribe | mail [EMAIL PROTECTED]
> >
> >
> >
> >
>
>
>
> =================================================================
> To unsubscribe, send mail to [EMAIL PROTECTED] with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail [EMAIL PROTECTED]
>



----------------------------------------------------------------------
Shlomi Fish [EMAIL PROTECTED]
Home Page: http://t2.technion.ac.il/~shlomif/
Home E-mail: [EMAIL PROTECTED]

"Let's suppose you have a table with 2^n cups..."
"Wait a second - is n a natural number?"


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to