Is that a joke ?

  • Thread starter Thread starter Ted Nicols
  • Start date Start date
You're right Cor, that means business for MS marketing people.
Unfortunately I'm one of those old-timers who learned that Computer is a
system that computes as fast as it can.

Ted

I can assure you that I was one of those.

However from the time that processors (and chipset) became every time
cheaper and became below the let say 5000 dollar I did not look anymore (in
general speaking) at speed of the program (For me is important efficiency,
what means for me good maintainable programs which process in a for the user
comfortable speed).

I was keeping track on the use of memory because that stayed a long time
expensive. Than from the time that the memory became as cheap as it is
already a while now, I found that absolute unimportant how many has to be
used as long as it is not at the top.

I find it crazy that I see that people are looking very much, how they can
prevent unboxing and boxing. I see here never in these newsgroups questions
what is the best way for efficient screenpainting. While that consumes
normally in a client system the most processing time.

Just my thought,

Cor
 
Wraith Daquell said:
I wouldn't recommend using C# (and definitely not VB) to program a 3D
FPS, nor a CAD application. But, to be reasonable, you couldn't do it
in the vast majority of languages.

Sorry but I have to disagree. Any programming language can do that stuff, if
is a real optimized native compiler.
The last twenty four years I wrote similar projects in Basic (remember
BASCOM ?) C, C++, Pascal and others.
Currently I'm using C++ and some assembler.
Nobody is forcing you to use .NET. There are a myriad of languages out
there... take your pick. For me, and my applications, and the
applications I've seen written and run, it works well enough.

I have no problem with the language been used. The problem is the slowness
of the VM.
Targeting to Win32 is a temporary solution. IF Microsoft continue declaring
WinFX as the primary Longhorn API, then I have to start thinking porting our
projects to .NET. And that is a real disaster (performance wise).

First, MS gets slapped because "Java is the thing of the future". Then,
they get slapped because "they copy their competition". If the world
didn't want a VM API, MS wouldn't have made it. There are many things
that impossible or close to it to implement in a natively compiled
framework. And for the majority of apps, speed is not a killing issue,
so VMs work just fine.

I don't agree that "world wants a VM" at least people who know and respect
the technology.
A VM is a "fast port" tool, no more no less. Of course, fast porting
applications to different OSes means money but waht about quality and
performance ?

He's out to make money for MS, he's out to promote his products. Brain
wash is what happens in tyrannical regimes.

Yeah, that's true...
Free Country, Freedom of Choice rings a bell. If they like it and love
it, let'm be. You don't have to work for MS; if you're correct in all
that you believe, join a competitor, fight against them following the
law (viruses prove nothing), and once again, if you're correct, the
world will come to you.

Hmm, I have nothing against Microsoft as a company. Actually I believe that
they have some of the brightest people in computer industry.
As I said before, I never aggreed with people who believe that linux is the
best OS or anything MS builds is crap.

Why'd you ask all these questions, then? Arrr... I got writer's cramp
for nothing :)

These are rhetoric questions, you know :)
--> By the way I'm not one of those stupid guys who use to call
Microsoft as M$. Me and all my colleagues use Microsoft development
tools since 1982 and we all know what exactly are JIT, VM and native
compiler.

I'd agree with you on that one. Your questions were all valid, and
you're obviously a knowledged developer. Your post is a good example of
non-profane, non-offensive tech discussion. Thanks Ted.

Thank you Wraith

Ted
 
Ted,

Before you understand me wrong, I have the opinion that for the group you
mentioned a great deal of the applications have at the moment to be in C or
C++ or even lower. (Or needs engines using that to perform parts)

Therefore was this the only part that I answered.

Cor
 
Cor Ligthert said:
However from the time that processors (and chipset) became every time
cheaper and became below the let say 5000 dollar I did not look anymore
(in general speaking) at speed of the program (For me is important
efficiency, what means for me good maintainable programs which process in
a for the user comfortable speed).

You're right Cor.
Do you know what I cannot understand ? The fact that although every year
computers become faster, the software, including OS, becomes slower. Not
only because of .NET though.
I find it crazy that I see that people are looking very much, how they can
prevent unboxing and boxing. I see here never in these newsgroups
questions what is the best way for efficient screenpainting. While that
consumes normally in a client system the most processing time.

Say that again Cor, most developers seem ignoring that painting is the most
power consuming task.

Ted
 
Cor Ligthert said:
Before you understand me wrong, I have the opinion that for the group you
mentioned a great deal of the applications have at the moment to be in C
or C++ or even lower. (Or needs engines using that to perform parts)

