By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,433 Members | 1,702 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,433 IT Pros & Developers. It's quick & easy.

Why not develop new language

P: n/a
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.
Jul 22 '05 #1
Share this Question
Share on Google+
66 Replies


P: n/a
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.


Erm yeah. A lot of people more than likely find that C++ IS better than
C# for the tasks they do.

There is no 'best' language or anything like that and just because one
is newer certainly does not make it better.

-Steve
Jul 22 '05 #2

P: n/a

"Prashant" <pr*********@hotmail.com> wrote in message
news:ca*************************@posting.google.co m...
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.


Check out the D Programming Language at www.digtialmars.com/d/ and decide
for yourself.

-Walter

Jul 22 '05 #3

P: n/a

"Prashant" <pr*********@hotmail.com> wrote in message
news:ca*************************@posting.google.co m...
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.


I won't dispute whether C# is better or worse than C++ (it's probably a bit
of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .

// Johan
Jul 22 '05 #4

P: n/a
Prashant wrote:
There are lot of dicussion on C# is much better than C++.
Some people think that, others don't. Anyway, define "better". Is a roadster
"better" than a truck? I'd say it depends on whether you want to cruise
around or to transport 5 tons of toothpicks.
Why there is no language to compute C#.
Compute? What do you mean by that?
This way we are accepting monopoly of M$.
We are? By using C++ even though someone says C# is better, I accept
Microsoft's monopoly? I don't get that logic.
Why there is no group which seriously tring to develop new language
better than C#.


Well, if you feel the need for that, start it. Nobody can stop you from
developing your own programming language and looking for other people to
help you in that. What do you think how C++ was created?
Jul 22 '05 #5

P: n/a
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.

Is there any C# construct that is not supported by C++?


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #6

P: n/a
On 1 Sep 2004 00:23:19 -0700, pr*********@hotmail.com (Prashant)
wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Have you heard of Java? It is a very similar language to C#, and
requires a similar VM based execution environment to run in. The
biggest benefit is that it is portable to devices from desktop PCs to
mobile phones, whereas C# currently only runs on Windows and possibly
Linux (the Mono project).
Why there is no group which seriously tring to develop new language
better than C#.


Java already exists; if you don't want to follow the Microsoft route,
then Java is a similar alternative.

If you want a compiled, more efficient language, then C and C++ fill
that niche quite well, but I agree there is room for a better and
better marketed language. Creating the language isn't the problem,
marketing it with sufficient force to gain as much market exposure as
Java and C# enjoy is the problem.

Perhaps we need IBM to get behind a superior compiled language?

Tom
Jul 22 '05 #7

P: n/a
tom_usenet wrote:
On 1 Sep 2004 00:23:19 -0700, pr*********@hotmail.com (Prashant)
wrote:

There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.

Have you heard of Java? It is a very similar language to C#, and
requires a similar VM based execution environment to run in. The
biggest benefit is that it is portable to devices from desktop PCs to
mobile phones, whereas C# currently only runs on Windows and possibly
Linux (the Mono project).

Why there is no group which seriously tring to develop new language
better than C#.

Java already exists; if you don't want to follow the Microsoft route,
then Java is a similar alternative.

If you want a compiled, more efficient language, then C and C++ fill
that niche quite well, but I agree there is room for a better and
better marketed language. Creating the language isn't the problem,
marketing it with sufficient force to gain as much market exposure as
Java and C# enjoy is the problem.

Perhaps we need IBM to get behind a superior compiled language?

C# programmers are like Java ones. You see only them come, exactly like
the Java ones, to bother C++ newsgroups of their language superiority.

Thus demonstrating their ignorance. C++ is superior to C# in all aspects
even in .NET world.

But I will not expand now on that, I want to tire him a bit. :-)


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #8

P: n/a

Is there any C# construct that is not supported by C++?


Nice one. I join this statement.
Jul 22 '05 #9

P: n/a
tom_usenet wrote:
On 1 Sep 2004 00:23:19 -0700, pr*********@hotmail.com (Prashant)
wrote: <snip>
Why there is no group which seriously tring to develop new language
better than C#.


Java already exists; if you don't want to follow the Microsoft route,
then Java is a similar alternative.


C++, C# and Java aren't better or worse than each other. Just different.

Each has features that the others don't.

http://www.digitalmars.com/d/comparison.html
If you want a compiled, more efficient language, then C and C++ fill
that niche quite well, but I agree there is room for a better and
better marketed language.

<snip>

All four languages do get compiled; moreover, all of them probably can
be compiled to native code. As for efficiency - I guess it depends on
what you do with them, and how good the respective compilers are at
optimising.

Stewart.

--
My e-mail is valid but not my primary mailbox. Please keep replies on
the 'group where everyone may benefit.
Jul 22 '05 #10

P: n/a

"Gernot Frisch" <Me@Privacy.net> skrev i en meddelelse
news:2p************@uni-berlin.de...

Is there any C# construct that is not supported by C++?


Nice one. I join this statement.


Okay .... then perhaps you can tell me what it means? I read it as
"everything can be done if you program in assembly" ;-)

/Peter
Jul 22 '05 #11

P: n/a
Peter Koch Larsen wrote:
Okay .... then perhaps you can tell me what it means? I read it as
"everything can be done if you program in assembly" ;-)


C++ is a multi-paradigm language and supports 4 paradigms. The Object
Oriented programming paradigm, the generic programming paradigm
(templates), the procedural programming paradigm and the modular
programming paradigm (namespaces).

Each paradigm is supported *well* with optimal space and time efficiencies.

For OO in particular, that multiple inheritance is supported along with
abstract interfaces etc.
C# currently supports only 1 paradigm, the OO one and this not
completely, but only single inheritance and multiple inheritance only
for interfaces.
These from a paradigm perspective.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #12

P: n/a

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...

Each paradigm is supported *well* with optimal space and time efficiencies.


"Optimal" is a pretty strong term, isn't it? Can you demonstrate that, or
point me to a paper that demonstrates how C++ is "optimal" in any particular
fashion? After all, it's a quality-of-implementation issue, isn't it? I'm
pretty sure one could write a C++ compiler that produced extremely
inefficient code. Not to mention that when optimizing for space, one often
sacrifices time efficiency, and vice-versa.

(Hmmm...ever notice that when someone says "Not to mention...", they go
ahead and mention it? :-))

-Howard

Jul 22 '05 #13

