Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

C# can do but Java cannot

126 views
Skip to first unread message

Ashish Thakkar

unread,
Dec 27, 2002, 8:35:05 AM12/27/02
to
Is there anything that C# can do and java cannot and viceversa !

Regards,
Ashsih Thakkar

Simon Trew

unread,
Dec 27, 2002, 8:46:30 AM12/27/02
to
The concept of attributes is one thing that springs to mind.

Look at http://www.25hoursaday.com/CsharpVsJava.html

"Ashish Thakkar" <romancin...@fastmail.fm> wrote in message
news:22419c20.02122...@posting.google.com...

Mike Schilling

unread,
Dec 27, 2002, 10:51:27 AM12/27/02
to
"Simon Trew" <st...@orange.net> wrote in message
news:Ob5mW5arCHA.1776@TK2MSFTNGP09...

> "Ashish Thakkar" <romancin...@fastmail.fm> wrote in message
> news:22419c20.02122...@posting.google.com...
> > Is there anything that C# can do and java cannot and viceversa !
No, in the sense that both are Turing-complete:-)

> >
> The concept of attributes is one thing that springs to mind.

Java Beans can be made to do everything attributes can do: more, in some
ways, using bound and constrained properties. Of course, doing so requires
writing (or generating) code; Java doesn't have the nice attribute syntax.


Randy A. Ynchausti

unread,
Dec 27, 2002, 12:26:18 PM12/27/02
to
Ashish,

> Is there anything that C# can do and java cannot and viceversa !

Yes, C# can generate revenue for a company that is quite viable. Java has
not and can not.

Regards,

Randy


Jim Sculley

unread,
Dec 27, 2002, 1:02:35 PM12/27/02
to
Simon Trew wrote:
> The concept of attributes is one thing that springs to mind.

Java already has attributes. They are part of the VM specification.
Section 4.7 to be specific.

Jim S.
--
Remove my extraneous mandibular appendages to reply via e-mail.

Jim Sculley

unread,
Dec 27, 2002, 12:58:56 PM12/27/02
to

What a load of crap. Sun is a hardware company. End of story. IBM
makes millions from Java.

Mike Schilling

unread,
Dec 27, 2002, 2:22:41 PM12/27/02
to
"Erik Funkenbusch" <er...@visi.com> wrote in message
news:Ok8m7udrCHA.1668@TK2MSFTNGP09...

> Ashish Thakkar <romancin...@fastmail.fm> wrote:
> > Is there anything that C# can do and java cannot and viceversa !
>
> No. But that's not saying much. Any turing complete language can do just
> about anything another turing complete language can do. The question is,
> how easy is it to do a particular thing.
>
> One thing i like about C# (and really .NET in general) is delegates.
> Delegates get chained so that you can add more than one handler and the
> framework automatically calls all of them. Java doesn't have a simple way
> to do this, so you must write your own.

Look into Java events and listeners; it's a similar pattern.


Erik Funkenbusch

unread,
Dec 27, 2002, 2:11:24 PM12/27/02
to
Ashish Thakkar <romancin...@fastmail.fm> wrote:
> Is there anything that C# can do and java cannot and viceversa !

No. But that's not saying much. Any turing complete language can do just

Jon Skeet

unread,
Dec 27, 2002, 2:33:13 PM12/27/02
to

My what a trollish comment. Easy to disprove, too - the company I work
for has used Java to generate plenty of revenue.

--
Jon Skeet
sk...@pobox.com - http://www.pobox.com/~skeet
If replying to the group, please do not mail me at the same time

Brian

unread,
Dec 27, 2002, 3:58:50 PM12/27/02
to
I was going to post this, but maybe it will fit in this thread and
help it along.

How is the GUI performance between C# and Java/Swing> Can anyone
point me to any C# Applications? I'm curious if C# exhibits the same
laggy performance that has plauged Java for many a year.

Tim Smith

unread,
Dec 27, 2002, 6:35:23 PM12/27/02
to
romancin...@fastmail.fm (Ashish Thakkar) wrote in message news:<22419c20.02122...@posting.google.com>...

> Is there anything that C# can do and java cannot and viceversa !
>
> Regards,
> Ashsih Thakkar

C# can run GUI applications *quickly* on windows, Java cannot.

Java can run GUI applications on many platforms, C# cannot.

Personally I love Java for server side processing - JSP etc.
But when it comes to rich GUI apps C# is unrivalled on the Windows
platform. And while it runs slower than Visual C++/MFC there is better
code and less maintenance because of the language improvements.

For the next 5 years I would say that C# is the future on windows,
Java may be the future everywhere else. Since most non-techies use
Windows it is a fair balance.

Final note - consider not languages but solutions.

Erik Funkenbusch

unread,
Dec 27, 2002, 8:17:37 PM12/27/02
to

That's a pattern, not an implementation. As I said, yes.. you can do the
same thing, .NET has it built in, you must write your own for Java.

Jim Sculley

unread,
Dec 27, 2002, 10:06:51 PM12/27/02
to
Tim Smith wrote:
> romancin...@fastmail.fm (Ashish Thakkar) wrote in message news:<22419c20.02122...@posting.google.com>...
>
>>Is there anything that C# can do and java cannot and viceversa !
>>
>>Regards,
>>Ashsih Thakkar
>
>
> C# can run GUI applications *quickly* on windows, Java cannot.

If this is true, why is VS.NET not written in C#? I'll put Java up
agaist any C# app you care to create.

>
> Java can run GUI applications on many platforms, C# cannot.
>
> Personally I love Java for server side processing - JSP etc.
> But when it comes to rich GUI apps C# is unrivalled on the Windows
> platform.

http://www.jgoodies.com

I find it funny that you consider C# 'unrivalled' on Windows when it
can't do something as simple as anti-alias text or provide icons in
menus on all Windows platforms.

> And while it runs slower than Visual C++/MFC there is better
> code and less maintenance because of the language improvements.
>
> For the next 5 years I would say that C# is the future on windows,
> Java may be the future everywhere else. Since most non-techies use
> Windows it is a fair balance.

Time will tell.

Lloyd Dupont

unread,
Dec 27, 2002, 10:53:38 PM12/27/02
to
Hi Jim !

your question is a bit biased !
You could do anything in C#, as in Java, as in Assembly.....
The true question is in which language it is easier.... or have better
performance .....
And, well that depends what your try to do....

I found Swing API more powerfull to use.
Although the C# syntax is nicer (delegate are super cool ! and it's so easy
to do interop compare to JNI (which is not so difficult, ok, but clearly
more difficult than interop))
C# build .exe and .dll which you just run, it's good !

Also C# have very good performance. but 1.4 too.. it's up to you ...

well, that was my 2 cents..

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> a écrit dans le message de
news: Oo9pk4hrCHA.1080@TK2MSFTNGP10...

Gregory Phillips

unread,
Dec 28, 2002, 12:10:30 AM12/28/02
to
Execute reasonably fast

---
Gregory Phillips greg...@attbi.com Seattle, Washington, USA

Jim Sculley

unread,
Dec 28, 2002, 12:53:40 AM12/28/02
to
Gregory Phillips wrote:
> Execute reasonably fast

Another uninformed poster. Can you point me to some independent
benchmarks that show this? Oh wait. All .NET benchamrks must have MS
approval for publication, so I guess you can't.

Jim Sculley

unread,
Dec 28, 2002, 12:52:31 AM12/28/02
to
Lloyd Dupont wrote:
> Hi Jim !
>
> your question is a bit biased !

I don't think so. I think it is a valid question. For instance, if
NetBeans or JBuilder or Eclipse were using mountains of JNI, Java
critics would be screaming foul. The fact that VS.NET isn't written in
C# is very telling to me.

> You could do anything in C#, as in Java, as in Assembly.....
> The true question is in which language it is easier.... or have better
> performance .....
> And, well that depends what your try to do....

Indeed. I don't know of many application domains for which Java isn't
well suited these days.

>
> I found Swing API more powerfull to use.
> Although the C# syntax is nicer (delegate are super cool !

Personally, I find the

-= new EventHandler(something) syntax abhorrent.

I've always found anonymous inner classes for event handling in Java to
be quite straightforward.

> and it's so easy
> to do interop compare to JNI (which is not so difficult, ok, but clearly
> more difficult than interop))

There are a host of third party tools (both free and commercial) which
make JNI in Java simpler. However, it seems to me that Java requires
far less interop than .NET.

> C# build .exe and .dll which you just run, it's good !

Java builds executable JAR files which you just run, anywhere. Better!


>
> Also C# have very good performance. but 1.4 too.. it's up to you ...
>

Indeed. Tell that to Mr. Smith, who made the ridiculous statement:

"C# can run GUI applications *quickly* on windows, Java cannot"

Daniel O'Connell

unread,
Dec 28, 2002, 1:11:49 AM12/28/02
to
haha, god your an ass,
why don't you actually point out some reasons why java is better instead of
simply jumping on everyones comments with vauge, opinionated, and
unsubstantiated banter(not that your right or wrong, but simply not actually
providing any REAL information otehr than YOUR word), your expecting people
to take your word as the TRUTH without anything except some highly
questionable opinions on anything and everything that happens to occur in
anyones comments.
all you've successfully done, imho, is write yourself off as another idiot
with a keyboard.
"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message
news:ufYzyVjrCHA.2540@TK2MSFTNGP12...

Daniel O'Connell

unread,
Dec 28, 2002, 1:16:15 AM12/28/02
to
also, before you fly off your handle again
no one else has provided any real informatino either, i'll give you that.
"Daniel O'Connell" <onyx...@attbi.com> wrote in message
news:EgbP9.478551$P31.156883@rwcrnsc53...

Lloyd Dupont

unread,
Dec 28, 2002, 1:57:47 AM12/28/02
to
VS.NET is not writte in C# because C++ is as a valid .NET language as
others (including C#) and MS has a lot of legacy code in C++ about
VisualStudio, quite fai isn't it ?

Although if you want a (very nice IMHO) IDE entirely in C#, and entirely
free: try SharpDevelop: http://www.icsharpcode.net

I do think that WinForm is quite akward to Swing, however I do prefer
.exe other .jar. When I try to mail .jar files friends to try some of my
work (they are not programmer) I always have problem, particularly when
I use multiple dependant jar files. whereas a .NET exe has no trouble
finding all dll in its directory (whereas Java you should copy them in
the ext directory, create a launcher, create a build .bat, my friend are
not that patient)

Also I do prefer event other listener. listener are nearly fine when ou
use an alreay made class (like AbstractTableModel) but whenever I
designed (I did often) my own class with its, always similar,
addSomethingListener(), removeSomethingListener().. I was a bit
tired....
But it's a matter of ersonnal preference, I would admit, although
nothing prevent you to design you class with interface as listener
instead of delegate/event...

BTW, something else nice to try: OpenGL for .NET
http://csgl.sourceforge.net, I do think than it's definitely easier to
do that in C# than in Java. BTW CsGL support OpenGL1.4, lot of
extension, I'm waiting for such a thing in Java....

--
OpenGL.NET now at:
http://csgl.sourceforge.net

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Jon Skeet

unread,
Dec 28, 2002, 4:58:33 AM12/28/02
to
onyx...@attbi.com wrote:
> also, before you fly off your handle again
> no one else has provided any real informatino either, i'll give you that.

They've done worse - they've provided *misinformation*. Jim's just trying
to get people to substantiate their ridiculous claims, as far as I can
see.

Frans Bouma

unread,
Dec 28, 2002, 5:08:18 AM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:Oo9pk4hrCHA.1080@TK2MSFTNGP10:

> Tim Smith wrote:
>> C# can run GUI applications *quickly* on windows, Java cannot.
>
> If this is true, why is VS.NET not written in C#? I'll put Java up
> agaist any C# app you care to create.

SWT is pretty, and ok, but the rest of the java toolkits are slower
when it comes to gui work. Not a bad thing, when you consider that
.NET's winforms hook directly into win32. GUI's build in java which
run on win32 are slow, mostly due to the slow toolkits. .NET's
gui is also not that fast though. Looking at SharpDevelop, it's no
picknick either.

>> Java can run GUI applications on many platforms, C# cannot.
>>
>> Personally I love Java for server side processing - JSP etc.
>> But when it comes to rich GUI apps C# is unrivalled on the Windows
>> platform.
>
> http://www.jgoodies.com
>
> I find it funny that you consider C# 'unrivalled' on Windows when it
> can't do something as simple as anti-alias text or provide icons in
> menus on all Windows platforms.

huh? Pretty nice anti-aliased fonts here :) (C#, winforms), also
XP native widgets etc. With libs like dotnetmagic, I can create the
nicest menu's I want. .NET comes with GDI+, if you don't like the
winforms looks, draw them yourself! :)

Besides that, C# is a language, not a widgetlibrary. How can a
language be responsible for the anti-aliassing of fonts :)

FB
--
======= You can't sell what's free ====================================
Senior Software Engineer @ Solutions Design : http://www.sd.nl
Get my free, open source .NET software at : http://www.sd.nl/software
=========================================================================

Frans Bouma

unread,
Dec 28, 2002, 5:21:47 AM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:unHeJVjrCHA.392@TK2MSFTNGP12:

> Lloyd Dupont wrote:
>> your question is a bit biased !
>
> I don't think so. I think it is a valid question. For instance, if
> NetBeans or JBuilder or Eclipse were using mountains of JNI, Java
> critics would be screaming foul. The fact that VS.NET isn't written in
> C# is very telling to me.

and why's that? C# is now suddenly not that good because VS.NET
isn't written in it? I'm pretty sure some parts of the IDE are
written using .NET, especially the debugger. Also, the .NET api
is completely written in C#.

>> You could do anything in C#, as in Java, as in Assembly.....
>> The true question is in which language it is easier.... or have better
>> performance .....
>> And, well that depends what your try to do....
>
> Indeed. I don't know of many application domains for which Java isn't
> well suited these days.

true, I think if you run a Linuxfarm, it's the platform/language
of choice, however when mono is ready I don't know if that stays
that way.

>> and it's so easy
>> to do interop compare to JNI (which is not so difficult, ok, but
>> clearly more difficult than interop))
>
> There are a host of third party tools (both free and commercial) which
> make JNI in Java simpler. However, it seems to me that Java requires
> far less interop than .NET.

?? less interop? If you want to get something done fast, you have
to go through the native library layer. .NET does that, and fast
java libraries do that too (hell, Sun's own Solaris VM uses native
Solaris threads). I don't see that as a problem though. I however
doubt .NET needs a lot of interop, since the API itself is very
complete and completely written in C#. There are several places
where .NET uses native libraries (or libraries written in C/C++
made for .NET, like the database connector for sqlserver) but for
the developer, this is all transparent, and frankly I couldn't care
less: the platform is the black box I use and I assume the
functionality described in the specifications is the one I get when
I call a method of a certain API class. How that method does its
thing... do you really care? I don't :)

>> C# build .exe and .dll which you just run, it's good !
>
> Java builds executable JAR files which you just run, anywhere. Better!

*cough* well, anywhere... :P *cough*. I remember some XP
installment or a certain JVM by Apple ;)

>> Also C# have very good performance. but 1.4 too.. it's up to you ...
>
> Indeed. Tell that to Mr. Smith, who made the ridiculous statement:
>
> "C# can run GUI applications *quickly* on windows, Java cannot"

I think you overlooked 'windows' in this statement. GUI
applications made with .NET look as native applications. Most java
GUI's do not (apart from SWT based ones). Most JVM's are utterly
slow on windows, except MS' own, but we all know how much
Sun wanted us windows-developers use a nice VM...

Frans Bouma

unread,
Dec 28, 2002, 5:30:40 AM12/28/02
to
Lloyd Dupont <ll...@galador.net> wrote in news:uDrJv5jrCHA.1640
@TK2MSFTNGP09:

> BTW, something else nice to try: OpenGL for .NET
> http://csgl.sourceforge.net, I do think than it's definitely easier to
> do that in C# than in Java. BTW CsGL support OpenGL1.4, lot of
> extension, I'm waiting for such a thing in Java....

http://www.komplex.org/java.html

Allthough their kick ass javademo with OpenGL isn't linked there
(dozen), Komplex showed years ago, it was perfectly possible
to do OpenGL from Java, using glut :P

Frans Bouma

unread,
Dec 28, 2002, 5:42:37 AM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187786246...@news.microsoft.com:

> onyx...@attbi.com wrote:
>> also, before you fly off your handle again
>> no one else has provided any real informatino either, i'll give you
>> that.
>
> They've done worse - they've provided *misinformation*. Jim's just
> trying to get people to substantiate their ridiculous claims, as far as
> I can see.

Just to be fair, Jim tends to formulate his opinions a bit as if
java is 'faster' than C#. Especially on windows this is not the
case, since the only VM that is worth mentioning when it comes to
speed isn't updated since 1.1 (MSJVM).

I don't find it a ridiculous claim when someone says a C#-winform
application works faster than a java-swing/awt app. (and does look
native if I might add). Java-SWT however comes close, however we
then still have the issue of the JVM not performing up to par with
its brothers on other platforms. (And don't come to me that Sun's
JVM is lightning fast on windows, because it's not).

However I'm also fair to admit I don't like the speed of a C#-
winform application compared to a native C++ app. When I use
SharpDevelop I find it too slow (at least on my machine, p3-933).

Lets not get into the mudthrowing contest called 'language XYZ is
faster than language ABC', since such claims are stupid and
useless. Both languages are interpreted by a VM in some form. Both
thus suffer from that interpretation and will only be faster when
the app's code is complex enough it can enjoy the advantages of
run-time optimizations.

Now, we can all go on with what's so crappy on eachothers
languages, we all know no language is perfect nor is any platform.
Lets focus on what is the advantage of using platform/languange A
and what's the advantage of using platform/language B so we all
can benefit from this discussion when we have to decide which
platform/language to take in an upcoming project. Ok? Fine.

FB

ps: I'm not using java due to political reasons, since I find it
morally wrong to support a company (sun) which forces a competitor
to include their product (Sun's JVM) using a court. But that's
another discussion ;)

Jon Skeet

unread,
Dec 28, 2002, 5:47:09 AM12/28/02
to
per...@xs4all.nl wrote:
> Most JVM's are utterly
> slow on windows, except MS' own, but we all know how much
> Sun wanted us windows-developers use a nice VM...

Um, could you give some evidence for this? I've found recent JVMs (1.3
onwards) to be perfectly fast enough on Windows. Libraries such as NIO
are helping to clear up performance where it was lacking in terms of fast
IO. The only area I still frequently see Java being fairly criticised in
terms of performance is when it comes to GUI apps, and I've seen Swing
apps which are absolutely fine, which suggests that the problem isn't so
much in Swing's performance as in working out how to *get* that good
performance.

From what I remember, MS's JVM did start up *very* quickly, but wasn't
nearly as good at JITting as modern VMs such as HotSpot.

Jon Skeet

unread,
Dec 28, 2002, 5:58:36 AM12/28/02
to
per...@xs4all.nl wrote:
> Jon Skeet <sk...@pobox.com> wrote in
> news:MPG.187786246...@news.microsoft.com:
>
> > onyx...@attbi.com wrote:
> >> also, before you fly off your handle again
> >> no one else has provided any real informatino either, i'll give you
> >> that.
> >
> > They've done worse - they've provided *misinformation*. Jim's just
> > trying to get people to substantiate their ridiculous claims, as far as
> > I can see.
>
> Just to be fair, Jim tends to formulate his opinions a bit as if
> java is 'faster' than C#. Especially on windows this is not the
> case, since the only VM that is worth mentioning when it comes to
> speed isn't updated since 1.1 (MSJVM).

That's the second time you've mentioned that, but without any evidence.
There are no doubt some areas in which the MS JVM is faster than Sun's,
but I personally haven't run into them. Saying that Microsoft's is "the
only VM that is worth mentioning" certainly flies in the face of my
experience, where we use Sun's VM day-in-day-out with no problems.

I seem to remember that with the last microbenchmark which was performed
on this newsgroup, acquiring and releasing locks, HotSpot was *far*
faster than .NET 1.0, and slightly faster than 1.1.



> I don't find it a ridiculous claim when someone says a C#-winform
> application works faster than a java-swing/awt app.

I do if they don't provide any evidence. I've seen Swing apps which
perform extremely well - and I've seen some terrible ones as well.

> (and does look
> native if I might add). Java-SWT however comes close, however we
> then still have the issue of the JVM not performing up to par with
> its brothers on other platforms. (And don't come to me that Sun's
> JVM is lightning fast on windows, because it's not).

And again the claim, and again no evidence.



> Lets not get into the mudthrowing contest called 'language XYZ is
> faster than language ABC', since such claims are stupid and
> useless. Both languages are interpreted by a VM in some form.

Well, neither ends up being interpreted (these days) in any sense in
which I'd use the word "interpreted", but there we go. I don't believe
the "interpreted" vs "compiled" dichotomy is a useful one these days,
with so many things fitting somewhere in the middle.

> Both
> thus suffer from that interpretation and will only be faster when
> the app's code is complex enough it can enjoy the advantages of
> run-time optimizations.

I'm perfectly happy with 5% slower to 5% faster than equivalently coded
C, which is what I reckon you get for almost all apps. Start-up time *is*
an issue though.

> Now, we can all go on with what's so crappy on eachothers
> languages, we all know no language is perfect nor is any platform.

True.

> Lets focus on what is the advantage of using platform/languange A
> and what's the advantage of using platform/language B so we all
> can benefit from this discussion when we have to decide which
> platform/language to take in an upcoming project. Ok? Fine.

That's my view too. The experience of the developers involved is likely
to be a major factor which can't be taken into account in a general way,
either.

> ps: I'm not using java due to political reasons, since I find it
> morally wrong to support a company (sun) which forces a competitor
> to include their product (Sun's JVM) using a court. But that's
> another discussion ;)

And you don't find any of Microsoft's business practices equally dubious?
Hmm.

Frans Bouma

unread,
Dec 28, 2002, 6:46:59 AM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187794392...@news.microsoft.com:
>> > They've done worse - they've provided *misinformation*. Jim's just
>> > trying to get people to substantiate their ridiculous claims, as far
>> > as I can see.
>>
>> Just to be fair, Jim tends to formulate his opinions a bit as
>> if java is 'faster' than C#. Especially on windows this is not
>> the case, since the only VM that is worth mentioning when it
>> comes to speed isn't updated since 1.1 (MSJVM).
>
> That's the second time you've mentioned that, but without any evidence.

I'm not a benchmark specialist, however when I run a java-app
(1.1.) on both ms jvm and sun's, ms' jvm tend to execute it
faster. (again, it's old 1.1. code). Also, friends of mine who
are java programmers tell me the same thing and simply can't
understand why a slow JVM as Sun's has to be included in XP
(according to the judge).

> There are no doubt some areas in which the MS JVM is faster than Sun's,
> but I personally haven't run into them. Saying that Microsoft's is "the
> only VM that is worth mentioning" certainly flies in the face of my
> experience, where we use Sun's VM day-in-day-out with no problems.

Well, MS' JVM is not up to par with the current javaspecs, so
I can only check with old code, which will perhaps run faster
when its rewritten for 1.3.

> I seem to remember that with the last microbenchmark which was performed
> on this newsgroup, acquiring and releasing locks, HotSpot was *far*
> faster than .NET 1.0, and slightly faster than 1.1.

hmmm. a tight loop benchmark? :D

I have the 'feeling' sun's jvm is slower. But perhaps with other
code it's faster, that's the problem with JIT's (and also the
reason why I think it's not that wise to 'discuss' the speed
of VM's here, we all can come up with a routine which is the
fastest on the VM of our choice.)

>> I don't find it a ridiculous claim when someone says a
>> C#-winform application works faster than a java-swing/awt app.
>
> I do if they don't provide any evidence. I've seen Swing apps which
> perform extremely well - and I've seen some terrible ones as well.

Hmm. I haven't seen any java application which felt like a native
windows application (not even Sybase/oracle tools), with swing
as the most slow applications. SWT based applications tend to
be up to par though (that is: according to the feel of the app),
however as with winforms apps, they are too slow when it comes to
a big heavy gui like an IDE. But perhaps it also depends on
what kind of machine you have. I'm pretty sure no-one will notice
the sluggish behavior I get in SharpDevelop on my p3-933 when
they run it on an AMD XP 2000+ or P4-2.x GHz :)

>> (and does look
>> native if I might add). Java-SWT however comes close, however
>> we then still have the issue of the JVM not performing up to
>> par with its brothers on other platforms. (And don't come to
>> me that Sun's JVM is lightning fast on windows, because it's
>> not).
>
> And again the claim, and again no evidence.

I *find* it slower, my 1.1. apps (which are old) run slower than
on the ms jvm. To me, then the jvm is slower, also I'm not alone
on this, others say the same thing, while again others tend to
disagree. I think it depends on the code you run on the VM's,
because the JIT will sometimes come up with good and sometimes
come up with bad optimizations, it depends on the situation, the
code that's run on the vm.

>> Lets not get into the mudthrowing contest called 'language XYZ
>> is faster than language ABC', since such claims are stupid and
>> useless. Both languages are interpreted by a VM in some form.
>
> Well, neither ends up being interpreted (these days) in any sense in
> which I'd use the word "interpreted", but there we go. I don't believe
> the "interpreted" vs "compiled" dichotomy is a useful one these days,
> with so many things fitting somewhere in the middle.

heh, ok, 'interpreted' is perhaps a bit misplaced here, but
compared to native code executed natively on the CPU, it is
interpreted code by the JIT. Now, a JIT can optimize bytecode
pretty fast these days, thanks to some great innovations, but
still you have an initial overhead because the JIT takes cpu
cycles too and it depends on what the JIT optimizes if you win
these cycles back with the optimized code. In some cases you do,
in other cases you don't which will end up in slower code than
native code. I still think 'interpreted' in some degree is
ok in this context, simply because the bytecode is 'interpreted'
at least once by the JIT.

You can cook up situations where run-time analysis of the code
(however only the ones which don't take excessive cpu power)
is far more efficient than pre-compiled native code. However,
most of the times, in real life situations, the JIT-processing
will cause some overhead which is, up till today, almost never
compensated enough with the optimizations performed with the JIT.
I think that a combination of the 2 will eventually result in
the most optimal situation (which is in fact what you'll get
with the Itanium/EPIC situation: a compiler which compiles to
instructions eatable by the processor but these instructions are
optimized at runtime using a JIT, sort of what the crusoe does)



>> Both
>> thus suffer from that interpretation and will only be faster
>> when the app's code is complex enough it can enjoy the
>> advantages of run-time optimizations.
>
> I'm perfectly happy with 5% slower to 5% faster than equivalently coded
> C, which is what I reckon you get for almost all apps. Start-up time
> *is* an issue though.

true, startup time takes too much effort at the moment. You can
circumvent that a bit with hacks like a splashscreen which is
executed by a stub which in fact loads the app, but still it will
take time to load the complete runtime in core to execute the
splash screen in the first place ;)

however I'm sure this will be streamlined with tricks like loading
the runtime at boottime, as is done with IE's core engine ;)

>> ps: I'm not using java due to political reasons, since I find
>> it morally wrong to support a company (sun) which forces a
>> competitor to include their product (Sun's JVM) using a court.
>> But that's another discussion ;)
>
> And you don't find any of Microsoft's business practices equally
> dubious? Hmm.

I only found the mafia-like tactics they used to keep the hardware
sellers signing contracts they didn't want, which was hold up in
court. The other stuff was 'business'-as-usual, imho. I find it
pretty lame for a company to go to court and complain about a
competitor while yourself are the true reason your own product
fails. I'll never ever forgive Sun for what they did to all those
J++ developers who used java for COM objects.
However I find it perfectly acceptable when a company A is crushed
by another, bigger company B, while A did everything they could to
prevent that, that A goes to court and sues B's ass off. However
in f.e. the netscape case this wasn't true. I still remember the
days when I first used mosaic on my sun box and Netscape killed it
off because they introduced netscape only tags like frames and
background images (whohoo :)). Pot kettle black etc. Here in
holland we say "boontje komt om z'n loontje", which is something
like "he got what he deserved according to his initial actions" ;)

FB

Jon Skeet

unread,
Dec 28, 2002, 7:07:15 AM12/28/02
to
per...@xs4all.nl wrote:
> > That's the second time you've mentioned that, but without any evidence.
>
> I'm not a benchmark specialist, however when I run a java-app
> (1.1.) on both ms jvm and sun's, ms' jvm tend to execute it
> faster.

What program though? And is it a short one where startup time is
significant? Where startup time is significant, the MS VM will indeed
trounce the Sun one.

> (again, it's old 1.1. code). Also, friends of mine who
> are java programmers tell me the same thing and simply can't
> understand why a slow JVM as Sun's has to be included in XP
> (according to the judge).

Well, I'm a Java programmer who's telling you that the Sun JVM *isn't*
slow, and I'm sure if you ask the question in comp.lang.java.programmer
you'll find an awful lot of other people willing to say the same thing.

> > There are no doubt some areas in which the MS JVM is faster than Sun's,
> > but I personally haven't run into them. Saying that Microsoft's is "the
> > only VM that is worth mentioning" certainly flies in the face of my
> > experience, where we use Sun's VM day-in-day-out with no problems.
>
> Well, MS' JVM is not up to par with the current javaspecs, so
> I can only check with old code, which will perhaps run faster
> when its rewritten for 1.3.

Or even better, 1.4, where NIO can be used to make a significant
difference to IO performance. A lot of areas where VMs are slow on
benchmarks with thousands of threads can be avoided using NIO.

> > I seem to remember that with the last microbenchmark which was performed
> > on this newsgroup, acquiring and releasing locks, HotSpot was *far*
> > faster than .NET 1.0, and slightly faster than 1.1.
>
> hmmm. a tight loop benchmark? :D
>
> I have the 'feeling' sun's jvm is slower. But perhaps with other
> code it's faster, that's the problem with JIT's (and also the
> reason why I think it's not that wise to 'discuss' the speed
> of VM's here, we all can come up with a routine which is the
> fastest on the VM of our choice.)

Indeed we can - which is why claiming that the MS JVM is the only
Windows one worth talking about is silly, IMO. By the way, have you tried
IBM's VMs? They're *very* good for floating point

> >> I don't find it a ridiculous claim when someone says a
> >> C#-winform application works faster than a java-swing/awt app.
> >
> > I do if they don't provide any evidence. I've seen Swing apps which
> > perform extremely well - and I've seen some terrible ones as well.
>
> Hmm. I haven't seen any java application which felt like a native
> windows application (not even Sybase/oracle tools), with swing
> as the most slow applications.

Have a look at http://www.jgoodies.com - Karsten does wonders.

Note that not feeling like a native app isn't the same as not performing
as fast as a native app. Swing apps *do* feel significantly different to
native Windows apps, certainly - the emulated L&F is never going to be
quite there. That's not the same thing as the various performance claims
being made here though.

> SWT based applications tend to
> be up to par though (that is: according to the feel of the app),
> however as with winforms apps, they are too slow when it comes to
> a big heavy gui like an IDE.

Eclipse runs just as nippily as VS.NET for me, to be honest - and is the
better IDE, in my view. (But that's a different matter.)

> But perhaps it also depends on
> what kind of machine you have. I'm pretty sure no-one will notice
> the sluggish behavior I get in SharpDevelop on my p3-933 when
> they run it on an AMD XP 2000+ or P4-2.x GHz :)

I run Eclipse on a P3/733 usually, and occasionally on a P3/600.

> > And again the claim, and again no evidence.
>
> I *find* it slower, my 1.1. apps (which are old) run slower than
> on the ms jvm.

I presume you mean faster, but in that case you should say:

a) What those apps are doing
b) How long they're running for

Both of these make a huge difference, and without them your claims about
the MS JVM are ridiculous, in my view.

> > Well, neither ends up being interpreted (these days) in any sense in
> > which I'd use the word "interpreted", but there we go. I don't believe
> > the "interpreted" vs "compiled" dichotomy is a useful one these days,
> > with so many things fitting somewhere in the middle.
>
> heh, ok, 'interpreted' is perhaps a bit misplaced here, but
> compared to native code executed natively on the CPU, it is
> interpreted code by the JIT.

Aside from the fact that HotSpot still actually interprets some code, a
JIT *doesn't* interpret - it compiles. When the program code is executed,
it's still native code executing natively on the CPU.

> Now, a JIT can optimize bytecode
> pretty fast these days, thanks to some great innovations, but
> still you have an initial overhead because the JIT takes cpu
> cycles too and it depends on what the JIT optimizes if you win
> these cycles back with the optimized code. In some cases you do,
> in other cases you don't which will end up in slower code than
> native code. I still think 'interpreted' in some degree is
> ok in this context, simply because the bytecode is 'interpreted'
> at least once by the JIT.

No it's not - code interpreters *run* the code, whereas JITs transform
the bytecode into native code without necessarily running it. Would you
call a C compiler an interpreter?

> You can cook up situations where run-time analysis of the code
> (however only the ones which don't take excessive cpu power)
> is far more efficient than pre-compiled native code. However,
> most of the times, in real life situations, the JIT-processing
> will cause some overhead which is, up till today, almost never
> compensated enough with the optimizations performed with the JIT.

I'd like to see some evidence for that claim, on any program which runs
for any significant length of time (minutes or preferrably hours as
opposed to seconds). I've looked at profiling results for test programs,
and in those programs the amount of time spent compiling was trivial.

> true, startup time takes too much effort at the moment. You can
> circumvent that a bit with hacks like a splashscreen which is
> executed by a stub which in fact loads the app, but still it will
> take time to load the complete runtime in core to execute the
> splash screen in the first place ;)
>
> however I'm sure this will be streamlined with tricks like loading
> the runtime at boottime, as is done with IE's core engine ;)