I know that Cor and agree with you.
The real problem is not with the language itself, but the underneath
technology, .JITed VM in .NET case. I'm sure you know what I mean by that.
Nothing beats a native compiled application in performance and resource
usage regardless the type of project. For example, even plain database
applications use sorting, charting, archiving, statistic analysis etc.

Ted
 
Nick Malik said:
The .Net framework DOES compile code into native op-codes. It is NOT an
interpreter.

I know that Nick, that doesn't make it a true compiler, at least an
optimized one.
You said that it "compiles" code into native op-codes. Can you tell me
what's the difference between .NET and native Win32 compiled code, in
machine processing cycles?
Do you want the answer to that? Thousand of times more processing cycles not
including the JIT delay.
That means performance loss.

While some operations run quicker in C++, including the initial load of
the app into memory, the fact is that .Net apps are not substantially
slower, when running, than C++ apps for most uses. Perhaps you have hit
on a situation that runs slower? Perhaps if you tell is a little more
about your app?

No need for something special to proove that. Just try to make some math, 3d
matrix transformation for example.
I bet you will see more than 5x slower times in managed code.

Regards

Ted
 
Chad Z. Hower aka Kudzu said:
Many others have posted good replies to your questions, but here is my
view and addresses directly
many of your questions.

http://www.codeproject.com/dotnet/WhyDotNET.asp

Chad,
thanks for the article, interesting. Anyway I disagree with many parts of
it, but that's not the point.
I know quite well what is good and what is really bad with .NET.

Give me back the performance of native compiled applications and I'll become
the "most happy MS fan" you ever met.

Regards

Ted
 
Ted Nicols said:
I don't agree that "world wants a VM" at least people who know and respect
the technology.
A VM is a "fast port" tool, no more no less. Of course, fast porting
applications to different OSes means money but waht about quality and
performance ?

Even with the more money, exactly how much more money will we make? The
most current estimates place the Microsoft OS's at 89.9% according to
http://www.w3schools.com/browsers/browsers_stats.asp.

So, just how much money is going to come rolling in from 10.1% of the non-MS
users and at what cost? How much will you spend and how much will you gain?

We won;t even mention that there is no successful ports of the .Net platform
yet (one that includes all intrinsic controls shipped with .Net for
Windows). And, if you use a 3rd party .Net control on Windows.....you can
just forget cross-platform use!

This was another one of the marketing mantras that was as close to an
outright lie as you can get without crossing the line. Let's call it a
MAJOR deception.

Jim
 
I know that Cor and agree with you.
The real problem is not with the language itself, but the underneath
technology, .JITed VM in .NET case. I'm sure you know what I mean by that.
Nothing beats a native compiled application in performance and resource
usage regardless the type of project. For example, even plain database
applications use sorting, charting, archiving, statistic analysis etc.
Ted,

However, in my opinion beats whatever CLI using language every to native
written code when it becomes about larger applications. A CLI program can
easily reuse parts of programs, for what the human brain is not capable to
do. Therefore large (true) native programs needs a lot of power to reload or
whatever.

Therefore there is in my opinion not a 1 to 1 answer. There will always be
situations, which are very difficult to decide where to go to native code
and when to use CLI. The bias of the person will probably make the
decisions, however you cannot expect from a human that they are always
reasonable.

Again just my thought,

Cor
 
Hi Ted,
You are an avelange me friend:-)
You must realize that after Java was introduced, the whole context of
programing is sifted, the main reason for that is the JVM as you mention,
this gives us the programers the freedom to write a code and not worry if it
run on XP or Win95, or UNIX ect, this great think, is not with out a time
cost of the execution time.
Problems With Sun microsystems:
When Microsoft release the Visual Studio 6, did a really foolish thing and
include java in BUT the build there own libraries enstead of the standard
java ones, ex:
instead of Java.AWT you had to call Microsoft.Graphics, As you can imaging
the SUN took them to court and won !!(what a suprice!!).
So the build there own Virtual Machine and actually did a lot more after
that, NET doesn't only gives you portability in your code but you can chose
the lanquage (syntax) you preffer without the limitations of it since you
call the same libraries, AND what for me rise above the java at the moment
is that NOBODY knows! better the native windows libraries than microsoft so
it gives the ability to run kernel methods DirectX and over all you have all
your pc in your good hands to do what ever you pleased with it!.
TIME HOUND US ALL!!!!
The time seetback everybody thinks is minor cos the evolution of the
processing time the last 10 years grow very mucth and in the next 2 years
there will be no problem for the most demanding application.