P: n/a

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...

C# programmers are like Java ones. You see only them come, exactly like
the Java ones, to bother C++ newsgroups of their language superiority.

I'd say that C# programmers are much like C++ programmers. They do the work
they're paid to do.
Thus demonstrating their ignorance. C++ is superior to C# in all aspects
even in .NET world.


But of course EVERYONE knows that Delphi beats them both! :-)

-Howard
Jul 22 '05 #14

P: n/a
Gernot Frisch wrote:
Is there any C# construct that is not supported by C++?

Nice one. I join this statement.

A language is worth little without a consistant class library. This is
where C# shines brighter than Java and definately C++ (STL/ATL/MFC bla
bla...)

/Casper
Jul 22 '05 #15

P: n/a
On Wed, 01 Sep 2004 16:28:14 +0100, Stewart Gordon
<sm*******@yahoo.com> wrote:
Java already exists; if you don't want to follow the Microsoft route,
then Java is a similar alternative.
C++, C# and Java aren't better or worse than each other. Just different.


Right. Did you misread "similar" as "superior"?
If you want a compiled, more efficient language, then C and C++ fill
that niche quite well, but I agree there is room for a better and
better marketed language.

<snip>

All four languages do get compiled; moreover, all of them probably can
be compiled to native code.


For that matter, there is a freestanding C++ implementation (Managed
C++) that can be compiled to bytecode.

As for efficiency - I guess it depends onwhat you do with them, and how good the respective compilers are at
optimising.


Yes, I suppose I should have said a "runtime efficient language". That
is, one designed with priniciples such as "what you don't use you
don't pay for" and where speed is not traded for safety at a language
feature level (although obviously libraries should be able to make
such design choices if they wish).

Basically, a language suitable for games programming and systems
programming as well as server and applications programming.

Tom
Jul 22 '05 #16

P: n/a

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.

Is there any C# construct that is not supported by C++?


Yes. The "try...finally" construct comes to mind. While we have RAII in
C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no such
construct. (I'm not saying it should, mind you, just answering your
question. :-))

-Howard
Jul 22 '05 #17

P: n/a
"Johan Nilsson" <johan.nilsson@---.esrange.ssc.se> wrote in message news:<lz*******************@hydra.nntpserver.com>. ..
"Prashant" <pr*********@hotmail.com> wrote in message
news:ca*************************@posting.google.co m...
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.


I won't dispute whether C# is better or worse than C++ (it's probably a bit
of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .


I admire the skill and courage of the people trying to port C# and
..Net to Linux, but strategically speaking, it only re-enforces
Microsoft's dominance. Even if the mono project got to the point of
100% compatibility, which would be an unprecedented feat, it would
only confirm that Microsoft has developed a really great system.

Everyone working on alternatives to M$ products would be better served
to develop something totally different from M$, and preferably
something better. Invent a new language. Or promote and polish some
other language like Python or Haskell.
Jul 22 '05 #18

P: n/a
Howard wrote:
"Optimal" is a pretty strong term, isn't it? Can you demonstrate that, or
point me to a paper that demonstrates how C++ is "optimal" in any particular
fashion? After all, it's a quality-of-implementation issue, isn't it? I'm
pretty sure one could write a C++ compiler that produced extremely
inefficient code. Not to mention that when optimizing for space, one often
sacrifices time efficiency, and vice-versa.

(Hmmm...ever notice that when someone says "Not to mention...", they go
ahead and mention it? :-))


http://www.research.att.com/~bs/esc99.html

http://www23.brinkster.com/noicys/do...eaking-cpp.pdf

http://www.research.att.com/~bs/crc.pdf

http://www.biltek.ieee.metu.edu.tr/s...01/bs_eng.html


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #19

P: n/a
Casper wrote:
Gernot Frisch wrote:
Is there any C# construct that is not supported by C++?


Nice one. I join this statement.

A language is worth little without a consistant class library. This is
where C# shines brighter than Java and definately C++ (STL/ATL/MFC bla
bla...)

Now we got ourselves in this C# thing, but anyway. You know C#... has
not any standard library.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #20

P: n/a
Howard wrote:
Yes. The "try...finally" construct comes to mind. While we have RAII in
C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no such
construct. (I'm not saying it should, mind you, just answering your
question. :-))



I do not know what you mean by try-finally exactly, but if you are
referring to Dispose definition, this is automatically generated by the
compiler in C++/CLI.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #21

P: n/a
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.

OK, lets shed light on this.
C# has of course less abilities than C++ under paradigm view. Also C#
has not a standard library of its own.
Also about .NET in particular here is some information.

CLI is an official standard describing a multilingual VM environment
with an API. .NET is a CLI compliant machine and there is also the
C#/CLI standard which describes C# in relevance to CLI there is not a
separate C# standard).
There is an upcoming C++/CLI standard (currently draft, official
document expected in December 2004) - and also an upcoming C#/CLI 2
standard.

C++/CLI is more powerful than C#/CLI (including the upcoming C#/CLI one).

The design ideals of C++/CLI are the following:

1) Bring C++ abilities to CLI.
2) Bring CLI additional features to C++.
3) Leave no room for a lower level language in CLI (*including IL*).
Some of the abilities provided by C++/CLI:

Reference objects with stack semantics , deterministic finalisation.

Templates used with reference objects (and producing 100% IL code).

Generics support. Generics are created at run-time while templates at
compile-time. Ability to use generics and templates in combination (e.g.
templates having a generic interface and vice versa).

Ability to pin objects so as to not be moved by the garbage collector
and converted to regular pointers.

No Dispose definition. Dispose is automatically created by the compiler.

C++: Right by default. Other languages (including C#): right by explicit
coding.
MS says that on average, C++ pure IL code is 25% faster than C#. Except
of this, now being MS specific, VC++ supports heavy optimisations not
available on VC# including the upcoming POGO optimisations (real-use
optimisation) + some other crazy stuff that I saw in a video yesterday
something like:
#pragma openmp for
for(int i=0; i<whatever;++i)
// ...
which is facilities supported from openmp: http://www.openmp.org.

The above has as a result, (in addition to the usual .NET
multi-threading facilities) to execute the loop in a separate optimised
thread).


And many others:

I have created a page explaining some of these:

http://www23.brinkster.com/noicys/cppcli.htm

And Microsoft references (be sure to check these):

http://microsoft.sitestream.com/Tech...V333_Sutte.ppt