In Java it's being approached using the isolation API for 1.5, and indeed
I believe the MacOSX JVM already shares to a large extent. .NET appears
to be absolutely ready for this kind of approach, and I'd be surprised if
shared hosting like that didn't become commonplace fairly soon.

> > And you don't find any of Microsoft's business practices equally
> > dubious? Hmm.
>
> I only found the mafia-like tactics they used to keep the hardware
> sellers signing contracts they didn't want, which was hold up in
> court.

Indeed, but appears to be still going on, according to various reports.
In what way is forcing MS to bundle Sun's JVM any better than MS forcing
hardware manufacturers to either bundle Windows with *all* machines they
sell or not bundle it with any?

Given the above question, why do you feel uncomfortable with using Java
but not uncomfortable using .NET?

> The other stuff was 'business'-as-usual, imho. I find it
> pretty lame for a company to go to court and complain about a
> competitor while yourself are the true reason your own product
> fails. I'll never ever forgive Sun for what they did to all those
> J++ developers who used java for COM objects.

If MS had stuck to their contract, there wouldn't have been a problem, I
don't think.

Then again, I'm pretty sure I remember reading a Microsoft memo which
specifically said that MS were trying to subvert Java, so I'd say it's MS
who stuffed J++ developers.

Tim Smith

unread,
Dec 28, 2002, 11:41:00 AM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in message news:<Oo9pk4hrCHA.1080@TK2MSFTNGP10>...

> Tim Smith wrote:
> > romancin...@fastmail.fm (Ashish Thakkar) wrote in message news:<22419c20.02122...@posting.google.com>...
> >
> >>Is there anything that C# can do and java cannot and viceversa !
> >>
> >>Regards,
> >>Ashsih Thakkar
> >
> >
> > C# can run GUI applications *quickly* on windows, Java cannot.
>
> If this is true, why is VS.NET not written in C#?

Well that is neither here nor there.

>I'll put Java up agaist any C# app you care to create.

Sure - I have an app that displays HTML pages - it uses the Internet
Explorer web control and displays every one perfectly - matching the
browser 90% of the world uses...and it does it quickly.

The data grid and rtf controls rock too.

>
> >
> > Java can run GUI applications on many platforms, C# cannot.
> >
> > Personally I love Java for server side processing - JSP etc.
> > But when it comes to rich GUI apps C# is unrivalled on the Windows
> > platform.
>
> http://www.jgoodies.com

I love the disk report and don't doubt that nice windows apps can be
made in Java - but most could probably be better in C# by a .Net
expert.
Of course if you are deploying on multiple platforms or are on a tight
budget then Java wins hands down.

>
> I find it funny that you consider C# 'unrivalled' on Windows when it
> can't do something as simple as anti-alias text or provide icons in
> menus on all Windows platforms.

Minor features that will be included in the future if considered
important.

>
> > And while it runs slower than Visual C++/MFC there is better
> > code and less maintenance because of the language improvements.
> >
> > For the next 5 years I would say that C# is the future on windows,
> > Java may be the future everywhere else. Since most non-techies use
> > Windows it is a fair balance.
>
> Time will tell.

Yep

>
> Jim S.

Daniel O'Connell

unread,
Dec 28, 2002, 12:41:55 PM12/28/02
to
the point of it is,
he's for one, preaching to the opposing congregation, which rarely, if ever,
actually gets you anywhere.
if this was a java group, i'd be far more on his side, and i'd expect teh
pro-c# boys to have a considerably stronger piece of informative backing.
Now, i don't agree on either end, as i don't happen to have any real
experiance in java, and cannot make a fair comparison, however, it seems to
me that he is in no way able to make one himself. And, althought i'm
interested in learning java sometime in the future, his posts have
successfully made me decided to push that off until i finish other things.
A languages community is as important, if not more important, than the
language itself when you are trying to learn it, and a community of "we're
better cause we say so" people isn't gonna help anyone in any light.
Provide benchmarks, repute peoples claims with real information, not your
own brand of marketing slurry.

The one link he provided, about nice looking GUI's, while it showed a nice
looking swing GUI in its screen shots, they still looked decidedly unix
like, albeit fairly nice unix-like, which really did not provide any kind of
argument to the preceding one that java tends to create unix looking UI's,
he actually supported it while believing he was arguing it.

if you boys are gonna argue on these holy wars, why doesn't someone actually
SHOW whats better and whats worse, provide examples, code snippets,
something that might actually be IMPORTANT,
not this preaching, if all your here for is to preach about java, go some
where else.
if your here to support java when questions of this magnitude come up, then
support it, provide examples and real proof, and make eloquent arguments,
not these your wrong, "go to hell, i don't gotta prove nothing cause your
wrong", pointless disputes.

All in all, i don't believe anyone has yet answered the intial question, and
all Jim managed to do was covolute the issue far more.
"Jon Skeet" <sk...@pobox.com> wrote in message
news:MPG.187786246...@news.microsoft.com...

Jim Sculley

unread,
Dec 28, 2002, 12:50:57 PM12/28/02
to
Lloyd Dupont wrote:
> VS.NET is not writte in C# because C++ is as a valid .NET language as
> others (including C#) and MS has a lot of legacy code in C++ about
> VisualStudio, quite fai isn't it ?

Perhaps. Can you point me to some MS created C# applications?

>
> Although if you want a (very nice IMHO) IDE entirely in C#, and entirely
> free: try SharpDevelop: http://www.icsharpcode.net

I've used it. I didn't find it all that impressive. Time will tell how
it does as more and more features are added.

>
> I do think that WinForm is quite akward to Swing, however I do prefer

> exe other .jar. When I try to mail .jar files friends to try some of my
> work (they are not programmer) I always have problem, particularly when
> I use multiple dependant jar files. whereas a .NET exe has no trouble
> finding all dll in its directory (whereas Java you should copy them in
> the ext directory, create a launcher, create a build .bat, my friend are
> not that patient)

None of that is required. The manifest file in the JAR can specify any
dependent jar files (via the Class-Path attribute). The 'ext' directory
is *not* meant for such uses. And there is also the option of Java
WebStart which makes things even easier, since the code is automatically
updateed/verified. Any time one of your friends wants to use your
applications, they can automatically get the latest and greatest
deployed version. I am currently working on an application (networked
CD writing) that I deploy this way so that I can easily test it on a
Windows machine on the LAN, while doing all my development on my Linux
box. Java WebStart makes this effortless.

<snip>

>
> BTW, something else nice to try: OpenGL for .NET
> http://csgl.sourceforge.net, I do think than it's definitely easier to
> do that in C# than in Java. BTW CsGL support OpenGL1.4, lot of
> extension, I'm waiting for such a thing in Java....

Wel, with Java you do have Java3D which works with either DirectX or
OpenGL, using the same source code. I haven't used it extensively, so I
can't comment on ease of use. There are also several Java OpenGL
bindings if I recall correctly.

Jim S

Jim Sculley

unread,
Dec 28, 2002, 1:00:16 PM12/28/02
to
Frans Bouma wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
> news:Oo9pk4hrCHA.1080@TK2MSFTNGP10:
>
>
>>Tim Smith wrote:
>>
>>>C# can run GUI applications *quickly* on windows, Java cannot.
>>
>>If this is true, why is VS.NET not written in C#? I'll put Java up
>>agaist any C# app you care to create.
>
>
> SWT is pretty, and ok, but the rest of the java toolkits are slower
> when it comes to gui work. Not a bad thing, when you consider that
> .NET's winforms hook directly into win32. GUI's build in java which
> run on win32 are slow, mostly due to the slow toolkits.


Nonsense. Where is your evidence that this is some systemic Java
problem as opposed to bad code?

> .NET's gui is also not that fast though. Looking at SharpDevelop, it's no
> picknick either.

I found it worse than Java. If you hold the opinion that Java is bad,
C# must be awful.

<snip>

>
>
> huh? Pretty nice anti-aliased fonts here :) (C#, winforms), also
> XP native widgets etc.

XP. Do you consider XP alone to be 'Windows'?

Java gives me AA text and icons in menus on *all* platforms, including
all versions of Windows, which was my point.

> With libs like dotnetmagic, I can create the
> nicest menu's I want. .NET comes with GDI+, if you don't like the
> winforms looks, draw them yourself! :)

No need. I have Swing.

>
> Besides that, C# is a language, not a widgetlibrary. How can a
> language be responsible for the anti-aliassing of fonts :)

Ask Mr. Smith. He made the comment:

"...when it comes to rich GUI apps C# is unrivalled..."

I was responding to that.

Jim Sculley

unread,
Dec 28, 2002, 1:17:07 PM12/28/02
to
Frans Bouma wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
> news:unHeJVjrCHA.392@TK2MSFTNGP12:
>
>
>>Lloyd Dupont wrote:
>>
>>>your question is a bit biased !
>>
>>I don't think so. I think it is a valid question. For instance, if
>>NetBeans or JBuilder or Eclipse were using mountains of JNI, Java
>>critics would be screaming foul. The fact that VS.NET isn't written in
>>C# is very telling to me.
>
>
> and why's that? C# is now suddenly not that good because VS.NET
> isn't written in it? I'm pretty sure some parts of the IDE are
> written using .NET, especially the debugger. Also, the .NET api
> is completely written in C#.

You can't possibly *know* this without having violated the .NET EULA.
Unles you have a link that states this, I'll have to take your words
with a grain of salt.

>
>
>>>You could do anything in C#, as in Java, as in Assembly.....
>>>The true question is in which language it is easier.... or have better
>>>performance .....
>>>And, well that depends what your try to do....
>>
>>Indeed. I don't know of many application domains for which Java isn't
>>well suited these days.
>
>
> true, I think if you run a Linuxfarm, it's the platform/language
> of choice, however when mono is ready I don't know if that stays
> that way.

Have you seen the performance reports on Mono? While new, and certainly
capable of improving, I hold little hope for its viability, particularly
when MS executives have explicitly stated that they will pursue legal
action with respect to IP. The Mono folks gave up on porting WinForms
when it became apparent that MS made it impossible to do so, so now they
will rely on yet another incomplete set of emulated Win32 libraries to
do the heavy lifting. I hope you don't need Bidi text support. It's
only 5% complete in Wine, let alone Mono.

>
>
>>>and it's so easy
>>>to do interop compare to JNI (which is not so difficult, ok, but
>>>clearly more difficult than interop))
>>
>>There are a host of third party tools (both free and commercial) which
>>make JNI in Java simpler. However, it seems to me that Java requires
>>far less interop than .NET.
>
>
> ?? less interop? If you want to get something done fast, you have
> to go through the native library layer.

Perhaps. However, if you have read this newsgroup with any frequency,
you will have seen interop offered up as a solution to all sorts of
non-performance related problems, due to holes in the .NET API.

> .NET does that, and fast
> java libraries do that too (hell, Sun's own Solaris VM uses native
> Solaris threads). I don't see that as a problem though.

You must have little or no interest in portability then.


> I however
> doubt .NET needs a lot of interop, since the API itself is very
> complete and completely written in C#.

Again, I'll ask that you submit your evidence of this.

> There are several places
> where .NET uses native libraries (or libraries written in C/C++
> made for .NET, like the database connector for sqlserver) but for
> the developer, this is all transparent,

Until you want to use it with something such as Mono.

> and frankly I couldn't care
> less: the platform is the black box I use and I assume the
> functionality described in the specifications is the one I get when
> I call a method of a certain API class. How that method does its
> thing... do you really care? I don't :)

You should, if you are at all concerned about portability.

>
>
>>>C# build .exe and .dll which you just run, it's good !
>>
>>Java builds executable JAR files which you just run, anywhere. Better!
>
>
> *cough* well, anywhere... :P *cough*. I remember some XP
> installment or a certain JVM by Apple ;)

My Windows .exe files don't run on my Linux box. This does not surprise
me. Why would you be surprised by a JAR file not running on a system
with no JRE?

>
>
>>>Also C# have very good performance. but 1.4 too.. it's up to you ...
>>
>>Indeed. Tell that to Mr. Smith, who made the ridiculous statement:
>>
>>"C# can run GUI applications *quickly* on windows, Java cannot"
>
>
> I think you overlooked 'windows' in this statement. GUI
> applications made with .NET look as native applications. Most java
> GUI's do not (apart from SWT based ones).


What on earth does this have to do with the comment made by Mr. Smith?
Incidentally, on my Windows NT machine, MS Office looks completely
different from my other Windows applications (e.g. icons in menus).
Somehow, I've found the strength and resolve to handle this horrible
problem.

> Most JVM's are utterly slow on windows,

Evidence?

> except MS' own,

The MS VM hasn't been performant compared to Sun or IBM VMs for several
*years*.

> but we all know how much Sun wanted us windows-developers use a nice VM...

They wanted developers to use a JVM. Not something claiming to be a JVM
that was not. Anyone who actually read the court documents would know this.

Jim Sculley

unread,
Dec 28, 2002, 1:31:59 PM12/28/02
to
Frans Bouma wrote:

<snip>

>
>
> Just to be fair, Jim tends to formulate his opinions a bit as if
> java is 'faster' than C#. Especially on windows this is not the
> case, since the only VM that is worth mentioning when it comes to
> speed isn't updated since 1.1 (MSJVM).

Nonsense. I have, in the past, on this very newsgroup, posted code that
explicitly shows Java to be faster than C# for various tasks. If you
missed it, that is your own fault. I have engaged in lengthy debates
with various individuals here, who, even when faced with concrete
evidence to the contrary, still claim that C# is implicitly more
performant than Java. When someone makes a statement and offers
absolutely *zero* evidnce in support of that claim, it bothers me.

>
> I don't find it a ridiculous claim when someone says a C#-winform
> application works faster than a java-swing/awt app.

How can you not consider such a genealization ridiculous?

> (and does look
> native if I might add). Java-SWT however comes close, however we
> then still have the issue of the JVM not performing up to par with
> its brothers on other platforms. (And don't come to me that Sun's
> JVM is lightning fast on windows, because it's not).

Evidence?

>
> However I'm also fair to admit I don't like the speed of a C#-
> winform application compared to a native C++ app. When I use
> SharpDevelop I find it too slow (at least on my machine, p3-933).
>

And yo blame C# for this? Why the possibility of bad code not even
enter your mind?

> Lets not get into the mudthrowing contest called 'language XYZ is
> faster than language ABC', since such claims are stupid and
> useless. Both languages are interpreted by a VM in some form.

Not really. But jon has covered this so I won't bother.

> Both
> thus suffer from that interpretation and will only be faster when
> the app's code is complex enough it can enjoy the advantages of
> run-time optimizations.

Sun's VM aggressively devirtualizes and inlines methods. Yuo can't even
do this in a statically compiled language. I've posted code here that
shows (as far as I can tell) the results of this optimization.

>
> Now, we can all go on with what's so crappy on eachothers
> languages, we all know no language is perfect nor is any platform.
> Lets focus on what is the advantage of using platform/languange A
> and what's the advantage of using platform/language B so we all
> can benefit from this discussion when we have to decide which
> platform/language to take in an upcoming project. Ok? Fine.

Sure. Please explain that to Mr. Smith.

>
> FB
>
> ps: I'm not using java due to political reasons, since I find it
> morally wrong to support a company (sun) which forces a competitor
> to include their product (Sun's JVM) using a court. But that's
> another discussion ;)

But you are fine with a company whose business plan included 'pissing
on' competing technology and violating their contractual obligations?
Interesting value system.

Jim Sculley

unread,
Dec 28, 2002, 1:36:16 PM12/28/02
to
Frans Bouma wrote:

<snip>

>
>
> I only found the mafia-like tactics they used to keep the hardware
> sellers signing contracts they didn't want, which was hold up in
> court. The other stuff was 'business'-as-usual, imho. I find it
> pretty lame for a company to go to court and complain about a
> competitor while yourself are the true reason your own product
> fails. I'll never ever forgive Sun for what they did to all those
> J++ developers who used java for COM objects.

Perhaps you should read the Java Language Specification. There was
nothing preventing J++ developers from accessing COM objects. I've done
it myself. The problem was that the way MS implemented the COM hooks
was a *blatant* violation of the specification.

> However I find it perfectly acceptable when a company A is crushed
> by another, bigger company B,

Even when contracts are violated in the process?

Jim S

Jon Skeet

unread,
Dec 28, 2002, 1:40:43 PM12/28/02
to
onyx...@attbi.com wrote:
> the point of it is,
> he's for one, preaching to the opposing congregation, which rarely, if ever,
> actually gets you anywhere.

On the other hand it's a rather more brave thing to do, and one which
more often results in actual benefits. Slapping each other on the back
and congratulating each other on a good job isn't nearly as conducive to
improving things as healthy criticism.

I find it strange that although you acknowledged in your second post that
"no one else has provided any real informatino either" it was *Jim* that
you personally insulted ("haha, god your an ass") and none of the others.

> if this was a java group, i'd be far more on his side, and i'd expect teh
> pro-c# boys to have a considerably stronger piece of informative backing.

A point of view is a point of view, regardless of forum. The same level
of evidence should be provided either way.

> Now, i don't agree on either end, as i don't happen to have any real
> experiance in java, and cannot make a fair comparison, however, it seems to
> me that he is in no way able to make one himself.

I've known Jim a while, and he certainly seems to be in a better position
to make comparisons than many other participants in this thread. I
suspect he's got more Java experience than almost anyone else in this
thread, for a start. I'd be very interested to know how much *practical*
and in-depth experience of Java the rest of the participants have. If the
comments are anything to go by, not a lot.

> And, althought i'm
> interested in learning java sometime in the future, his posts have
> successfully made me decided to push that off until i finish other things.
> A languages community is as important, if not more important, than the
> language itself when you are trying to learn it, and a community of "we're
> better cause we say so" people isn't gonna help anyone in any light.

And yet the C# community *isn't* doing that? Have a go at rereading this
thread in an impartial way, and see if it doesn't seem full of ridiculous
claims from the pro-C# side.

> Provide benchmarks, repute peoples claims with real information, not your
> own brand of marketing slurry.

Shouldn't the original posters have done just that though? If someone
makes a ridiculous claim, isn't the onus of proof on them?

> The one link he provided, about nice looking GUI's, while it showed a nice
> looking swing GUI in its screen shots, they still looked decidedly unix
> like, albeit fairly nice unix-like, which really did not provide any kind of
> argument to the preceding one that java tends to create unix looking UI's,
> he actually supported it while believing he was arguing it.

Could you describe exactly what a "unix looking UI is"? I'm genuinely
interested. Note that as far as I've seen in this thread (and I may have
missed it) Jim hasn't been arguing about Swing apps *feeling* like
Windows apps, just that they can *perform* perfectly well, contrary to
the opinions of many.

> if you boys are gonna argue on these holy wars, why doesn't someone actually
> SHOW whats better and whats worse, provide examples, code snippets,
> something that might actually be IMPORTANT,
> not this preaching, if all your here for is to preach about java, go some
> where else.

Ah, so the only views welcome here in your view are ones in favour of C#,
eh? Sounds like a good way to stifle debate to me.

> if your here to support java when questions of this magnitude come up, then
> support it, provide examples and real proof, and make eloquent arguments,
> not these your wrong, "go to hell, i don't gotta prove nothing cause your
> wrong", pointless disputes.

Well, as you said before, he *did* give a link to some example Swing
apps.



> All in all, i don't believe anyone has yet answered the intial question, and
> all Jim managed to do was covolute the issue far more.

Whereas in my view Jim's managed to show that the views such as "Most VMs
are utterly slow on Windows" and "[Java can't] execute reasonably
fast" aren't universally upheld.

Daniel O'Connell

unread,
Dec 28, 2002, 2:26:48 PM12/28/02
to
no, not quite my point,
this argument is just annoying on all levels, no one is providing any real
info, and i can't say i support either side.
I speak to you, the java side, because i would rather see real information
and proof from you than from these guys, I've read the same articles they
have, used the same software, worked in the same language, and know which of
their arguments are worth listening to, and which of them can be tossed in
teh gutter as opinionated trash.
Also, i do not know jim well,
i do not know you well,
however, i have seen Gregory Phillps and Frans Bourma work on this fourm for
a while now, and i have a fair amount of respect for their practical C#
knowledge
and i'm aware you atleast have used the language
Jim Scully comes off as someone bashing a language he's never even tried, he
has referenced one line of C# code that i can remember, and it was
incorrect.
Also, all of his arguments were "that isn't so"
no remarks, no proof, just vauge references that he has provided proof
sometime in the past(in a recent post).
not to mention the post i repsonded to was an attack on someone else on jims
part.
infact, every comment he's made has been an attack on the lackings of C#
rather than a real comment on the merits of java.
Every comment he's made has been opinoin, nothing more, nothing less
as for the link, i had miss read what he responded too, was thinking it was
in response to a different post(apparently in a different C# v. Java debate
i was reading, because i don't see it here now).

However, i'm not defending anyone here, but, ihave no reason to go on the
rampage on the C# camp, you and jim are doing that just fine by yourselves,
other comments inline


"Jon Skeet" <sk...@pobox.com> wrote in message

news:MPG.187800858...@news.microsoft.com...


> onyx...@attbi.com wrote:
> > the point of it is,
> > he's for one, preaching to the opposing congregation, which rarely, if
ever,
> > actually gets you anywhere.
>
> On the other hand it's a rather more brave thing to do, and one which
> more often results in actual benefits. Slapping each other on the back
> and congratulating each other on a good job isn't nearly as conducive to
> improving things as healthy criticism.
>

Heathly criticism is one thing
belting someone cause tehy think different is another.


> I find it strange that although you acknowledged in your second post that
> "no one else has provided any real informatino either" it was *Jim* that
> you personally insulted ("haha, god your an ass") and none of the others.
>
> > if this was a java group, i'd be far more on his side, and i'd expect
teh
> > pro-c# boys to have a considerably stronger piece of informative
backing.
>
> A point of view is a point of view, regardless of forum. The same level
> of evidence should be provided either way.
>

on this i agree, both parties are wrong,
but, considering the forum, itshould be assumed you are trying to sway
people who DON"T like java and DON'T spend all their time in it, ie, by
showing them whats different.
its far easier to prove something when you have proof, especially when your
talking to a community of as close to experts on the subject your trying to
disprove can get.
as far as C# and the framework go(which, honestly, Jim calsl the framework
C# and really doesn't refer to the language at all anywhere in here, which
helps me to discount his opinon a bit as well, but admittedly, so did
everyone else), i work in C# because i prefer MS's way of doing things for
the current time, and, politically, i consider sun(and aol, at that), to bee
leechy companys. I do not wish to have suns JVM installed on my computer,
i'd rather have a 3rd party, microsoft, ibm, even gnu, over sun's
implementnation, merely for the fact that sun has done nothing but
disappoint me in the years i've been dealing with computers.

Another point, he's comparing a language and framework that has bee naround
how long now? to a near infantile language.
And expecting them to be on even grounds. I'll agree, java is most certainly
more mature, i remember hearing about java well before i could even handle
C++ with any merit, let alone getting my hands on .NET and moving on to a
manged type environment.

> > Now, i don't agree on either end, as i don't happen to have any real
> > experiance in java, and cannot make a fair comparison, however, it seems
to
> > me that he is in no way able to make one himself.
>
> I've known Jim a while, and he certainly seems to be in a better position
> to make comparisons than many other participants in this thread. I
> suspect he's got more Java experience than almost anyone else in this
> thread, for a start. I'd be very interested to know how much *practical*
> and in-depth experience of Java the rest of the participants have. If the
> comments are anything to go by, not a lot.
>

On this, i agree, which is another part of why i'd wish jim would post real
data, not rants.
I'd love to see real reasons why one is better than the other, i've yet to
see one on this thread yet,
simply political backwash.


> > And, althought i'm
> > interested in learning java sometime in the future, his posts have
> > successfully made me decided to push that off until i finish other
things.
> > A languages community is as important, if not more important, than the
> > language itself when you are trying to learn it, and a community of
"we're
> > better cause we say so" people isn't gonna help anyone in any light.
>
> And yet the C# community *isn't* doing that? Have a go at rereading this
> thread in an impartial way, and see if it doesn't seem full of ridiculous
> claims from the pro-C# side.

Doesn't matter what the C# does, i already know C# and don't need their
support anymore.
Also, playing these games on the C# newsgroup simply makes him look bad, if
these were posted on a java newsgroup, i'd probably take them a bit more
seriously(and i hope, atleast, the java oriented communitys are more helpful
and less deadset on holy issues).
Unfortuatly, almost every java programmer i've come across has been so
blinded by a hatred for microsoft and anything produced by them that they
can't even see waht C# is, which is disappointing, a blind man can't make
any real dispute, as he only understands one side


>
> > Provide benchmarks, repute peoples claims with real information, not
your
> > own brand of marketing slurry.
>
> Shouldn't the original posters have done just that though? If someone
> makes a ridiculous claim, isn't the onus of proof on them?

proof is on the hands of the challanger, in my opinoin,
if someone makes an invalid claim, it is your job to prove him wrong.
and upon that challange, he either should accept your proof, or reiterate
with proof of his own that disputes yours


>
> > The one link he provided, about nice looking GUI's, while it showed a
nice
> > looking swing GUI in its screen shots, they still looked decidedly unix
> > like, albeit fairly nice unix-like, which really did not provide any
kind of
> > argument to the preceding one that java tends to create unix looking
UI's,
> > he actually supported it while believing he was arguing it.
>
> Could you describe exactly what a "unix looking UI is"? I'm genuinely
> interested. Note that as far as I've seen in this thread (and I may have
> missed it) Jim hasn't been arguing about Swing apps *feeling* like
> Windows apps, just that they can *perform* perfectly well, contrary to
> the opinions of many.

as i said above, mis associated that one.
A unix looking app is hard to explain, simply something i've picked up using
various linux\bsd flavors compared to windows. The design concepts and the
displays are visably different(for one, no unix varient uses prefectly
cloned windows standard controls, which i pick up on easily)


>
> > if you boys are gonna argue on these holy wars, why doesn't someone
actually
> > SHOW whats better and whats worse, provide examples, code snippets,
> > something that might actually be IMPORTANT,
> > not this preaching, if all your here for is to preach about java, go
some
> > where else.
>
> Ah, so the only views welcome here in your view are ones in favour of C#,
> eh? Sounds like a good way to stifle debate to me.

*shrug*, you don't seem to like my view on this issue,
makes me wonder whos wrong or right,
i don't mind debate, i jsut don't like the holier-than-thou debates, like
this one has become.
Someone a while back, in a VB v. C# post (Jospeph Gertz i think, but i'm not
sure)made a comment about a lack of objectivity in a community that uses
nearly pure logic to do its job. This comes up here, jim is no more
objective than anyone else here is, maybe a little less so than some, and
that too makes me doubt his merits and his claims


>
> > if your here to support java when questions of this magnitude come up,
then
> > support it, provide examples and real proof, and make eloquent
arguments,
> > not these your wrong, "go to hell, i don't gotta prove nothing cause
your
> > wrong", pointless disputes.
>
> Well, as you said before, he *did* give a link to some example Swing
> apps.

they were some swing apps, but big deal, first off, by the looks of that
site, its an addon, not a default package, and a good number of similar
addons exist for .NET.
Second, few java apps i've seen actually use that kind of thing, and common
usage has alot more to do with things than what they can be used to do, and
those apps weren't that amazing looking
i could write an operating system in a combonation of visual basic and
assembly, but trust me, i'm not gonna try it, a good one too, ibet,
delievery date 2194.
It would take forever, however, i could do it.
which gives a fair analogy as to waht Can be done and what usually IS done

>
> > All in all, i don't believe anyone has yet answered the intial question,
and
> > all Jim managed to do was covolute the issue far more.
>
> Whereas in my view Jim's managed to show that the views such as "Most VMs
> are utterly slow on Windows" and "[Java can't] execute reasonably
> fast" aren't universally upheld.
>

On that, i'll agree,
however, he implys that the universal belief is that the Java VMS are the
fastest possible choice, and that .NET cannot execute reasonably fast.
which, in my opinion, is equally wrong.


> --
> Jon Skeet
> sk...@pobox.com - http://www.pobox.com/~skeet
> If replying to the group, please do not mail me at the same time

Also, as a closing point,
this entire discussion has shonw only one real difference between java and
C#:
some people like java
some people like C#


Erik Funkenbusch

unread,
Dec 28, 2002, 2:24:05 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote:
> Whereas in my view Jim's managed to show that the views such as "Most
> VMs are utterly slow on Windows" and "[Java can't] execute reasonably
> fast" aren't universally upheld.

The problem is that "slow" is often a subjective claim. I too feel, in a
subjective way, that Java "feels" slower than C# in GUI applications. That
doesn't mean that the apps are necessarily faster or slower by the stopwatch
though.

Perception is everything, really. Microsoft has made a concerted effort to
improve the perceived speed of the GUI, Sun has not.


Frans Bouma

unread,
Dec 28, 2002, 2:25:41 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:
#qIlmmprCHA.2448@TK2MSFTNGP10:

> Lloyd Dupont wrote:
>> VS.NET is not writte in C# because C++ is as a valid .NET language as
>> others (including C#) and MS has a lot of legacy code in C++ about
>> VisualStudio, quite fai isn't it ?
>
> Perhaps. Can you point me to some MS created C# applications?

Grab 'Rotor', the cross platform implementation of the ECMA
standard, by MS. The .NET library provided with Rotor is
completely C#.

If you believe me on my word, just grab the .NET runtime and
you have a very large piece of C# code in your hands :D

>> BTW, something else nice to try: OpenGL for .NET
>> http://csgl.sourceforge.net, I do think than it's definitely easier to
>> do that in C# than in Java. BTW CsGL support OpenGL1.4, lot of
>> extension, I'm waiting for such a thing in Java....
>
> Wel, with Java you do have Java3D which works with either DirectX or
> OpenGL, using the same source code. I haven't used it extensively, so I
> can't comment on ease of use. There are also several Java OpenGL
> bindings if I recall correctly.

Java3D is more a scene-graph, more the engine which will use
a rendering layer (OpenGL/D3D) to render the content it holds.

.NET doesn't have such a library included.

Erik Funkenbusch

unread,
Dec 28, 2002, 2:29:48 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
> Lloyd Dupont wrote:
>> VS.NET is not writte in C# because C++ is as a valid .NET language as
>> others (including C#) and MS has a lot of legacy code in C++ about
>> VisualStudio, quite fai isn't it ?
>
> Perhaps. Can you point me to some MS created C# applications?

There isn't a lot of difference between Managed C++ and C# in terms of
byte-code output.

My understanding is that the Microsoft CRM product will be written in .NET,
though I don't know whether it's Managed C++ or C#. This is due out
sometime early next year.

Remember that .NET is only 10 months old. How many Sun products were
written in Java after only 10 Months?


Erik Funkenbusch

unread,
Dec 28, 2002, 2:15:50 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
>> However I'm also fair to admit I don't like the speed of a C#-
>> winform application compared to a native C++ app. When I use
>> SharpDevelop I find it too slow (at least on my machine, p3-933).
>
> And yo blame C# for this? Why the possibility of bad code not even
> enter your mind?

Indeed. SharpDevelop in particular is still in beta, and has not really
been optimized. Further, it's architecture is extremely abstracted which
certainly adds overhead. Just try and trace into that code using a
debugger, it's a royal pain.

That's not to say SharpDevelop is poorly written. I think it meets it's
criteria pretty well.

> Sun's VM aggressively devirtualizes and inlines methods. Yuo can't
> even do this in a statically compiled language. I've posted code
> here that shows (as far as I can tell) the results of this
> optimization.

If the vast majority of applications seem slow, maybe it's because the
optimizations are non-obvious, and that it requires a great deal of skill to
write a decently performing application.

There was a time when C++ applications were considered slow (even though a
well written C++ app was hard to distinguish from an average C program), but
technology has essentially removed that issue except for poorly written
apps. CPU's are now much faster, and compiler technology has made
optimization adequate for average applications.

The thing is, Swing et al has not done the same thing over the years, even
with faster processors and better compilers. Sure, it's become faster, but
not nearly fast enough to get to the point that people don't notice for
average apps. Sure, if you are really skilled, you can create a Swing app
which performs reasonably well, but average apps do not. This tells me
there is something inherantly inefficient with the system that technology
alone cannot cure.

You may argue that relying on technology to cure the problems of "average"
programmers is wrong, but I think it's unrealistic to require human beings
to all become experts in their field to achieve adequate performance.
You'll always have people of different levels writing different kinds of
apps. While many of those apps may not be hindered by poor performance, all
of them will certainly be nicer to use if the performance was better.

When it comes to commercial apps, the only difference between my app and
your app may be that mine "feels" faster to the user (whether it
accomplishes it's task just as well or maybe even faster won't matter to
them) and thus will win out.


Frans Bouma

unread,
Dec 28, 2002, 2:22:53 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187800858...@news.microsoft.com:

> onyx...@attbi.com wrote:
>> the point of it is,
>> he's for one, preaching to the opposing congregation, which rarely, if
>> ever, actually gets you anywhere.
>
> On the other hand it's a rather more brave thing to do, and one which
> more often results in actual benefits. Slapping each other on the back
> and congratulating each other on a good job isn't nearly as conducive to
> improving things as healthy criticism.

I think Daniel's point is about constructive criticism, not
just criticism :)

>> if this was a java group, i'd be far more on his side, and i'd expect
>> teh pro-c# boys to have a considerably stronger piece of informative
>> backing.
>
> A point of view is a point of view, regardless of forum. The same level
> of evidence should be provided either way.

true. but I get the feeling (pun intended) that the 'feel'
of several applications on either side is mandatory in the decision
if an application is 'fast' on a certain platform. No-one has
delivered benchmark results to justify any claims (me neither, I'm
aware of that)

>> Now, i don't agree on either end, as i don't happen to have any real
>> experiance in java, and cannot make a fair comparison, however, it
>> seems to me that he is in no way able to make one himself.
>
> I've known Jim a while, and he certainly seems to be in a better
> position to make comparisons than many other participants in this
> thread. I suspect he's got more Java experience than almost anyone else
> in this thread, for a start. I'd be very interested to know how much
> *practical* and in-depth experience of Java the rest of the participants
> have. If the comments are anything to go by, not a lot.

Jon, this is a C# newsgroup. I couldn't care less if his middle
name is "Java" or that his first language is Java and then English
;). We've had a lot of Java-pundits here this year, and most of the
time nothing has come out, which is a shame. If you know Jim,
I'm sure you can push that "stop being a wise-ass, start being
helpful"-button so we can learn from Jim's experiences with Java
and Jim can learn from our experiences with C#. Especially that
last thing isn't an option it seems, which is sad, because he's
in a C# newsgroup, so made the choice to discuss with C#-
developers.

>> And, althought i'm
>> interested in learning java sometime in the future, his posts have
>> successfully made me decided to push that off until i finish other
>> things. A languages community is as important, if not more important,
>> than the language itself when you are trying to learn it, and a
>> community of "we're better cause we say so" people isn't gonna help
>> anyone in any light.
>
> And yet the C# community *isn't* doing that? Have a go at rereading this
> thread in an impartial way, and see if it doesn't seem full of
> ridiculous claims from the pro-C# side.

hmmm, check the newsgroup's name, Jon :) Do you really expect
that in a C# newsgroup which is crowded with C#-enthousiasts,
people are not underlining C#-advantages? :)

>> The one link he provided, about nice looking GUI's, while it showed a
>> nice looking swing GUI in its screen shots, they still looked decidedly
>> unix like, albeit fairly nice unix-like, which really did not provide
>> any kind of argument to the preceding one that java tends to create
>> unix looking UI's, he actually supported it while believing he was
>> arguing it.
>
> Could you describe exactly what a "unix looking UI is"? I'm genuinely
> interested. Note that as far as I've seen in this thread (and I may have
> missed it) Jim hasn't been arguing about Swing apps *feeling* like
> Windows apps, just that they can *perform* perfectly well, contrary to
> the opinions of many.

Unix-like: huge buttons with small words, a lot of 'grey' space on
forms, odd-looking widgets you only see in linux-themes, X11 and
XP themes made by drunk 13-olds. ;)