Personally i come from a java backround and the last 2 yrs i work as a c#
developer and i grow to love (sort of) NET framework, you can really do many
stuff that will take a c++ user 500 lines of code to do in 50 line. I would
preffer Sun to had made that move intead of Microsoft , but i can blame them
cos Microsoft don't release to the comunity the code behind windows.
So Ted, i can say this, for sure NET is not a joke, is a useful tool that
unfortunatlly microsoft make it!!! and look like it will be around for qiute
some time.
Thx for the philosofical mod that you put me in to, and sorry about me
spelling, English is not me first laquage.
Regards Nassos Reyzidis
 
Cor Ligthert said:
However, in my opinion beats whatever CLI using language every to native
written code when it becomes about larger applications. A CLI program can
easily reuse parts of programs, for what the human brain is not capable to
do. Therefore large (true) native programs needs a lot of power to reload
or whatever.

That's true Cor, if fast reloading program portions is necessary.
The real problem isn't with the loading performance though. It is the
managec code runtime performance which bothers me.
Therefore there is in my opinion not a 1 to 1 answer. There will always be
situations, which are very difficult to decide where to go to native code
and when to use CLI. The bias of the person will probably make the
decisions, however you cannot expect from a human that they are always
reasonable.

I have to agree with that. It is a big truth.

Ted
 
Hi Nassos,

I know what Java meant to all "high-level" developers, including Microsoft
people.
The problem with all those VM based languages is the fact that they
sacrifice performance in the temple of easy porting applications to
different architectures.
Performance-wise, Java was always one of the worst systems ever used before,
even on pure SUN systems I had the chance to use. I'm sure you know what I
mean, considering your Java experience. Now we have to fight with .NET
oddities.
One of the very first parts I liked in .NET was and still is, CO#. After
almost 25 years using CO/CO++ I still find it a difficult to use language
that has to be rewritten. CO# is something I'd like to have as a stand alone
optimized compiler, instead based on .NET framework.

Unfortunately I cannot call .NET not JAVA an evolution. What for example,
offered Java to computer technology ?
Nothing but just a new cross development environment, mostly suitable for
enterprise applications or educational purposes.
Ask any experienced developer to rewrite a Java application to a native
compiled language and I'm sure that the resulted applications will be tens
of times faster and smaller.
The time seetback everybody thinks is minor cos the evolution of the
processing time the last 10 years grow very mucth and in the next 2 years
there will be no problem for the most demanding application.

Then why after so many years, applications like Photoshop or ACAD are still
so slow on average machines ?
Because CPU power increases but coding quality decreases. Also, new
developers like finishing their project as fast they can, ignoring many
times what debugging really means.
The real world problem is that my clients, as an example, wan a fast
application today. What can I tell them ? "Please wait a few years, get new
advanced computers and this slow dog will run happy again?"
So Ted, i can say this, for sure NET is not a joke, is a useful tool that
unfortunatlly microsoft make it!!! and look like it will be around for
qiute some time.

..NET is definitely not a joke. It is managed code performance what I called
a joke. Don't forget that even Microsoft developers, cannot use it for
processing critical parts of Longhorn. As a result, LH will be written
almost entirely in unmanaged code. But Microsoft want from us to use managed
code for our own applications. That's what I don't understand.
Thx for the philosofical mod that you put me in to, and sorry about me
spelling, English is not me first laquage.

I thank you for your honest opinion and the nice talking.
BTW my English look much worst than yours, you know English isn't my native
language too.

Regards

Ted Nicols
 
If you want to keep working using .NET you could also consider using Managed
C++ perhaps... It should give you both the ability to get something as quick
as what you have done previously but still use some of the .NET capabilities
if needed.

You may want also to time more precisely (if not already done) to see why
your C# code behaves this way and if it could be enhanced...


I would suggest posting a specific question one by one to get some help.
Here it's a general discussion that will unlikely help... As a side note
..NET doesn't use a VM but compiles to native code. Yopu could likely even
see the machine code that is finally used and see how it is different from a
C++ counterpart to try to narrow down were the difference lies (for example
do you see that math operations are much slower ?)
 
Because CPU power increases but coding quality decreases. Also, new
developers like finishing their project as fast they can, ignoring many
times what debugging really means.
The real world problem is that my clients, as an example, wan a fast
application today. What can I tell them ? "Please wait a few years, get
new advanced computers and this slow dog will run happy again?"