http://www.accu.org/conference/prese...keynote%29.pdf


Now you may kiss C# good bye.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #22

P: n/a

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
Howard wrote:
Yes. The "try...finally" construct comes to mind. While we have RAII in C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no such construct. (I'm not saying it should, mind you, just answering your
question. :-))



I do not know what you mean by try-finally exactly, but if you are
referring to Dispose definition, this is automatically generated by the
compiler in C++/CLI.


Nope, that's not it.

You know how we use try { } catch() {} in C++? Well, both Delphi and C#
(which was developed with the aid of one of Delphi's main original
developers) have another construct, which is "try {} finally {}". The idea
is that no matter what else takes place, no matter whether it's a return
statement or an exception or simply dropping on out of the try block
normally, the finally clause will ALWAYS be executed. (Short of an abnormal
program termination, I would suspect.) It might be used like this, for
example (if it were available in C++):

Resource* pRes = new Resource;
try
{
// use the allocated resource somehow
}
finally
{
delete pRes;
}

This makes sure that you release a resource, close a file, or whatever, when
you're done with it, no matter what happens in the meantime. It's been
argued here that RAII is a better approach, and I won't argue that point. I
will just say that the above construct is quite easy to use, and it's easy
to read and recognize what it's doing.

-Howard

Jul 22 '05 #23

P: n/a

"Howard" <al*****@hotmail.com> wrote in message
news:VF*********************@bgtnsc04-news.ops.worldnet.att.net...

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
Howard wrote:
Yes. The "try...finally" construct comes to mind. While we have RAII in C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no such construct. (I'm not saying it should, mind you, just answering your
question. :-))

I do not know what you mean by try-finally exactly, but if you are
referring to Dispose definition, this is automatically generated by the
compiler in C++/CLI.


Nope, that's not it.

You know how we use try { } catch() {} in C++? Well, both Delphi and C#
(which was developed with the aid of one of Delphi's main original
developers) have another construct, which is "try {} finally {}". The

idea is that no matter what else takes place, no matter whether it's a return
statement or an exception or simply dropping on out of the try block
normally, the finally clause will ALWAYS be executed. (Short of an abnormal program termination, I would suspect.) It might be used like this, for
example (if it were available in C++):

Resource* pRes = new Resource;
try
{
// use the allocated resource somehow
}
finally
{
delete pRes;
}

This makes sure that you release a resource, close a file, or whatever, when you're done with it, no matter what happens in the meantime. It's been
argued here that RAII is a better approach, and I won't argue that point. I will just say that the above construct is quite easy to use, and it's easy
to read and recognize what it's doing.


C++ already has this, via destructors. When 'throw' causes
a scope to be exited, all automatic objects are destroyed, and
any destructors will run. ALWAYS. So just wrap that 'new' and
'delete' in a class, create an automatic object of that type,
and you have the same mechanism.

-Mike
Jul 22 '05 #24

P: n/a
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.


You're assuming that C# is 'better' than C++ and that C# is displacing
C++, both of which are arguable. I think people don't develop a full
C++ replacement because it is very, very hard to write such a language.

Let me offer my thoughts on what makes a language successful. Beyond
its capabilities and performance is the ease-of-use of its
documentation. The documentation needs to be indexed by keyword, and
the repository should contain the entire range of topics from "hello
world" up to advanced topics like multi-threading and parallel computing.

For example, the documentation for the scripting language PHP is
easily downloadable in half a dozen formats (and over a dozen
languages). Not only does it contain the entire PHP documentation
superbly organized and indexed, but it also contains the user comments
with tons of tips and sample code. Where is the similar documentation
for C++?

In my experience, the C++ documentation is highly fragmented. STL is
here, MFC is there, ATL is here, the FAQ is there, the language
reference is only in books, and you can't even get the specification
without paying a copyright fee. Proof of this fragmentation is the
fact that so many posts in this forum get shot down for being
off-topic. Why don't the people in this forum really concerned only
about the standard make a forum like comp.lang.c++.standard? Or do
they just enjoy lording over the newbies who moth into this ng? How
welcoming and inclusive C++ must feel to those starting off knowing
little about programming, posting their question on C++ in the
comp.lang.c++ forum, and being told to go away! That attitude should
cause more fear for C++ aficionados than silly C# by M$.

Anyway, that's besides the point. My observation is that the lack of
consolidated, easy-to-use documentation makes the hurdle for learning
C++ unnecessarily higher than it ought to be. It seems that C# and
other languages will make inroads to the extent that they can function
in place of C++ with a lower learning curve. Maybe the fact that so
many people use C++ despite this obstacle is a testament to how
powerful the language really is.

--Anywhere else, this is just my two cents, but special for here, it
is just my one cent.

Jul 22 '05 #25

P: n/a

"Jeff" <su********@gmail.com> wrote in message
news:78**************************@posting.google.c om...
"Johan Nilsson" <johan.nilsson@---.esrange.ssc.se> wrote in message news:<lz*******************@hydra.nntpserver.com>. ..
"Prashant" <pr*********@hotmail.com> wrote in message
news:ca*************************@posting.google.co m...
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.


I won't dispute whether C# is better or worse than C++ (it's probably a bit of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .


I admire the skill and courage of the people trying to port C# and
.Net to Linux, but strategically speaking, it only re-enforces
Microsoft's dominance. Even if the mono project got to the point of
100% compatibility, which would be an unprecedented feat, it would
only confirm that Microsoft has developed a really great system.


And if they have, what's wrong with confirming that? I won't trash a good
product just because of who came up with the idea, or the opposite way
around.

Everyone working on alternatives to M$ products would be better served
to develop something totally different from M$, and preferably
something better. Invent a new language. Or promote and polish some
other language like Python or Haskell.


<off-topic/>
This isn't meant as personal criticism, but each time I see someone use the
acronym "M$" or "windoze" that person loses a bit of credibility in my eyes
(equally applies to "lunix" etc). By using that kind of acronyms, people
clearly show that they have unnecessarily chosen one side and refuse to use
anything from the other "side", when all would benefit from taking the best
of both (or more) worlds.

Yes, I'm probably a bit biased as I mostly work in the Windows world, but I
do use open source software and also occasionally develop under linux as
well as VMS(sic). Even so, I try to keep an unbiased view on technology.
</off-topic>

Just my 0.02 EUR.

// Johan
Jul 22 '05 #26