Unix-like guis can be described as 'programmer art'.

About the performance: I think we can all agree that either
widget lib, be it winforms, swt, swing, awt or what have you,
can perform up to some limit, but will never be as fast as
the native set provided by the OS, written in C++.

>> All in all, i don't believe anyone has yet answered the intial
>> question, and all Jim managed to do was covolute the issue far more.
>
> Whereas in my view Jim's managed to show that the views such as "Most
> VMs are utterly slow on Windows" and "[Java can't] execute reasonably
> fast" aren't universally upheld.

err, where did Jim prove that JVM's are faster or at least as
fast as .NET's CLR, a cornerstone of his arguments?

Jon Skeet

unread,
Dec 28, 2002, 2:56:02 PM12/28/02
to
per...@xs4all.nl wrote:
> > On the other hand it's a rather more brave thing to do, and one which
> > more often results in actual benefits. Slapping each other on the back
> > and congratulating each other on a good job isn't nearly as conducive to
> > improving things as healthy criticism.
>
> I think Daniel's point is about constructive criticism, not
> just criticism :)

Would you say that any of the criticisms of Java given in this thread
have been constructive?



> > A point of view is a point of view, regardless of forum. The same level
> > of evidence should be provided either way.
>
> true. but I get the feeling (pun intended) that the 'feel'
> of several applications on either side is mandatory in the decision
> if an application is 'fast' on a certain platform. No-one has
> delivered benchmark results to justify any claims (me neither, I'm
> aware of that)

If that is the case, then it's certainly a sorry state of affairs, when
people can't tell the difference of feeling different and being slower.
You may well be right though.

> > I've known Jim a while, and he certainly seems to be in a better
> > position to make comparisons than many other participants in this
> > thread. I suspect he's got more Java experience than almost anyone else
> > in this thread, for a start. I'd be very interested to know how much
> > *practical* and in-depth experience of Java the rest of the participants
> > have. If the comments are anything to go by, not a lot.
>
> Jon, this is a C# newsgroup. I couldn't care less if his middle
> name is "Java" or that his first language is Java and then English
> ;). We've had a lot of Java-pundits here this year, and most of the
> time nothing has come out, which is a shame. If you know Jim,
> I'm sure you can push that "stop being a wise-ass, start being
> helpful"-button so we can learn from Jim's experiences with Java
> and Jim can learn from our experiences with C#. Especially that
> last thing isn't an option it seems, which is sad, because he's
> in a C# newsgroup, so made the choice to discuss with C#-
> developers.

As Jim said in another post, he's offered insights elsewhere about areas
where Java is presently ahead of .NET. (I expect the positions to
alternate on many things, with each overtaking the other in turn, and all
to the good of developers.)

I hope you'll understand that when countering ridiculous claims such as
"[Java can't] execute reasonably fast" detail is likely to be ignored by
the original proponent, as if they were interested in the unbiased truth
they wouldn't have made such statements to start with.



> > And yet the C# community *isn't* doing that? Have a go at rereading this
> > thread in an impartial way, and see if it doesn't seem full of
> > ridiculous claims from the pro-C# side.
>
> hmmm, check the newsgroup's name, Jon :) Do you really expect
> that in a C# newsgroup which is crowded with C#-enthousiasts,
> people are not underlining C#-advantages? :)

They're not though - they're (generally - there are exceptions) making
ridiculous claims about Java, rather than saying positive things about
C#.



> > Could you describe exactly what a "unix looking UI is"? I'm genuinely
> > interested. Note that as far as I've seen in this thread (and I may have
> > missed it) Jim hasn't been arguing about Swing apps *feeling* like
> > Windows apps, just that they can *perform* perfectly well, contrary to
> > the opinions of many.
>
> Unix-like: huge buttons with small words, a lot of 'grey' space on
> forms, odd-looking widgets you only see in linux-themes, X11 and
> XP themes made by drunk 13-olds. ;)

In that case I entirely disagree with the premise that Swing apps tend to
look "unix-like". The Metal L&F is indeed quite grey, but there are
plenty of other L&Fs to choose from.

> Unix-like guis can be described as 'programmer art'.
>
> About the performance: I think we can all agree that either
> widget lib, be it winforms, swt, swing, awt or what have you,
> can perform up to some limit, but will never be as fast as
> the native set provided by the OS, written in C++.

SWT itself *is* native, of course - it's only the way of using it (and
the interface to it) which ends up being in Java, in the same way that no
doubt a lot of the WinForms code is. I see no reason why .NET and Java
GUIs can't be just as responsive as entirely native apps - certainly
within user perceptibility.

> > Whereas in my view Jim's managed to show that the views such as "Most
> > VMs are utterly slow on Windows" and "[Java can't] execute reasonably
> > fast" aren't universally upheld.
>
> err, where did Jim prove that JVM's are faster or at least as
> fast as .NET's CLR, a cornerstone of his arguments?

Where did I claim he did in the above? I said that he shows that the
views espoused by some here aren't universally upheld, which indeed he
does. He's shown areas where Java currently beats .NET in other threads,
as have I and other posters - just as .NET beats Java in other areas.

Erik Funkenbusch

unread,
Dec 28, 2002, 2:53:29 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
> Frans Bouma wrote:
>> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
>> news:unHeJVjrCHA.392@TK2MSFTNGP12:
>>
>>
>>> Lloyd Dupont wrote:
>>>
>>>> your question is a bit biased !
>>>
>>> I don't think so. I think it is a valid question. For instance, if
>>> NetBeans or JBuilder or Eclipse were using mountains of JNI, Java
>>> critics would be screaming foul. The fact that VS.NET isn't
>>> written in C# is very telling to me.
>>
>>
>> and why's that? C# is now suddenly not that good because VS.NET
>> isn't written in it? I'm pretty sure some parts of the IDE are
>> written using .NET, especially the debugger. Also, the .NET api
>> is completely written in C#.
>
> You can't possibly *know* this without having violated the .NET EULA.
> Unles you have a link that states this, I'll have to take your words
> with a grain of salt.

Easy. Whip out your IL disassembler (ildasm or Anakrino will do) and go
spelunking in the VS.NET binaries directory. You'll find a great deal of
.NET assemblies in there. There are a number of non .NET files in there as
well, but at least half of the IDE is written in .NET.

> Have you seen the performance reports on Mono? While new, and
> certainly capable of improving, I hold little hope for its viability,
> particularly when MS executives have explicitly stated that they will
> pursue legal action with respect to IP. The Mono folks gave up on
> porting WinForms when it became apparent that MS made it impossible
> to do so, so now they will rely on yet another incomplete set of
> emulated Win32 libraries to do the heavy lifting. I hope you don't
> need Bidi text support. It's only 5% complete in Wine, let alone
> Mono.

Huh? Mono has been doing a lot of work on Winforms. Currently they're
using Wine though.

http://lists.ximian.com/archives/public/mono-winforms-list/2002-December/000
181.html

> Perhaps. However, if you have read this newsgroup with any frequency,
> you will have seen interop offered up as a solution to all sorts of
> non-performance related problems, due to holes in the .NET API.

Indeed, there are some holes in the API, particularly with some of the shell
functions. You'd think this would be welcomed by a cross platform advocate
like yourself, since these functions mean more code that needs to be
implemented on another platform.

>> .NET does that, and fast
>> java libraries do that too (hell, Sun's own Solaris VM uses
>> native Solaris threads). I don't see that as a problem though.
>
> You must have little or no interest in portability then.

Some of us don't believe that we should limit our programs to the lowest
common denominator. I'd much rather have a large cross section of portable
code and have to re-implement small portions on individual platforms if it
means I don't have to be stuck with the LCD.

>> There are several places
>> where .NET uses native libraries (or libraries written in C/C++
>> made for .NET, like the database connector for sqlserver) but for
>> the developer, this is all transparent,
>
> Until you want to use it with something such as Mono.

If Mono implements it with their own native code, what's the difference?

Jon Skeet

unread,
Dec 28, 2002, 2:58:33 PM12/28/02
to
er...@visi.com wrote:
> Jon Skeet <sk...@pobox.com> wrote:
> > Whereas in my view Jim's managed to show that the views such as "Most
> > VMs are utterly slow on Windows" and "[Java can't] execute reasonably
> > fast" aren't universally upheld.
>
> The problem is that "slow" is often a subjective claim. I too feel, in a
> subjective way, that Java "feels" slower than C# in GUI applications. That
> doesn't mean that the apps are necessarily faster or slower by the stopwatch
> though.

I suspect that a lot of it comes down to natural bias of expectation ("I
know this is Java so I'll expect it to feel slow, and sure enough it
does") and the slight imperfections of the Windows L&F in Swing (which is
a problem, but certainly not the fault of Java or the JVM itself).
Neither of these justify, in my view, such claims as: "C# can run GUI
applications *quickly* on windows, Java cannot."

> Perception is everything, really. Microsoft has made a concerted effort to
> improve the perceived speed of the GUI, Sun has not.

Have you actually been tracking the various improvements in Swing over
the years? I suggest you read the many guideline documents on Sun's
site and performance improvements in the JDK release notes.

Jon Skeet

unread,
Dec 28, 2002, 3:19:24 PM12/28/02
to
onyx...@attbi.com wrote:
> no, not quite my point,
> this argument is just annoying on all levels, no one is providing any real
> info, and i can't say i support either side.

You don't support either side, but you only criticise one side? Isn't
that a little unfair?

> I speak to you, the java side, because i would rather see real information
> and proof from you than from these guys, I've read the same articles they
> have, used the same software, worked in the same language, and know which of
> their arguments are worth listening to, and which of them can be tossed in
> teh gutter as opinionated trash.

And yet you don't criticise that "opinionated trash" - you just criticise
Jim who highlighted it as opinionated trash. Odd.

> Also, i do not know jim well,
> i do not know you well,
> however, i have seen Gregory Phillps and Frans Bourma work on this fourm for
> a while now, and i have a fair amount of respect for their practical C#
> knowledge and i'm aware you atleast have used the language
> Jim Scully comes off as someone bashing a language he's never even tried, he
> has referenced one line of C# code that i can remember, and it was
> incorrect.

I'm positive Jim has tried C# - I rather suspect your bias against Java
programmers (see later) is coming into play here.

> Also, all of his arguments were "that isn't so"
> no remarks, no proof, just vauge references that he has provided proof
> sometime in the past(in a recent post).

Ridiculous claims tend to spark off such replies, to be honest. Human
nature.

> not to mention the post i repsonded to was an attack on someone else on jims
> part. infact, every comment he's made has been an attack on the lackings of C#
> rather than a real comment on the merits of java.

"Java already has attributes. They are part of the VM specification.
Section 4.7 to be specific."

A medium-length paragraph about how to reference libraries in jar files
properly.

A very brief explanation of Java3D, and pointing out that there are Java
OpenGL bindings.

Did you not see any of the above?

> Every comment he's made has been opinoin, nothing more, nothing less

Please see the above for examples.

> as for the link, i had miss read what he responded too, was thinking it was
> in response to a different post(apparently in a different C# v. Java debate
> i was reading, because i don't see it here now).
>
> However, i'm not defending anyone here, but, ihave no reason to go on the
> rampage on the C# camp, you and jim are doing that just fine by yourselves,
> other comments inline

I had barely entered this conversation before you decided to jump on Jim
for pointing out that people were posting garbage.

> > On the other hand it's a rather more brave thing to do, and one which
> > more often results in actual benefits. Slapping each other on the back
> > and congratulating each other on a good job isn't nearly as conducive to
> > improving things as healthy criticism.
> >
> Heathly criticism is one thing
> belting someone cause tehy think different is another.

Which does "haha, god your an ass" count as?

> > A point of view is a point of view, regardless of forum. The same level
> > of evidence should be provided either way.
> >
> on this i agree, both parties are wrong,
> but, considering the forum, itshould be assumed you are trying to sway
> people who DON"T like java and DON'T spend all their time in it, ie, by
> showing them whats different.

People who post that Java doesn't execute reasonably fast don't even want
to hear what's different though.

> its far easier to prove something when you have proof, especially when your
> talking to a community of as close to experts on the subject your trying to
> disprove can get.

The experts in this group aren't the ones posting the ridiculous claims,
I suspect.

> as far as C# and the framework go(which, honestly, Jim calsl the framework
> C# and really doesn't refer to the language at all anywhere in here, which
> helps me to discount his opinon a bit as well, but admittedly, so did
> everyone else), i work in C# because i prefer MS's way of doing things for
> the current time, and, politically, i consider sun(and aol, at that), to bee
> leechy companys. I do not wish to have suns JVM installed on my computer,
> i'd rather have a 3rd party, microsoft, ibm, even gnu, over sun's
> implementnation, merely for the fact that sun has done nothing but
> disappoint me in the years i've been dealing with computers.
>
> Another point, he's comparing a language and framework that has bee naround
> how long now? to a near infantile language.

Such a comparison was invited - you can hardly blame Jim for the thread
being here in the first place!

> > I've known Jim a while, and he certainly seems to be in a better position
> > to make comparisons than many other participants in this thread. I
> > suspect he's got more Java experience than almost anyone else in this
> > thread, for a start. I'd be very interested to know how much *practical*
> > and in-depth experience of Java the rest of the participants have. If the
> > comments are anything to go by, not a lot.
>
> On this, i agree, which is another part of why i'd wish jim would post real
> data, not rants.

He can't post very much real data, to be honest - as he frequently points
out, the MS licence prohibits it.

> I'd love to see real reasons why one is better than the other, i've yet to
> see one on this thread yet, simply political backwash.

The two most important ones are obvious:

o Java is a multiplatform production environment here and now. .NET/C#
are multiplatform in a beta-type way, and MS has said it may well use its
patents to quash production implementations on other platforms.

o .NET/C# are much better at interoperating with existing Windows
components. There are COM bridges for Java, but I doubt that they're as
well integrated as .NET manages, for obvious reasons.

> > And yet the C# community *isn't* doing that? Have a go at rereading this
> > thread in an impartial way, and see if it doesn't seem full of ridiculous
> > claims from the pro-C# side.

> Doesn't matter what the C# does, i already know C# and don't need their
> support anymore.

So you're quite happy to only bash one side of an argument, even if you
think both sides are making silly comments? I'm afraid that doesn't sit
well with me - especially when you choose to bash the side which is
inherently going to have fewer adherents.

> Also, playing these games on the C# newsgroup simply makes him look bad, if
> these were posted on a java newsgroup, i'd probably take them a bit more
> seriously(and i hope, atleast, the java oriented communitys are more helpful
> and less deadset on holy issues).

In my experience they're more open to discussion than the C# group is -
at least by the looks of this thread.

> Unfortuatly, almost every java programmer i've come across has been so
> blinded by a hatred for microsoft and anything produced by them that they
> can't even see waht C# is, which is disappointing, a blind man can't make
> any real dispute, as he only understands one side

Are you claiming I can't even see what C# is? Gee, thanks. I guess I must
have posted over a thousand articles of complete rubbish to this group in
your view then.

> > Ah, so the only views welcome here in your view are ones in favour of C#,
> > eh? Sounds like a good way to stifle debate to me.

> *shrug*, you don't seem to like my view on this issue,
> makes me wonder whos wrong or right,

I don't tend to like people who will only join in on what looks like the
winning side.

> i don't mind debate, i jsut don't like the holier-than-thou debates, like
> this one has become.

Have another look at the post Jim replied to, and his reply. Which bit of
it is actually incorrect?

> Someone a while back, in a VB v. C# post (Jospeph Gertz i think, but i'm not
> sure)made a comment about a lack of objectivity in a community that uses
> nearly pure logic to do its job. This comes up here, jim is no more
> objective than anyone else here is, maybe a little less so than some, and
> that too makes me doubt his merits and his claims

In my view Jim comes over as being a lot more objective than those who
merely write that Java can't execute reasonably fast.

> > Well, as you said before, he *did* give a link to some example Swing
> > apps.

> they were some swing apps, but big deal, first off, by the looks of that
> site, its an addon, not a default package, and a good number of similar
> addons exist for .NET.

Um, what's an add on? The applications? Well, yes, they're
separate applications rather than part of the platform itself, but I
believe they only use normal Swing (and whatever other L&F you wish to
use).

> Second, few java apps i've seen actually use that kind of thing, and common
> usage has alot more to do with things than what they can be used to do, and
> those apps weren't that amazing looking

Yeah, and the VSS GUI is terrible too - that must make Win32 stink,
right?

> > Whereas in my view Jim's managed to show that the views such as "Most VMs
> > are utterly slow on Windows" and "[Java can't] execute reasonably
> > fast" aren't universally upheld.

> On that, i'll agree,
> however, he implys that the universal belief is that the Java VMS are the
> fastest possible choice, and that .NET cannot execute reasonably fast.
> which, in my opinion, is equally wrong.

Where did he imply that? He was just pointing out that some of the pro-C#
posters were talking drivel, plain and simple.

Daniel O'Connell

unread,
Dec 28, 2002, 4:17:08 PM12/28/02
to
inline
"Jon Skeet" <sk...@pobox.com> wrote in message
news:MPG.187817acf...@news.microsoft.com...

> onyx...@attbi.com wrote:
> > no, not quite my point,
> > this argument is just annoying on all levels, no one is providing any
real
> > info, and i can't say i support either side.
>
> You don't support either side, but you only criticise one side? Isn't
> that a little unfair?
>
only one side has given me reason to criticize it, so far.

> > I speak to you, the java side, because i would rather see real
information
> > and proof from you than from these guys, I've read the same articles
they
> > have, used the same software, worked in the same language, and know
which of
> > their arguments are worth listening to, and which of them can be tossed
in
> > teh gutter as opinionated trash.
>
> And yet you don't criticise that "opinionated trash" - you just criticise
> Jim who highlighted it as opinionated trash. Odd.
>

when did i specifiy what i considered opinionated trash and what i agreed
with?


> > Also, i do not know jim well,
> > i do not know you well,
> > however, i have seen Gregory Phillps and Frans Bourma work on this fourm
for
> > a while now, and i have a fair amount of respect for their practical C#
> > knowledge and i'm aware you atleast have used the language
> > Jim Scully comes off as someone bashing a language he's never even
tried, he
> > has referenced one line of C# code that i can remember, and it was
> > incorrect.
>
> I'm positive Jim has tried C# - I rather suspect your bias against Java
> programmers (see later) is coming into play here.
>

he behaves as if he hasn't, doesn't compare language concepts or really show
any knowledge of C#


> Also, all of his arguments were "that isn't so"
> > no remarks, no proof, just vauge references that he has provided proof
> > sometime in the past(in a recent post).
>
> Ridiculous claims tend to spark off such replies, to be honest. Human
> nature.
>

that'll i'll agree with
since its why i responded to him,
i dislike rude posters and sometimes become rude myself in response.


> > not to mention the post i repsonded to was an attack on someone else on
jims
> > part. infact, every comment he's made has been an attack on the lackings
of C#
> > rather than a real comment on the merits of java.
>
> "Java already has attributes. They are part of the VM specification.
> Section 4.7 to be specific."
>

ok, one that i forgot about, however, Java already has attributes says
little,
exactly waht about the java version of attributes is different, why are they
better?
i'd rather not go read through a specification to figure that out, i really
do have better things to do with my time.


> A medium-length paragraph about how to reference libraries in jar files
> properly.
>

this has little to do with the language itself, for one,
and for another, the paragraph, while informative, didn't prove any
advantage(and actually a bit of a disadvantage)


> A very brief explanation of Java3D, and pointing out that there are Java
> OpenGL bindings.
>

that was disputed a bit in a later post, and it was noted a while back(in
another thread, however) that one language can usually do waht any other
can, with the proper amount of effort,
i take that fact as a given. which makes that point less than important.
Plus, thats a library issue, not a language issue.


> Did you not see any of the above?
>
> > Every comment he's made has been opinoin, nothing more, nothing less
>
> Please see the above for examples.
>

as for if i saw those, icannot recall if i had read them before or after
that last post,

> > as for the link, i had miss read what he responded too, was thinking it
was
> > in response to a different post(apparently in a different C# v. Java
debate
> > i was reading, because i don't see it here now).
> >
> > However, i'm not defending anyone here, but, ihave no reason to go on
the
> > rampage on the C# camp, you and jim are doing that just fine by
yourselves,
> > other comments inline
>
> I had barely entered this conversation before you decided to jump on Jim
> for pointing out that people were posting garbage.
>
> > > On the other hand it's a rather more brave thing to do, and one which
> > > more often results in actual benefits. Slapping each other on the back
> > > and congratulating each other on a good job isn't nearly as conducive
to
> > > improving things as healthy criticism.
> > >
> > Heathly criticism is one thing
> > belting someone cause tehy think different is another.
>
> Which does "haha, god your an ass" count as?
>

simple
an assinine and rude reply to an assinine and rude comment
<snip>
Another uninformed poster. Can you point me to some independent
benchmarks that show this? Oh wait. All .NET benchamrks must have MS
approval for publication, so I guess you can't.
</snip>


> > > A point of view is a point of view, regardless of forum. The same
level
> > > of evidence should be provided either way.
> > >
> > on this i agree, both parties are wrong,
> > but, considering the forum, itshould be assumed you are trying to sway
> > people who DON"T like java and DON'T spend all their time in it, ie, by
> > showing them whats different.
>
> People who post that Java doesn't execute reasonably fast don't even want
> to hear what's different though.
>
> > its far easier to prove something when you have proof, especially when
your
> > talking to a community of as close to experts on the subject your trying
to
> > disprove can get.
>
> The experts in this group aren't the ones posting the ridiculous claims,
> I suspect.
>

on that, i'll agree, i havn't seen any of the more serious posters on here,
nor any explicit MS employees
the thing of the matter is, the experts may be jsut as opinonated, they just
have the sense to keep their mouths closed,
which i am learnign to do rather quickly, these kind of things really aren't
worth discussing and make the news groups far less usefull.


> > as far as C# and the framework go(which, honestly, Jim calsl the
framework
> > C# and really doesn't refer to the language at all anywhere in here,
which
> > helps me to discount his opinon a bit as well, but admittedly, so did
> > everyone else), i work in C# because i prefer MS's way of doing things
for
> > the current time, and, politically, i consider sun(and aol, at that), to
bee
> > leechy companys. I do not wish to have suns JVM installed on my
computer,
> > i'd rather have a 3rd party, microsoft, ibm, even gnu, over sun's
> > implementnation, merely for the fact that sun has done nothing but
> > disappoint me in the years i've been dealing with computers.
> >
> > Another point, he's comparing a language and framework that has bee
naround
> > how long now? to a near infantile language.
>
> Such a comparison was invited - you can hardly blame Jim for the thread
> being here in the first place!
>

No, but a more...how would you say it...professional approach may have been
worthwhile.


> > > I've known Jim a while, and he certainly seems to be in a better
position
> > > to make comparisons than many other participants in this thread. I
> > > suspect he's got more Java experience than almost anyone else in this
> > > thread, for a start. I'd be very interested to know how much
*practical*
> > > and in-depth experience of Java the rest of the participants have. If
the
> > > comments are anything to go by, not a lot.
> >
> > On this, i agree, which is another part of why i'd wish jim would post
real
> > data, not rants.
>
> He can't post very much real data, to be honest - as he frequently points
> out, the MS licence prohibits it.
>

most licenses prohibit real benchmark data, including, i'm sure, a number of
java vm's\products

> > I'd love to see real reasons why one is better than the other, i've yet
to
> > see one on this thread yet, simply political backwash.
>
> The two most important ones are obvious:
>
> o Java is a multiplatform production environment here and now. .NET/C#
> are multiplatform in a beta-type way, and MS has said it may well use its
> patents to quash production implementations on other platforms.
>

that is a difference, not nessecerily better

> o .NET/C# are much better at interoperating with existing Windows
> components. There are COM bridges for Java, but I doubt that they're as
> well integrated as .NET manages, for obvious reasons.
>

this too is a difference, not nessecerily better


> > > And yet the C# community *isn't* doing that? Have a go at rereading
this
> > > thread in an impartial way, and see if it doesn't seem full of
ridiculous
> > > claims from the pro-C# side.
>
> > Doesn't matter what the C# does, i already know C# and don't need their
> > support anymore.
>
> So you're quite happy to only bash one side of an argument, even if you
> think both sides are making silly comments? I'm afraid that doesn't sit
> well with me - especially when you choose to bash the side which is
> inherently going to have fewer adherents.
>

well, sorry to say, i happen to support C# over java, and i consider jims
points to be the worst of the two.


> > Also, playing these games on the C# newsgroup simply makes him look bad,
if
> > these were posted on a java newsgroup, i'd probably take them a bit more
> > seriously(and i hope, atleast, the java oriented communitys are more
helpful
> > and less deadset on holy issues).
>
> In my experience they're more open to discussion than the C# group is -
> at least by the looks of this thread.

no one on this thread, java or C# is to open to discussion.


>
> > Unfortuatly, almost every java programmer i've come across has been so
> > blinded by a hatred for microsoft and anything produced by them that
they
> > can't even see waht C# is, which is disappointing, a blind man can't
make
> > any real dispute, as he only understands one side
>
> Are you claiming I can't even see what C# is? Gee, thanks. I guess I must
> have posted over a thousand articles of complete rubbish to this group in
> your view then.
>

first, note the almost, if you had been included, perhaps that would not
have been there. if your gonna read these posts, learn the difference
between almost every and every, its a simple semantic difference.


> > > Ah, so the only views welcome here in your view are ones in favour of
C#,
> > > eh? Sounds like a good way to stifle debate to me.
>
> > *shrug*, you don't seem to like my view on this issue,
> > makes me wonder whos wrong or right,
>
> I don't tend to like people who will only join in on what looks like the
> winning side.

I join on the side i support more, and in this case, it happens to be the
C#.
as for not liking people who will only join in on what looks liek the
winning side
i'm not to fond of people who will avoid the winning side simply to do so,


>
> > i don't mind debate, i jsut don't like the holier-than-thou debates,
like
> > this one has become.
>
> Have another look at the post Jim replied to, and his reply. Which bit of
> it is actually incorrect?

both.


>
> > Someone a while back, in a VB v. C# post (Jospeph Gertz i think, but i'm
not
> > sure)made a comment about a lack of objectivity in a community that uses
> > nearly pure logic to do its job. This comes up here, jim is no more
> > objective than anyone else here is, maybe a little less so than some,
and
> > that too makes me doubt his merits and his claims
>
> In my view Jim comes over as being a lot more objective than those who
> merely write that Java can't execute reasonably fast.

maybe yoru view is flawed
simply saying no, its the other way around is completly unobjective

>
> > > Well, as you said before, he *did* give a link to some example Swing
> > > apps.
>
> > they were some swing apps, but big deal, first off, by the looks of that
> > site, its an addon, not a default package, and a good number of similar
> > addons exist for .NET.
>
> Um, what's an add on? The applications? Well, yes, they're
> separate applications rather than part of the platform itself, but I
> believe they only use normal Swing (and whatever other L&F you wish to
> use).

granted, i don't use java and i'm not sure waht exactly L&F is, but by
saying "addon",i mean ANYTHING that isn't there vanilla


>
> > Second, few java apps i've seen actually use that kind of thing, and
common
> > usage has alot more to do with things than what they can be used to do,
and
> > those apps weren't that amazing looking
>
> Yeah, and the VSS GUI is terrible too - that must make Win32 stink,
> right?
>

only if VSS was the best win32 app(UI wise, that is) i'd ever seen
as i said, COMMON, not just one make or break;
learn to read english a bit better, you are taking a black and white stand
on words that have no absolute meaning.


> > > Whereas in my view Jim's managed to show that the views such as "Most
VMs
> > > are utterly slow on Windows" and "[Java can't] execute reasonably
> > > fast" aren't universally upheld.
>
> > On that, i'll agree,
> > however, he implys that the universal belief is that the Java VMS are
the
> > fastest possible choice, and that .NET cannot execute reasonably fast.
> > which, in my opinion, is equally wrong.
>
> Where did he imply that? He was just pointing out that some of the pro-C#
> posters were talking drivel, plain and simple.

that is merely the implication his posts give off.

Jim Sculley

unread,
Dec 28, 2002, 4:16:44 PM12/28/02
to
Erik Funkenbusch wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
>
>>Lloyd Dupont wrote:
>>
>>>VS.NET is not writte in C# because C++ is as a valid .NET language as
>>>others (including C#) and MS has a lot of legacy code in C++ about
>>>VisualStudio, quite fai isn't it ?
>>
>>Perhaps. Can you point me to some MS created C# applications?
>
>
> There isn't a lot of difference between Managed C++ and C# in terms of
> byte-code output.

This again begs the question of why VS.NET isn't C#. If MS wanted to
showcase some (supposedly) new and interesting langauge, wouldn't a high
profile application using it make sense?

>
> My understanding is that the Microsoft CRM product will be written in .NET,
> though I don't know whether it's Managed C++ or C#. This is due out
> sometime early next year.
>
> Remember that .NET is only 10 months old.

No, .NET is *at least* several years old. Just because it was released
10 months ago does not mean that it wasn't ready until that moment.
It's roots go way back to the times of COOL. You do remember COOL don't
you?


> How many Sun products were written in Java after only 10 Months?

I don't know. However, since Sun is a hardware company, I fail to see
how that is relevant.

Jim S.

Frans Bouma

unread,
Dec 28, 2002, 4:14:10 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.1878122ca...@news.microsoft.com:

> per...@xs4all.nl wrote:
>> > On the other hand it's a rather more brave thing to do, and one which
>> > more often results in actual benefits. Slapping each other on the
>> > back and congratulating each other on a good job isn't nearly as
>> > conducive to improving things as healthy criticism.
>>
>> I think Daniel's point is about constructive criticism, not
>> just criticism :)
>
> Would you say that any of the criticisms of Java given in this thread
> have been constructive?

Jon, I'm posting in a C# newsgroup, like I care if a remark
about java or donuts or cars is correct. The only thing I care
about are the remarks about C# and that they are correct. And
sorry to say it, but I haven't seen Jim post any remark which
told me he knows anything about C# at all or about .NET for that
matter, which makes me wonder why on earth is he (or you) posting
in this newsgroup? To convert us? Have a nice time!

>> > A point of view is a point of view, regardless of forum. The same
>> > level of evidence should be provided either way.
>>
>> true. but I get the feeling (pun intended) that the 'feel'
>> of several applications on either side is mandatory in the
>> decision if an application is 'fast' on a certain platform.
>> No-one has delivered benchmark results to justify any claims
>> (me neither, I'm aware of that)
>
> If that is the case, then it's certainly a sorry state of affairs, when
> people can't tell the difference of feeling different and being slower.
> You may well be right though.

I can add FPS counters to my code, re-install Sun's JVM on my
machines and test the hell out of it, but why should I? I haven't
seen Jim nor you post any evidence your claims about .NET or C#
are true either.

>> > I've known Jim a while, and he certainly seems to be in a better
>> > position to make comparisons than many other participants in this
>> > thread. I suspect he's got more Java experience than almost anyone
>> > else in this thread, for a start. I'd be very interested to know how
>> > much *practical* and in-depth experience of Java the rest of the
>> > participants have. If the comments are anything to go by, not a lot.
>>
>> Jon, this is a C# newsgroup. I couldn't care less if his
>> middle name is "Java" or that his first language is Java and
>> then English ;). We've had a lot of Java-pundits here this
>> year, and most of the time nothing has come out, which is a
>> shame. If you know Jim, I'm sure you can push that "stop being
>> a wise-ass, start being helpful"-button so we can learn from
>> Jim's experiences with Java and Jim can learn from our
>> experiences with C#. Especially that last thing isn't an
>> option it seems, which is sad, because he's in a C# newsgroup,
>> so made the choice to discuss with C#- developers.
>
> As Jim said in another post, he's offered insights elsewhere about areas
> where Java is presently ahead of .NET. (I expect the positions to
> alternate on many things, with each overtaking the other in turn, and
> all to the good of developers.)
>
> I hope you'll understand that when countering ridiculous claims such as
> "[Java can't] execute reasonably fast" detail is likely to be ignored by
> the original proponent, as if they were interested in the unbiased truth
> they wouldn't have made such statements to start with.

I see that, but I also hope YOU two understand it's breathtaking
how pathetic some C#/.NET remarks from your sides are. :) (NOFI).

I mean, Jim asks me to post evidence that the .NET api is written
in C# while MS has admitted this in this newsgroup. (I believe
several times, the last time was 2 weeks ago iirc).

>> > And yet the C# community *isn't* doing that? Have a go at rereading
>> > this thread in an impartial way, and see if it doesn't seem full of
>> > ridiculous claims from the pro-C# side.
>>
>> hmmm, check the newsgroup's name, Jon :) Do you really expect
>> that in a C# newsgroup which is crowded with C#-enthousiasts,
>> people are not underlining C#-advantages? :)
>
> They're not though - they're (generally - there are exceptions) making
> ridiculous claims about Java, rather than saying positive things about
> C#.

Yeah, well this is a C# newsgroup, expect pro-C#/con-competitive
language talk. I'm very sure in the *.java.* newsgroups it's
the other way around, one of the reasons I'm here and not there,
which again makes me wonder why you two are here and not there,
because it can't be because you all like C# so much ;)

>> > Could you describe exactly what a "unix looking UI is"? I'm genuinely
>> > interested. Note that as far as I've seen in this thread (and I may
>> > have missed it) Jim hasn't been arguing about Swing apps *feeling*
>> > like Windows apps, just that they can *perform* perfectly well,
>> > contrary to the opinions of many.
>>
>> Unix-like: huge buttons with small words, a lot of 'grey'
>> space on forms, odd-looking widgets you only see in
>> linux-themes, X11 and XP themes made by drunk 13-olds. ;)
>
> In that case I entirely disagree with the premise that Swing apps tend
> to look "unix-like". The Metal L&F is indeed quite grey, but there are
> plenty of other L&Fs to choose from.