Ted, i could not agree more with you, but coding quality decreases, cos many
people are going in the busness for different reasons than before, me
personally start coding in mid 80's and at that time money from it was not
the issue, it was pure love and masochism!! personally i want it to "win"
this devil machine that came in to my life(Spectrum technology rules!!!lol),
now the industry produce a lot of money and many people sees this as an
opportunity to make a lot of cash!! I had a personal experience , i knew a
gay that was a truck driver, lost him for 3 years and found him again
owning a computer store and acting as he was a pc guru, How lame is that!.
I remember a time that when i achived something with my code, very easy to
do nowdays, i feld like the king of the world (still do!!), i don't care
about the money, but the thrill of setting a goal and achiving it .
I study Electronic engineering with computer sience, and one of my biggest
problem is that i can't merge this two, unless i write assembly and c++, So
managed code and Java, for sure get of your hands the absolute control of
the device, that for people like us is VERY bad, we where used to have
control of our machine and be more cerfull with our code (cos we didn't want
to have to destroy our "love" PC).
For the future i hope that we will be able to swift the industry (big
coorporations) from money makers to problem solvers (yes i kown Outopia) but
hope dies last!!!
Know if i don't want to get fired!! i sould stop imaging what it should be,
and write some quick and crappy code.
Cheers Men it was a plasure talking to you!
 
Ted Nicols said:
I know that Nick, that doesn't make it a true compiler,

As opposed to a "fake" compiler?
at least an optimized one.

It is better optimized than many compilers in the past, perhaps not as
optimized as C++ in VS6. It is still an optimized compiler.
You said that it "compiles" code into native op-codes. Can you tell me
what's the difference between .NET and native Win32 compiled code, in
machine processing cycles?

Not without more research, no.
Do you want the answer to that? Thousand of times more processing cycles
not including the JIT delay.

I'd like to know where you get your numbers. Independent analysis, please.
That means performance loss.

If your statements are truly representative of a typical processing app, I
will accept them. There are a wide variety of benchmarks. Pick one.
No need for something special to proove that. Just try to make some math,
3d matrix transformation for example.
I bet you will see more than 5x slower times in managed code.

You have laid the charges, Ted. I ask you to provide evidence. I will not
prove your point for you.

I do not believe that you will see a 5x speed loss. I do believe that you
may see a 1.5x speed loss. Matrix calculation is not the primary goal of C#
or .net languages, but they don't stink at it.


--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
 
On Sun, 26 Jun 2005 20:36:28 +0300, "Ted Nicols"

<drivel snipped>

Please don't feed the trolls.

Oz
 
Nick Malik said:
As opposed to a "fake" compiler?

No Nick, as opposed to a native multipass optimized compiler.
It is better optimized than many compilers in the past, perhaps not as
optimized as C++ in VS6. It is still an optimized compiler.

Absolutely disagree with that. Resulted executable machine code is no near
to C++ generated code in efficiency.
I'd like to know where you get your numbers. Independent analysis,
please.

Nick, after 25 years working on research & development plus two degrees in
computer science and h/w architecture I don't need an "independed" analysis
to prove something that is obvious. At least I can prove it to myself.
You don't need them too. Just code some complex math in both languages and
compare their machine language map. Not such a difficult test.
If you simply want to check the code efficiency, just use a timer, the
difference will be more than noticeable :)
You have laid the charges, Ted. I ask you to provide evidence. I will
not prove your point for you.

Didn't asked that Nick. It is my honest opinion based on my own observations
after months of porting portions of our code to .NET.
As already said, I really like C# and .NET classes lib, actually that is the
primary reason I'd like to port my company's projects to this framework. I'm
not that kind of developer who dislike anything new and evolutionary. It's
the performance loss that bothers me.
..NET may be more than fast enough for many tasks, like regular desktop,
client server and web applications. Unfortunately I cannot say the same for
applications like automation, real time acquisition and analysis and other
engineering tasks.

Of course, it's too early for a verdict. .NET/WinFX is far from been a
finished product so we all have to give Microsoft a little time to polish
its rough edges.

Regards

Ted Nicols
 
Ted Nicols said:
Give me back the performance of native compiled applications and I'll
become the "most happy MS fan" you ever met.

Thats not going to happen. :)

IMO its way overdue that we should begin focusing on code SAFETY. .NET forces overrun checking,
etc.. things that most native compiler developers turn off.

What WILL happen is improved performance and faster CPU's. And to be honest - Given nearly
every program on my sysetm (Outlook, whatever..) I'd gladly trade a bit of performance for less
crashing and less data loss.


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"

Empower ASP.NET with IntraWeb
http://www.atozed.com/IntraWeb/
 
Back
Top