P: n/a
It has base class libraries, separated into 3 (Standard, Kernel &
Compact) CLI (Common Language Infrastructure) categories which have all
been submitted for standardization to the ECMA - C# Unleased (SAMS).

JAVA however, has no standard library which is why I hate it...
confusing, deprecated and inconsistant and NOT submitted to any standard
association (they tried with ISO but ISO did not accept SUN's restrictions).

/Casper
Now we got ourselves in this C# thing, but anyway. You know C#... has
not any standard library.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys

Jul 22 '05 #27

P: n/a

"Howard" <al*****@hotmail.com> skrev i en meddelelse
news:TD*********************@bgtnsc05-news.ops.worldnet.att.net...

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
Prashant wrote:
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.

Is there any C# construct that is not supported by C++?


Yes. The "try...finally" construct comes to mind. While we have RAII in
C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no

such construct. (I'm not saying it should, mind you, just answering your
question. :-))

-Howard


try finally is useless in C++ - I have never seen a valid usage of it (and i
have seen it used in a C++-dialect that supported finally).

But yes - it is something supported in C# for a good reason (no RAII).

/Peter
Jul 22 '05 #28

P: n/a
Mike Wahler wrote:
Resource* pRes = new Resource;
try
{
// use the allocated resource somehow
}
finally
{
delete pRes;
}

This makes sure that you release a resource, close a file, or whatever,
when you're done with it, no matter what happens in the meantime. It's
been argued here that RAII is a better approach, and I won't argue that ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ point. I will just say that the above construct is quite easy to use, and
it's easy to read and recognize what it's doing.
C++ already has this, via destructors. When 'throw' causes
a scope to be exited, all automatic objects are destroyed, and
any destructors will run. ALWAYS. So just wrap that 'new' and
'delete' in a class,


Or use std::auto_ptr. RAII is the only place where it's really useful.
create an automatic object of that type, and you have the same mechanism.


I guess Howard knows that. See the marked line.
Jul 22 '05 #29

P: n/a
Casper B. wrote:
It has base class libraries, separated into 3 (Standard, Kernel &
Compact) CLI (Common Language Infrastructure) categories which have all
been submitted for standardization to the ECMA - C# Unleased (SAMS).


All libraries available to C# in every CLI platform are available to all
languages in the platform, and not to C# only. C# has not any library of
its own.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #30

P: n/a
Shailesh Humbad wrote:

For example, the documentation for the scripting language PHP is easily
downloadable in half a dozen formats (and over a dozen languages). Not
only does it contain the entire PHP documentation superbly organized and
indexed, but it also contains the user comments with tons of tips and
sample code. Where is the similar documentation for C++?

Is PHP standardised and not copyrighted, or does it belong to an individual?
In my experience, the C++ documentation is highly fragmented. STL is
here,

STL is a subset (the most part of the standard library).
MFC is there, ATL is here,

These are system extensions.


the FAQ is there, the language
reference is only in books, and you can't even get the specification
without paying a copyright fee. Proof of this fragmentation is the fact
that so many posts in this forum get shot down for being off-topic.

This happens because C++ is a general purpose programming language used
in many diverse fields and in all systems (from small embedded devices
to large mainframes and supercomputers).
We can't discuss all APIs and extensions in a newsgroup, but only the
language itself.

On the other hand, PHP is a special purpose language whose
implementation is probably written in C++. :-)

Why
don't the people in this forum really concerned only about the standard
make a forum like comp.lang.c++.standard? Or do they just enjoy lording
over the newbies who moth into this ng? How welcoming and inclusive C++
must feel to those starting off knowing little about programming,
posting their question on C++ in the comp.lang.c++ forum, and being told
to go away!

Probably you miss the fact how widespread C++ is and how many third
party APIs and libraries exist out there.

Given that, there are other newsgroups for most of them out there (for
example MS VC++ .net newsgroups).

That attitude should cause more fear for C++ aficionados
than silly C# by M$.

Anyway, that's besides the point. My observation is that the lack of
consolidated, easy-to-use documentation makes the hurdle for learning
C++ unnecessarily higher than it ought to be. It seems that C# and
other languages will make inroads to the extent that they can function
in place of C++ with a lower learning curve. Maybe the fact that so
many people use C++ despite this obstacle is a testament to how powerful
the language really is.

Yes. Also one does not need to learn the whole C++ to write useful
applications. Also check this and especially the "silver bullet" stuff.
And consider what C# is becoming after the addition of generics etc:
http://www.itworld.com/AppDev/710/lw...up/page_1.html


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #31

P: n/a
tom_usenet wrote:
On Wed, 01 Sep 2004 16:28:14 +0100, Stewart Gordon
<sm*******@yahoo.com> wrote:
Java already exists; if you don't want to follow the Microsoft
route, then Java is a similar alternative.
C++, C# and Java aren't better or worse than each other. Just
different.


Right. Did you misread "similar" as "superior"?


No. But I think I got a bit mixed up by the use of "compute", and to
some extent misread "C# is much better than C++" as "C#, which is much
better than C++".
If you want a compiled, more efficient language, then C and C++
fill that niche quite well, but I agree there is room for a
better and better marketed language.


<snip>

All four languages do get compiled; moreover, all of them probably
can be compiled to native code.

For that matter, there is a freestanding C++ implementation (Managed
C++) that can be compiled to bytecode.


I'd've thought that any implementation could be compiled to just about
anything, given a suitable implementation to compile it with.
As for efficiency - I guess it depends on what you do with them,
and how good the respective compilers are at optimising.


Yes, I suppose I should have said a "runtime efficient language".
That is, one designed with priniciples such as "what you don't use
you don't pay for" and where speed is not traded for safety at a
language feature level (although obviously libraries should be able
to make such design choices if they wish).


Are you allowing languages where trading of speed for safety at a
language feature level is a compile-time option, like D and (typically)
Fortran?
Basically, a language suitable for games programming and systems
programming as well as server and applications programming.


I doubt there are many languages out there in which a game has never
been written. But yes, that consideration makes sense.

Stewart.

--
My e-mail is valid but not my primary mailbox. Please keep replies on
the 'group where everyone may benefit.
Jul 22 '05 #32

P: n/a

"Peter Koch Larsen" <pk*****@mailme.dk> wrote in message
news:nv********************@news000.worldonline.dk ...