If I use a windowing toolkit, I want it to look like the native
windows layer. I can't with swing. Like in the old days when you
could tell if a tool was written with OWL or with MFC.

>> Unix-like guis can be described as 'programmer art'.
>>
>> About the performance: I think we can all agree that either
>> widget lib, be it winforms, swt, swing, awt or what have you,
>> can perform up to some limit, but will never be as fast as
>> the native set provided by the OS, written in C++.
>
> SWT itself *is* native, of course - it's only the way of using it (and
> the interface to it) which ends up being in Java, in the same way that
> no doubt a lot of the WinForms code is. I see no reason why .NET and
> Java GUIs can't be just as responsive as entirely native apps -
> certainly within user perceptibility.

Well, they're always layers on top of something. But I agree, they
should be as responsive as native stuff. I mean, even VB6 apps are
very responsive and feel as native apps. However, the java tools
installed with Oracle 9i aren't. I can't help it, Jon, but they're
slow, even small windows and look different. This might sound like
a whiner's argument, but it's important to me because I don't like
gui-discrepancies because they will likely cause troubles with
my users when I use these libraries which will look differently.
(I then wonder why doesn't everyone in javaland use SWT..)

>> > Whereas in my view Jim's managed to show that the views such as "Most
>> > VMs are utterly slow on Windows" and "[Java can't] execute reasonably
>> > fast" aren't universally upheld.
>>
>> err, where did Jim prove that JVM's are faster or at least as
>> fast as .NET's CLR, a cornerstone of his arguments?
>
> Where did I claim he did in the above? I said that he shows that the
> views espoused by some here aren't universally upheld, which indeed he
> does. He's shown areas where Java currently beats .NET in other threads,
> as have I and other posters - just as .NET beats Java in other areas.

I must have missed that 'evidence' where java beated .NET, then..

Jim Sculley

unread,
Dec 28, 2002, 4:24:13 PM12/28/02
to
Frans Bouma wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:
> #qIlmmprCHA.2448@TK2MSFTNGP10:
>
>
>>Lloyd Dupont wrote:
>>
>>>VS.NET is not writte in C# because C++ is as a valid .NET language as
>>>others (including C#) and MS has a lot of legacy code in C++ about
>>>VisualStudio, quite fai isn't it ?
>>
>>Perhaps. Can you point me to some MS created C# applications?
>
>
> Grab 'Rotor', the cross platform implementation of the ECMA
> standard, by MS. The .NET library provided with Rotor is
> completely C#.

I said applications. Rotor isn't an application.

>
> If you believe me on my word, just grab the .NET runtime and
> you have a very large piece of C# code in your hands :D

No, I have a large piece of code which may or may not be C#, and I am
forbidden by the EULA from determining whether it is or is not C#.

Frans Bouma

unread,
Dec 28, 2002, 4:46:02 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187817acf...@news.microsoft.com:

> onyx...@attbi.com wrote:
>> Also, i do not know jim well,
>> i do not know you well,
>> however, i have seen Gregory Phillps and Frans Bourma work on this
>> fourm for a while now, and i have a fair amount of respect for their
>> practical C# knowledge and i'm aware you atleast have used the language
>> Jim Scully comes off as someone bashing a language he's never even
>> tried, he has referenced one line of C# code that i can remember, and
>> it was incorrect.
>
> I'm positive Jim has tried C# - I rather suspect your bias against Java
> programmers (see later) is coming into play here.

IF he has tried C# in full, which takes several months of full time
(and I mean FULL TIME, 8-9 hours of keyboard-killin' coding), he
wouldn't have come up with newbie arguments about C# and .NET, like
if .NET is written in C# (or in a CLR compliant language for that
matter)...

>> not to mention the post i repsonded to was an attack on someone else on
>> jims part. infact, every comment he's made has been an attack on the
>> lackings of C# rather than a real comment on the merits of java.
>
> "Java already has attributes. They are part of the VM specification.
> Section 4.7 to be specific."

This might be true, but in some point in time, generics are
part of the VM spec as well, however not available in the
majority of VM users. (Generics are one of the things Sun has done
wrong in Java though, instead of re-organising hte VM to handle
generics natively, they're going to compile generic code to
non-generic bytecode. A missed oppertunity. (The generic code
MS research is working on is however brilliant, if I might add)

> A medium-length paragraph about how to reference libraries in jar files
> properly.
>
> A very brief explanation of Java3D, and pointing out that there are Java
> OpenGL bindings.

...which was wrong. Java3D is a 3D engine, a scenegraph, OpenGL is
a renderlibrary. 2 total different things. .NET has now a
full DX9 library, in managed code. Nice, not a 3D engine.

Even APL has an OpenGL stub for using OpenGL.

> Did you not see any of the above?

yep :)

>> > On the other hand it's a rather more brave thing to do, and one which
>> > more often results in actual benefits. Slapping each other on the
>> > back and congratulating each other on a good job isn't nearly as
>> > conducive to improving things as healthy criticism.
>> >
>> Heathly criticism is one thing
>> belting someone cause tehy think different is another.
>
> Which does "haha, god your an ass" count as?

A humourous description :) Come on, Jon, this is usenet, if you
don't have the skin of an elephant, don't post in rival newsgroups
as the advocate of a competing language ;)

>> > A point of view is a point of view, regardless of forum. The same
>> > level of evidence should be provided either way.
>> >
>> on this i agree, both parties are wrong,
>> but, considering the forum, itshould be assumed you are trying to sway
>> people who DON"T like java and DON'T spend all their time in it, ie, by
>> showing them whats different.
>
> People who post that Java doesn't execute reasonably fast don't even
> want to hear what's different though.

O I want to hear what's different. That's why I said earlier (which
was totally ignored by your pal Jim) that it was more wise to
just talk about what is different so we can learn from eachother
than to take this pissing contest any further.

>> as far as C# and the framework go(which, honestly, Jim calsl the
>> framework C# and really doesn't refer to the language at all anywhere
>> in here, which helps me to discount his opinon a bit as well, but
>> admittedly, so did everyone else), i work in C# because i prefer MS's
>> way of doing things for the current time, and, politically, i consider
>> sun(and aol, at that), to bee leechy companys. I do not wish to have
>> suns JVM installed on my computer, i'd rather have a 3rd party,
>> microsoft, ibm, even gnu, over sun's implementnation, merely for the
>> fact that sun has done nothing but disappoint me in the years i've been
>> dealing with computers.
>>
>> Another point, he's comparing a language and framework that has bee
>> naround how long now? to a near infantile language.
>
> Such a comparison was invited - you can hardly blame Jim for the thread
> being here in the first place!

err, isn't it Jim's choice he's in htis thread, I can't say I find
him a C# specialist but more a java-pundit. Even 'troll' has
crossed my mind, but it's too much fun reading his postings so
I'll keep him out of my killfile for a while ;)

>> > I've known Jim a while, and he certainly seems to be in a better
>> > position to make comparisons than many other participants in this
>> > thread. I suspect he's got more Java experience than almost anyone
>> > else in this thread, for a start. I'd be very interested to know how
>> > much *practical* and in-depth experience of Java the rest of the
>> > participants have. If the comments are anything to go by, not a lot.
>>
>> On this, i agree, which is another part of why i'd wish jim would post
>> real data, not rants.
>
> He can't post very much real data, to be honest - as he frequently
> points out, the MS licence prohibits it.

oh! that's a good one :D :) "The license prohibits me to post
evidence". I think that works for 'us' too :)

>> I'd love to see real reasons why one is better than the other, i've yet
>> to see one on this thread yet, simply political backwash.
>
> The two most important ones are obvious:
>
> o Java is a multiplatform production environment here and now. .NET/C#
> are multiplatform in a beta-type way, and MS has said it may well use
> its patents to quash production implementations on other platforms.

newsflash for you: no-one gives a rat's ass about multiplatform.
I'll tell you why: it's the functionality provided in the NETWORK
what counts. So it doesn't matter on what platform the
functionality runs on, HOW it's build, in what toolkit, the one
and only thing that matters is this: can you access it easily and
use the functionality easily? If that's both a 'YES!', then you're
done.

The only reason I like mono is because I can save a few $$$ when I
tell a client he can run my software also on Linux and doesn't have
to pay for win2k licenses. However, on a budget of say 50k$
minimum, a client doesn't care much about the price of software
licenses, most of the time the client has already a select license
anyway.

> o .NET/C# are much better at interoperating with existing Windows
> components. There are COM bridges for Java, but I doubt that they're as
> well integrated as .NET manages, for obvious reasons.

However some developers say COM-interop is important, I'm not sure
it will have that much impact. What's more important is the COM+
interaction from inside .NET, and that's finally done right
in COM+ 1.5 coming in windows.net server. COM legacy support is
nice, but for a lot of projects not important, simply because
maintaining COM components is a pain and maintaining .NET code
isn't -> a lot of projects will take into account porting the
COM legacy code over to .NET too.

>> Also, playing these games on the C# newsgroup simply makes him look
>> bad, if these were posted on a java newsgroup, i'd probably take them a
>> bit more seriously(and i hope, atleast, the java oriented communitys
>> are more helpful and less deadset on holy issues).
>
> In my experience they're more open to discussion than the C# group is -
> at least by the looks of this thread.

gee, I feel the total opposite :D ;)

>> Unfortuatly, almost every java programmer i've come across has been so
>> blinded by a hatred for microsoft and anything produced by them that
>> they can't even see waht C# is, which is disappointing, a blind man
>> can't make any real dispute, as he only understands one side
>
> Are you claiming I can't even see what C# is? Gee, thanks. I guess I
> must have posted over a thousand articles of complete rubbish to this
> group in your view then.

... articles which mostly pointed out negative news about C#, or
were 90% of these articles answers to questions here ?

>> > Ah, so the only views welcome here in your view are ones in favour of
>> > C#, eh? Sounds like a good way to stifle debate to me.
>
>> *shrug*, you don't seem to like my view on this issue,
>> makes me wonder whos wrong or right,
>
> I don't tend to like people who will only join in on what looks like the
> winning side.

heh, well if you join a C# newsgroup and you start advocating Java,
I think you should thought of the possibility of not gaining that
much ground, BEFORE you joined that newsgroup :)

>> Someone a while back, in a VB v. C# post (Jospeph Gertz i think, but
>> i'm not sure)made a comment about a lack of objectivity in a community
>> that uses nearly pure logic to do its job. This comes up here, jim is
>> no more objective than anyone else here is, maybe a little less so than
>> some, and that too makes me doubt his merits and his claims
>
> In my view Jim comes over as being a lot more objective than those who
> merely write that Java can't execute reasonably fast.

I disagree. I can't recall a remark from Jim where he shows that
he has used C# for a substantial period of time so he is in his
right to make any claim at all about C#. I mean, confusing C# with
the API... come on :D

Jim Sculley

unread,
Dec 28, 2002, 4:44:00 PM12/28/02
to
Erik Funkenbusch wrote:

<snip>

>
> Easy. Whip out your IL disassembler (ildasm or Anakrino will do) and go
> spelunking in the VS.NET binaries directory. You'll find a great deal of
> .NET assemblies in there. There are a number of non .NET files in there as
> well, but at least half of the IDE is written in .NET.

Which part of "without having violated the .NET EULA" didn't you
understand. Mind you, I was speaking about the claim that the .NET API
is completely written in C#. However, I strongly suspect that
"spelunking in the VS.NET binaries directory" with ILDSAM is a violation
of the VS.NET EULA.

<snip>

>
>
> Huh? Mono has been doing a lot of work on Winforms.

The current party line at Ximian is as follows:

" System.Windows.Forms is currently being implemented using the Win32
API, we will be using WineLib on Unix systems to emulate the Win32 API."

> Currently they're using Wine though.

Because the original non-Wine attempt failed. See the following,
straight from the horse's mouth:

http://lists.ximian.com/archives/public/mono-list/2002-July/000553.html

Some excerpts:

"Although I was very excited about Windows.Forms initially,
Windows.Forms is a poor API, with a poor event system, with a poor
layout engine."

"Windows.Forms is not easy to isolate, and focus on a single component,
and replace it as we go. The problem is that the toolkit has deep
interdependencies, and must be architected by someone with a lot of time
to get the event handling right."

"I am personally no longer sure that a complete Windows.Forms emulation
is possible without resorting to things like using Wine (consider the
wndproc method, which is used to catch windows events, and implement
some of the corner cases, a common complain from people trying to
implement "Smart Clients")."

<snip>

>
>>Perhaps. However, if you have read this newsgroup with any frequency,
>>you will have seen interop offered up as a solution to all sorts of
>>non-performance related problems, due to holes in the .NET API.
>
>
> Indeed, there are some holes in the API, particularly with some of the shell
> functions. You'd think this would be welcomed by a cross platform advocate
> like yourself, since these functions mean more code that needs to be
> implemented on another platform.

Why would I prefer an API with holes? MS certainly won't be filling any
of them with cross platforms solutions, so the end result will be a
mutlitude of likely incompatible implementations.


>
>
>>> .NET does that, and fast
>>> java libraries do that too (hell, Sun's own Solaris VM uses
>>> native Solaris threads). I don't see that as a problem though.
>>
>>You must have little or no interest in portability then.
>
>
> Some of us don't believe that we should limit our programs to the lowest
> common denominator.

I love this argument, for no other reason than it is trivial to dismantle.

> I'd much rather have a large cross section of portable
> code and have to re-implement small portions on individual platforms if it
> means I don't have to be stuck with the LCD.

Right. So, do tell, why is it that I can create richer UI on Windows NT
with Java than I can with .NET? Your LCD argument is completely
baseless. Java has been providing capabilities on Windows systems that
Windows itself has not provided *for years*. AS an added bonus, Jasv
provides these capabilities on all other platforms with a Java VM as well.

>
>
>>> There are several places
>>> where .NET uses native libraries (or libraries written in C/C++
>>> made for .NET, like the database connector for sqlserver) but for
>>> the developer, this is all transparent,
>>
>>Until you want to use it with something such as Mono.
>
>
> If Mono implements it with their own native code, what's the difference?
>

The interface. As the failure of the first attempt at Windows.Forms on
Mono has shown, .NET was not created with any thought toward making the
important APIs easily portable to other platforms. If MS was interested
in doing so, those APIs would have been part of the ECMA submission.

Frans Bouma

unread,
Dec 28, 2002, 4:51:09 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:eEjKmZrrCHA.1640@TK2MSFTNGP09:

> Erik Funkenbusch wrote:
>> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
>>
>>>Lloyd Dupont wrote:
>>>
>>>>VS.NET is not writte in C# because C++ is as a valid .NET language as
>>>>others (including C#) and MS has a lot of legacy code in C++ about
>>>>VisualStudio, quite fai isn't it ?
>>>Perhaps. Can you point me to some MS created C# applications?
>> There isn't a lot of difference between Managed C++ and C# in terms of
>> byte-code output.
>
> This again begs the question of why VS.NET isn't C#. If MS wanted to
> showcase some (supposedly) new and interesting langauge, wouldn't a high
> profile application using it make sense?

the whole darn platform is written in C#, what more do you want?
"No that's not enough, I want the IDE in C# too!".

>> My understanding is that the Microsoft CRM product will be written in
>> .NET, though I don't know whether it's Managed C++ or C#. This is due
>> out sometime early next year.
>>
>> Remember that .NET is only 10 months old.
>
> No, .NET is *at least* several years old. Just because it was released
> 10 months ago does not mean that it wasn't ready until that moment.
> It's roots go way back to the times of COOL. You do remember COOL don't
> you?

COOL is always been a rumour. MS has never released any hard
evidence about COOL. However, you're right, IF the rumours are
true, MS was busy with a Java like language, but erm... Jim,
they already released a JVM in what... 1997? .NET is at least
5 years old? ;)

Frans Bouma

unread,
Dec 28, 2002, 4:56:00 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:#GpcxdrrCHA.2372
@TK2MSFTNGP12:

> Frans Bouma wrote:
>> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:
>> #qIlmmprCHA.2448@TK2MSFTNGP10:

>>>Perhaps. Can you point me to some MS created C# applications?
>>
>>
>> Grab 'Rotor', the cross platform implementation of the ECMA
>> standard, by MS. The .NET library provided with Rotor is
>> completely C#.
>
> I said applications. Rotor isn't an application.

it isn't? what is it then, a musicfile? :)



>> If you believe me on my word, just grab the .NET runtime and
>> you have a very large piece of C# code in your hands :D
>
> No, I have a large piece of code which may or may not be C#, and I am
> forbidden by the EULA from determining whether it is or is not C#.

You could also read this newsgroup, it has been posted by MS
employees more than once (I believe even Eric Gunnerson has)

Jim Sculley

unread,
Dec 28, 2002, 5:00:58 PM12/28/02
to
Erik Funkenbusch wrote:

<snip>


>
>
> If the vast majority of applications seem slow, maybe it's because the
> optimizations are non-obvious, and that it requires a great deal of skill to
> write a decently performing application.

The optimizations I decsribe above are done by the JIT. A developer
doesn't have to do anything other than write normal code. In fact, with
Java, trying to be smarter than the JIT by doing odd things in code can
harm more than help.

Furthermore, the vast majority of Java applications aren't slow. There
have been a few high profile apps with poor performance, but they are
becoming few and far between.

>
> There was a time when C++ applications were considered slow (even though a
> well written C++ app was hard to distinguish from an average C program), but
> technology has essentially removed that issue except for poorly written
> apps. CPU's are now much faster, and compiler technology has made
> optimization adequate for average applications.
>
> The thing is, Swing et al has not done the same thing over the years, even
> with faster processors and better compilers.

What is your evidence of this? I have seen vast improvements in Java
performance (especially in Linux where performance was more of a
problem) just in the last 2 years or so.

> Sure, it's become faster, but
> not nearly fast enough to get to the point that people don't notice for
> average apps.

I don't think this is an accurate statement.

> Sure, if you are really skilled, you can create a Swing app
> which performs reasonably well, but average apps do not.

You don't need to be really skilled. You have to read perhaps 3 or four
articles from the Swing Connection. That's about it. A quick look
through Karsten Lentzsch's site at http://www.jgoodies.com is also
highly recommended.

> This tells me
> there is something inherantly inefficient with the system that technology
> alone cannot cure.

The system isn't inefficient. In fact, Swing is simply far more
powerful than most other solutions available. With power comes
responsibility. If you want to create performant Swing applications,
you have a reasonable understanding of the architecture, otherwise, you
will fall prey to one of the more common pitfalls which affect perceived
performance. The word 'perceived' is crucial in this discussion. If
buttons appear sticky, or menus don't appear instantaneously, there are
two possible causes. Either the GUI library is slow, or the programmer
has done something incorrectly. Proving the former is very difficult.
Proving the latter is trivial. All that is required is a single
application that doesn't have the perceived problem.

>
> You may argue that relying on technology to cure the problems of "average"
> programmers is wrong, but I think it's unrealistic to require human beings
> to all become experts in their field to achieve adequate performance.

Swing doesn't require that you be an expert. My own code is concerete
proof of that. All that is required is some basic education in the
design and operation of the Swing architecture.

> You'll always have people of different levels writing different kinds of
> apps. While many of those apps may not be hindered by poor performance, all
> of them will certainly be nicer to use if the performance was better.

Once perceived poerformance reaches a certain level, no amount of
further optimization will affect the user experience.

>
> When it comes to commercial apps, the only difference between my app and
> your app may be that mine "feels" faster to the user (whether it
> accomplishes it's task just as well or maybe even faster won't matter to
> them) and thus will win out.

Again, this is perceived performance, which is primarily under the
control of the developer, not the library.

Jim Sculley

unread,
Dec 28, 2002, 5:26:37 PM12/28/02
to
Daniel O'Connell wrote:
> the point of it is,
> he's for one, preaching to the opposing congregation, which rarely, if ever,
> actually gets you anywhere.

Only if you choose to ignore facts.

> if this was a java group, i'd be far more on his side, and i'd expect teh
> pro-c# boys to have a considerably stronger piece of informative backing

> Now, i don't agree on either end, as i don't happen to have any real
> experiance in java, and cannot make a fair comparison, however, it seems to
> me that he is in no way able to make one himself.

How so? I've already stated that I've made posts in the past including
code to compare C# and Java. Just the simple fact that I've written and
executed such code would seem to invalidate any claim that I cannot make
a comparison.

> And, althought i'm
> interested in learning java sometime in the future, his posts have
> successfully made me decided to push that off until i finish other things.

Very odd. Deos the idea of truly cross-platform performant code bother
you for some reason?

> A languages community is as important, if not more important, than the
> language itself when you are trying to learn it, and a community of "we're
> better cause we say so" people isn't gonna help anyone in any light.

So you are not in favor of the current C# community, which says exactly
that. You did see the post claiming that Java cannot be used to create
fast Windows apps right? You also are aware that another individual
agreeing with that statement later stated that all his Java code is 5+
years old, running on an ancient VM, yes?

> Provide benchmarks,

The EULA forbids it.

> repute peoples claims with real information,

Done.

> not your own brand of marketing slurry.

Feel free to point out where I've done anything of the sort.

>
> The one link he provided, about nice looking GUI's, while it showed a nice
> looking swing GUI in its screen shots, they still looked decidedly unix
> like, albeit fairly nice unix-like, which really did not provide any kind of

> argument to the preceding one that java tends to create unix looking UI's,


> he actually supported it while believing he was arguing it.

I'm sure Karsten Lentzsch would be interested in hearing your comments
on the Unix-like look. Especially in light of the fact that the
JGoodies Windows Look anf Feel description states:

"The JGoodies Windows look&feel focuses on a precise emulation on
Windows 95/98/NT/ME/2000 in the following areas: menus, icons, colors,
borders, fonts, font sizes, insets, and widget dimensions. It honors the
screen resolution (96dpi vs. 120 dpi) to adjust sizes, insets, and
widget dimensions."

Karsten has likely forgotten more about the Windows GUI than you and I
will ever know combined.

>
> if you boys are gonna argue on these holy wars, why doesn't someone actually
> SHOW whats better and whats worse, provide examples, code snippets,
> something that might actually be IMPORTANT,
> not this preaching, if all your here for is to preach about java, go some
> where else.

And leave wildly inaccurate comments such as

"C# can run GUI applications *quickly* on windows, Java cannot."

hanging out there for those unfamiliar with Java (such as yourself) to
accept as truth? How is that helpful?

> if your here to support java when questions of this magnitude come up, then
> support it, provide examples and real proof, and make eloquent arguments,
> not these your wrong, "go to hell, i don't gotta prove nothing cause your
> wrong", pointless disputes.

Where have I said anything of the sort, aside from stating that a
response was uninformed in light of all the other information that has
been posted in this thread?

>
> All in all, i don't believe anyone has yet answered the intial question, and
> all Jim managed to do was covolute the issue far more.

Actually, I was one of the first people to answer the question which was
multi-posted to comp.lang.java.programmer. Here is my original reply:

"If you are talking about the Java libraries versus the .NET libraries,
then the answer is of course yes, and it would take a book to outline
what either one can do that the other can't. For example, a Java
application will run on Windows 95, whereas a .NET app will not. A Java
app can have icons on menu items under Windows NT, whereas a .NET
application cannot."

Is that 'marketing slurry'?


Jim S

Jon Skeet

unread,
Dec 28, 2002, 5:23:49 PM12/28/02
to
per...@xs4all.nl wrote:
> > Would you say that any of the criticisms of Java given in this thread
> > have been constructive?
>
> Jon, I'm posting in a C# newsgroup, like I care if a remark
> about java or donuts or cars is correct. The only thing I care
> about are the remarks about C# and that they are correct.

In that case you can't expect to have any meaningful debate about the
advantages of one language/platform over another. Would you think it
perfectly reasonable for me to post on a Java newsgroup that .NET runs as
slow as molasses? (I don't for one minute think it does, by the way.)

What on earth is the point in a debate where only one side needs to be
accurate?

> And
> sorry to say it, but I haven't seen Jim post any remark which
> told me he knows anything about C# at all or about .NET for that
> matter, which makes me wonder why on earth is he (or you) posting
> in this newsgroup? To convert us? Have a nice time!

Why should whether or not Jim has posted anything knowledgeable about C#
have any bearing about why I'm posting in this newsgroup? Are you
suggesting I would be better stopping posting in this newsgroup?

> > If that is the case, then it's certainly a sorry state of affairs, when
> > people can't tell the difference of feeling different and being slower.
> > You may well be right though.
>
> I can add FPS counters to my code, re-install Sun's JVM on my
> machines and test the hell out of it, but why should I? I haven't
> seen Jim nor you post any evidence your claims about .NET or C#
> are true either.

Which claims are those? Which claims about .NET or C# have I made, other
than that in some areas Java can be faster than .NET? (For evidence of
that, see a thread a couple of months ago about a producer/consumer
pattern which is faster in Java.)



> > I hope you'll understand that when countering ridiculous claims such as
> > "[Java can't] execute reasonably fast" detail is likely to be ignored by
> > the original proponent, as if they were interested in the unbiased truth
> > they wouldn't have made such statements to start with.
>
> I see that, but I also hope YOU two understand it's breathtaking
> how pathetic some C#/.NET remarks from your sides are. :) (NOFI).

Not sure what NOFI means (no offence intended?), but please state one
"pathetic" C#/.NET remark I've made. I'd be happy to be corrected.

> > They're not though - they're (generally - there are exceptions) making
> > ridiculous claims about Java, rather than saying positive things about
> > C#.
>
> Yeah, well this is a C# newsgroup, expect pro-C#/con-competitive
> language talk.

And that would be fine - if it were actually *correct*.

> I'm very sure in the *.java.* newsgroups it's
> the other way around, one of the reasons I'm here and not there,

If people made the sort of ridiculous claims about .NET in the Java
groups that people have made here about Java, I'd be just as quick to
counter them there too.

> which again makes me wonder why you two are here and not there,
> because it can't be because you all like C# so much ;)

What makes you think I'm "not there"? You might want to do a
groups.google.com search for my posting habits. (Likewise for Jim's.)

And actually, I *do* like C# quite a bit, as I've said repeatedly in this
group and in Java groups.

> > In that case I entirely disagree with the premise that Swing apps tend
> > to look "unix-like". The Metal L&F is indeed quite grey, but there are
> > plenty of other L&Fs to choose from.
>
> If I use a windowing toolkit, I want it to look like the native
> windows layer. I can't with swing. Like in the old days when you
> could tell if a tool was written with OWL or with MFC.

In that case you'd want to use SWT instead.

> Well, they're always layers on top of something. But I agree, they
> should be as responsive as native stuff. I mean, even VB6 apps are
> very responsive and feel as native apps. However, the java tools
> installed with Oracle 9i aren't.

So maybe Oracle are no good at writing GUI apps, but are great at writing
databases.

> I can't help it, Jon, but they're
> slow, even small windows and look different.

Absolutely - the last time I used the Oracle GUI (can't remember which
version) I hated it too. Then again, I get very annoyed by the VSS GUI as
well - are you sure it's worth basing an opinion of a
toolkit/language/platform on one app?

> This might sound like
> a whiner's argument, but it's important to me because I don't like
> gui-discrepancies because they will likely cause troubles with
> my users when I use these libraries which will look differently.
> (I then wonder why doesn't everyone in javaland use SWT..)

There are some reasons for not using SWT, partly in terms of invested
developer experience, partly in terms of it not being supported by Sun,
partly in terms of it being "lower level" (fewer widgets, less framework
in place for MVC etc) partly in terms of a different model with regards
to resource management, partly in terms of documentation. It's certainly
spreading though. I personally think Sun could do a lot worse than
embrace SWT as an alternative (rather than replacement) for AWT/Swing.

> >> err, where did Jim prove that JVM's are faster or at least as
> >> fast as .NET's CLR, a cornerstone of his arguments?
> >
> > Where did I claim he did in the above? I said that he shows that the
> > views espoused by some here aren't universally upheld, which indeed he
> > does. He's shown areas where Java currently beats .NET in other threads,
> > as have I and other posters - just as .NET beats Java in other areas.
>
> I must have missed that 'evidence' where java beated .NET, then..

Note the "in other threads". See earlier for a reference to such evidence
- or there was another thread about JIT optimisation, where it was shown
that HotSpot could inline virtual methods so long as they hadn't already
been overridden by any loaded classes, whereas .NET's one-time JITting
can't.

Frans Bouma

unread,
Dec 28, 2002, 5:28:51 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:#Vs$0orrCHA.432@TK2MSFTNGP10:

> Erik Funkenbusch wrote:
>
> <snip>
>
>>
>> Easy. Whip out your IL disassembler (ildasm or Anakrino will do) and
>> go spelunking in the VS.NET binaries directory. You'll find a great
>> deal of .NET assemblies in there. There are a number of non .NET files
>> in there as well, but at least half of the IDE is written in .NET.
>
> Which part of "without having violated the .NET EULA" didn't you
> understand. Mind you, I was speaking about the claim that the .NET API
> is completely written in C#. However, I strongly suspect that
> "spelunking in the VS.NET binaries directory" with ILDSAM is a violation
> of the VS.NET EULA.

To make you happy (watch the wrapping) (VS.NET vs C#)
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
&safe=off&selm=OzmHZih6BHA.1976%40tkmsftngp03&rnum=156

Bottom lines.

Gunnerson is part of the C# designteam.

To make you even more happy (.NET Api written in C#)
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
&safe=off&selm=u6H8xqvoCHA.1236%40TK2MSFTNGP12&rnum=96

And please Jim, this is posted in this newsgroup! If you are
such an expert you'd have known this by now. You don't need
an excuse about an EULA like you came up with.

Are we still talking out of our ass here? I don't think so.

>>>Perhaps. However, if you have read this newsgroup with any frequency,
>>>you will have seen interop offered up as a solution to all sorts of
>>>non-performance related problems, due to holes in the .NET API.
>>
>>
>> Indeed, there are some holes in the API, particularly with some of the
>> shell functions. You'd think this would be welcomed by a cross
>> platform advocate like yourself, since these functions mean more code
>> that needs to be implemented on another platform.
>
> Why would I prefer an API with holes? MS certainly won't be filling any
> of them with cross platforms solutions, so the end result will be a
> mutlitude of likely incompatible implementations.

Every API has holes. Java had holes for years. When I started
programming java in 1995 it was nice, useable, but far from
finished. There are things left to be desired, in Java and in
.NET. The fun part is that both platforms support the addition
of functionality, f.e. like it is done in the database provider
area for .NET.

>>>> .NET does that, and fast
>>>> java libraries do that too (hell, Sun's own Solaris VM uses
>>>> native Solaris threads). I don't see that as a problem though.
>>>
>>>You must have little or no interest in portability then.
>>
>> Some of us don't believe that we should limit our programs to the
>> lowest common denominator.
>
> I love this argument, for no other reason than it is trivial to
> dismantle.

no it is not. When you're talking 'desktop', there are limits
when it comes to what's available. On the serverside, you have
to wait for the performance you'll get with what Sun comes up with
or f.e. buy a J2EE appserver.

Besides that, crossplatform development is not that important.
what's important is functionality sharing, the reason why
webservices are not a buzzword-thing but reality and Sun among
others knows that all too well.

>> I'd much rather have a large cross section of portable
>> code and have to re-implement small portions on individual platforms if
>> it means I don't have to be stuck with the LCD.
>
> Right. So, do tell, why is it that I can create richer UI on Windows NT
> with Java than I can with .NET? Your LCD argument is completely
> baseless. Java has been providing capabilities on Windows systems that
> Windows itself has not provided *for years*. AS an added bonus, Jasv
> provides these capabilities on all other platforms with a Java VM as
> well.

On NT? You mean NT4? Oh, please, tell me, which neat widgets did
you find in the win32 api that aren't available in the .NET
api?

>>>Until you want to use it with something such as Mono.
>> If Mono implements it with their own native code, what's the
>> difference?
>
> The interface. As the failure of the first attempt at Windows.Forms on
> Mono has shown, .NET was not created with any thought toward making the
> important APIs easily portable to other platforms. If MS was interested
> in doing so, those APIs would have been part of the ECMA submission.

you don't get it, do you... A developer doesn't care HOW
System.Windows.Forms is implemented, it just has to do what the
specs says. So if a compiled MSIL program targets a certain
assembly called System.Windows.Forms and starts creatign objects
from that library, it can do that on windows, using the
assembly available in the .NET SDK and it will result in
.NET forms, based on win32 widgets (using comctl*.dll, as all
win32 applications do).

On mono the assembly can use Gnome or KDE (GTK+ likely) to
cook up the objects. It has nothing to do with direct
linking with win32 libraries from .net assemblies. It has to
do with easy porting the functionality over to mono using
GTK+. I won't have to tell you on X11/GTK+ some things are
done differently and it will take a lot of time to port the
functionality over, (it would have been easier if wine would
have helped out).

Jon Skeet

unread,
Dec 28, 2002, 5:11:08 PM12/28/02
to
onyx...@attbi.com wrote:
> > You don't support either side, but you only criticise one side? Isn't
> > that a little unfair?
> >
> only one side has given me reason to criticize it, so far.

Despite acknowledging earlier that neither side had given any
information?



> > And yet you don't criticise that "opinionated trash" - you just criticise
> > Jim who highlighted it as opinionated trash. Odd.
> >
> when did i specifiy what i considered opinionated trash and what i agreed
> with?

You didn't - you just said that you knew which of their arguments are
opinionated trash, which surely suggests that you regard *some* of them
as unopinionated trash.

> > I'm positive Jim has tried C# - I rather suspect your bias against Java
> > programmers (see later) is coming into play here.
> >
> he behaves as if he hasn't, doesn't compare language concepts or really show
> any knowledge of C#

He shows a lot more knowledge of C# and .NET than others in this thread
have shown of Java.

> > Ridiculous claims tend to spark off such replies, to be honest. Human
> > nature.
> >
> that'll i'll agree with
> since its why i responded to him,
> i dislike rude posters and sometimes become rude myself in response.

Did you not think that the original ridiculous claims about Java were
rude in themselves?

> > "Java already has attributes. They are part of the VM specification.
> > Section 4.7 to be specific."

> ok, one that i forgot about, however, Java already has attributes says
> little,
> exactly waht about the java version of attributes is different, why are they
> better?

He didn't claim they were better - he just claimed they existed, to
counter the previous claim that they didn't.

In fact, the metadata support in Java is currently way behind that of
.NET, although it will increase a lot in 1.5 I believe.

> > A medium-length paragraph about how to reference libraries in jar files
> > properly.
> >
> this has little to do with the language itself, for one,

Very few posts have been about the language rather than the platform
either for .NET or C#.

> and for another, the paragraph, while informative, didn't prove any
> advantage(and actually a bit of a disadvantage)

Um, no it didn't - it showed that the disadvantage another was claiming
wasn't in fact there, and that the previous poster had merely been
apparently unaware of the appropriate way of referencing libraries.

> > A very brief explanation of Java3D, and pointing out that there are Java
> > OpenGL bindings.
> >
> that was disputed a bit in a later post, and it was noted a while back(in
> another thread, however) that one language can usually do waht any other
> can, with the proper amount of effort,
> i take that fact as a given. which makes that point less than important.
> Plus, thats a library issue, not a language issue.

Funny how you don't take issue with any of the other posters talking
about platform issues rather than language issues.

> > > Every comment he's made has been opinoin, nothing more, nothing less
> >
> > Please see the above for examples.

> as for if i saw those, icannot recall if i had read them before or after
> that last post,

It's certainly possible that you didn't, although I consider it unlikely
that they weren't available to you, seeing as you've previously replied
to Jim barely quarter of an hour after his post, and the posts I quoted
were made several hours ago.

Is it not possible that you had already set yourself against him?

> > Which does "haha, god your an ass" count as?
> >
> simple
> an assinine and rude reply to an assinine and rude comment
> <snip>
> Another uninformed poster. Can you point me to some independent
> benchmarks that show this? Oh wait. All .NET benchamrks must have MS
> approval for publication, so I guess you can't.
> </snip>

The previous poster *had* been uninformed, and I see nothing wrong with
Jim pointing out the problematic nature of the MS licence restriction
with regard to benchmarks. It was certainly an abrupt post, but I don't
think it was entirely unmerited given the absurd nature of the claim.

> > Such a comparison was invited - you can hardly blame Jim for the thread
> > being here in the first place!
> >
> No, but a more...how would you say it...professional approach may have been
> worthwhile.

I take it you consider posting "[Java can't] execute reasonably fast" to
be a professional approach then, given that you claim that only one side
(which I assume to be the Java one) has given you cause to criticise it?

> > He can't post very much real data, to be honest - as he frequently points
> > out, the MS licence prohibits it.
>
> most licenses prohibit real benchmark data, including, i'm sure, a number of
> java vm's\products

I don't believe the Sun JVM does, which means it would be perfectly legal
to post benchmarks here between the Sun JVM and .NET if MS allowed it.



> > The two most important ones are obvious:
> >
> > o Java is a multiplatform production environment here and now. .NET/C#
> > are multiplatform in a beta-type way, and MS has said it may well use its
> > patents to quash production implementations on other platforms.
> >
> that is a difference, not nessecerily better

It's necessarily better if you require or desire a multiplatform
language.



> > o .NET/C# are much better at interoperating with existing Windows
> > components. There are COM bridges for Java, but I doubt that they're as
> > well integrated as .NET manages, for obvious reasons.
> >
> this too is a difference, not nessecerily better

Again, it's necessarily better if you require or desire good COM
integration. In both cases, they are advantages, one for .NET and one for
Java.

> > So you're quite happy to only bash one side of an argument, even if you
> > think both sides are making silly comments? I'm afraid that doesn't sit
> > well with me - especially when you choose to bash the side which is
> > inherently going to have fewer adherents.
> >
> well, sorry to say, i happen to support C# over java, and i consider jims
> points to be the worst of the two.

You support C# over Java despite not having "any real experience in Java"
(in your own words)? If I had no experience in something, I'd not claim
to have enough evidence on which to base an opinion, which I thought was
actually the stance you were taking.

> > In my experience they're more open to discussion than the C# group is -
> > at least by the looks of this thread.
> no one on this thread, java or C# is to open to discussion.

There have been many other .NET/Java threads on the Java newsgroups.

> > Are you claiming I can't even see what C# is? Gee, thanks. I guess I must
> > have posted over a thousand articles of complete rubbish to this group in
> > your view then.
>
> first, note the almost, if you had been included, perhaps that would not
> have been there. if your gonna read these posts, learn the difference
> between almost every and every, its a simple semantic difference.

Indeed - and I noted that, hence the question. I still find your view
rather patronising though.

> > I don't tend to like people who will only join in on what looks like the
> > winning side.

> I join on the side i support more, and in this case, it happens to be the
> C#.

Whereas in another post you wrote:

<quote>
If this was a java group, i'd be far more on his side, and i'd expect teh


pro-c# boys to have a considerably stronger piece of informative backing.

</quote>

> as for not liking people who will only join in on what looks liek the
> winning side
> i'm not to fond of people who will avoid the winning side simply to do so,

Do you have any evidence that either Jim or I have done so?

> > Have another look at the post Jim replied to, and his reply. Which bit of
> > it is actually incorrect?
> both.

If the original post (by Gregory) was incorrect, then Jim's claim that he
is uninformed cannot be, can it? Or are you claiming that Jim's part
about the MS licence restrictions is incorrect? Which *exact* part of
Jim's post is incorrect?

> > In my view Jim comes over as being a lot more objective than those who
> > merely write that Java can't execute reasonably fast.

> maybe yoru view is flawed
> simply saying no, its the other way around is completly unobjective

Any less objective than just saying, "[Java can't] execute reasonably
fast"?

> > Um, what's an add on? The applications? Well, yes, they're
> > separate applications rather than part of the platform itself, but I
> > believe they only use normal Swing (and whatever other L&F you wish to
> > use).

> granted, i don't use java and i'm not sure waht exactly L&F is, but by
> saying "addon",i mean ANYTHING that isn't there vanilla

The JGoodies look and feel isn't vanilla, but I rather suspect that using
the normal Windows look and feel would still give a perfectly well-
performing app - and bear in mind it was *performance* that was being
discussed.

> > > Second, few java apps i've seen actually use that kind of thing, and
> common
> > > usage has alot more to do with things than what they can be used to do,
> and
> > > those apps weren't that amazing looking
> >
> > Yeah, and the VSS GUI is terrible too - that must make Win32 stink,
> > right?
> >
> only if VSS was the best win32 app(UI wise, that is) i'd ever seen

Ah, so we're only to compare best-in-class UIs? In that case, where do
your not-so-hot Java apps come into it?

> as i said, COMMON, not just one make or break;
> learn to read english a bit better, you are taking a black and white stand
> on words that have no absolute meaning.

No, I'm merely trying to get you to make an apples-to-apples comparison:
either you compare good Swing apps with good Windows apps, or "what can
be done really quickly" apps with each other. I've seen some awful
Windows UIs knocked up in the past. Personally (as a professional) I'd
rather compare what can be realistically achieved - and I believe Karsten
is willing to share his experience with others. (I think he was talking
at one stage about writing a book...)

> > Where did he imply that? He was just pointing out that some of the pro-C#
> > posters were talking drivel, plain and simple.

> that is merely the implication his posts give off.

Where though? I certainly haven't seen it.

Jon Skeet

unread,
Dec 28, 2002, 5:35:49 PM12/28/02
to
per...@xs4all.nl wrote:
> > I'm positive Jim has tried C# - I rather suspect your bias against Java
> > programmers (see later) is coming into play here.
>
> IF he has tried C# in full, which takes several months of full time
> (and I mean FULL TIME, 8-9 hours of keyboard-killin' coding), he
> wouldn't have come up with newbie arguments about C# and .NET, like
> if .NET is written in C# (or in a CLR compliant language for that
> matter)...

I very much doubt that many other participants in this thread have had
that experience with Java, and some may not have had that much experience
in .NET. I know I'm a fairly recent .NET newcomer, but I still consider
myself experienced enough to participate in this discussion.



> > "Java already has attributes. They are part of the VM specification.
> > Section 4.7 to be specific."
>
> This might be true, but in some point in time, generics are
> part of the VM spec as well, however not available in the
> majority of VM users.

Actually, I don't *think* generics are any part of the current VM spec.
I'm not even sure whether they'll be part of the new VM spec - I don't
think they *have* to be, seeing as the current generics prototype works
perfectly well on existing VMs.

> (Generics are one of the things Sun has done
> wrong in Java though, instead of re-organising hte VM to handle
> generics natively, they're going to compile generic code to
> non-generic bytecode. A missed oppertunity. (The generic code
> MS research is working on is however brilliant, if I might add)

I agree - it does look excellent. It may surprise you to learn that I
pointed them out in a Sun generics forum a while ago, in the hope that in
the time remaining before Sun release 1.5, they might learn something.

> > A very brief explanation of Java3D, and pointing out that there are Java
> > OpenGL bindings.
>
> ...which was wrong. Java3D is a 3D engine, a scenegraph, OpenGL is
> a renderlibrary.

I don't believe Jim actually said it was a render library.

> 2 total different things. .NET has now a
> full DX9 library, in managed code. Nice, not a 3D engine.
>
> Even APL has an OpenGL stub for using OpenGL.

Jim was replying to a comment which suggested that .NET's OpenGL library
was an advantage C# had over Java. Jim replied pointing out the existence
of Java3D *and* the existence of OpenGL APIs. Seems reasonable to me.

> >> Heathly criticism is one thing
> >> belting someone cause tehy think different is another.
> >
> > Which does "haha, god your an ass" count as?
>
> A humourous description :) Come on, Jon, this is usenet, if you
> don't have the skin of an elephant, don't post in rival newsgroups
> as the advocate of a competing language ;)

It's still belting someone cause they think differently though, isn't it?

I fail to see how one person being rude is fine, while another being rude
isn't.



> > People who post that Java doesn't execute reasonably fast don't even
> > want to hear what's different though.
>
> O I want to hear what's different.

Yes, but you never made the absurd claims, did you?

> That's why I said earlier (which
> was totally ignored by your pal Jim) that it was more wise to
> just talk about what is different so we can learn from eachother
> than to take this pissing contest any further.

Who started the pissing contest though? Who made the first ridiculous
claim?

> >> Another point, he's comparing a language and framework that has bee
> >> naround how long now? to a near infantile language.
> >
> > Such a comparison was invited - you can hardly blame Jim for the thread
> > being here in the first place!
>
> err, isn't it Jim's choice he's in htis thread,

In which case everyone in the thread should be damned equally - and yet
Daniel only decides to attack Jim on this front. Odd, don't you think?

> > He can't post very much real data, to be honest - as he frequently
> > points out, the MS licence prohibits it.
>
> oh! that's a good one :D :) "The license prohibits me to post
> evidence". I think that works for 'us' too :)

Are you denying that the licence prohibits benchmarks being posted
without approval from microsoft?



> > o Java is a multiplatform production environment here and now. .NET/C#
> > are multiplatform in a beta-type way, and MS has said it may well use
> > its patents to quash production implementations on other platforms.
>
> newsflash for you: no-one gives a rat's ass about multiplatform.

Newsflash for you: *you* may not, but others do.

> I'll tell you why: it's the functionality provided in the NETWORK
> what counts. So it doesn't matter on what platform the
> functionality runs on, HOW it's build, in what toolkit, the one
> and only thing that matters is this: can you access it easily and
> use the functionality easily? If that's both a 'YES!', then you're
> done.

Not if your customer wants it on one platform and you don't supply it on
that platform.

The company I work for has made sales on Linux, Solaris and (IIRC) one of
the BSDs. Are you suggesting we shouldn't give a "rat's ass" about that
revenue?



> > o .NET/C# are much better at interoperating with existing Windows
> > components. There are COM bridges for Java, but I doubt that they're as
> > well integrated as .NET manages, for obvious reasons.
>
> However some developers say COM-interop is important, I'm not sure
> it will have that much impact.

It may not be important for many people (it's not currently important for
us) but for those to whom it *is* important, it's clearly an advantage.

> > Are you claiming I can't even see what C# is? Gee, thanks. I guess I
> > must have posted over a thousand articles of complete rubbish to this
> > group in your view then.
>
> ... articles which mostly pointed out negative news about C#, or
> were 90% of these articles answers to questions here ?

The latter, as I hope you know. If you don't, I suggest you look at my
posting history - it's all available on google.



> > I don't tend to like people who will only join in on what looks like the
> > winning side.
>
> heh, well if you join a C# newsgroup and you start advocating Java,
> I think you should thought of the possibility of not gaining that
> much ground, BEFORE you joined that newsgroup :)

And of course I didn't join the C# newsgroup for any such reason.



> > In my view Jim comes over as being a lot more objective than those who
> > merely write that Java can't execute reasonably fast.
>
> I disagree. I can't recall a remark from Jim where he shows that
> he has used C# for a substantial period of time so he is in his
> right to make any claim at all about C#. I mean, confusing C# with
> the API... come on :D

In that case, I suggest you apply the same criterion to the rest of the
posters in this thread. How many *language features* of C# have been
raised?

And do you suppose that those who have made the ridiculous claims about
Java have used *that* for a substantial period of time?

Daniel O'Connell

unread,
Dec 28, 2002, 6:01:11 PM12/28/02
to
perhaps you should be more careful in your posts in the future
a multipost is different from a crosspost
and i niether browse the java group, nor read your original reply,

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message
news:Od6GpAsrCHA.2516@TK2MSFTNGP09...


> Daniel O'Connell wrote:
> > the point of it is,
> > he's for one, preaching to the opposing congregation, which rarely, if
ever,
> > actually gets you anywhere.
>
> Only if you choose to ignore facts.
>
> > if this was a java group, i'd be far more on his side, and i'd expect
teh
> > pro-c# boys to have a considerably stronger piece of informative backing
> > Now, i don't agree on either end, as i don't happen to have any real
> > experiance in java, and cannot make a fair comparison, however, it seems
to
> > me that he is in no way able to make one himself.
>
> How so? I've already stated that I've made posts in the past including
> code to compare C# and Java. Just the simple fact that I've written and
> executed such code would seem to invalidate any claim that I cannot make
> a comparison.

why not repost some of them, instead of assuming everyone read your posts?


>
> > And, althought i'm
> > interested in learning java sometime in the future, his posts have
> > successfully made me decided to push that off until i finish other
things.
>
> Very odd. Deos the idea of truly cross-platform performant code bother
> you for some reason?
>

not any specific one, other than that i don't need it, and don't really care
to deal with other systems, as so far, linux\freebsd don't really offer me
much more than a cheaper price tag, and considering how much i spend a year
on computer parts, etc, windows licenses really don't bother me much.

as for my clients, cross platform is a no-op, it isn't gonna happen,
half of them are lucky they can send email, i have to dumb down apps often
to make them usable,
its what i get, i guess.


> > A languages community is as important, if not more important, than the
> > language itself when you are trying to learn it, and a community of
"we're
> > better cause we say so" people isn't gonna help anyone in any light.
>
> So you are not in favor of the current C# community, which says exactly
> that. You did see the post claiming that Java cannot be used to create
> fast Windows apps right? You also are aware that another individual
> agreeing with that statement later stated that all his Java code is 5+
> years old, running on an ancient VM, yes?
>

on this, id on't particularly agree with the posting community on this
thread , however, it isn't exactly a fair representation of anything


> > Provide benchmarks,
>
> The EULA forbids it.
>
> > repute peoples claims with real information,
>
> Done.
>
> > not your own brand of marketing slurry.
>
> Feel free to point out where I've done anything of the sort.
>
> >
> > The one link he provided, about nice looking GUI's, while it showed a
nice
> > looking swing GUI in its screen shots, they still looked decidedly unix
> > like, albeit fairly nice unix-like, which really did not provide any
kind of
> > argument to the preceding one that java tends to create unix looking
UI's,
> > he actually supported it while believing he was arguing it.
>
> I'm sure Karsten Lentzsch would be interested in hearing your comments
> on the Unix-like look. Especially in light of the fact that the
> JGoodies Windows Look anf Feel description states:
>
> "The JGoodies Windows look&feel focuses on a precise emulation on
> Windows 95/98/NT/ME/2000 in the following areas: menus, icons, colors,
> borders, fonts, font sizes, insets, and widget dimensions. It honors the
> screen resolution (96dpi vs. 120 dpi) to adjust sizes, insets, and
> widget dimensions."
>
> Karsten has likely forgotten more about the Windows GUI than you and I
> will ever know combined.
>

very possibly, but then, maybe not, those screenshots had a few bits that
automatically said "unix", nice unix, but still "unix" conceptually, since i
didn't try them, i don[t know how the pieces behaved, perhaps when i have
some more time, i'll toy aroudn with one or two of them, for the moment i
have some stupid ADO.NET problem i gotta figure out,


> >
> > if you boys are gonna argue on these holy wars, why doesn't someone
actually
> > SHOW whats better and whats worse, provide examples, code snippets,
> > something that might actually be IMPORTANT,
> > not this preaching, if all your here for is to preach about java, go
some
> > where else.
>
> And leave wildly inaccurate comments such as
>
> "C# can run GUI applications *quickly* on windows, Java cannot."
>
> hanging out there for those unfamiliar with Java (such as yourself) to
> accept as truth? How is that helpful?
>

first, i'm not foolish enough to accept anythign that blatent as truth, if
you are, then maybe problems are deeper than just a language choice

> > if your here to support java when questions of this magnitude come up,
then
> > support it, provide examples and real proof, and make eloquent
arguments,
> > not these your wrong, "go to hell, i don't gotta prove nothing cause
your
> > wrong", pointless disputes.
>
> Where have I said anything of the sort, aside from stating that a
> response was uninformed in light of all the other information that has
> been posted in this thread?
>
> >
> > All in all, i don't believe anyone has yet answered the intial question,
and
> > all Jim managed to do was covolute the issue far more.
>
> Actually, I was one of the first people to answer the question which was
> multi-posted to comp.lang.java.programmer. Here is my original reply:
>
> "If you are talking about the Java libraries versus the .NET libraries,
> then the answer is of course yes, and it would take a book to outline
> what either one can do that the other can't. For example, a Java
> application will run on Windows 95, whereas a .NET app will not. A Java
> app can have icons on menu items under Windows NT, whereas a .NET
> application cannot."
>
> Is that 'marketing slurry'?

no, but clearly biased, ;)

Jim Sculley

unread,
Dec 28, 2002, 5:56:45 PM12/28/02
to
Frans Bouma wrote:
> Jon Skeet <sk...@pobox.com> wrote in
> news:MPG.187800858...@news.microsoft.com:
>
>
>>onyx...@attbi.com wrote:
>>
>>>the point of it is,
>>>he's for one, preaching to the opposing congregation, which rarely, if
>>>ever, actually gets you anywhere.
>>
>>On the other hand it's a rather more brave thing to do, and one which
>>more often results in actual benefits. Slapping each other on the back
>>and congratulating each other on a good job isn't nearly as conducive to
>>improving things as healthy criticism.
>
>
> I think Daniel's point is about constructive criticism, not
> just criticism :)

And what exactly have I criticized aside from a remarkably inaccurate claim?

>
>
>>>if this was a java group, i'd be far more on his side, and i'd expect
>>>teh pro-c# boys to have a considerably stronger piece of informative
>>>backing.
>>
>>A point of view is a point of view, regardless of forum. The same level
>>of evidence should be provided either way.
>
>
> true. but I get the feeling (pun intended) that the 'feel'
> of several applications on either side is mandatory in the decision
> if an application is 'fast' on a certain platform. No-one has
> delivered benchmark results to justify any claims (me neither, I'm
> aware of that)

No one ever will either. The EULA prohibits it. In any event, I *have*
provided code in the past, which anyone is free to try out. Granted,
any results from a 1.1.x era JVM will be considered meaningless.

>
>
>>>Now, i don't agree on either end, as i don't happen to have any real
>>>experiance in java, and cannot make a fair comparison, however, it
>>>seems to me that he is in no way able to make one himself.
>>
>>I've known Jim a while, and he certainly seems to be in a better
>>position to make comparisons than many other participants in this
>>thread. I suspect he's got more Java experience than almost anyone else
>>in this thread, for a start. I'd be very interested to know how much
>>*practical* and in-depth experience of Java the rest of the participants
>>have. If the comments are anything to go by, not a lot.
>
>
> Jon, this is a C# newsgroup.

How is that relevant when ridiculous claims have been made about Java?
Should a person only be honest and truthful where doing otherwise would
be noticed?

> I couldn't care less if his middle
> name is "Java" or that his first language is Java and then English
> ;). We've had a lot of Java-pundits here this year, and most of the
> time nothing has come out, which is a shame.

I don't recall seeing many Java pundits at all.

> If you know Jim,
> I'm sure you can push that "stop being a wise-ass, start being
> helpful"-button so we can learn from Jim's experiences with Java

How can I be more helpful than by giving honest answers and opinions?
If I wanted to be a wise-ass, there have been ample opportunities to do so.

> and Jim can learn from our experiences with C#. Especially that
> last thing isn't an option it seems, which is sad, because he's
> in a C# newsgroup, so made the choice to discuss with C#-
> developers.

I've learned quite a bit about C# here. I suspect I've learned far more
about C# here than anyone has bothered to learn about Java, even when
the code is served up buffet-style. Words cannot describe how
aggravating it is to take the time to craft some Java code to make a
point only to have the evidence ignored.

<snip>

>
> hmmm, check the newsgroup's name, Jon :) Do you really expect
> that in a C# newsgroup which is crowded with C#-enthousiasts,
> people are not underlining C#-advantages? :)

Underlining advantages is fine. Making claims with no supporting
evidence is not.

<snip>

>
>
> Unix-like: huge buttons with small words, a lot of 'grey' space on
> forms, odd-looking widgets you only see in linux-themes, X11 and
> XP themes made by drunk 13-olds. ;)

Er, exactly what screenshot are you looking at?

>
> Unix-like guis can be described as 'programmer art'.
>
> About the performance: I think we can all agree that either
> widget lib, be it winforms, swt, swing, awt or what have you,
> can perform up to some limit, but will never be as fast as
> the native set provided by the OS, written in C++.

Probably not. Do you truly believe that widgets with assembly-like
speed are relevant? The user simply won't notice after a certain point.
In my opinion, Java passed that point quite some time ago. Since
you admit to using a VM that is older than most computers, I don't see
how you can possibly consider yourself qualified to comment on Java's
performance. Swing in particular, since you VM doesn't even support it.

>
>
>>>All in all, i don't believe anyone has yet answered the intial
>>>question, and all Jim managed to do was covolute the issue far more.
>>
>>Whereas in my view Jim's managed to show that the views such as "Most
>>VMs are utterly slow on Windows" and "[Java can't] execute reasonably
>>fast" aren't universally upheld.
>
>
> err, where did Jim prove that JVM's are faster or at least as
> fast as .NET's CLR, a cornerstone of his arguments?

In any number of previous posts. A global comparison is of course
impossible, but more than one example, fro ma widecrange of tasks can be
found in previous posts. Google is your friend.

Jim S.

Jim Sculley

unread,
Dec 28, 2002, 6:00:31 PM12/28/02
to
Frans Bouma wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:#GpcxdrrCHA.2372
> @TK2MSFTNGP12:
>
>
>>Frans Bouma wrote:
>>
>>>Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in news:
>>>#qIlmmprCHA.2448@TK2MSFTNGP10:
>>>
>>>>Perhaps. Can you point me to some MS created C# applications?
>>>
>>>
>>> Grab 'Rotor', the cross platform implementation of the ECMA
>>> standard, by MS. The .NET library provided with Rotor is
>>> completely C#.
>>
>>I said applications. Rotor isn't an application.
>
>
> it isn't? what is it then, a musicfile? :)

An implementation of the C# and CLI ECMA specifications. In the more
general sense, a programming framework. Nothing like an application at
all really.

>
>
>>> If you believe me on my word, just grab the .NET runtime and
>>> you have a very large piece of C# code in your hands :D
>>
>>No, I have a large piece of code which may or may not be C#, and I am
>>forbidden by the EULA from determining whether it is or is not C#.
>
>
> You could also read this newsgroup, it has been posted by MS
> employees more than once (I believe even Eric Gunnerson has)

Then you should have no trouble finding a refernce that says as much.
The onus of supporting a claim lies with the individual who makes the
claim.

Jim S.

Frans Bouma

unread,
Dec 28, 2002, 5:58:48 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187831d45...@news.microsoft.com:
> onyx...@attbi.com wrote:
>> > I'm positive Jim has tried C# - I rather suspect your bias against
>> > Java programmers (see later) is coming into play here.
>> >
>> he behaves as if he hasn't, doesn't compare language concepts or really
>> show any knowledge of C#
>
> He shows a lot more knowledge of C# and .NET than others in this thread
> have shown of Java.

He mentions he has used SharpDevelop somewhere, however I can't
really say he knows what .NET really is, which isn't bad though,
it takes a lot of time to truely learn the ins and outs of .NET
and C#, and if you spend your time on developing Java applications
you simply CAN'T know .NET that good. That's fully ok with me,
but don't come here as the C# expert who will tell us, C#-jehova's
without a clue, how wrong we all see the world ;)

(oh, and I did do some java back in 1995-1997, but that's an
awful long time ago, so indeed, that doesn't count ;))

>> > Ridiculous claims tend to spark off such replies, to be honest. Human
>> > nature.
>> >
>> that'll i'll agree with
>> since its why i responded to him,
>> i dislike rude posters and sometimes become rude myself in response.
>
> Did you not think that the original ridiculous claims about Java were
> rude in themselves?

IF they were rude for java, then so what, Jon? This is a C#
newsgroup, it's about C#. If someone talks about VB.NET here like
some people tended to do last week, how great it is and how much
better it is than C#, then I wonder why they take the effort to
preach something else, something opposite to the topic of this
newsgroup? Most people in this thread know that you have to
learn pro AND con's about the platform you work with. Do you
really believe I don't know a long list of crappy things related
to .NET and C#?

You feel the obligation to defend Java's name and fame here. That's
your right and by all means, do so. But I find it then a bit odd,
when I read here, typed in by java-pundits, that we're a bit too
biased towards C#, here in our own newsgroup. Check out the
java advocacy newsgroup and read about the .net/c# articles.

You can believe me, Jon, I really don't think Java or .NET make
that much of a difference when it comes to speed or useability.
With the java experiences I have and the .NET experience I have
I tend to feel more for the .NET camp, but that's my solely
opinion and yours and Jim's are different, ain't that great :)

We all know here Java is a professional, solid, mature platform,
and we (but not you) also know .NET is not far away from that
same title, it might even be a professional, solid, mature
platform already (I find it so, and I'm definitely not a rookie
I can tell you that). However this is the C# newsgroup so
we like to talk about C# and want to express our love for the
language and the .NET platform. Give us a break, it's the only
spot on usenet where we can! ;) :)

>> > Which does "haha, god your an ass" count as?
>> >
>> simple
>> an assinine and rude reply to an assinine and rude comment
>> <snip>
>> Another uninformed poster. Can you point me to some independent
>> benchmarks that show this? Oh wait. All .NET benchamrks must have MS
>> approval for publication, so I guess you can't.
>> </snip>
>
> The previous poster *had* been uninformed, and I see nothing wrong with
> Jim pointing out the problematic nature of the MS licence restriction
> with regard to benchmarks. It was certainly an abrupt post, but I don't
> think it was entirely unmerited given the absurd nature of the claim.

err Jim's remark here IS a troll. Large benchmark tests do cost
a hell of a lot of money and are thus funded by companies.
However if you say 'the test is funded by the company who is
owner of the winning product, it is flawed', you also say
the testing company is corrupted and a slave of the paying
company. THAT's a claim jim can never prove as being correct.
Which in my eyes justifies the term "troll".

May I remind you and Jim of the 'Mindcraft'-incident? Everyone
cried fool however Linus later admitted the criticism on
Mindcraft wasn't correct at all and the tests were legitimate.

(But I agree that the pet shop example shouldn't have been used
as a benchmarktest)



>> > He can't post very much real data, to be honest - as he frequently
>> > points out, the MS licence prohibits it.
>>
>> most licenses prohibit real benchmark data, including, i'm sure, a
>> number of java vm's\products
>
> I don't believe the Sun JVM does, which means it would be perfectly
> legal to post benchmarks here between the Sun JVM and .NET if MS allowed
> it.

Benchmarking is a profession, not an 'activity'. You have to
benchmark in a controlled environment and you have to use
a benchmark which is useable as a quality test.

>> > o .NET/C# are much better at interoperating with existing Windows
>> > components. There are COM bridges for Java, but I doubt that they're
>> > as well integrated as .NET manages, for obvious reasons.
>> >
>> this too is a difference, not nessecerily better
>
> Again, it's necessarily better if you require or desire good COM
> integration. In both cases, they are advantages, one for .NET and one
> for Java.

COM integration is excellent in .NET, however 'COM' is a tech
that is hard to maintain: you can't simply copy a new DLL over the
old one, you have to first remove the existing components from
memory etc. It's not a technology you want to use in a 'new'
application.

>> > So you're quite happy to only bash one side of an argument, even if
>> > you think both sides are making silly comments? I'm afraid that
>> > doesn't sit well with me - especially when you choose to bash the
>> > side which is inherently going to have fewer adherents.
>> >
>> well, sorry to say, i happen to support C# over java, and i consider
>> jims points to be the worst of the two.
>
> You support C# over Java despite not having "any real experience in
> Java" (in your own words)? If I had no experience in something, I'd not
> claim to have enough evidence on which to base an opinion, which I
> thought was actually the stance you were taking.