"Howard" <al*****@hotmail.com> skrev i en meddelelse
news:TD*********************@bgtnsc05-news.ops.worldnet.att.net...

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
Prashant wrote:
> There are lot of dicussion on C# is much better than C++. Why there is > no language to compute C#. This way we are accepting monopoly of M$.
> Why there is no group which seriously tring to develop new language
> better than C#.
Is there any C# construct that is not supported by C++?

Yes. The "try...finally" construct comes to mind. While we have RAII in C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no

such
construct. (I'm not saying it should, mind you, just answering your
question. :-))

-Howard


try finally is useless in C++ - I have never seen a valid usage of it (and

i have seen it used in a C++-dialect that supported finally).

But yes - it is something supported in C# for a good reason (no RAII).


I never suggested that C++ ought to have it! I merely answered the question
"Is there any C# construct that is not supported by C++?" Nothing was asked
about whether it *should* be supported by C++, and I specifically pointed
out the RAII method as our (possibly better) alternative.

As for a "valid" usage of it, what would be your criteria? I often used it
in Delphi, especially for making sure I closed handles, files, etc., which I
had opened and had to be sure to close. It's a heck of a lot quicker (and
more obvious, to me anyway) to simply say open..try..do
stuff..finally..close than to declare a new class instance to handle that
simple open/close pairing, especially when you need that "do stuff" part to
interact with *this* class.

But again, I'm NOT advocating its use in C++!!!

-Howard



Jul 22 '05 #33

P: n/a
Howard wrote:
I never suggested that C++ ought to have it! I merely answered the question
"Is there any C# construct that is not supported by C++?" Nothing was asked
about whether it *should* be supported by C++, and I specifically pointed
out the RAII method as our (possibly better) alternative.

As for a "valid" usage of it, what would be your criteria? I often used it
in Delphi, especially for making sure I closed handles, files, etc., which I
had opened and had to be sure to close. It's a heck of a lot quicker (and
more obvious, to me anyway) to simply say open..try..do
stuff..finally..close than to declare a new class instance to handle that
simple open/close pairing, especially when you need that "do stuff" part to
interact with *this* class.

But again, I'm NOT advocating its use in C++!!!

I need some more explanation for this feature. Lets assume we allocate
100 IP objects in the free store and when doing some stuff a "whatever"
exception is throw. How do you delete that memory using try-finally and
receiving the exception in the same or an outer block?

try
{
IPConn *IPConnArray=new IPConn;
// ...
// A whatever exception is thrown
}
finally
{
delete[] IPConnArray;
}

// Where "whatever is caught?


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #34

P: n/a
Ioannis Vranos wrote:
Shailesh Humbad wrote:

For example, the documentation for the scripting language PHP is
easily downloadable in half a dozen formats (and over a dozen
languages). Not only does it contain the entire PHP documentation
superbly organized and indexed, but it also contains the user comments
with tons of tips and sample code. Where is the similar documentation
for C++?


Is PHP standardised and not copyrighted, or does it belong to an
individual?


According to the PHP site, the code is copyright to "The PHP Group",
so it doesn't belong to an individual. I don't think there is a PHP
standard in the sense of something ratified by an SSO (standards
setting organization). Also, PHP and most of its extensions are
written in C.
Jul 22 '05 #35

P: n/a

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch**********@ulysses.noc.ntua.gr...
Howard wrote:
I never suggested that C++ ought to have it! I merely answered the question "Is there any C# construct that is not supported by C++?" Nothing was asked about whether it *should* be supported by C++, and I specifically pointed out the RAII method as our (possibly better) alternative.

As for a "valid" usage of it, what would be your criteria? I often used it in Delphi, especially for making sure I closed handles, files, etc., which I had opened and had to be sure to close. It's a heck of a lot quicker (and more obvious, to me anyway) to simply say open..try..do
stuff..finally..close than to declare a new class instance to handle that simple open/close pairing, especially when you need that "do stuff" part to interact with *this* class.

But again, I'm NOT advocating its use in C++!!!

I need some more explanation for this feature. Lets assume we allocate
100 IP objects in the free store and when doing some stuff a "whatever"
exception is throw. How do you delete that memory using try-finally and
receiving the exception in the same or an outer block?

try
{
IPConn *IPConnArray=new IPConn;
// ...
// A whatever exception is thrown
}
finally
{
delete[] IPConnArray;
}

// Where "whatever is caught?


I'm a bit confused about what you're trying to do. You use new, but later
delete[]. I'll assume you meant new IPConn[100]?

But it's important that you enter the try block AFTER acquiring your
resource, because you only want to call the delete (or whatever clean-up is
needed for the given case) if you've already succeeded in acquiring that
resource. (That's important for things like opening files, where opening
the file may fail. In that case, you only want to enter the try..finally
block if the file open succeeded.)

One thing that makes finally work with exceptions is that it will
automatically re-throw any exception that causes the finally to be entered.
So, here's an example of one way you might use finally as well as catch,
assuming you need to handle any exception thrown:

try
{
IPConn* IPConnArray = new IPConn[100];
try
{
for (i = 0; i < 100; ++i)
{
// do something with each item,
// possibly throwing at some point due to an error condition
}
}
finally
{
delete [] IPConnArray;
}
}
catch(...)
{
// handle exception
}

The exception will be caught in the finally block, which will delete the
array. Then that exception will be re-thrown, and caught in the outer catch
block. (If no exception were thrown, then the finally block would exit
normally instead of throwing.)

(BTW, If I recall, in Delphi, if the constructor throws an exception, its
destructor is called automatically, cleaning up any partially-created
objects.)

I've also had try..catch blocks *inside* the try clause of my try..finally,
in order to *decide* if an error needed propogating out at that point in
time, or if I just needed to log it or whatever.

-Howard



Jul 22 '05 #36

P: n/a
Howard wrote:
I'm a bit confused about what you're trying to do. You use new, but later
delete[]. I'll assume you meant new IPConn[100]?

Yes, my mistake. :-)
But it's important that you enter the try block AFTER acquiring your
resource, because you only want to call the delete (or whatever clean-up is
needed for the given case) if you've already succeeded in acquiring that
resource. (That's important for things like opening files, where opening
the file may fail. In that case, you only want to enter the try..finally
block if the file open succeeded.)

One thing that makes finally work with exceptions is that it will
automatically re-throw any exception that causes the finally to be entered.
So, here's an example of one way you might use finally as well as catch,
assuming you need to handle any exception thrown:

try
{
IPConn* IPConnArray = new IPConn[100];
try
{
for (i = 0; i < 100; ++i)
{
// do something with each item,
// possibly throwing at some point due to an error condition
}
}
finally
{
delete [] IPConnArray;
}
}
catch(...)
{
// handle exception
}

The exception will be caught in the finally block, which will delete the
array. Then that exception will be re-thrown, and caught in the outer catch
block. (If no exception were thrown, then the finally block would exit
normally instead of throwing.)

Yes, OK I understand, however in C++the best way would be to use
vector<IPConn> instead of the explicit array on the free store, which
cleans up itself automatically when an exception is thrown (RAII).

(BTW, If I recall, in Delphi, if the constructor throws an exception, its
destructor is called automatically, cleaning up any partially-created
objects.)
This is the case of C++ too.
I've also had try..catch blocks *inside* the try clause of my try..finally,
in order to *decide* if an error needed propogating out at that point in
time, or if I just needed to log it or whatever.


Well try-finally is not a badly needed feature and essentially is not
part of any paradigm in particular (for example OO).
Also check one of the links I provided in another message, especially
the PDF:

http://www.accu.org/conference/prese...keynote%29.pdf

It says (about C++/CLI):
Cleanup in C++: Less Code, More Control
The CLR state of the art is great for memory.
It’s not great for other resource types:

• Finalizers usually run too late (e.g., files, database
connections, locks). Having lots of finalizers doesn’t scale.

• The Dispose pattern (try-finally, or C# “using”) tries to
address this, but is fragile, error-prone, and requires the
user to write more code.
Instead of writing try-finally or using blocks:

• Users can leverage a destructor. The C++ compiler
generates all the Dispose code automatically, including
chaining calls to Dispose. (There is no Dispose pattern.)

• Types authored in C++ are naturally usable in other
languages, and vice versa.

• C++: Correctness by default.
Other languages: Correctness by explicit coding.


There are manby other interesting stuff in this PDF and the following
powerpoint presentation:
http://microsoft.sitestream.com/Tech...V333_Sutte.ppt


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #37

P: n/a
Shailesh Humbad wrote:
According to the PHP site, the code is copyright to "The PHP Group", so
it doesn't belong to an individual. I don't think there is a PHP
standard in the sense of something ratified by an SSO (standards setting
organization). Also, PHP and most of its extensions are written in C.

Thanks for the info. Well C is another language where in its newsgroup
comp.lang.c only ISO C things are discussed, and not everything.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #38

P: n/a

"Howard" <al*****@hotmail.com> skrev i en meddelelse
news:7T********************@bgtnsc05-news.ops.worldnet.att.net...

"Peter Koch Larsen" <pk*****@mailme.dk> wrote in message
news:nv********************@news000.worldonline.dk ...

"Howard" <al*****@hotmail.com> skrev i en meddelelse
news:TD*********************@bgtnsc05-news.ops.worldnet.att.net...

"Ioannis Vranos" <iv*@guesswh.at.grad.com> wrote in message
news:ch***********@ulysses.noc.ntua.gr...
> Prashant wrote:
> > There are lot of dicussion on C# is much better than C++. Why there
is
> > no language to compute C#. This way we are accepting monopoly of
M$. > > Why there is no group which seriously tring to develop new language > > better than C#.
>
>
> Is there any C# construct that is not supported by C++?
>

Yes. The "try...finally" construct comes to mind. While we have RAII
in C++, which *may* be better, I've used the same try..finally construct
extensively in Delphi (Pascal), and found it quite useful. C++ has no

such
construct. (I'm not saying it should, mind you, just answering your
question. :-))

-Howard


try finally is useless in C++ - I have never seen a valid usage of it

(and i
have seen it used in a C++-dialect that supported finally).

But yes - it is something supported in C# for a good reason (no RAII).

I never suggested that C++ ought to have it! I merely answered the

question "Is there any C# construct that is not supported by C++?" Nothing was asked about whether it *should* be supported by C++, and I specifically pointed
out the RAII method as our (possibly better) alternative.

As for a "valid" usage of it, what would be your criteria? I often used it in Delphi, especially for making sure I closed handles, files, etc., which I had opened and had to be sure to close. It's a heck of a lot quicker (and
more obvious, to me anyway) to simply say open..try..do
stuff..finally..close than to declare a new class instance to handle that
simple open/close pairing, especially when you need that "do stuff" part to interact with *this* class.
I just meant that is see no valid use for it in C++. Delphi might be another
matter - no templates and/or destructors not automatically called at
destruction could be a reason to have "finally".

But again, I'm NOT advocating its use in C++!!!
I realise this! ;_)
-Howard

/Peter
Jul 22 '05 #39

P: n/a
On Wed, 01 Sep 2004 23:46:23 GMT, "Mike Wahler" <mk******@mkwahler.net>
wrote:
"Howard" <al*****@hotmail.com> wrote in message
news:VF*********************@bgtnsc04-news.ops.worldnet.att.net...
You know how we use try { } catch() {} in C++? Well, both Delphi and C#
(which was developed with the aid of one of Delphi's main original
developers) have another construct, which is "try {} finally {}". The idea
is that no matter what else takes place, no matter whether it's a return
statement or an exception or simply dropping on out of the try block
normally, the finally clause will ALWAYS be executed. (Short of an abnormal
program termination, I would suspect.) It might be used like this, for
example (if it were available in C++):

Resource* pRes = new Resource;
try
{
// use the allocated resource somehow
}
finally
{
delete pRes;
}

Actually, you just wrote valid C++/CLI code -- C++/CLI also supports
finally with exactly that syntax. This is described in the current draft
spec available via:
http://www.msdn.microsoft.com/visual...a/default.aspx
.. See section 16.4, and search for "finally" throughout (there are other
spots that specify how it interacts with other language features like
goto).

This is in addition to destructors -- as Mike points out, you can also get
a similar effect with destructors:
C++ already has this, via destructors. When 'throw' causes
a scope to be exited, all automatic objects are destroyed, and
any destructors will run. ALWAYS. So just wrap that 'new' and
'delete' in a class, create an automatic object of that type,
and you have the same mechanism.