You _CAN'T_ have any real experience in another platform without
spending a lot of time using that platform. Plain and simple.
And I can fully understand someone chooses a platform A over
platform B simply because the people who use platform A are
nicer while both platforms are not that much different.

>> > Have another look at the post Jim replied to, and his reply. Which
>> > bit of it is actually incorrect?
>> both.
>
> If the original post (by Gregory) was incorrect, then Jim's claim that
> he is uninformed cannot be, can it? Or are you claiming that Jim's part
> about the MS licence restrictions is incorrect? Which *exact* part of
> Jim's post is incorrect?

Jim's seeking an excuse for not admitting he's wrong.

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
&safe=off&selm=u6H8xqvoCHA.1236%40TK2MSFTNGP12&rnum=96

there. It's posted in the newsgroup, THIS newsgroup.
A decompiler will not prove you're right, VB.NET code which
is compiled will show up as C# in Anakrino. However, checking
out which dll's are managed code will tell you there is managed
code used in the application.

>> > In my view Jim comes over as being a lot more objective than those
>> > who merely write that Java can't execute reasonably fast.
>
>> maybe yoru view is flawed
>> simply saying no, its the other way around is completly unobjective
>
> Any less objective than just saying, "[Java can't] execute reasonably
> fast"?

o for f*ck sake... 'reasonably' is a subjective argument.
what's acceptable for you isn't acceptable for another person,
so you can't debate 'reasonably'. Stop it, please.

>> > Yeah, and the VSS GUI is terrible too - that must make Win32 stink,
>> > right?
>> >
>> only if VSS was the best win32 app(UI wise, that is) i'd ever seen
>
> Ah, so we're only to compare best-in-class UIs? In that case, where do
> your not-so-hot Java apps come into it?

Oracle's tools, all java, all look like ass, Sybase's tools,
all java, all look like ass. Do I have to go on? ALso moot
arguments, but so is yours.

Daniel O'Connell

unread,
Dec 28, 2002, 6:13:44 PM12/28/02
to
oddly enough, the first ridicioulus claim, i think, was made by someone who
gave up on this entire argument before i even chimed in.
"Jon Skeet" <sk...@pobox.com> wrote in message
news:MPG.187837a3d...@news.microsoft.com...

Jim Sculley

unread,
Dec 28, 2002, 6:16:15 PM12/28/02
to
Frans Bouma wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
> news:eEjKmZrrCHA.1640@TK2MSFTNGP09:

<snip>

>>
>>This again begs the question of why VS.NET isn't C#. If MS wanted to
>>showcase some (supposedly) new and interesting langauge, wouldn't a high
>>profile application using it make sense?
>
>
> the whole darn platform is written in C#, what more do you want?

Some evidence of this would be nice.

> "No that's not enough, I want the IDE in C# too!".

A pointer to any non-trivial MS C# app will do.

>
>
>>>My understanding is that the Microsoft CRM product will be written in
>>>.NET, though I don't know whether it's Managed C++ or C#. This is due
>>>out sometime early next year.
>>>
>>>Remember that .NET is only 10 months old.
>>
>>No, .NET is *at least* several years old. Just because it was released
>>10 months ago does not mean that it wasn't ready until that moment.
>>It's roots go way back to the times of COOL. You do remember COOL don't
>>you?
>
>
> COOL is always been a rumour. MS has never released any hard
> evidence about COOL.

Released no. Not intentionally anyway. However, the evidence is
overwhelming. Any number of web sites/news articles outlined the
specifics at the time.

> However, you're right, IF the rumours are
> true, MS was busy with a Java like language, but erm... Jim,
> they already released a JVM in what... 1997? .NET is at least
> 5 years old? ;)

Yes. Unless you believe MS poached Hejlsberg for the purpose of sitting
on his hands for several years.

Jon Skeet

unread,
Dec 28, 2002, 6:33:41 PM12/28/02
to
I'll reply more thoroughly in the morning, but I leave you to think over
a couple of things:

per...@xs4all.nl wrote:
> We all know here Java is a professional, solid, mature platform,

I would suggest there are posters in this thread who disagree with that -
and disagree with it in a childish manner.

> and we (but not you) also know .NET is not far away from that
> same title

I also disagree with the "(but not you)" part in the above. I'd be grateful
if you'd point out any posts where I suggest that .NET *is* far away from
being a mature, solid and professional platform.

You seem to be assuming that just because I choose to point out the
stupidity of some of the claims about Java, that I therefore dislike
..NET. That's not a logical assumption, nor is it a correct one. As I said
before, if someone posted unfair criticisms of .NET in a Java newsgroup,
I'd take them to task for those, too. Where does that leave your
assumption?

You might want to actually read over my posts again before jumping to the
conclusion that I'm an anti-.NET bigot. In fact, I think that .NET is
probably the best thing MS has done for years.

Frans Bouma

unread,
Dec 28, 2002, 6:22:08 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:e$3WlTsrCHA.1632@TK2MSFTNGP12:

> Frans Bouma wrote:
>>>I said applications. Rotor isn't an application.
>>
>> it isn't? what is it then, a musicfile? :)
>
> An implementation of the C# and CLI ECMA specifications. In the more
> general sense, a programming framework. Nothing like an application at
> all really.

ah, it doesn't have an '.exe' to start, indeed.
Perhaps a MS employee can help you further.

>>>> If you believe me on my word, just grab the .NET runtime and
>>>> you have a very large piece of C# code in your hands :D
>>>
>>>No, I have a large piece of code which may or may not be C#, and I am
>>>forbidden by the EULA from determining whether it is or is not C#.
>>
>>
>> You could also read this newsgroup, it has been posted by MS
>> employees more than once (I believe even Eric Gunnerson has)
>
> Then you should have no trouble finding a refernce that says as much.
> The onus of supporting a claim lies with the individual who makes the
> claim.

the link is still in my copybuffer :P
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
&safe=off&selm=u6H8xqvoCHA.1236%40TK2MSFTNGP12&rnum=96

I hope you'll enjoy the posting :)
(oh, it's the reply on point '7')

Frans Bouma

unread,
Dec 28, 2002, 6:14:03 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187834cb...@news.microsoft.com:

> per...@xs4all.nl wrote:
>> > Would you say that any of the criticisms of Java given in this thread
>> > have been constructive?
>>
>> Jon, I'm posting in a C# newsgroup, like I care if a remark
>> about java or donuts or cars is correct. The only thing I care
>> about are the remarks about C# and that they are correct.
>
> In that case you can't expect to have any meaningful debate about the
> advantages of one language/platform over another. Would you think it
> perfectly reasonable for me to post on a Java newsgroup that .NET runs
> as slow as molasses? (I don't for one minute think it does, by the way.)

I'm sure a lot of people have done that, and I really don't care.
Do you really think I believe some person who posts here texts
like "Java sux!! it's dogslow!"? Of course not. This is a C#
newsgroup. I'm perfectly well capable of judging if Java is
slow/useable/nice/complete by myself. Linux newsgroups are
full of hate against microsoft, .net. Java advocacy newsgroups
are not bragging about how nice C#/.NET is, but the other way
around. Should I care? Of course not! :) It's software for
crying out loud! I think it's more important to care about
the vulnerable peace on this earth than to care about some
loonie who thinks he can score a point by enlighing some
non-proven weak spot in a competing technology.

> What on earth is the point in a debate where only one side needs to be
> accurate?

You should wonder what's the point of debating java technology
in a C# newsgroup. I think that pretty much answers your
question.

>> And
>> sorry to say it, but I haven't seen Jim post any remark which
>> told me he knows anything about C# at all or about .NET for
>> that matter, which makes me wonder why on earth is he (or you)
>> posting in this newsgroup? To convert us? Have a nice time!
>
> Why should whether or not Jim has posted anything knowledgeable about C#
> have any bearing about why I'm posting in this newsgroup? Are you
> suggesting I would be better stopping posting in this newsgroup?

When you're solely talking about java, I think yes it's perhaps
better to stop posting java postings. So if you just can talk about
java, indeed, then there isn't much left to say then :D

>> > I hope you'll understand that when countering ridiculous claims such
>> > as "[Java can't] execute reasonably fast" detail is likely to be
>> > ignored by the original proponent, as if they were interested in the
>> > unbiased truth they wouldn't have made such statements to start with.
>>
>> I see that, but I also hope YOU two understand it's
>> breathtaking how pathetic some C#/.NET remarks from your sides
>> are. :) (NOFI).
>
> Not sure what NOFI means (no offence intended?), but please state one
> "pathetic" C#/.NET remark I've made. I'd be happy to be corrected.

NO Flame Intended :P

'your sides', was a generalisation of you and jim, the java-camp :)
You claimed in other postings that Jim's remarks were correct
when it came to .NET/C#. I beg to differ. You agreed with his
claims, which makes you also one of the persons who find these
claims to be true.

However, this argument starts to sound like an argument
a wedded couple would have "I said, when you said that you..."
"No! I said that when YOU said".. :)



>> > They're not though - they're (generally - there are exceptions)
>> > making ridiculous claims about Java, rather than saying positive
>> > things about C#.
>>
>> Yeah, well this is a C# newsgroup, expect
>> pro-C#/con-competitive language talk.
>
> And that would be fine - if it were actually *correct*.

oh, so the C# talk is also not correct?

>> I'm very sure in the *.java.* newsgroups it's
>> the other way around, one of the reasons I'm here and not
>> there,
>
> If people made the sort of ridiculous claims about .NET in the Java
> groups that people have made here about Java, I'd be just as quick to
> counter them there too.

save your heart, Jon, you have only one :)
It's just software, it's not a footballteam with fans and
haters. Hell, perhaps in 10 years we all are hammering out
java or all are hammering out some 4GL code, who knows?
Supporting something yuo like is ok, but know the limits
of where it is just supporting and where it becomes
religion :)

>> which again makes me wonder why you two are here and not
>> there, because it can't be because you all like C# so much ;)
>
> What makes you think I'm "not there"? You might want to do a
> groups.google.com search for my posting habits. (Likewise for Jim's.)

ok, let me rephrase: why are you defending java in a c# newsgroup?
or better: why are you talking about java in a C# newsgroup?
it's like talking about unreal tournament's great features on
the Quake3arena forums.

>> I can't help it, Jon, but they're
>> slow, even small windows and look different.
>
> Absolutely - the last time I used the Oracle GUI (can't remember which
> version) I hated it too. Then again, I get very annoyed by the VSS GUI
> as well - are you sure it's worth basing an opinion of a
> toolkit/language/platform on one app?

we all hate VSS, its gui, its database, its lack of features
and still we also love it in a weird S&M kind of way. Must be
true for Oracle tools as well I guess :)

>> This might sound like
>> a whiner's argument, but it's important to me because I don't
>> like gui-discrepancies because they will likely cause troubles
>> with my users when I use these libraries which will look
>> differently. (I then wonder why doesn't everyone in javaland
>> use SWT..)
>
> There are some reasons for not using SWT, partly in terms of invested
> developer experience, partly in terms of it not being supported by Sun,
> partly in terms of it being "lower level" (fewer widgets, less framework
> in place for MVC etc) partly in terms of a different model with regards
> to resource management, partly in terms of documentation. It's certainly
> spreading though. I personally think Sun could do a lot worse than
> embrace SWT as an alternative (rather than replacement) for AWT/Swing.

Isn't a toolkit an add-on, like the Oracle .NET provider is an
addon to .NET? So why would a developer care if Sun doesn't
support it? IBM supports it, Java's biggest friend.

>> > Where did I claim he did in the above? I said that he shows that the
>> > views espoused by some here aren't universally upheld, which indeed
>> > he does. He's shown areas where Java currently beats .NET in other
>> > threads, as have I and other posters - just as .NET beats Java in
>> > other areas.
>>
>> I must have missed that 'evidence' where java beated .NET,
>> then..
>
> Note the "in other threads". See earlier for a reference to such
> evidence - or there was another thread about JIT optimisation, where it
> was shown that HotSpot could inline virtual methods so long as they
> hadn't already been overridden by any loaded classes, whereas .NET's
> one-time JITting can't.

But then again, does it make a difference, inlining virtual
methods, which are most of the time overriden.

Frans Bouma

unread,
Dec 28, 2002, 6:38:38 PM12/28/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.187837a3d...@news.microsoft.com:
> per...@xs4all.nl wrote:
>> IF he has tried C# in full, which takes several months of full
>> time (and I mean FULL TIME, 8-9 hours of keyboard-killin'
>> coding), he wouldn't have come up with newbie arguments about
>> C# and .NET, like if .NET is written in C# (or in a CLR
>> compliant language for that matter)...
>
> I very much doubt that many other participants in this thread have had
> that experience with Java, and some may not have had that much
> experience in .NET. I know I'm a fairly recent .NET newcomer, but I
> still consider myself experienced enough to participate in this
> discussion.

My Java experience is rather old really (1.1 mostly) but still
am interested in what's going on so I try to keep up with what's
available but of course not in full, that's impossible.

You think you're experienced enough to join this discussion,
so others can too, I'm afraid, even if their experience is
rather slim.

>> > "Java already has attributes. They are part of the VM specification.
>> > Section 4.7 to be specific."
>>
>> This might be true, but in some point in time, generics are
>> part of the VM spec as well, however not available in the
>> majority of VM users.
>
> Actually, I don't *think* generics are any part of the current VM spec.
> I'm not even sure whether they'll be part of the new VM spec - I don't
> think they *have* to be, seeing as the current generics prototype works
> perfectly well on existing VMs.

generics will not be part of the VM spec, only in the language
spec. I really can't figure out why.

>> (Generics are one of the things Sun has done
>> wrong in Java though, instead of re-organising hte VM to
>> handle generics natively, they're going to compile generic
>> code to non-generic bytecode. A missed oppertunity. (The
>> generic code MS research is working on is however brilliant,
>> if I might add)
>
> I agree - it does look excellent. It may surprise you to learn that I
> pointed them out in a Sun generics forum a while ago, in the hope that
> in the time remaining before Sun release 1.5, they might learn
> something.

I thought 1.5 is already set in stone, but I can be wrong here.

>> 2 total different things. .NET has now a
>> full DX9 library, in managed code. Nice, not a 3D engine.
>>
>> Even APL has an OpenGL stub for using OpenGL.
>
> Jim was replying to a comment which suggested that .NET's OpenGL library
> was an advantage C# had over Java. Jim replied pointing out the
> existence of Java3D *and* the existence of OpenGL APIs. Seems reasonable
> to me.

ok (however 'java3d' was offtopic in that remark)

>> >> Heathly criticism is one thing
>> >> belting someone cause tehy think different is another.
>> >
>> > Which does "haha, god your an ass" count as?
>>
>> A humourous description :) Come on, Jon, this is usenet, if
>> you don't have the skin of an elephant, don't post in rival
>> newsgroups as the advocate of a competing language ;)
>
> It's still belting someone cause they think differently though, isn't
> it?

err, I found it a perfect description for someone who openly
says a testing company who spend a lot of time in coming up
with a java benchmark as being 'corrupt' and a slave of microsoft.
His accusations were simply trollish, without proof.

> I fail to see how one person being rude is fine, while another being
> rude isn't.

first of all, I don't think people should be rude to the bone,
but discussions can get rough sometimes and I think that's
perfectly fine. Jim was, to me, insulting without proof (see
above) and then you deserve a 'name', be it troll or whatever ;)

>> > People who post that Java doesn't execute reasonably fast don't even
>> > want to hear what's different though.
>>
>> O I want to hear what's different.
>
> Yes, but you never made the absurd claims, did you?

o yes I did. I did say that Sun's JVM was slow on windows and
the only VM which was fast was MS's JVM.

>> That's why I said earlier (which
>> was totally ignored by your pal Jim) that it was more wise to
>> just talk about what is different so we can learn from
>> eachother than to take this pissing contest any further.
>
> Who started the pissing contest though? Who made the first ridiculous
> claim?

hmm, do I get a cookie if I get it right? ;)
Seriously, is it important?

>> > Such a comparison was invited - you can hardly blame Jim for the
>> > thread being here in the first place!
>>
>> err, isn't it Jim's choice he's in htis thread,
>
> In which case everyone in the thread should be damned equally - and yet
> Daniel only decides to attack Jim on this front. Odd, don't you think?

this is a C# newsgroup. ANY talk about whatever g*dforgiven
language you come up with is offtopic. If someone starts bragging
how wonderful java is, here in the C# newsgroup, I seriously
start thinking about hitting 'K' and send him off to my killfile.
There is already enough craptalk going on between the vague
boundaries of the 'holy wars'.

>> > He can't post very much real data, to be honest - as he frequently
>> > points out, the MS licence prohibits it.
>>
>> oh! that's a good one :D :) "The license prohibits me to post
>> evidence". I think that works for 'us' too :)
>
> Are you denying that the licence prohibits benchmarks being posted
> without approval from microsoft?

I live in The Netherlands, Europe, a country were you can
buy marihuana legally, gays can marry, abortion and euthanisia
is legalized and shrinkwrapped licenses are void. It's very
unlikely I can't publish benchmark results because some license
prohibits that. In the US, it's probably forbidden, because the
EULA says so, here that's not automatically the case.

If I run a simple testprogram on both a JVM and .NET and post
the results here, no judge here in Holland will allow a lawsuit
against me, based on that EULA, trust me on that. Contracts are
only legal when they are signed. A click on a button isn't
signing a contract.

>> > o Java is a multiplatform production environment here and now.
>> > .NET/C# are multiplatform in a beta-type way, and MS has said it may
>> > well use its patents to quash production implementations on other
>> > platforms.
>>
>> newsflash for you: no-one gives a rat's ass about
>> multiplatform.
>
> Newsflash for you: *you* may not, but others do.

of course do others care. However they are mostly blind and
think multi-platform is a key issue. It's not. Sun knows that
for years. Sun doesn't use that KEY selling point for java
anymore. Go figure.

>> I'll tell you why: it's the functionality provided in the
>> NETWORK what counts. So it doesn't matter on what platform the
>> functionality runs on, HOW it's build, in what toolkit, the
>> one and only thing that matters is this: can you access it
>> easily and use the functionality easily? If that's both a
>> 'YES!', then you're done.
>
> Not if your customer wants it on one platform and you don't supply it on
> that platform.

I never had that problem. It's not important, most organisations
have heterogenous environments, so a box with XYZ on it more or
less isn't an issue.

>> > In my view Jim comes over as being a lot more objective than those
>> > who merely write that Java can't execute reasonably fast.
>>
>> I disagree. I can't recall a remark from Jim where he shows
>> that he has used C# for a substantial period of time so he is
>> in his right to make any claim at all about C#. I mean,
>> confusing C# with the API... come on :D
>
> In that case, I suggest you apply the same criterion to the rest of the
> posters in this thread. How many *language features* of C# have been
> raised?

How many times do I have to remind you this is a C# newsgroup?
Does someone here has to tell a reader of this newsgroup
what C# is and what it does? No.

Jon Skeet

unread,
Dec 28, 2002, 7:02:43 PM12/28/02
to
per...@xs4all.nl wrote:
> My Java experience is rather old really (1.1 mostly) but still
> am interested in what's going on so I try to keep up with what's
> available but of course not in full, that's impossible.
>
> You think you're experienced enough to join this discussion,
> so others can too, I'm afraid, even if their experience is
> rather slim.

Yes, and if they post stuff they can't back up, they should expect


> >> > "Java already has attributes. They are part of the VM specification.
> >> > Section 4.7 to be specific."
> >>
> >> This might be true, but in some point in time, generics are
> >> part of the VM spec as well, however not available in the
> >> majority of VM users.
> >
> > Actually, I don't *think* generics are any part of the current VM spec.
> > I'm not even sure whether they'll be part of the new VM spec - I don't
> > think they *have* to be, seeing as the current generics prototype works
> > perfectly well on existing VMs.
>
> generics will not be part of the VM spec, only in the language
> spec. I really can't figure out why.

Because of the way they've implemented them in a backwardly compatible
way - the bytecode isn't generic, as you said before. I agree, it's a
shame. But I can't see how this fits in with you saying: "generics are
part of the VM spec as well". Are you withdrawing that?

> > I agree - it does look excellent. It may surprise you to learn that I
> > pointed them out in a Sun generics forum a while ago, in the hope that
> > in the time remaining before Sun release 1.5, they might learn
> > something.
>
> I thought 1.5 is already set in stone, but I can be wrong here.

Nope - there's still plenty of time left. I believe it's only scheduled
for Q3 2003.

> >> > People who post that Java doesn't execute reasonably fast don't even
> >> > want to hear what's different though.
> >>
> >> O I want to hear what's different.
> >
> > Yes, but you never made the absurd claims, did you?
>
> o yes I did. I did say that Sun's JVM was slow on windows and
> the only VM which was fast was MS's JVM.

True, true. I withdraw the above (both parts).



> > Who started the pissing contest though? Who made the first ridiculous
> > claim?
>
> hmm, do I get a cookie if I get it right? ;)
> Seriously, is it important?

I think it's important if someone decides that in the name of decency
they'll insult people participating in a pissing contest - but decide to
only insult one side.

> > In which case everyone in the thread should be damned equally - and yet
> > Daniel only decides to attack Jim on this front. Odd, don't you think?
>
> this is a C# newsgroup. ANY talk about whatever g*dforgiven
> language you come up with is offtopic.

Assuming you'd say the appropriate reverse thing in a Java newsgroup,
where *would* it be on-topic to ask for the advantages of using C# over
Java, and vice versa?

> > Are you denying that the licence prohibits benchmarks being posted
> > without approval from microsoft?
>
> I live in The Netherlands, Europe, a country were you can
> buy marihuana legally, gays can marry, abortion and euthanisia
> is legalized and shrinkwrapped licenses are void. It's very
> unlikely I can't publish benchmark results because some license
> prohibits that. In the US, it's probably forbidden, because the
> EULA says so, here that's not automatically the case.

Does this mean you agreed to a licence without intending to respect it?
Shame on you ;) (Treat that as a *big* smiley, btw.)



> If I run a simple testprogram on both a JVM and .NET and post
> the results here, no judge here in Holland will allow a lawsuit
> against me, based on that EULA, trust me on that. Contracts are
> only legal when they are signed. A click on a button isn't
> signing a contract.

Okay - in that case, you should feel free to prove the claim that Gregory
made :)



> >> newsflash for you: no-one gives a rat's ass about
> >> multiplatform.
> >
> > Newsflash for you: *you* may not, but others do.
>
> of course do others care.

How does that fit in with "no-one gives a rat's ass"?

> However they are mostly blind and
> think multi-platform is a key issue. It's not. Sun knows that
> for years. Sun doesn't use that KEY selling point for java
> anymore. Go figure.

And I didn't say it was a key selling point - I said it was an advantage.

> > Not if your customer wants it on one platform and you don't supply it on
> > that platform.
>
> I never had that problem. It's not important, most organisations
> have heterogenous environments, so a box with XYZ on it more or
> less isn't an issue.

Depends on the product. You may not have had that problem, but I can
think of a few sales we wouldn't have made if our software had only run
on Windows.



> > In that case, I suggest you apply the same criterion to the rest of the
> > posters in this thread. How many *language features* of C# have been
> > raised?
>
> How many times do I have to remind you this is a C# newsgroup?
> Does someone here has to tell a reader of this newsgroup
> what C# is and what it does? No.

So if people shouldn't post about C# here (because everyone already knows
about it) and people shouldn't post about Java here (because no-one cares
about it) what *do* you think people should post about?

Jim Sculley

unread,
Dec 28, 2002, 6:51:11 PM12/28/02
to
Frans Bouma wrote:

<snip>