One advantage of finally is visual locality of reference -- the code is
right there in the function instead of off in a different place (a
destructor definition). One advantage of destructors is that RAII objects
encapsulate and automatically manage ownership. In your example above, I
would prefer to use a destructor (by writing auto_ptr<Resource> instead of
Resource*, you don't need a finally at all). You can use either facility,
of course.

Herb

---
Herb Sutter (www.gotw.ca)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Visual C++ architect, Microsoft (www.gotw.ca/microsoft)
Jul 22 '05 #40

P: n/a
On Thu, 02 Sep 2004 00:00:31 +0300, Ioannis Vranos
<iv*@guesswh.at.grad.com> wrote:
There is an upcoming C++/CLI standard (currently draft, official
document expected in December 2004) - and also an upcoming C#/CLI 2
standard.
Just a note, we now expect to complete work on the C++/CLI standard in
March and have it approved by Ecma in June. We wanted the extra time to
complete and polish the C++/CLI spec, but another reason for the slip was
that the CLI standard (undergoing its second round of work in parallel
with the first round of C++/CLI) also slipped.

In case you're wondering "why 6 months," the answer is that Ecma's
schedule, you get two shots a year to submit a document for approval (June
and December), so any slip is 6 months (or a multiple thereof).
C++/CLI is more powerful than C#/CLI (including the upcoming C#/CLI one).

The design ideals of C++/CLI are the following:

1) Bring C++ abilities to CLI.
2) Bring CLI additional features to C++.
3) Leave no room for a lower level language in CLI (*including IL*).


BTW, another way of saying this that people seem to find useful is that,
as of our Whidbey (VC++ 2005) release, C++ is the systems programming
language for .NET.

Herb

---
Herb Sutter (www.gotw.ca)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Visual C++ architect, Microsoft (www.gotw.ca/microsoft)
Jul 22 '05 #41

P: n/a
Herb Sutter wrote:
Actually, you just wrote valid C++/CLI code -- C++/CLI also supports
finally with exactly that syntax. This is described in the current draft
spec available via:
http://www.msdn.microsoft.com/visual...a/default.aspx
. See section 16.4, and search for "finally" throughout (there are other
spots that specify how it interacts with other language features like
goto).

This is in addition to destructors -- as Mike points out, you can also get
a similar effect with destructors:

One advantage of finally is visual locality of reference -- the code is
right there in the function instead of off in a different place (a
destructor definition). One advantage of destructors is that RAII objects
encapsulate and automatically manage ownership. In your example above, I
would prefer to use a destructor (by writing auto_ptr<Resource> instead of
Resource*, you don't need a finally at all). You can use either facility,
of course.

Herb

---
Herb Sutter (www.gotw.ca)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Visual C++ architect, Microsoft (www.gotw.ca/microsoft)


At last, the source himself! Now you can provide definite light on C++/CLI!
Questions of myself.
Why this:
array<int> ^p ={1,2,3,4};
can't also be array<int> ar = {1,2,3,4};
that is with stack semantics as every other ref object in C++/CLI? And
when we need it, we can do %ar.

Also I have reported a bug to MS in the current tools refresh for VC++
Express Beta 1, I hope it will get fixed. :-)
BTW, stay around to give us your knowledge! :-)


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #42

P: n/a
Herb Sutter wrote:
On Thu, 02 Sep 2004 00:00:31 +0300, Ioannis Vranos
<iv*@guesswh.at.grad.com> wrote:
There is an upcoming C++/CLI standard (currently draft, official
document expected in December 2004) - and also an upcoming C#/CLI 2
standard.

Just a note, we now expect to complete work on the C++/CLI standard in
March and have it approved by Ecma in June. We wanted the extra time to
complete and polish the C++/CLI spec, but another reason for the slip was
that the CLI standard (undergoing its second round of work in parallel
with the first round of C++/CLI) also slipped.

In case you're wondering "why 6 months," the answer is that Ecma's
schedule, you get two shots a year to submit a document for approval (June
and December), so any slip is 6 months (or a multiple thereof).

C++/CLI is more powerful than C#/CLI (including the upcoming C#/CLI one).

The design ideals of C++/CLI are the following:

1) Bring C++ abilities to CLI.
2) Bring CLI additional features to C++.
3) Leave no room for a lower level language in CLI (*including IL*).

BTW, another way of saying this that people seem to find useful is that,
as of our Whidbey (VC++ 2005) release, C++ is the systems programming
language for .NET.

Great stuff. However, provided that you are here, another question.

Why can't we pin_ptr (and interior_ptr) reference objects anymore?


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #43

P: n/a
"Herb Sutter" <hs*****@gotw.ca> skrev i en meddelelse
news:9k********************************@4ax.com...
On Wed, 01 Sep 2004 23:46:23 GMT, "Mike Wahler" <mk******@mkwahler.net>
wrote:
"Howard" <al*****@hotmail.com> wrote in message
news:VF*********************@bgtnsc04-news.ops.worldnet.att.net...
You know how we use try { } catch() {} in C++? Well, both Delphi and C# (which was developed with the aid of one of Delphi's main original
developers) have another construct, which is "try {} finally {}". The idea is that no matter what else takes place, no matter whether it's a return statement or an exception or simply dropping on out of the try block
normally, the finally clause will ALWAYS be executed. (Short of an abnormal program termination, I would suspect.) It might be used like this, for
example (if it were available in C++):

Resource* pRes = new Resource;
try
{
// use the allocated resource somehow
}
finally
{
delete pRes;
}


Please notice that you are replying to Mike Wahler, but the comment below
seems to be related to a message from "Howard".
Actually, you just wrote valid C++/CLI code -- C++/CLI also supports
finally with exactly that syntax. This is described in the current draft
spec available via:
http://www.msdn.microsoft.com/visual...a/default.aspx
. See section 16.4, and search for "finally" throughout (there are other
spots that specify how it interacts with other language features like
goto).

This is in addition to destructors -- as Mike points out, you can also get
a similar effect with destructors:
C++ already has this, via destructors. When 'throw' causes
a scope to be exited, all automatic objects are destroyed, and
any destructors will run. ALWAYS. So just wrap that 'new' and
'delete' in a class, create an automatic object of that type,
and you have the same mechanism.