>
>
> To make you happy (watch the wrapping) (VS.NET vs C#)
> http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
> &safe=off&selm=OzmHZih6BHA.1976%40tkmsftngp03&rnum=156

Posting a message ID would have been far more useful.

>
> Bottom lines.
>
> Gunnerson is part of the C# designteam.

Indeed. And in the post above he states:

"And to clear up what VS is written in, it's a mix of unmanaged code
(written in C++) and managed code (written in C#)."

That doesn't tell me much. It says a little about VS.NET, but nothing
about the .NET API. What's the mix? 50/50? 80/20? 99/1?

>
> To make you even more happy (.NET Api written in C#)
> http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
> &safe=off&selm=u6H8xqvoCHA.1236%40TK2MSFTNGP12&rnum=96

Now we're getting somewhere. Eric states:

"Your information is wrong here. Virtually all of the .NET frameworks
are written in C#."


>
> And please Jim, this is posted in this newsgroup!

And? You made the claim. It is up to you to provide the evidence.
Finally you have done so. Now, I'll have to ask that Eric comment on
Windows.Forms and what approximate percentage of it is written in C#.
Clearly it isn't *all*, as you have claimed. Eric's comment above makes
that patently obvious. I would certainly expect to see a great deal of
skew toward things other than C# in certain areas, such as the GUI.

> If you are
> such an expert you'd have known this by now.

Did I make a claim in which I said I was an expert on this topic? The
only person who has made claims is you. Hence my request for evidence.
If you didn't want to be bothered to locate it, you shouldn't have
made the claim.

> You don't need an excuse about an EULA like you came up with.

Once again, you made the claim. It is up to you to provide the
evidence. The comment about EULA is not an excuse. Much to my
surprise, recommending ILDASM decompilation seems to be a common thing
here. Perhaps I am spoiled by the ready availability of the JDK source
code.

>
> Are we still talking out of our ass here? I don't think so.
>

Without the source code, its really not possible to know for sure. For
instance, how is equals implemented for Strings in the .NET API? Is it
C#? Or something else? If it is something else, why? I can answer
these questions very easily for Java. For C#, it is impossible.

<snip>

>
>
> Every API has holes. Java had holes for years. When I started
> programming java in 1995 it was nice, useable, but far from
> finished. There are things left to be desired, in Java and in
> .NET. The fun part is that both platforms support the addition
> of functionality, f.e. like it is done in the database provider
> area for .NET.

To each his own. I prefer a platform that doesn't require P/Invoke like
functionality to do various common tasks. If you ask Mr. Gunnerson,
he'll likely agree that too much P/Invoke is curently required. As for
holes in the Java API, the nice thing is that I can be sure that when
they are plugged, the functinoality will be consistent and present on
all platforms. The situation with Mono and Windows.Forms makes me very
skeptical that the current .NET will follow Java's example.

>
>
>>>>> .NET does that, and fast
>>>>> java libraries do that too (hell, Sun's own Solaris VM uses
>>>>> native Solaris threads). I don't see that as a problem though.
>>>>
>>>>You must have little or no interest in portability then.
>>>
>>>Some of us don't believe that we should limit our programs to the
>>>lowest common denominator.
>>
>>I love this argument, for no other reason than it is trivial to
>>dismantle.
>
>
> no it is not. When you're talking 'desktop', there are limits
> when it comes to what's available.

Such as?

> On the serverside, you have
> to wait for the performance you'll get with what Sun comes up with
> or f.e. buy a J2EE appserver.

Nonsense. J2EE is a specification implemented by dozens of companies,
whose prices range from 100% free to many thousands of dollars. Can you
say the same for .NET Enterprise tools?


>
> Besides that, crossplatform development is not that important.

How interesting.

> what's important is functionality sharing, the reason why
> webservices are not a buzzword-thing but reality and Sun among
> others knows that all too well.

Right. Webservices. I simply cannot wait until the day I can do image
processing on my mobile phone.

Simply put, the 'Lowest Common denominator' argument is a complete
crock. Especially when talking about a GUI, which is the topic under
discussion, as far as I can tell.

If you are claiming that J2EE is also a LCD solution, I'm afraid there
is little hope in correctling your extrememly myopic view.

<snip>

>
>
> On NT? You mean NT4? Oh, please, tell me, which neat widgets did
> you find in the win32 api that aren't available in the .NET
> api?

You've missed the point. If you don't have to rely on Win32, you aren't
subjected to the limitations present in the various flavors of Windows.
If one considers Java a Least Common denominator solution, one must
consider .NET one, to an even greater degree. Available on less
platforms, features not available on all supported platforms, etc..

>
>
>>>>Until you want to use it with something such as Mono.
>>>
>>>If Mono implements it with their own native code, what's the
>>>difference?
>>
>>The interface. As the failure of the first attempt at Windows.Forms on
>>Mono has shown, .NET was not created with any thought toward making the
>>important APIs easily portable to other platforms. If MS was interested
>>in doing so, those APIs would have been part of the ECMA submission.
>
>
> you don't get it, do you... A developer doesn't care HOW
> System.Windows.Forms is implemented, it just has to do what the
> specs says.

OK. How about you point me to the specification for
System.Windows.Forms. That's a trick question. There isn't one.

> So if a compiled MSIL program targets a certain
> assembly called System.Windows.Forms and starts creatign objects
> from that library, it can do that on windows, using the
> assembly available in the .NET SDK and it will result in
> .NET forms, based on win32 widgets (using comctl*.dll, as all
> win32 applications do).
>
> On mono the assembly can use Gnome or KDE (GTK+ likely) to
> cook up the objects. It has nothing to do with direct
> linking with win32 libraries from .net assemblies.

And when the MSIL uses P/Invoke to call into some DLL, how exactly will
that work on Mono?


> It has to
> do with easy porting the functionality over to mono using
> GTK+. I won't have to tell you on X11/GTK+ some things are
> done differently and it will take a lot of time to port the
> functionality over,

A lot of time? But you said it was easy? Those two things seem mutally
exclusive to me.

> (it would have been easier if wine would have helped out).

It would have been easier still if MS had helped out by not handcuffing
System.Windows.Forms to the underlying OS.

Jon Skeet

unread,
Dec 28, 2002, 6:53:12 PM12/28/02
to
onyx...@attbi.com wrote:
> oddly enough, the first ridicioulus claim, i think, was made by someone who
> gave up on this entire argument before i even chimed in.

Is a ridiculous claim not something to criticise? If it is, how can you
still claim that only one side (I'm still assuming the Java side here)
has given you anything to criticise?

Lloyd Dupont

unread,
Dec 28, 2002, 7:04:07 PM12/28/02
to
I keep receiving notification in my mail box (maybe I shouldn't have
participate in such useless thread in the first place), so, it happen I
participate again.

Really I don't understand your point.
What do you want to know ?

Except flames like, uh.. "it's stupid, I dislike this, etc..." (java or C#,
depends on who write) what is it do you want to know ?

don't tell me you want to see C# appp, already some were provided in this
thread and they were dismissed for esoteric reason.

Jon Skeet

unread,
Dec 28, 2002, 7:20:45 PM12/28/02
to
[Stuff sleep - I've decided to reply now anyway.]

per...@xs4all.nl wrote:
> > He shows a lot more knowledge of C# and .NET than others in this thread
> > have shown of Java.
>
> He mentions he has used SharpDevelop somewhere, however I can't
> really say he knows what .NET really is, which isn't bad though,
> it takes a lot of time to truely learn the ins and outs of .NET
> and C#, and if you spend your time on developing Java applications
> you simply CAN'T know .NET that good. That's fully ok with me,
> but don't come here as the C# expert who will tell us, C#-jehova's
> without a clue, how wrong we all see the world ;)

Did Jim claim to be a C# expert? No. In fact, I don't think you need to
be a C# expert, a .NET expert or a Java expert to give some perfectly
reasonable advantages for both sides. Here are a few which I'm sure I
could have come up with after a week of doing both:

Advantages for C#/.NET:

o No checked exceptions (depending on your point of view)
o Richer value types (structs etc)
o Optional (and explicit, thank goodness) pass by reference semantics
o Easier native code integration (certainly easy for "plain" types)
o Better versioning support for assemblies
o The using(...) construct
o Properties
o Attributes (which exist in Java but aren't nearly as rich - yet)
o Delegates
o Compact framework for Pocket PC / Windows CE
o More multi-language design (although various languages have been
targeted for the JVM)


Advantages for Java (both language and platform):

o Checked exceptions (depending on your point of view)
o Multiplatform
o Direct connections to more databases (at the moment - I know .NET will
catch up over time)
o More mature platform (which matters to some people, and which affects
things like third party library availability (especially open source),
IDE and platform implementation choice, developer base etc)
o Simpler language than C# (which is one of the things I like about it -
shame about inner classes, really...)
o J2ME in its various forms


Neither of those lists says that one platform/language is *better* than
the other, and you *would* need significant experience to say which is
better for any one particular app. That wasn't what was asked for
in the original post though.

> > Did you not think that the original ridiculous claims about Java were
> > rude in themselves?
>
> IF they were rude for java, then so what, Jon?

So I should feel free to correct inaccurate statements without being
branded as an anti-.NET bigot, which I seem to have been.

> You feel the obligation to defend Java's name and fame here. That's
> your right and by all means, do so.

Shame it seems I can't do so without you assuming that it means I hate
.NET and C#.

> You can believe me, Jon, I really don't think Java or .NET make
> that much of a difference when it comes to speed or useability.

Good. In that case, why on earth should you get so annoyed when I
disagree with people who say how awful Java supposedly is, without giving
any solid evidence?



> > I don't believe the Sun JVM does, which means it would be perfectly
> > legal to post benchmarks here between the Sun JVM and .NET if MS allowed
> > it.
>
> Benchmarking is a profession, not an 'activity'. You have to
> benchmark in a controlled environment and you have to use
> a benchmark which is useable as a quality test.

I fairly firmly believe that in order to work out what's going to be best
for any particular application, you really need to test *that*
application. However, micro-benchmarks *can* be useful when people start
claiming that one platform is faster than another at *everything*.



> COM integration is excellent in .NET, however 'COM' is a tech
> that is hard to maintain: you can't simply copy a new DLL over the
> old one, you have to first remove the existing components from
> memory etc. It's not a technology you want to use in a 'new'
> application.

Absolutely. I never suggested you would. I merely said it was an
advantage .NET has over Java.



> > You support C# over Java despite not having "any real experience in
> > Java" (in your own words)? If I had no experience in something, I'd not
> > claim to have enough evidence on which to base an opinion, which I
> > thought was actually the stance you were taking.
>
> You _CAN'T_ have any real experience in another platform without
> spending a lot of time using that platform. Plain and simple.

How does this disagree with what I said in the post you're replying to?

> And I can fully understand someone chooses a platform A over
> platform B simply because the people who use platform A are
> nicer while both platforms are not that much different.

But anyone who does that based on a sample of one, without even *looking*
at the other community in its respective place is misguided, I'd say.

> > If the original post (by Gregory) was incorrect, then Jim's claim that
> > he is uninformed cannot be, can it? Or are you claiming that Jim's part
> > about the MS licence restrictions is incorrect? Which *exact* part of
> > Jim's post is incorrect?
>
> Jim's seeking an excuse for not admitting he's wrong.

Um, you're looking at the wrong post. Daniel claimed that both Gregory's
post *and* Jim's follow-up were wrong, and that's what I was asking
about. Jim may well have been incorrect in other posts, and if he's been
corrected, that's all to the good.

> > Any less objective than just saying, "[Java can't] execute reasonably
> > fast"?
>
> o for f*ck sake... 'reasonably' is a subjective argument.
> what's acceptable for you isn't acceptable for another person,
> so you can't debate 'reasonably'. Stop it, please.

Are you *seriously* suggesting that Gregory's post was anything other
than an ill-informed insult to Java? Do you really think he's had
significant experience in Java (with modern VMs) and believes the speed
to be unreasonable? Or do you think that maybe he's had either little
experience or his experience was all a long time ago, and he's going
along with the general hype that Java is slow? I know which one I reckon
is more likely.

Erik Funkenbusch

unread,
Dec 28, 2002, 7:21:04 PM12/28/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
> Erik Funkenbusch wrote:
>
> <snip>
>>
>>
>> If the vast majority of applications seem slow, maybe it's because
>> the optimizations are non-obvious, and that it requires a great deal
>> of skill to write a decently performing application.
>
> The optimizations I decsribe above are done by the JIT. A developer
> doesn't have to do anything other than write normal code. In fact,
> with Java, trying to be smarter than the JIT by doing odd things in
> code can harm more than help.
>
> Furthermore, the vast majority of Java applications aren't slow.
> There have been a few high profile apps with poor performance, but
> they are becoming few and far between.

Funny, but *EVERY* Java app i've ever used has been annoyingly slow. For
instance, Eclipse gets my goat every time I use it. ArgoUML is also
painstaking to use.

>> There was a time when C++ applications were considered slow (even
>> though a well written C++ app was hard to distinguish from an
>> average C program), but technology has essentially removed that
>> issue except for poorly written apps. CPU's are now much faster,
>> and compiler technology has made optimization adequate for average
>> applications.
>>
>> The thing is, Swing et al has not done the same thing over the
>> years, even with faster processors and better compilers.
>
> What is your evidence of this? I have seen vast improvements in Java
> performance (especially in Linux where performance was more of a
> problem) just in the last 2 years or so.

I didn't say Java in general, I'm talking about Swing, which is still slow
even when running on top of the line PC's.

>> Sure, it's become faster, but
>> not nearly fast enough to get to the point that people don't notice
>> for average apps.
>
> I don't think this is an accurate statement.
>
>> Sure, if you are really skilled, you can create a Swing app
>> which performs reasonably well, but average apps do not.
>
> You don't need to be really skilled. You have to read perhaps 3 or
> four articles from the Swing Connection. That's about it. A quick
> look through Karsten Lentzsch's site at http://www.jgoodies.com is
> also highly recommended.

As I said, it requires the developer to be skilled. Whether you agree that
this skill is difficult ot learn or not isn't really the point, you must
know how to make Swing NOT be slow.

>> This tells me
>> there is something inherantly inefficient with the system that
>> technology alone cannot cure.
>
> The system isn't inefficient. In fact, Swing is simply far more
> powerful than most other solutions available. With power comes
> responsibility. If you want to create performant Swing applications,
> you have a reasonable understanding of the architecture, otherwise,
> you will fall prey to one of the more common pitfalls which affect
> perceived performance. The word 'perceived' is crucial in this
> discussion. If buttons appear sticky, or menus don't appear
> instantaneously, there are two possible causes. Either the GUI
> library is slow, or the programmer has done something incorrectly.
> Proving the former is very difficult. Proving the latter is trivial.
> All that is required is a single application that doesn't have the
> perceived problem.

No, all you're doing is proving that it can be done, not that this is the
common occurance. If the average programmer does inefficient things, then I
suggest the language/environment/framework encourages that kind of behavior.

>> You may argue that relying on technology to cure the problems of
>> "average" programmers is wrong, but I think it's unrealistic to
>> require human beings to all become experts in their field to achieve
>> adequate performance.
>
> Swing doesn't require that you be an expert. My own code is concerete
> proof of that. All that is required is some basic education in the
> design and operation of the Swing architecture.

I'd agree that in an ideal world, this would be an acceptable solution. In
the real world, it's not though. Frameworks should be designed to encourage
good programming habits, not bad ones.

>> You'll always have people of different levels writing different
>> kinds of apps. While many of those apps may not be hindered by poor
>> performance, all of them will certainly be nicer to use if the
>> performance was better.
>
> Once perceived poerformance reaches a certain level, no amount of
> further optimization will affect the user experience.

While that's true, Java has not yet hit that level in any Java application
i've used.

>> When it comes to commercial apps, the only difference between my app
>> and your app may be that mine "feels" faster to the user (whether it
>> accomplishes it's task just as well or maybe even faster won't
>> matter to them) and thus will win out.
>
> Again, this is perceived performance, which is primarily under the
> control of the developer, not the library.

The library can certainly help or hinder the job.

Jim Sculley

unread,
Dec 28, 2002, 7:44:12 PM12/28/02
to
Lloyd Dupont wrote:
> I keep receiving notification in my mail box (maybe I shouldn't have
> participate in such useless thread in the first place), so, it happen I
> participate again.

If you are receiving notification in your mailbox about a USENET thread,
I would suggest you check the configuration of your Mail/News reader
software.

>
> Really I don't understand your point.
> What do you want to know ?

Nothing in particular. My presence in this thread was the result of a
wild claim made by someone else.

>
> Except flames like, uh.. "it's stupid, I dislike this, etc..." (java or C#,
> depends on who write) what is it do you want to know ?
>
> don't tell me you want to see C# appp, already some were provided in this
> thread and they were dismissed for esoteric reason.

Only one application was put forth (SharpDevelop) and I dismissed it as
being no more performant than a Java application.

Jim Sculley

unread,
Dec 28, 2002, 7:39:09 PM12/28/02
to
Frans Bouma wrote:

<snip>


>
>
> Jon, I'm posting in a C# newsgroup, like I care if a remark

> about java or donuts or cars is correct.

What a remarkably convenient value system.

> The only thing I care
> about are the remarks about C# and that they are correct.

And you think that a claim that C# can run GUI apps quickly and Java
cannot is correct?

> And
> sorry to say it, but I haven't seen Jim post any remark which
> told me he knows anything about C# at all or about .NET for that
> matter, which makes me wonder why on earth is he (or you) posting
> in this newsgroup? To convert us? Have a nice time!

Why not have a look at any number of exchanges I've had with Eric
Gunnerson. Or have a look at a long thread between me and some
individual named 'tuttle'. Truth be told, I doubt you've bothered to
put my name into Google Groups to verify that you have any idea about my
remarks here. You seem to be basing your entire position on this
particular thread, where knowledge of C# isn't even a requirement.
We're talking about a wild claim about Java's ability to run GUI code on
Windows. A claim you support, despite having admitted to using a VM
that is 6 or so releases behind.

<snip>

>
>
> I can add FPS counters to my code, re-install Sun's JVM on my
> machines and test the hell out of it, but why should I?

For the purpose of intellectual honesty? To make your opinions about
Java's performance the tiniest bit credible?

> I haven't


> seen Jim nor you post any evidence your claims about .NET or C#
> are true either.

I doubt you've looked very hard.

<snip>

>
>
> I see that, but I also hope YOU two understand it's breathtaking
> how pathetic some C#/.NET remarks from your sides are. :) (NOFI).

What has that to do with either Jon or me? Shall I lump you together
with the morons who claim that servlets take several days to respond?
I've actually seen such a claim made, by the way.

>
> I mean, Jim asks me to post evidence that the .NET api is written
> in C# while MS has admitted this in this newsgroup. (I believe
> several times, the last time was 2 weeks ago iirc).

Why do you consider a request for evidence so outrageous? The source
code (which would be the easiest means of determining this) is not
available. The next option is to use ILDASM to inspect the libraries,
but that is not allowed. It seems to me that a request for a specific
link supporting the claim is perfectly reasonable.

<snip>


>
>
> Yeah, well this is a C# newsgroup, expect pro-C#/con-competitive

> language talk. I'm very sure in the *.java.* newsgroups it's
> the other way around,

I have the luxury of having spent time reading the Java newsgroups and
with the exception of the advocayc group, C# is rarely mentioned, and I
don't recall any claims with a ridiculousness factor as high as the
claim that started this discussion and many others in this newsgroup.

> one of the reasons I'm here and not there,

> which again makes me wonder why you two are here and not there,
> because it can't be because you all like C# so much ;)

To me C# is something that wasn't necessary. Its existence doesn't
bother me, but I have little use for it. In any event, my presence here
is primarily to learn what I can about C#. Subordinate to that is the
desire to ensure that wildly inaccurate claims about Java (or anything
else for that matter) aren't left dangling where some unsuspecting
newcomer takes it as gospel truth and thus misses out on the universe
that exists outside the confines of VS.NET.

<snip>

>
> If I use a windowing toolkit, I want it to look like the native
> windows layer. I can't with swing. Like in the old days when you
> could tell if a tool was written with OWL or with MFC.

That's nice. What do your users want? If they hold the same viewpoint
as you, al is fine and danday. Certainly you don't think that *all*
users care about such things. Heck, MS office typically looks different
from all other applications, and yet it is still quite popular. Or
consider Winamp.

<snip>

>
>
> Well, they're always layers on top of something. But I agree, they
> should be as responsive as native stuff. I mean, even VB6 apps are
> very responsive and feel as native apps.

Oh my. How have you made it so long without encountering SBS (Sticky
Button Syndrome). I have seen many VB apps with this problem.
Obviously, it is a programming error, but common nonetheless, much as it
is in Java.

> However, the java tools
> installed with Oracle 9i aren't. I can't help it, Jon, but they're


> slow, even small windows and look different.

OK. How does that reflect on Java? Last time I checked, Oracle was
still using a 1.1.x VM and AWT for some of their stuff. To consider
Oracle a paragon of Java development is a serious mistake. I can't
consider Oracle Applications (the front end to their MRP stuff) a
serious Java application simply because it is so poorly designed. For
heaven's sake, you can't even drag table columns to resize! It's a
train wreck.

> This might sound like
> a whiner's argument, but it's important to me because I don't like
> gui-discrepancies because they will likely cause troubles with
> my users when I use these libraries which will look differently.
> (I then wonder why doesn't everyone in javaland use SWT..)

SWT suffers from many of the same problems that plagued AWT. Platform
specific bugs are fully exposed and cannot be fixed.
Internationalization support is spotty. Many common Swing niceities
aren't present. SWT is no magic bullet. To me, it is one more thing
that wasn't really necessary. There's nothing wrong with it, it's just
that it offers me little over and above what I can get with Swing and a
little effort.

<snip>

>
>
> I must have missed that 'evidence' where java beated .NET, then..

Yes, apparently you did. As Jon noted, there was a recent thread
discussing the performance penalty associated with using virtual methods
in .NET (2x slower according to MS). I provided code that showed that
Java doesn't suffer from this problem and can in fact perform better
when virtual methods are present. Not a direct comparison, but it does
highlight the fact that the MS way is not necessarily the only way or
the best way.

Another thread from several months ago centered around structs and how
they are *so* much better for implementing things such as a Complex
number class. I questioned that assertion (and many others in the
thread), and was later challenged to create a piece of code to generate
the Mandelbrot Set. The challenger claimed that the code would be very
impressive if it was slower than C# by a factor of 2. The Java code was
faster than the C# code. This is a common trend. See the Java
Performance Report at JavaLobby.org for more recent investigations into
devirtualization and method inlining in Java versus upfront compiling in
.NET. See Cameron Purdy's comments in his web log where he notes that
his experience is thta Java is typically faster.

Jim Sculley

unread,
Dec 28, 2002, 7:57:45 PM12/28/02
to
Erik Funkenbusch wrote:

<snip>


>
>
> Funny, but *EVERY* Java app i've ever used has been annoyingly slow. For
> instance, Eclipse gets my goat every time I use it. ArgoUML is also
> painstaking to use.

Limewire, JDiskReport, jEdit, etc.....

<snip>

>
>
> I didn't say Java in general, I'm talking about Swing, which is still slow
> even when running on top of the line PC's.

Since Swing is written in Java my question still applies. What evidence
do you have that Swing hasn't improved over the last several years?
Furthermore, Eclipse doesn't use Swing. How do you explain your
criticism of its performance if you weren't talking about Java in general?

<snip>

>
> As I said, it requires the developer to be skilled. Whether you agree that
> this skill is difficult ot learn or not isn't really the point, you must
> know how to make Swing NOT be slow.

So you want tools that can be used by people with absolutely no basic
knowledge of things such as the model-view-controller concept. Gotcha.
To put it simply, you are in the minority.

Furthermore, I must once again point out the performance and 'perceived'
performance are not the same. Swing can appear to be horribly slow. So
can any other language. For example, put 100000 items in a C# List
widget. Do the same in Java. Which one seems slower? Who is at fault?

<snip>

>
>
> No, all you're doing is proving that it can be done, not that this is the
> common occurance. If the average programmer does inefficient things, then I
> suggest the language/environment/framework encourages that kind of behavior.
>

Perceived performance has little to do with efficient code. Creating a
responsive Swing application is often as simple as understanding what
the event dispatch thread is. If a developer cannot be bothered to
understand something so simple, he/she has no business calling
himself/herself a developer. Do you consider DoEvents something every
VB programmer should understand? Same applies to the EDT in Swing.

<snip>

>
>
> While that's true, Java has not yet hit that level in any Java application
> i've used.
>

Have you tried them all? Have you tried a significant number? Have you
tried any that cost as much as VS.NET?

>
>>>When it comes to commercial apps, the only difference between my app
>>>and your app may be that mine "feels" faster to the user (whether it
>>>accomplishes it's task just as well or maybe even faster won't
>>>matter to them) and thus will win out.
>>
>>Again, this is perceived performance, which is primarily under the
>>control of the developer, not the library.
>
>
> The library can certainly help or hinder the job.

Perhaps. What eveidence do you have that Swing hinders the job? Can
you point to some specific features that lead developers down a slippery
slope?

Lloyd Dupont

unread,
Dec 28, 2002, 8:30:18 PM12/28/02
to
woups, BTW, the nicest and more impressive Java demo (to test with 1.4,
definitely) is Java2D !


Lloyd Dupont

unread,
Dec 28, 2002, 8:24:09 PM12/28/02
to
Well,

I have an AMD 800Mhz.

I use the latest SharpDevelop release (0.93) its speed is very good.
Perhaps you tried an earlier version, it is quite optimized now.
I also tested most of the (99) OpenGL examples coming with CsGL, the
speed was really correct and my GLViewer app also work well. So I don't
think one could complain about speed in C#.

On the other hand with java 1.4.1 (from Sun!) I found all Java demo (for
example the Swing set demo) to have really perfect response time too....

SO I would say both (C# & Java) behave well.

Furtermore I would add java 1.4 is uncomparably faster than 1.1 and even
noticeably faster than 1.3 when using Swing heavy application.
So probably .NET will improve too (although it's quite correct IMHO, by
now)

Just to add one more cent to this argument to speak about difference
between C#/Java. Interop is really cool in C#, and you DON'T NEED IT
MORE than in java, but it's so much easier to do than anyone does !
For example I did to change the screen definition, which is not in the
.NET SDK (but still in win32, of course) and was not in java previous
1.4.
BTW if you dislike interop, you cold program VC++.NET, it's far more
pleasant than VC++ 5, for instance, and you still produce .NET assembly,
how convenient.

in C# you cold use pointer, whereas in Java you canot, cool to use
legacy C application! Mhh..
C# handle better legacy application!

whatelse... well...
If not for Swing, I do prefer C#, so maybe I'm a bit biased, who
knows.....

Ok, bye, maybe next Sunday I catch the thread again if it's still as
hot....

--
OpenGL.NET now at:
http://csgl.sourceforge.net

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Jim Sculley

unread,
Dec 28, 2002, 8:54:28 PM12/28/02
to
Frans Bouma wrote:

<snip>

>
> I'm sure a lot of people have done that, and I really don't care.

Actually they haven't.

> Do you really think I believe some person who posts here texts
> like "Java sux!! it's dogslow!"? Of course not. This is a C#
> newsgroup. I'm perfectly well capable of judging if Java is
> slow/useable/nice/complete by myself.

But you haven't, by your own admission, and that makes you eminently
unqualified to comment.

<snip>

>
>
>>What on earth is the point in a debate where only one side needs to be
>>accurate?
>
>
> You should wonder what's the point of debating java technology
> in a C# newsgroup. I think that pretty much answers your
> question.

Did you not see the topic of the thread and the unsubstantiated claim
that was made in response? One has to wonder why you replied at all if
none of this matters to you.

<snip>

>
>
> When you're solely talking about java, I think yes it's perhaps
> better to stop posting java postings. So if you just can talk about
> java, indeed, then there isn't much left to say then :D

And you don't consider false claims made about C# to be a detriment to
this group?

<snip>

>
>
> NO Flame Intended :P
>
> 'your sides', was a generalisation of you and jim, the java-camp :)
> You claimed in other postings that Jim's remarks were correct
> when it came to .NET/C#. I beg to differ. You agreed with his
> claims, which makes you also one of the persons who find these
> claims to be true.

You've shown that you are unqualified to 'differ' by admitting that you
don't use anything approaching a recent Java implementation.

<snip>

>
>
> oh, so the C# talk is also not correct?

Not in the post that started this discussion. If it were correct, no
one would have objected.

<snip>

>
>
> ok, let me rephrase: why are you defending java in a c# newsgroup?

I suspect because he, like me, has an interest in seing honest truthful
discussion, regardless of the forum.


> or better: why are you talking about java in a C# newsgroup?

Because that is where the thread of discussion has taken things.

> it's like talking about unreal tournament's great features on
> the Quake3arena forums.

Only if someone asked for a comparison of the two. Like the original
poster in this thread.

>
>
>>> I can't help it, Jon, but they're
>>> slow, even small windows and look different.
>>
>>Absolutely - the last time I used the Oracle GUI (can't remember which
>>version) I hated it too. Then again, I get very annoyed by the VSS GUI
>>as well - are you sure it's worth basing an opinion of a
>>toolkit/language/platform on one app?
>
>
> we all hate VSS, its gui, its database, its lack of features
> and still we also love it in a weird S&M kind of way.

So, what do you blame for this? Windows? Win32? C++? C?

> Must be true for Oracle tools as well I guess :)

On that we can agree. We'll be using Oracle 11 at some point where I
work. I can only hope things have improved.

<snip>


>
>
> Isn't a toolkit an add-on, like the Oracle .NET provider is an
> addon to .NET? So why would a developer care if Sun doesn't
> support it?

Because it would not be part of the JRE download, and thus requires
additinoal downloading, installation and setup. Not a big deal, but to
some people it matters.

> IBM supports it, Java's biggest friend

IBM created it, so their support of SWT is to be expected. On the
surface, they espouse SWT as a means to create plugins for the Eclipse
platform. Standalone SWT apps, while possible, aren't the primary
reason for SWT's existence.

<snip>

>
>
> But then again, does it make a difference, inlining virtual
> methods, which are most of the time overriden.

In C# perhaps, where methods are not virtual by default, it wouldn't
make a difference. However, in Java, all methods are virtual unless
tagged otherwise (via the 'final' keyword).

Jim Sculley

unread,
Dec 28, 2002, 9:12:34 PM12/28/02
to
Frans Bouma wrote:
> Jon Skeet <sk...@pobox.com> wrote in
> news:MPG.187831d45...@news.microsoft.com:
>
>>onyx...@attbi.com wrote:
>>
>>>>I'm positive Jim has tried C# - I rather suspect your bias against
>>>>Java programmers (see later) is coming into play here.
>>>>
>>>
>>>he behaves as if he hasn't, doesn't compare language concepts or really
>>>show any knowledge of C#
>>
>>He shows a lot more knowledge of C# and .NET than others in this thread
>>have shown of Java.
>
>
> He mentions he has used SharpDevelop somewhere, however I can't
> really say he knows what .NET really is, which isn't bad though,
> it takes a lot of time to truely learn the ins and outs of .NET
> and C#, and if you spend your time on developing Java applications
> you simply CAN'T know .NET that good. That's fully ok with me,
> but don't come here as the C# expert who will tell us, C#-jehova's
> without a clue, how wrong we all see the world ;)

Feel free to point out anything remotely resembling such a comment from me.

>
> (oh, and I did do some java back in 1995-1997, but that's an
> awful long time ago, so indeed, that doesn't count ;))
>
>
>>>>Ridiculous claims tend to spark off such replies, to be honest. Human
>>>>nature.
>>>>
>>>
>>>that'll i'll agree with
>>>since its why i responded to him,
>>>i dislike rude posters and sometimes become rude myself in response.
>>
>>Did you not think that the original ridiculous claims about Java were
>>rude in themselves?
>
>
> IF they were rude for java, then so what, Jon? This is a C#
> newsgroup, it's about C#. If someone talks about VB.NET here like
> some people tended to do last week, how great it is and how much
> better it is than C#, then I wonder why they take the effort to
> preach something else, something opposite to the topic of this
> newsgroup? Most people in this thread know that you have to
> learn pro AND con's about the platform you work with. Do you
> really believe I don't know a long list of crappy things related
> to .NET and C#?

Where has any preaching taken place in this thread? If telling someone
that there claim is without merit is 'preaching' in your dictionary, you
have a very differnt ictionary than most people.

>
> You feel the obligation to defend Java's name and fame here. That's
> your right and by all means, do so. But I find it then a bit odd,
> when I read here, typed in by java-pundits, that we're a bit too
> biased towards C#, here in our own newsgroup. Check out the
> java advocacy newsgroup and read about the .net/c# articles.
>

I have. And there are always C#/.NET advocates to dispell any
inaccurate information. Just as there are Java advocates who do the
same here. Do you consider this bad? If so, why?

>
> You can believe me, Jon, I really don't think Java or .NET make
> that much of a difference when it comes to speed or useability.

This is in direct conflict with your previous statements.

> With the java experiences I have and the .NET experience I have
> I tend to feel more for the .NET camp, but that's my solely
> opinion and yours and Jim's are different, ain't that great :)

Indeed.

>
> We all know here Java is a professional, solid, mature platform,

Apparently we all don't. See any of my 'first' replies.

> and we (but not you) also know .NET is not far away from that
> same title, it might even be a professional, solid, mature
> platform already (I find it so, and I'm definitely not a rookie
> I can tell you that). However this is the C# newsgroup so
> we like to talk about C# and want to express our love for the
> language and the .NET platform. Give us a break, it's the only
> spot on usenet where we can! ;) :)
>
>
>>>>Which does "haha, god your an ass" count as?
>>>>
>>>
>>>simple
>>>an assinine and rude reply to an assinine and rude comment
>>><snip>
>>>Another uninformed poster. Can you point me to some independent
>>>benchmarks that show this? Oh wait. All .NET benchamrks must have MS
>>>approval for publication, so I guess you can't.
>>></snip>
>>
>>The previous poster *had* been uninformed, and I see nothing wrong with
>>Jim pointing out the problematic nature of the MS licence restriction
>>with regard to benchmarks. It was certainly an abrupt post, but I don't
>>think it was entirely unmerited given the absurd nature of the claim.
>
>
> err Jim's remark here IS a troll. Large benchmark tests do cost
> a hell of a lot of money and are thus funded by companies.

What do benchmarks have to do with this?

> However if you say 'the test is funded by the company who is
> owner of the winning product, it is flawed', you also say
> the testing company is corrupted and a slave of the paying
> company. THAT's a claim jim can never prove as being correct.
> Which in my eyes justifies the term "troll".

No, it is entirely valid to be very skeptical of any 'benchmark' that
requires approval from the company making the product being tested.

>
> May I remind you and Jim of the 'Mindcraft'-incident? Everyone
> cried fool however Linus later admitted the criticism on
> Mindcraft wasn't correct at all and the tests were legitimate.
>
> (But I agree that the pet shop example shouldn't have been used
> as a benchmarktest)

When did pet shop enter this discussion?

Wrong about what? What claim did I make? To my knowledge, I've asked
for evidence in support of claims made by others.

<snip>


>
>
> Oracle's tools, all java, all look like ass,

Java 1.1.x. You've been pointed to JGoodies already. What's wrong with
those apps?

> Sybase's tools, all java, all look like ass.

Never used them.

> Do I have to go on?

No, you've show quite clearly that you know very little about Java circa
2002. There's little point in further comment.

Jim Sculley

unread,
Dec 28, 2002, 10:26:14 PM12/28/02
to
Daniel O'Connell wrote:
> perhaps you should be more careful in your posts in the future
> a multipost is different from a crosspost

No kidding. However, I didn't multipost. The original poster did.
Something which was no known to me until after I made my original reply
in c.l.j.p and then rad the identical original post here. The bottom
line is that your ad hominem attack and misstatements about my posting
history were entirely misplaced, and really quite childish.

> and i niether browse the java group, nor read your original reply,

Or any other reply apparently.


Jim S.

Jim Sculley

unread,
Dec 28, 2002, 10:44:35 PM12/28/02
to
Tim Smith wrote:
> Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in message news:<Oo9pk4hrCHA.1080@TK2MSFTNGP10>...
>
>>Tim Smith wrote:
>>
>>>romancin...@fastmail.fm (Ashish Thakkar) wrote in message news:<22419c20.02122...@posting.google.com>...
>>>
>>>
>>>>Is there anything that C# can do and java cannot and viceversa !
>>>>
>>>>Regards,
>>>>Ashsih Thakkar

>>>
>>>
>>>C# can run GUI applications *quickly* on windows, Java cannot.
>>
>>If this is true, why is VS.NET not written in C#?
>
>
> Well that is neither here nor there.
>
>
>>I'll put Java up agaist any C# app you care to create.
>
>
> Sure - I have an app that displays HTML pages - it uses the Internet
> Explorer web control and displays every one perfectly - matching the
> browser 90% of the world uses...and it does it quickly.

Well, since you are content to limit yourself to Windows, the equivalnet
Java implementation would do the same. You *are* aware that SWT allows
one to talk to OLE objects, right? After all , the Eclipse help system
on Windows is an embedded IE control.

Now, if one were to expand one's horizons beyond the limited number of
platforms supporting .NET, you would be able to find things such as
ICEsoft's Java products which provide HTML rendering for everything from
full blown applications to mobile phones.

I'm sure there are others as well.


>
> The data grid and rtf controls rock too.
>

As do tools such as EtymonPJ (Java PDF tools) and JTable. For example, see:

http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/

>
>>>Java can run GUI applications on many platforms, C# cannot.
>>>
>>>Personally I love Java for server side processing - JSP etc.
>>>But when it comes to rich GUI apps C# is unrivalled on the Windows
>>>platform.
>>
>>http://www.jgoodies.com
>
>
> I love the disk report and don't doubt that nice windows apps can be
> made in Java - but most could probably be better in C# by a .Net
> expert.

Why is that? Really? Where does this blind faith in C# come from?
What C# applications do you have as a baseline for performance?

> Of course if you are deploying on multiple platforms or are on a tight
> budget then Java wins hands down.
>
>
>>I find it funny that you consider C# 'unrivalled' on Windows when it
>>can't do something as simple as anti-alias text or provide icons in
>>menus on all Windows platforms.
>
>
> Minor features that will be included in the future if considered
> important.

Well, since icons on menus seem to have been very important for MS
Office, I fail to see why they wouldn't be considered important in
general. Ditto for AA.

Jim S

Daniel O'Connell

unread,
Dec 28, 2002, 11:07:54 PM12/28/02
to

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message
news:#VeEEourCHA.2448@TK2MSFTNGP09...

> Daniel O'Connell wrote:
> > perhaps you should be more careful in your posts in the future
> > a multipost is different from a crosspost
>
> No kidding. However, I didn't multipost. The original poster did.
> Something which was no known to me until after I made my original reply
> in c.l.j.p and then rad the identical original post here. The bottom
> line is that your ad hominem attack and misstatements about my posting
> history were entirely misplaced, and really quite childish.
>
> > and i niether browse the java group, nor read your original reply,
>
> Or any other reply apparently.
>
hmm, you been reading anything other than what you wanna read here?

Chris Anderson (Merak)

unread,
Dec 28, 2002, 11:39:46 PM12/28/02
to

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message
news:Oo9pk4hrCHA.1080@TK2MSFTNGP10...

> Tim Smith wrote:
> > romancin...@fastmail.fm (Ashish Thakkar) wrote in message
news:<22419c20.02122...@posting.google.com>...
> >
> >>Is there anything that C# can do and java cannot and viceversa !
> >>
> > C# can run GUI applications *quickly* on windows, Java cannot.
>
> If this is true, why is VS.NET not written in C#? I'll put Java up

> agaist any C# app you care to create.

A lot of VS.NET *is* written in managed code (ie C# and even some VB.Net
IIRC)
http://discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&D=0&I=-3&P=8
326

And as I understand from other posts to the same list (from MSFT employees)
the only reason C++ was used (at least in most cases) was that the IL
compilers were simply ether not yet available or were simply too immature to
be used efficiently compared to the already available, tested and familiar
C++ compilers.

In addition, ASP.NET is practically entirely C#
http://discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&D=0&I=-3&P=2
2305
as is ADO.NET, and the XML framework:
http://discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&D=0&I=-3&P=2
3129

Merak


Chris Anderson (Merak)

unread,
Dec 28, 2002, 11:46:22 PM12/28/02
to
"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message
news:#78QYcsrCHA.428@TK2MSFTNGP09...

> >>>
> > However, you're right, IF the rumours are
> > true, MS was busy with a Java like language, but erm... Jim,
> > they already released a JVM in what... 1997? .NET is at least
> > 5 years old? ;)
>
> Yes. Unless you believe MS poached Hejlsberg for the purpose of sitting
> on his hands for several years.


It seems that in June 24, 1997, there was even an external design preview
for .NET (then called the COR):
http://discuss.develop.com/archives/wa.exe?A2=ind0201C&L=DOTNET&P=R9620&I=-3

Merak


Frans Bouma

unread,
Dec 29, 2002, 6:18:38 AM12/29/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in
news:OuKy5vsrCHA.2540@TK2MSFTNGP10:

> Frans Bouma wrote:
>>
>> To make you happy (watch the wrapping) (VS.NET vs C#)
>> http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1
>> &safe=off&selm=OzmHZih6BHA.1976%40tkmsftngp03&rnum=156
>
> Posting a message ID would have been far more useful.

I searched on google, it supplies links, I post the links. I'm
not on Linux with slrn.

>> Bottom lines.
>>
>> Gunnerson is part of the C# designteam.
>
> Indeed. And in the post above he states:
>
> "And to clear up what VS is written in, it's a mix of unmanaged code
> (written in C++) and managed code (written in C#)."
>
> That doesn't tell me much. It says a little about VS.NET, but nothing
> about the .NET API. What's the mix? 50/50? 80/20? 99/1?

his mailaddress is also in the posting, mail him, ask him, perhaps
he answers your question.

>> And please Jim, this is posted in this newsgroup!
>
> And? You made the claim. It is up to you to provide the evidence.
> Finally you have done so. Now, I'll have to ask that Eric comment on
> Windows.Forms and what approximate percentage of it is written in C#.
> Clearly it isn't *all*, as you have claimed. Eric's comment above makes
> that patently obvious. I would certainly expect to see a great deal of
> skew toward things other than C# in certain areas, such as the GUI.

I never said *all* was written in C#, since I know for a fact some
database connectors (especially the SqlServer one) is partly
written using a non-CLR dll, i.e. native code.

Also, even if the .NET api was just a thin layer on top of win32,
is that important? No, not for 1 second, since the developer is
targetting the .NET platform, not the layers below it. Any
other platform, mono f.e., which provides the exact same
functionality but under the hood works differently, is perfectly
fine.

>> If you are
>> such an expert you'd have known this by now.
>
> Did I make a claim in which I said I was an expert on this topic? The
> only person who has made claims is you. Hence my request for evidence.
> If you didn't want to be bothered to locate it, you shouldn't have
> made the claim.

Are you still moaning about some link I dug up in 20 seconds
on google?

>> Are we still talking out of our ass here? I don't think so.
>
> Without the source code, its really not possible to know for sure. For
> instance, how is equals implemented for Strings in the .NET API? Is it
> C#? Or something else? If it is something else, why? I can answer
> these questions very easily for Java. For C#, it is impossible.

Ah, so even if a C# language team member says so, we don't know
for sure. Perhaps the 'sourcecode' you have in your hands isn't
the code Sun used to compile their JVM or the api.

And for your 'equals' comment: why do you care? I've better things
to do with my time than to look through hundreds of thousands of
lines of sourcecode to dig up 'how it's done'. When I encounter
a bug in .NET, I tend to decompile it and see if it's .NET or
me. For the rest, how .NET works inside, I couldn't care less.
I also don't care about the kind of metal mercedes put into
the engine of my car.

>> Every API has holes. Java had holes for years. When I started
>> programming java in 1995 it was nice, useable, but far from
>> finished. There are things left to be desired, in Java and in
>> .NET. The fun part is that both platforms support the addition
>> of functionality, f.e. like it is done in the database
>> provider area for .NET.
>
> To each his own. I prefer a platform that doesn't require P/Invoke like
> functionality to do various common tasks. If you ask Mr. Gunnerson,
> he'll likely agree that too much P/Invoke is curently required. As for
> holes in the Java API, the nice thing is that I can be sure that when
> they are plugged, the functinoality will be consistent and present on
> all platforms. The situation with Mono and Windows.Forms makes me very
> skeptical that the current .NET will follow Java's example.

show me ONE piece of evidence where P/Invoke is needed, in a
common part of .NET where you don't expect it.

I had to come up with evidence, now it's your turn. I've decompiled
a lot of .NET's assemblies, studied the Rotor sourcecode, but
have seen just 1 P/Invoke issue yet, the SqlServer driver. (Oh,
and of course the WMI wrapper, duh.. )

>>>>>> .NET does that, and fast
>>>>>> java libraries do that too (hell, Sun's own Solaris VM uses
>>>>>> native Solaris threads). I don't see that as a problem though.
>>>>>
>>>>>You must have little or no interest in portability then.
>>>>
>>>>Some of us don't believe that we should limit our programs to the
>>>>lowest common denominator.
>>>
>>>I love this argument, for no other reason than it is trivial to
>>>dismantle.
>>
>>
>> no it is not. When you're talking 'desktop', there are limits
>> when it comes to what's available.
>
> Such as?

well, for starters, on most desktops runs windows and on
most windowsdesktops there is just java 1.1 available, if
available at all.

>> On the serverside, you have
>> to wait for the performance you'll get with what Sun comes up
>> with or f.e. buy a J2EE appserver.
>
> Nonsense. J2EE is a specification implemented by dozens of companies,
> whose prices range from 100% free to many thousands of dollars. Can you
> say the same for .NET Enterprise tools?

yes. .NET is perfectly free. Is a *good*, 100% implementation of
the J2EE spec, for 100% free? Mostly not.

>> what's important is functionality sharing, the reason why
>> webservices are not a buzzword-thing but reality and Sun among
>> others knows that all too well.
>
> Right. Webservices. I simply cannot wait until the day I can do image
> processing on my mobile phone.

ah, and this, my friend makes you troll of the day.

*plonk*

have a nice life.

Frans Bouma

unread,
Dec 29, 2002, 6:44:36 AM12/29/02
to
Jon Skeet <sk...@pobox.com> wrote in
news:MPG.1878503bd...@news.microsoft.com:

> [Stuff sleep - I've decided to reply now anyway.]
> per...@xs4all.nl wrote:
>> > He shows a lot more knowledge of C# and .NET than others in this
>> > thread have shown of Java.
>>
>> He mentions he has used SharpDevelop somewhere, however I
>> can't really say he knows what .NET really is, which isn't bad
>> though, it takes a lot of time to truely learn the ins and
>> outs of .NET and C#, and if you spend your time on developing
>> Java applications you simply CAN'T know .NET that good. That's
>> fully ok with me, but don't come here as the C# expert who
>> will tell us, C#-jehova's without a clue, how wrong we all see
>> the world ;)
>
> Did Jim claim to be a C# expert? No. In fact, I don't think you need to
> be a C# expert, a .NET expert or a Java expert to give some perfectly
> reasonable advantages for both sides. Here are a few which I'm sure I
> could have come up with after a week of doing both:

He's not co-operating here, I've added him to my killfile. I
simply can't stand people who have to tell everyone in a C#
newsgroup they have to get their facts about Java straight and
have to come up with proof for claims (which I did several times)
however he claims stuff he doesn't proof (he says .NET has
a lot of P/Invoke calls, which seem unnecessary according to
Jim, however no proof whatsoever.)

> Advantages for C#/.NET:
>
> o No checked exceptions (depending on your point of view)
> o Richer value types (structs etc)

you mean, it has the 'concept' of true valuetypes which still
can be threated as objects? ;)

> Advantages for Java (both language and platform):
>
> o Checked exceptions (depending on your point of view)

definitely not an advantage IMHO.

> o Multiplatform

also not an advantage but a disadvantage. I really don't care
if it has to run on Mac also, but I DO care if the specification
is altered to make that more possible.

> o Direct connections to more databases (at the moment - I know .NET will
> catch up over time)

Ok, but there are a lot of managed providers available already.

> o More mature platform (which matters to some people, and which affects
> things like third party library availability (especially open source),
> IDE and platform implementation choice, developer base etc)

well, 'mature platform' it is, but imho so is .NET. I haven't
seen hard evidence .NET isn't mature.

> o Simpler language than C# (which is one of the things I like about it -
> shame about inner classes, really...)

simpler? depends on your personal views I think.

> o J2ME in its various forms

dunno what that is.

> Neither of those lists says that one platform/language is *better* than
> the other, and you *would* need significant experience to say which is
> better for any one particular app. That wasn't what was asked for
> in the original post though.

the original post was more a question for 'what can be done easier
in C# than in Java', as some already have pointed out that both
languages are turing complete so everything is possible with both
languages.

>> > Did you not think that the original ridiculous claims about Java were
>> > rude in themselves?
>>
>> IF they were rude for java, then so what, Jon?
>
> So I should feel free to correct inaccurate statements without being
> branded as an anti-.NET bigot, which I seem to have been.

You have to take into account the existence of certain 'feelings'
which are there because some groups on both sides want to ventilate
certain 'hate'-like ideas. If you're here correcting java-claims,
that's fine, but consider also that by acting as some sort of
sidekick of mr. Sculley (you seem to have to defend him), the
impressions about mr. Sculley will also be transfered to
impressions about you, that's normal human behavior (albeit
discussable).

>> You feel the obligation to defend Java's name and fame here.
>> That's your right and by all means, do so.
>
> Shame it seems I can't do so without you assuming that it means I hate
> .NET and C#.

I'm not saying you hate .net, it just seems you have to defend
mr. Sculley while his texts here are not that in place, left
alone 'in context'.

>> You can believe me, Jon, I really don't think Java or .NET
>> make that much of a difference when it comes to speed or
>> useability.
>
> Good. In that case, why on earth should you get so annoyed when I
> disagree with people who say how awful Java supposedly is, without
> giving any solid evidence?

Because to THEM it might be an awful platform. I've told you
that the tools I worked with, written in Java, weren't great,
both performance wise and L&F. Add to that Sun's L&F and
you have a perfect recipe for an "I even like VB over Java"-
attitude. Arguing with that, that they have to put up
evidence because otherwise their claim is ridiculus sounds
a bit odd, when at the same time (in the same posting!) you
tend to defend mr. Sculley who isn't here for C# but for Java.

>> And I can fully understand someone chooses a platform A over
>> platform B simply because the people who use platform A are
>> nicer while both platforms are not that much different.
>
> But anyone who does that based on a sample of one, without even
> *looking* at the other community in its respective place is misguided,
> I'd say.

Jon, for starters: a 'community' build around a technology, be it
an AMD processor, an NVidia GPU or a language like Java or C#, is
worthless when it comes to non-biased views on the base of the
community compared to its competitors. If a person asks here
"I know C#, what about Java?" or "What about VB.NET?", go to the
Java or VB.NET community. This is a C# newsgroup, here you can
ask questions about C# and discuss C# related topics, but not
how good a competitor is because you will never get a non-biased
opinion.

'misguided' isn't a good word for this, because lets say you
like a particular carbrand A. Now, if you buy model XYZ from
brand A, it will perhaps perfectly match with what you're looking
for. However, model FGH of carbrand B would have matched even
MORE. Is it then a waste if you buy the XYZ, without looking at
B's models? No. If someone starts using .NET because he has heard
good things about it, and finds out .NET suits his needs, why
bother with some other platform he has used for a day or 2 a
few years ago and every time he runs a program written in that
language/platform it is slower than expected and doesn't look
native?

>> > Any less objective than just saying, "[Java can't] execute reasonably
>> > fast"?
>>
>> o for f*ck sake... 'reasonably' is a subjective argument.
>> what's acceptable for you isn't acceptable for another person,
>> so you can't debate 'reasonably'. Stop it, please.
>
> Are you *seriously* suggesting that Gregory's post was anything other
> than an ill-informed insult to Java? Do you really think he's had
> significant experience in Java (with modern VMs) and believes the speed
> to be unreasonable? Or do you think that maybe he's had either little
> experience or his experience was all a long time ago, and he's going
> along with the general hype that Java is slow? I know which one I reckon
> is more likely.

Let me put it this way: *anyone* who starts a thread with 'java'
or 'vb.net' in the topic is in fact asking for trouble here,
UNLESS some serious question is asked, however here (and in other
threads like the VB.NET vs C# threads) it was about opiniated
facts/hearsay... Nice for a saturday evening but not for a
serious discussion.

Tim Smith

unread,
Dec 29, 2002, 10:28:55 AM12/29/02
to
Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in message news:<uoHbUyurCHA.2496@TK2MSFTNGP12>...

> Tim Smith wrote:
> > Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote in message news:<Oo9pk4hrCHA.1080@TK2MSFTNGP10>...
> >
> >>Tim Smith wrote:
> >>
> >>>romancin...@fastmail.fm (Ashish Thakkar) wrote in message news:<22419c20.02122...@posting.google.com>...
> >>>
> >>>
> >>>>Is there anything that C# can do and java cannot and viceversa !
> >>>>
> >>>>Regards,
> >>>>Ashsih Thakkar
> >>>
> >>>
> >>>C# can run GUI applications *quickly* on windows, Java cannot.
> >>
> >>If this is true, why is VS.NET not written in C#?
> >
> >
> > Well that is neither here nor there.
> >
> >
> >>I'll put Java up agaist any C# app you care to create.
> >
> >
> > Sure - I have an app that displays HTML pages - it uses the Internet
> > Explorer web control and displays every one perfectly - matching the
> > browser 90% of the world uses...and it does it quickly.
>
> Well, since you are content to limit yourself to Windows, the equivalnet
> Java implementation would do the same. You *are* aware that SWT allows
> one to talk to OLE objects, right? After all , the Eclipse help system
> on Windows is an embedded IE control.
>
> Now, if one were to expand one's horizons beyond the limited number of
> platforms supporting .NET, you would be able to find things such as
> ICEsoft's Java products which provide HTML rendering for everything from
> full blown applications to mobile phones.
>
> I'm sure there are others as well.

Sure and I bet you have to pay for them - at least IE, DataGrid and
RTF are all part of the intitially purchased package.


>
>
> >
> > The data grid and rtf controls rock too.
> >
>
> As do tools such as EtymonPJ (Java PDF tools) and JTable. For example, see:
>
> http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/
>
> >
> >>>Java can run GUI applications on many platforms, C# cannot.
> >>>
> >>>Personally I love Java for server side processing - JSP etc.
> >>>But when it comes to rich GUI apps C# is unrivalled on the Windows
> >>>platform.
> >>
> >>http://www.jgoodies.com
> >
> >
> > I love the disk report and don't doubt that nice windows apps can be
> > made in Java - but most could probably be better in C# by a .Net
> > expert.
>
> Why is that? Really? Where does this blind faith in C# come from?
> What C# applications do you have as a baseline for performance?

Experience from writing my own apps for one and more importantly
Microsoft is always going to be able to write a faster VM for C# on
Windows than the JVM for Java on Windows. It stands to reason - they
own the O/S, they can make changes suitable for .NET. I am not saying
it is fair nor even ground - it stands to reason that C# will be
faster than Java on Windows. Sure Swing may be a more mature product
with a great architecture now, but even now an app with a tree/grid
that imports XML was much faster on C# than Java - I wrote the same
app twice. Perhaps a Java expert could make my Java app faster and
perhaps a .NET expert could make my C# app faster. But at the end of
the day there are only so many experts to go around and the vast
majority of software today is not written by 'experts' so you can run
all the benchmarks you like - it is simple real world experience that
rules the day.

By the way I ran the jgoodies.com disk report on my samba shared linux
server where I have a huge number (10's of thousands) of small files
and it said 24 hours to process!
Perhaps it would have been quicker in C#... :-)

Jon Skeet

unread,
Dec 29, 2002, 11:34:39 AM12/29/02
to
per...@xs4all.nl wrote:

<snip - not actually replying to this post>

Just to say that the reason for no more posts from me on this thread is
that I'm seeing my parents for a few days. I haven't gone off in a huff
or anything :)

I'll read all the rest of the posts when I get back, but I won't prolong
the thread any more by replying to them. If anyone wants a specific reply
to anything (unlikely, I know :), mail me.

Jim Sculley

unread,
Dec 29, 2002, 12:22:53 PM12/29/02
to
Frans Bouma wrote:

<snip>

>
>
> I searched on google, it supplies links, I post the links. I'm
> not on Linux with slrn.

There is a prominet 'Original Format' link that Google provides which
includes the Message ID.

<snip>

>
>
> his mailaddress is also in the posting, mail him, ask him, perhaps
> he answers your question.

He reads the newsgroup as well. I'll wait for a reply here.

<snip>

>
>
> I never said *all* was written in C#, since I know for a fact some
> database connectors (especially the SqlServer one) is partly
> written using a non-CLR dll, i.e. native code.

"the whole darn platform is written in C#, what more do you want?"

"Also, the .NET api is completely written in C#."

Do you deny having made the above statements? If so, how do I
distinguish between the 'real' Frans Bouma, and the apparent imposter?

>
> Also, even if the .NET api was just a thin layer on top of win32,
> is that important?

Yes.

> No, not for 1 second, since the developer is
> targetting the .NET platform, not the layers below it. Any
> other platform, mono f.e., which provides the exact same
> functionality but under the hood works differently, is perfectly
> fine.

Since Mono already had to give up trying to port Windows.Forms due to
the ugly bits of the Win32 API exposed in the .NET API, your Utopian
dream of 'the exact same functionality' is utterly impossible.

<snip>


>
>
> Are you still moaning about some link I dug up in 20 seconds
> on google?

And posted to a different part of the thread (USENET is asynchronous),
to which I replied when I read it. So, I suggest we drop that topic in
this portion of the thread to keep things sane.

<snip>

>
> Ah, so even if a C# language team member says so, we don't know
> for sure. Perhaps the 'sourcecode' you have in your hands isn't
> the code Sun used to compile their JVM or the api.
>

Yes, that seems reasonable. The code is stored in black helicopters.

> And for your 'equals' comment: why do you care? I've better things
> to do with my time than to look through hundreds of thousands of
> lines of sourcecode to dig up 'how it's done'. When I encounter
> a bug in .NET, I tend to decompile it and see if it's .NET or
> me.

In violation of the EULA? Nice. I find it distrurbing that the typical
MS developer has no problem with this approach. Incidentally, the
choice of String.Equals() was not coincidental. There was a past
discussion about the fastest way to look for empty Strings. The choices
were using == "" or checking for a length of zero. One reply claimed
that == would always be slower, and a later reply noted that this was
true only if the Equals() implementation didn't first check for zero length.

> For the rest, how .NET works inside, I couldn't care less.
> I also don't care about the kind of metal mercedes put into
> the engine of my car.

Until a recall is issued statingthat there were a batch of bad castings
that could leave you stranded with a cracked engine block.

>
>
>>> Every API has holes. Java had holes for years. When I started
>>> programming java in 1995 it was nice, useable, but far from
>>> finished. There are things left to be desired, in Java and in
>>> .NET. The fun part is that both platforms support the addition
>>> of functionality, f.e. like it is done in the database
>>> provider area for .NET.
>>
>>To each his own. I prefer a platform that doesn't require P/Invoke like
>>functionality to do various common tasks. If you ask Mr. Gunnerson,
>>he'll likely agree that too much P/Invoke is curently required. As for
>>holes in the Java API, the nice thing is that I can be sure that when
>>they are plugged, the functinoality will be consistent and present on
>>all platforms. The situation with Mono and Windows.Forms makes me very
>>skeptical that the current .NET will follow Java's example.
>
>
> show me ONE piece of evidence where P/Invoke is needed, in a
> common part of .NET where you don't expect it.

To get a screen shot.

A folder chooser (unless you want to recreate the functionality of
'SHBrowseForFolder' from scratch.

The problem in this thread: <#LLNPC85BHA.2196@tkmsftngp07>

>
> I had to come up with evidence, now it's your turn.


Done.

<snip>

>>
>>Such as?
>
>
> well, for starters, on most desktops runs windows and on
> most windowsdesktops there is just java 1.1 available, if
> available at all.

Nonsense. Non-ancient Java is avaialble through any of a number of
deployment options. Java WebStart, a bundled JRE, the Java Plug-in,
etc. All of which are significantly more compact that the .NET runtime
download.

>
>
>>> On the serverside, you have
>>> to wait for the performance you'll get with what Sun comes up
>>> with or f.e. buy a J2EE appserver.
>>
>>Nonsense. J2EE is a specification implemented by dozens of companies,
>>whose prices range from 100% free to many thousands of dollars. Can you
>>say the same for .NET Enterprise tools?
>
>
> yes. .NET is perfectly free. Is a *good*, 100% implementation of
> the J2EE spec, for 100% free? Mostly not.

You really don't know anything about J2EE/Java at all do you? See
http://www.ibatis.com

>
>
>>> what's important is functionality sharing, the reason why
>>> webservices are not a buzzword-thing but reality and Sun among
>>> others knows that all too well.
>>
>>Right. Webservices. I simply cannot wait until the day I can do image
>>processing on my mobile phone.
>
>
> ah, and this, my friend makes you troll of the day.
>
> *plonk*

Did anyone *not* see this coming? Why are so many people here so
unwilling to provide support for their ridiculous claims?

Jim Sculley

unread,
Dec 29, 2002, 12:46:39 PM12/29/02
to

Wait. So you are claiming that paying for a third party tool that can
be used with any operating system (including free ones) is somehow
different than using a tool that works on one operating system thta is
never free? I'm sorry, I don't see much of a disticntion there.


>
>>
>>>The data grid and rtf controls rock too.
>>>
>>
>>As do tools such as EtymonPJ (Java PDF tools) and JTable. For example, see:
>>
>>http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/
>>
>>
>>>>>Java can run GUI applications on many platforms, C# cannot.
>>>>>
>>>>>Personally I love Java for server side processing - JSP etc.
>>>>>But when it comes to rich GUI apps C# is unrivalled on the Windows
>>>>>platform.
>>>>
>>>>http://www.jgoodies.com
>>>
>>>
>>>I love the disk report and don't doubt that nice windows apps can be
>>>made in Java - but most could probably be better in C# by a .Net
>>>expert.
>>
>>Why is that? Really? Where does this blind faith in C# come from?
>>What C# applications do you have as a baseline for performance?
>
>
> Experience from writing my own apps for one and more importantly
> Microsoft is always going to be able to write a faster VM for C# on
> Windows than the JVM for Java on Windows.

I find this funny. How does one continue to ignore facts when presented
with a great deal of evidence of those facts? Where can I find the data
you are using to make this claim? My data has been posted in various
thread s in this newsgroup. I don't recall you prviding data to refute
it. I have mentioned the Java Performance Report which you should be
able to find via Google. I have mentioned Cameron Purdy's comments on
the topic. Yet, you still cling to some silly belief that it is
impossible thta Java could be faster than C# on Windows.

> It stands to reason - they
> own the O/S, they can make changes suitable for .NET.

How ominous.

> I am not saying
> it is fair nor even ground - it stands to reason that C# will be
> faster than Java on Windows.

Not really. Not when there is a greate deal of evidence to the contrary.

> Sure Swing may be a more mature product
> with a great architecture now, but even now an app with a tree/grid
> that imports XML was much faster on C# than Java

Let's see it.

> - I wrote the same
> app twice. Perhaps a Java expert could make my Java app faster and
> perhaps a .NET expert could make my C# app faster.

Post you Java code somewhere and *I'll* look at it.

> But at the end of
> the day there are only so many experts to go around and the vast
> majority of software today is not written by 'experts' so you can run
> all the benchmarks you like - it is simple real world experience that
> rules the day.

So, you entire position is founded on your own personal experience? You
don't even entertain the possibility that you are a below average Java
programmer? I've never understood this viewpoint. when something goes
wrong or doesn't perform in my code, I immediately suspect my code.
Only after eliminating that possilbity do I go looking for bugs or known
problems.

>
> By the way I ran the jgoodies.com disk report on my samba shared linux
> server where I have a huge number (10's of thousands) of small files
> and it said 24 hours to process!

Considering I just scanned 400,000 files in 19,000 directories (about
50Gb total) with 25% of the content accessed on a Windows 2000 machine
via Samba on a 10BaseT LAN in about 4 minutes, I'll have to ask that you
post some configuration information before I consider your results typical.


> Perhaps it would have been quicker in C#... :-

Perhaps, but I doubt it. In any event, JDiskReport doesn't even claim
to be optimized for speed. The discussion has centered around UI, but
you now seem to want to change that, which is fine, because your
original claim is equally invalid for non-GUI code.

Jim S.

Mike Schilling

unread,
Dec 29, 2002, 1:09:06 PM12/29/02
to

"Erik Funkenbusch" <er...@visi.com> wrote in message
news:OiBkF8grCHA.2496@TK2MSFTNGP12...
> Mike Schilling <mscotts...@hotmail.com> wrote:
> > "Erik Funkenbusch" <er...@visi.com> wrote in message
> > news:Ok8m7udrCHA.1668@TK2MSFTNGP09...

> >> Ashish Thakkar <romancin...@fastmail.fm> wrote:
> >>> Is there anything that C# can do and java cannot and viceversa !
> >>
> >> No. But that's not saying much. Any turing complete language can
> >> do just about anything another turing complete language can do. The
> >> question is, how easy is it to do a particular thing.
> >>
> >> One thing i like about C# (and really .NET in general) is delegates.
> >> Delegates get chained so that you can add more than one handler and
> >> the framework automatically calls all of them. Java doesn't have a
> >> simple way to do this, so you must write your own.
> >
> > Look into Java events and listeners; it's a similar pattern.
>
> That's a pattern, not an implementation. As I said, yes.. you can do the
> same thing, .NET has it built in, you must write your own for Java.

<shrugs> I would call the event and listener classes that come with the JDK
an implementation, but whatever.


Jim Sculley

unread,
Dec 29, 2002, 1:08:14 PM12/29/02
to
Frans Bouma wrote:
> Jon Skeet <sk...@pobox.com> wrote in
> news:MPG.1878503bd...@news.microsoft.com:
>
>
>>[Stuff sleep - I've decided to reply now anyway.]
>>per...@xs4all.nl wrote:
>>
>>>>He shows a lot more knowledge of C# and .NET than others in this
>>>>thread have shown of Java.
>>>
>>> He mentions he has used SharpDevelop somewhere, however I
>>> can't really say he knows what .NET really is, which isn't bad
>>> though, it takes a lot of time to truely learn the ins and
>>> outs of .NET and C#, and if you spend your time on developing
>>> Java applications you simply CAN'T know .NET that good. That's
>>> fully ok with me, but don't come here as the C# expert who
>>> will tell us, C#-jehova's without a clue, how wrong we all see
>>> the world ;)
>>
>>Did Jim claim to be a C# expert? No. In fact, I don't think you need to
>>be a C# expert, a .NET expert or a Java expert to give some perfectly
>>reasonable advantages for both sides. Here are a few which I'm sure I
>>could have come up with after a week of doing both:
>
>
> He's not co-operating here, I've added him to my killfile. I
> simply can't stand people who have to tell everyone in a C#
> newsgroup they have to get their facts about Java straight and
> have to come up with proof for claims (which I did several times)

You can't stand people who tell the truth? Gotcha. Well that explains
quite a bit.

> however he claims stuff he doesn't proof (he says .NET has
> a lot of P/Invoke calls,

No, I said .NET requires P/Invoke for a developer to do a lot of common
things. Twisting my words to make your position seem tenable is very
dishonest.

> which seem unnecessary according to Jim, however no proof whatsoever.)

I've replied elsewhere about this. Furthermore, Eric Gunnerson himself
agreed with me on this very point in a very recent thread.

<snip>

>
>
> the original post was more a question for 'what can be done easier
> in C# than in Java', as some already have pointed out that both
> languages are turing complete so everything is possible with both
> languages.

And as I've already stated, I was one of the *first* people to make such
a reply, albeit in the multi-posted sister thread in c.l.j.p. The
discussion was going fine until three knuckleheads in *this* group
started making wild, unsubstantiated claims about Java's performance.
Then, peopel such as yourself agreed wholeheartedly, only to later admit
that you hadn't used a version of Java that could be considered recent
by any stretch of the imagination. You've been caught with your pants
down, and rather than apologize, you choose to hide behind a kill list
(which I suspect won't last more than a day or two, if history is any
sort of guide).

>
>
>>>>Did you not think that the original ridiculous claims about Java were
>>>>rude in themselves?
>>>
>>> IF they were rude for java, then so what, Jon?
>>
>>So I should feel free to correct inaccurate statements without being
>>branded as an anti-.NET bigot, which I seem to have been.
>
>
> You have to take into account the existence of certain 'feelings'
> which are there because some groups on both sides want to ventilate
> certain 'hate'-like ideas.

Why? I don't hate .NET. Do you hate Java? If so, what is this hatred
based on? Your admitted experiences with a Java fro mthe last century?

> If you're here correcting java-claims,
> that's fine, but consider also that by acting as some sort of
> sidekick of mr. Sculley (you seem to have to defend him), the
> impressions about mr. Sculley will also be transfered to
> impressions about you, that's normal human behavior (albeit
> discussable).

I doubt that Mr. Skeet has any problems being associated with my point
of view as put forth in this thread.


>
>
>>> You feel the obligation to defend Java's name and fame here.
>>> That's your right and by all means, do so.
>>
>>Shame it seems I can't do so without you assuming that it means I hate
>>.NET and C#.
>
>
> I'm not saying you hate .net, it just seems you have to defend
> mr. Sculley while his texts here are not that in place, left
> alone 'in context'.

That sentence makes no sense. Please rephrase.


>
>
>>> You can believe me, Jon, I really don't think Java or .NET
>>> make that much of a difference when it comes to speed or
>>> useability.
>>
>>Good. In that case, why on earth should you get so annoyed when I
>>disagree with people who say how awful Java supposedly is, without
>>giving any solid evidence?
>
>
> Because to THEM it might be an awful platform. I've told you
> that the tools I worked with, written in Java, weren't great,
> both performance wise and L&F.

Back in 1997. Gotcha. Newsflash: Windows 3.1 was a piece of crap
visually as well. Shall we toss XP in the dumpster then?

> Add to that Sun's L&F and
> you have a perfect recipe for an "I even like VB over Java"-
> attitude.

Only for individuals unintelligent enough to realize that a whole host
of options exist outside the confines of the Metal Look and Feel.
Incidentally, how can you comment on look and feel, not having used
Swing? After all, to my knowledge, the MS VM doesn't support it.

> Arguing with that, that they have to put up
> evidence because otherwise their claim is ridiculus sounds
> a bit odd, when at the same time (in the same posting!) you
> tend to defend mr. Sculley who isn't here for C# but for Java.

Right. Why do you have such a hard time understanding that false claims
have no place in any forum, regardless of who makes the claim, or what
'side' they are on? The bottom line is thta the claims made were false.
Completely, utterly, provably false.

>
>
>>> And I can fully understand someone chooses a platform A over
>>> platform B simply because the people who use platform A are
>>> nicer while both platforms are not that much different.
>>
>>But anyone who does that based on a sample of one, without even
>>*looking* at the other community in its respective place is misguided,
>>I'd say.
>
>
> Jon, for starters: a 'community' build around a technology, be it
> an AMD processor, an NVidia GPU or a language like Java or C#, is
> worthless when it comes to non-biased views on the base of the
> community compared to its competitors.

Odd. I see all sorts of lively discussion in the Java newsgroups about
other technologies. Even the advocacy group has seen many enlightening
discussion about languages such as C#, Eiffel, Smalltalk, Java, Python,
etc. recall very few discussion where claims as ridiculous as the ones
made here. Furthermore, when such ridiculous claims are made, they are
immediately countered, often by several individuals from both sides of
the debate. I thought this was typical everywhere.

> If a person asks here
> "I know C#, what about Java?" or "What about VB.NET?", go to the
> Java or VB.NET community. This is a C# newsgroup, here you can
> ask questions about C# and discuss C# related topics, but not
> how good a competitor is because you will never get a non-biased
> opinion.

So now you claim that *everyone * here is biased? I suspect that there
are many people reading this thread take offense your sudden appointment
as spokesperson.

>
> 'misguided' isn't a good word for this, because lets say you
> like a particular carbrand A. Now, if you buy model XYZ from
> brand A, it will perhaps perfectly match with what you're looking
> for. However, model FGH of carbrand B would have matched even
> MORE. Is it then a waste if you buy the XYZ, without looking at
> B's models? No. If someone starts using .NET because he has heard
> good things about it, and finds out .NET suits his needs, why
> bother with some other platform he has used for a day or 2 a
> few years ago and every time he runs a program written in that
> language/platform it is slower than expected and doesn't look
> native?

You can use whatever you want. That is not the issue. The issue is
thta for you to make claims about Java performance, knowing full well
that you are completely unqualified to comment on the topic, is
intellectually dishonest. That you have the gall to condemn *my*
actions in pointing out a patently false claim is laughable.

<snip>


>
>
> Let me put it this way: *anyone* who starts a thread with 'java'
> or 'vb.net' in the topic is in fact asking for trouble here,

The onyl peopel here who seem to have gotten themselves in trouble are
the folks who made the false claims to which I (and Jon) replied.

> UNLESS some serious question is asked, however here (and in other
> threads like the VB.NET vs C# threads) it was about opiniated
> facts/hearsay... Nice for a saturday evening but not for a
> serious discussion.

You don't think a question asking for a comparison of C# and Java
features is serious?

Jim S

Eric Gunnerson [MS]

unread,
Dec 29, 2002, 1:15:13 PM12/29/02
to

--
Visit the C# product team at http://www.gotdotnet.com/team/csharp

This posting is provided "AS IS" with no warranties, and confers no rights.

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message

news:eEjKmZrrCHA.1640@TK2MSFTNGP09...
> Erik Funkenbusch wrote:
> > Jim Sculley <nic...@wisdomteeth.tlanta.com> wrote:
> >
> >>Lloyd Dupont wrote:
> >>
> >>>VS.NET is not writte in C# because C++ is as a valid .NET language as
> >>>others (including C#) and MS has a lot of legacy code in C++ about
> >>>VisualStudio, quite fai isn't it ?
> >>
> >>Perhaps. Can you point me to some MS created C# applications?
> >
> >
> > There isn't a lot of difference between Managed C++ and C# in terms of
> > byte-code output.
>
> This again begs the question of why VS.NET isn't C#. If MS wanted to
> showcase some (supposedly) new and interesting langauge, wouldn't a high
> profile application using it make sense?

VS.NET could be written in a managed language, but it didn't make sense to
do so for the first version. One big blocker was that when VS.NET
development was started, neither the runtime nor the languages could be used
to write an application like VS.NET. It wasn't until the betas that that
point had been reached, which would have put VS a few years behind the .NET
runtime and frameworks.

Another issue has to do with the size of VS and the amount of change
required to support .NET. Being able to build on an existing codebase made
it possible to get VS.NET done more quickly.

We did do some parts of VS.NET in managed code - the property grid used in
the forms designers is all managed code.


Eric Gunnerson [MS]

unread,
Dec 29, 2002, 1:29:56 PM12/29/02
to

--
Visit the C# product team at http://www.gotdotnet.com/team/csharp

This posting is provided "AS IS" with no warranties, and confers no rights.

"Jim Sculley" <nic...@wisdomteeth.tlanta.com> wrote in message

news:OuKy5vsrCHA.2540@TK2MSFTNGP10...

> >
> > And please Jim, this is posted in this newsgroup!
>
> And? You made the claim. It is up to you to provide the evidence.
> Finally you have done so. Now, I'll have to ask that Eric comment on
> Windows.Forms and what approximate percentage of it is written in C#.
> Clearly it isn't *all*, as you have claimed. Eric's comment above makes
> that patently obvious. I would certainly expect to see a great deal of
> skew toward things other than C# in certain areas, such as the GUI.

To my knowledge, all of windows forms is written in C#. There are lots of
interfaces into both the Win32 and COM worlds to get things done, but the
interop definitions are all written in C#. It's possible there is some other
language there, but I looked through the sources and didn't find any.

Jim Sculley

unread,
Dec 29, 2002, 1:11:27 PM12/29/02
to
Daniel O'Connell wrote:

<snip>

>
> hmm, you been reading anything other than what you wanna read here?

Yes. In the interest of having an understanding of what is actually
transpiring in this thread, I have read all the posts. Did you have a
point? Or will you be returning to silly ad hominem attacks now?

It is loading more messages.
0 new messages