Ah... realising now that you knew that ;-)
One advantage of finally is visual locality of reference -- the code is
right there in the function instead of off in a different place (a
destructor definition). One advantage of destructors is that RAII objects
encapsulate and automatically manage ownership. In your example above, I
would prefer to use a destructor (by writing auto_ptr<Resource> instead of
Resource*, you don't need a finally at all). You can use either facility,
of course.
What you are saying implies that "finally" could be useful for something
Alexandrescus ScopeGuard emulates. finally can - IMHO - never be useful for
resource releases.

/Peter

Herb

---
Herb Sutter (www.gotw.ca)

Jul 22 '05 #44

P: n/a
Wherever I go on the internet news forums, sooner of later I hear
discussion from excited computer experts that C# is so much better
than C++. There are many such discussions (even in the comp.land.C++
newsgroup for god's sake) and I was thinking that it's gotta be true!
Well since all you people here think that C++ is probably one of the
"best programming languages of the world -- if not the best for its
purpose", that proves that C# is going to be the Next Big Thing (TM)
any day soon. Just wait till the public discovers C#.

So I hear these rumors and wonder, why no programming language is not
as good as C#? As I am wondering this, I realize that C# is by far the
utmost programming language of the world no matter what people say. I
Now Believe It.

But some of you may think I am an advokator of C#, and I was paid to
go in the newsgroups and make C# seem like much better than C++. But
it's not like that. M$ is bad. C# is incredibly superior to C++ and
because M$ is bad I wonder why don't we --the fanatics-- do something
to compute it. Ok, if I was a manager of a 1st year student, right now
I would chose C#, because it seems to be much better than C++ (I hear
it on discussions on MSGeek all the time!). But although fanatic, I
feel it is unfair to bash a better product because it's M$, and I am a
good fanatic. I admit when something is better. No, the right thing is
to make something even better! And then C# will finally die! Hail!

Even people inside M$ still use VC6. I think this sucks. What are they
doing?

pr*********@hotmail.com (Prashant) wrote in message news:<ca*************************@posting.google.c om>...
There are lot of dicussion on C# is much better than C++. Why there is
no language to compute C#. This way we are accepting monopoly of M$.
Why there is no group which seriously tring to develop new language
better than C#.

Jul 22 '05 #45

P: n/a
Peter Koch Larsen wrote:
What you are saying implies that "finally" could be useful for something
Alexandrescus ScopeGuard emulates. finally can - IMHO - never be useful for
resource releases.

Taking also under consideration that a CLI environment is garbage
collected it further decreases its use.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #46

P: n/a
Jerald Fijerald wrote:
Wherever I go on the internet news forums, sooner of later I hear
discussion from excited computer experts that C# is so much better
than C++. There are many such discussions (even in the comp.land.C++
newsgroup for god's sake) and I was thinking that it's gotta be true!
Well since all you people here think that C++ is probably one of the
"best programming languages of the world -- if not the best for its
purpose", that proves that C# is going to be the Next Big Thing (TM)
any day soon. Just wait till the public discovers C#.

So I hear these rumors and wonder, why no programming language is not
as good as C#? As I am wondering this, I realize that C# is by far the
utmost programming language of the world no matter what people say. I
Now Believe It.
Troll, troll, troll, in clc++'s door...
But some of you may think I am an advokator of C#, and I was paid to
go in the newsgroups and make C# seem like much better than C++. But
it's not like that. M$ is bad. C# is incredibly superior to C++ and
because M$ is bad I wonder why don't we --the fanatics-- do something
to compute it. Ok, if I was a manager of a 1st year student, right now
I would chose C#, because it seems to be much better than C++ (I hear
it on discussions on MSGeek all the time!). But although fanatic, I
feel it is unfair to bash a better product because it's M$, and I am a
good fanatic. I admit when something is better. No, the right thing is
to make something even better! And then C# will finally die! Hail!

Even people inside M$ still use VC6. I think this sucks. What are they
doing?


Read the rest of the thread.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #47

P: n/a
"Johan Nilsson" <johan.nilsson@---.esrange.ssc.se> wrote in message news:<lz*******************@hydra.nntpserver.com>. ..
....
I won't dispute whether C# is better or worse than C++ (it's probably a bit
of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .


Only until MS will crush them using their patent power...

Andrea
Jul 22 '05 #48

P: n/a
ag****@tin.it (Andrea Griffini) wrote in message news:<74**************************@posting.google. com>...
"Johan Nilsson" <johan.nilsson@---.esrange.ssc.se> wrote in message news:<lz*******************@hydra.nntpserver.com>. ..
...
I won't dispute whether C# is better or worse than C++ (it's probably a bit
of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .


Only until MS will crush them using their patent power...


This is a frequent claim. I can't find any support for it though. In
fact, as far as I can tell from doing some searching, a lot of people
sue Microsoft, but Microsoft rarely sues anybody unless that somebody
sues them first.

Just for example, I'd advise Googling for "Microsoft patent suit"
(without the quotes) to see what you see. When I do it, I get one
article after another about Microsoft having been sued by everybody
and his brother, a couple about Microsoft paying out lots of money to
settle some suits, and exactly ONE in which Microsoft seems to have
sued anybody over patent infringement -- and that was a countersuit
against Lucent Technologies after Lucent had sued Micrsooft.

Now, it is true that Microsoft has initiated suits of other sorts --
such as against MikeRoweSoft.com, against Lindows, etc. I'd note,
however that these are considerably different -- they're defending
trademarks, not patents. At least in the US, the law is quite clear
that if a trademark comes into common use separate from the trademark
(e.g. if "Windows" started to be used to refer to GUIs in general)
that the owner's right to the trademark will be lost.

It takes only a FEW instances of similar names being used without the
trademark holder stopping it before the courts will rule that rights
to the trademark in general have been lost -- IOW, if MikeRoweSoft was
allowed to continue, chances are that if somebody else claimed to be
"Microsoft" (i.e. exactly the same name) that the company we now know
as Microsoft would NOT be able to stop them from doing so (even though
"Microsoft" is undoubtedly a registered trademark).

--
Later,
Jerry.

The universe is a figment of its own imagination.
Jul 22 '05 #49

P: n/a
Andrea Griffini wrote:
"Johan Nilsson" <johan.nilsson@---.esrange.ssc.se> wrote in message news:<lz*******************@hydra.nntpserver.com>. ..
...
I won't dispute whether C# is better or worse than C++ (it's probably a bit
of both), but the important part is that C#/.NET isn't Windows only:
http://www.mono-project.com/about/index.html .

Only until MS will crush them using their patent power...

C#/CLI is an ECMA and ISO standard, so MS can't sue anyone for
implementing it.


Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
Jul 22 '05 #50

66 Replies

This discussion thread is closed

Replies have been disabled for this discussion.