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

writing C# code which doesn't target the common language runtime (CLR).

P: n/a
I was just looking at a demo training that mindleaders has on .net
training:

http://www.mindleaders.com/products/democourse3.asp

And I don't believe this is correct or at least is misleading to me:

"The search for an easy, productive, and very powerful programming
language led to the birth of Visual C#. Visual C# incorporates the
best features of Visual C++ and Visual Basic. Visual C# enables you to
write unmanaged code, which is code that doesn't target the common
language runtime (CLR). The code can bypass the .NET Framework
application programming interface (API) and make direct calls to the
operating system. This makes it as powerful as Visual C++."

They might be alluding to the fact that c# can call Win32 api's easier
than vb6 code can. To "bypass" the framework might mean to use Win32
methods instead of the .net framework classes to get a task done.

But the "doesn't target the CLR" just seems incorrect to me.

Comments?

PS the demo training looks very nice, anyone taken their courses?
Nov 15 '05 #1
Share this Question
Share on Google+
22 Replies


P: n/a
la*******@yahoo.com (larry) wrote:
I was just looking at a demo training that mindleaders has on .net
training:

http://www.mindleaders.com/products/democourse3.asp

And I don't believe this is correct or at least is misleading to me:

"The search for an easy, productive, and very powerful programming
language led to the birth of Visual C#. Visual C# incorporates the
best features of Visual C++ and Visual Basic. Visual C# enables you to
write unmanaged code, which is code that doesn't target the common
language runtime (CLR). The code can bypass the .NET Framework
application programming interface (API) and make direct calls to the
operating system. This makes it as powerful as Visual C++."

They might be alluding to the fact that c# can call Win32 api's easier
than vb6 code can. To "bypass" the framework might mean to use Win32
methods instead of the .net framework classes to get a task done.

But the "doesn't target the CLR" just seems incorrect to me.

Comments?
Well, for starters, even the first line is incorrect - "The search for
an easy, productive, and very powerful programming
language led to the birth of Visual C#"

Since when is an IDE a programming language?
PS the demo training looks very nice, anyone taken their courses?


Nov 15 '05 #2

P: n/a
"C# Learner" <cs****@learner.here> wrote in message > Well,
for starters, even the first line is incorrect - "The search
for
an easy, productive, and very powerful programming
language led to the birth of Visual C#"

Since when is an IDE a programming language?


Since when is Visual C# an IDE? Visual C# is a programming
language which is, among other programming languages,
integrated in an IDE called Visual Studio .NET.

Markus
Nov 15 '05 #3

P: n/a
C# is a language
Visual C# is an IDE

Bruno

"Markus Seger" <ma**********@gmx.de> a écrit dans le message de
news:c0*************@ID-71740.news.uni-berlin.de...
"C# Learner" <cs****@learner.here> wrote in message > Well,
for starters, even the first line is incorrect - "The search
for
an easy, productive, and very powerful programming
language led to the birth of Visual C#"

Since when is an IDE a programming language?


Since when is Visual C# an IDE? Visual C# is a programming
language which is, among other programming languages,
integrated in an IDE called Visual Studio .NET.

Markus

Nov 15 '05 #4

P: n/a
"Markus Seger" <ma**********@gmx.de> wrote:
"C# Learner" <cs****@learner.here> wrote in message > Well,
for starters, even the first line is incorrect - "The search
for
an easy, productive, and very powerful programming
language led to the birth of Visual C#"

Since when is an IDE a programming language?


Since when is Visual C# an IDE? Visual C# is a programming
language which is, among other programming languages,
integrated in an IDE called Visual Studio .NET.

Markus


C# is a programming language.

Visual C# is an IDE. Borland C# Builder is an IDE.

Regards
Nov 15 '05 #5

P: n/a
They may be referring to the word 'unsafe' which indeed lets you bypass
the framework.
In effect it also disables the garbage collector while in use, so you need
to do your own memory handling (pointers are allowed when in unsafe mode).

--
The hotmail account will most likely not be read, so please respond only
to the news group.
Nov 15 '05 #6

P: n/a
Seperate from the semantic argument about whether Visual C# is a language or
an IDE...(waged on another thread)

And seperate from the little history rewrite in the first sentence...

The next two sentences are fairly correct. The misimpression may come from
any reader hoping to create an application that EXCLUDES the .NET Framework,
which (AFAIK) C# will not let you do. Unmanaged code can be written that
will not use most of the capabilities of the .NET framework. It is true,
though, that an author can write an application that does not target (or
direct it's attention to) the .NET framework, especially if the code is done
entirely in an unmanaged fashion.

I worry about the statement that "unmanaged code" makes the language as
powerful as C++. IMHO, the C# language, as implemented on the Microsoft
..NET platform, is as powerful as the C++ language without adding in the
unmanaged extensions. The unmanaged extensions allow much better
integration with C and C++ libraries, including the Win32 API, and some code
efficiencies useful for writing kernel code and the like. If anything, the
combination of Managed and Unmanaged environments makes C# more powerful
than C++.

I'm a little biased on this issue, I'm afraid.

Perhaps the technical content of the site is less sloppy than their
introduction to the language.

--- Nick

"larry" <la*******@yahoo.com> wrote in message
news:40**************************@posting.google.c om...
I was just looking at a demo training that mindleaders has on .net
training:

http://www.mindleaders.com/products/democourse3.asp

And I don't believe this is correct or at least is misleading to me:

"The search for an easy, productive, and very powerful programming
language led to the birth of Visual C#. Visual C# incorporates the
best features of Visual C++ and Visual Basic. Visual C# enables you to
write unmanaged code, which is code that doesn't target the common
language runtime (CLR). The code can bypass the .NET Framework
application programming interface (API) and make direct calls to the
operating system. This makes it as powerful as Visual C++."

They might be alluding to the fact that c# can call Win32 api's easier
than vb6 code can. To "bypass" the framework might mean to use Win32
methods instead of the .net framework classes to get a task done.

But the "doesn't target the CLR" just seems incorrect to me.

Comments?

PS the demo training looks very nice, anyone taken their courses?

Nov 15 '05 #7

P: n/a
Ray

"Markus Seger" <ma**********@gmx.de> wrote in message
news:c0*************@ID-71740.news.uni-berlin.de...
C# is a programming
language which is, among other programming languages,
integrated in an IDE called Visual Studio .NET.


and in an IDE called C#Builder which some think is better, it certainly is
cheaper.

Ray
Nov 15 '05 #8

P: n/a
I think the author got his wires crossed.
Visual C# does NOT allow you to write unmanaged code, but it does allow you
to interact extremely well with unamanged code (in the form of DLLs written
for win32 that are not themselves managed assemblies written in .NET). That
seems to be the case with his statement of "make direct calls to the
operating system" (something that other managed environments like Java
discourage), and perhaps that's the point he's trying to make. But the first
part of that statement "enables you to write unamanged code" is incorrect.
C# allows you to write "unsafe" code, but that has nothing to do with
"bypassing the .NET Framework" either, or writing "unmanaged" code, but it's
a common mistake to confuse the two, and unfortunately, a lot of authors
seem to make it.

Also, I'm not certain that calling win32 APIs are really easier than VB6.
P/Invoke and VB6 use an extremely similar mechanism to call those functions,
but .NET (any .NET language actually, or rather the runtime itself) also has
a marshalling infrastructure under the covers to marshal data between
managed and unmanaged code - something VB6 doesn't need to do.

-Rob Teixeira [MVP]

"larry" <la*******@yahoo.com> wrote in message
news:40**************************@posting.google.c om...
I was just looking at a demo training that mindleaders has on .net
training:

http://www.mindleaders.com/products/democourse3.asp

And I don't believe this is correct or at least is misleading to me:

"The search for an easy, productive, and very powerful programming
language led to the birth of Visual C#. Visual C# incorporates the
best features of Visual C++ and Visual Basic. Visual C# enables you to
write unmanaged code, which is code that doesn't target the common
language runtime (CLR). The code can bypass the .NET Framework
application programming interface (API) and make direct calls to the
operating system. This makes it as powerful as Visual C++."

They might be alluding to the fact that c# can call Win32 api's easier
than vb6 code can. To "bypass" the framework might mean to use Win32
methods instead of the .net framework classes to get a task done.

But the "doesn't target the CLR" just seems incorrect to me.

Comments?

PS the demo training looks very nice, anyone taken their courses?

Nov 15 '05 #9

P: n/a
Great info, thanks all.

To summarize:
C# - Cannot write unmanaged code
C# - managed code (.net framework required, whether it's used or not)
|
+- Safe Code
|
+- Unsafe Code
|
+- Unmangled code
|
+- Mangled Code
|
+- Unimaginable Code
|
+- Manageable Code
: )
Nov 15 '05 #10

P: n/a
I believe it only if you developed the language ...

Then what is Visual Basic?

If visual c# is the IDE then what is Microsoft Visual C# .NET is..??

I guess according to most of the MSDN document they treat Vsiual C# as the
language .. not to be mentioned they are the inventors

Nirosh.

"Bruno Jouhier [MVP]" <bj******@club-internet.fr> wrote in message
news:Oh**************@TK2MSFTNGP10.phx.gbl...
C# is a language
Visual C# is an IDE

Bruno

"Markus Seger" <ma**********@gmx.de> a écrit dans le message de
news:c0*************@ID-71740.news.uni-berlin.de...
"C# Learner" <cs****@learner.here> wrote in message > Well,
for starters, even the first line is incorrect - "The search
for
an easy, productive, and very powerful programming
language led to the birth of Visual C#"

Since when is an IDE a programming language?


Since when is Visual C# an IDE? Visual C# is a programming
language which is, among other programming languages,
integrated in an IDE called Visual Studio .NET.

Markus


Nov 15 '05 #11

P: n/a
"Champika Nirosh" <no****@textcentric.lk> wrote:
I believe it only if you developed the language ...

Then what is Visual Basic?
Visual Basic is an IDE which uses a modified version of the BASIC
language.
If visual c# is the IDE then what is Microsoft Visual C# .NET is..??
Visual C# is Microsoft Visual C# .NET. It's just sometimes more
convenient to use the shorter alias.
I guess according to most of the MSDN document they treat Vsiual C# as the
language .. not to be mentioned they are the inventors
Do you have a URL that shows them referring to Visual C# as the actual
language?
Nirosh.


Regards
Nov 15 '05 #12

P: n/a
I also in your side until I saw couple of documents at MSDN refered to c#
language as
Visual C# Language
They are very misleading

http://msdn.microsoft.com/library/de...us/cscon/html/
vcoricstartpage.asp
Nirosh

"C# Learner" <cs****@learner.here> wrote in message
news:1i********************************@4ax.com...
"Champika Nirosh" <no****@textcentric.lk> wrote:
I believe it only if you developed the language ...

Then what is Visual Basic?


Visual Basic is an IDE which uses a modified version of the BASIC
language.
If visual c# is the IDE then what is Microsoft Visual C# .NET is..??


Visual C# is Microsoft Visual C# .NET. It's just sometimes more
convenient to use the shorter alias.
I guess according to most of the MSDN document they treat Vsiual C# as thelanguage .. not to be mentioned they are the inventors


Do you have a URL that shows them referring to Visual C# as the actual
language?
Nirosh.


Regards

Nov 15 '05 #13

P: n/a
"Champika Nirosh" <no****@textcentric.lk> wrote:
I also in your side until I saw couple of documents at MSDN refered to c#
language as
Visual C# Language
They are very misleading

http://msdn.microsoft.com/library/de...us/cscon/html/
vcoricstartpage.asp
Nirosh


Hmm... there's still no mention of a "Visual C#" language. The
closest it comes is with this line:

C# is introduced as Visual C# in the Visual Studio .NET suite.

I interpret that as meaning, "C# is the language used in Visual C#
(IDE), which is part of the Visual Studio .NET suite (of IDEs)."

Regards
Nov 15 '05 #14

P: n/a
50% 50% and the heading says "visual c# language"

Nirosh.

"C# Learner" <cs****@learner.here> wrote in message
news:ba********************************@4ax.com...
"Champika Nirosh" <no****@textcentric.lk> wrote:
I also in your side until I saw couple of documents at MSDN refered to c#
language as
Visual C# Language
They are very misleading


http://msdn.microsoft.com/library/de...-us/cscon/html

/
vcoricstartpage.asp
Nirosh


Hmm... there's still no mention of a "Visual C#" language. The
closest it comes is with this line:

C# is introduced as Visual C# in the Visual Studio .NET suite.

I interpret that as meaning, "C# is the language used in Visual C#
(IDE), which is part of the Visual Studio .NET suite (of IDEs)."

Regards

Nov 15 '05 #15

P: n/a
"Champika Nirosh" <no****@textcentric.lk> wrote:
50% 50% and the heading says "visual c# language"

Nirosh.


Good point. That is quite ambiguous.
Nov 15 '05 #16

P: n/a

"C# Learner" <cs****@learner.here> wrote in message
news:m2********************************@4ax.com...
"Champika Nirosh" <no****@textcentric.lk> wrote:
50% 50% and the heading says "visual c# language"

Nirosh.


Good point. That is quite ambiguous.


The languge is C#, the microsoft implementation is Visual C#.

Note the title of this document:
http://www.ecma-international.org/pu...T/Ecma-334.pdf
Nov 15 '05 #17

P: n/a
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:
"C# Learner" <cs****@learner.here> wrote in message
news:m2********************************@4ax.com.. .
"Champika Nirosh" <no****@textcentric.lk> wrote:
>50% 50% and the heading says "visual c# language"
>
>Nirosh.


Good point. That is quite ambiguous.


The languge is C#, the microsoft implementation is Visual C#.


Surely you mean, "Microsoft's IDE which uses the C# language, is
Visual C#", right?

<snip>
Nov 15 '05 #18

P: n/a

"C# Learner" <cs****@learner.here> wrote in message
news:s6********************************@4ax.com...
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:
"C# Learner" <cs****@learner.here> wrote in message
news:m2********************************@4ax.com.. .
"Champika Nirosh" <no****@textcentric.lk> wrote:

>50% 50% and the heading says "visual c# language"
>
>Nirosh.

Good point. That is quite ambiguous.
The languge is C#, the microsoft implementation is Visual C#.


Surely you mean, "Microsoft's IDE which uses the C# language, is
Visual C#", right?

No, an excerpt from the framework compiler's about text:
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322

Visual C# is a product name, there is the Visual C# IDE, the Visual C#
compiler, maybe a thing or two else as well. As with all things, MS's C#
compiler isn't *perfectly* ECMA compliant, nor is monos(which seems to be
aimed more at MS compliance than ECMA compliance) or any other one I know
of. Its more apparent in Whidbey, generics, iterators, etc are not
standard(yet) pieces of the language. Any specifics that aren't standardized
would be Visual C# extensions.

All in all, its really rather subtle and unimportant, don't you think? <snip>

Nov 15 '05 #19

P: n/a
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:
No, an excerpt from the framework compiler's about text:
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322

Visual C# is a product name, there is the Visual C# IDE, the Visual C#
compiler, maybe a thing or two else as well. As with all things, MS's C#
compiler isn't *perfectly* ECMA compliant, nor is monos(which seems to be
aimed more at MS compliance than ECMA compliance) or any other one I know
of. Its more apparent in Whidbey, generics, iterators, etc are not
standard(yet) pieces of the language. Any specifics that aren't standardized
would be Visual C# extensions.
So according to this I'm wrong then - Visual C# is both an IDE *and* a
language.
All in all, its really rather subtle and unimportant, don't you think?


It's important to me, since it was me who made the, according to the
above, incorrect statement in the first place.
Nov 15 '05 #20

P: n/a

"C# Learner" <cs****@learner.here> wrote in message
news:br********************************@4ax.com...
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:
No, an excerpt from the framework compiler's about text:
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322

Visual C# is a product name, there is the Visual C# IDE, the Visual C#
compiler, maybe a thing or two else as well. As with all things, MS's C#
compiler isn't *perfectly* ECMA compliant, nor is monos(which seems to be
aimed more at MS compliance than ECMA compliance) or any other one I know
of. Its more apparent in Whidbey, generics, iterators, etc are not
standard(yet) pieces of the language. Any specifics that aren't standardizedwould be Visual C# extensions.


So according to this I'm wrong then - Visual C# is both an IDE *and* a
language.
All in all, its really rather subtle and unimportant, don't you think?


It's important to me, since it was me who made the, according to the
above, incorrect statement in the first place.


Hrm, I see. Well, by my understanding, it is a language although it really
usually isn't a language. Most of the time Visual C# should be identical to
C#, the difference will only come when a feature is added to MS's C#
implementation that isn't in the spec. The lines are blurry and hard to
determine, but since Microsoft product names usually apply as the language
name as well(Visual C++ is Visual C++, there are some MS specific
extensions), it seems to be the case. As far as I am concerned, its all C#.
The only other major compiler(mono) emulates csc, not the ecma spec(although
they both are pretty conformant to my knowledge). I feel its safe to call it
C# and will rarely, if ever, call the language Visual C#. Its still a matter
of technicality.
Nov 15 '05 #21

P: n/a
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:
It's important to me, since it was me who made the, according to the
above, incorrect statement in the first place.


Hrm, I see. Well, by my understanding, it is a language although it really
usually isn't a language. Most of the time Visual C# should be identical to
C#, the difference will only come when a feature is added to MS's C#
implementation that isn't in the spec. The lines are blurry and hard to
determine, but since Microsoft product names usually apply as the language
name as well(Visual C++ is Visual C++, there are some MS specific
extensions), it seems to be the case. As far as I am concerned, its all C#.
The only other major compiler(mono) emulates csc, not the ecma spec(although
they both are pretty conformant to my knowledge). I feel its safe to call it
C# and will rarely, if ever, call the language Visual C#. Its still a matter
of technicality.


Thanks for the explanation. I now concede defeat.
Nov 15 '05 #22

P: n/a
Daniel O'Connell [C# MVP] wrote:
"C# Learner" <cs****@learner.here> wrote in message
news:s6********************************@4ax.com...
"Daniel O'Connell [C# MVP]" <onyxkirx@--NOSPAM--comcast.net> wrote:

"C# Learner" <cs****@learner.here> wrote in message
news:m2********************************@4ax.com ...

"Champika Nirosh" <no****@textcentric.lk> wrote:
>50% 50% and the heading says "visual c# language"
>
>Nirosh.

Good point. That is quite ambiguous.

The languge is C#, the microsoft implementation is Visual C#.


Surely you mean, "Microsoft's IDE which uses the C# language, is
Visual C#", right?


No, an excerpt from the framework compiler's about text:
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322

Visual C# is a product name, there is the Visual C# IDE, the Visual C#
compiler, maybe a thing or two else as well. As with all things, MS's C#
compiler isn't *perfectly* ECMA compliant, nor is monos(which seems to be
aimed more at MS compliance than ECMA compliance) or any other one I know
of. Its more apparent in Whidbey, generics, iterators, etc are not
standard(yet) pieces of the language. Any specifics that aren't standardized
would be Visual C# extensions.

All in all, its really rather subtle and unimportant, don't you think?


Yes really. Just like C++. The language is C++, but the
implementations are:
- Microsoft (Visual) C++
- Borland C++
- Watcom C++
- GNU C++
- more and more follow....

They are all just implementations
(I don't want to say just compilers, because C++ covers more that
just source file format).

Remember difference between JavaScript and JScript:
- JavaScript is Netscape's implementation of ECMAScript,
- JScript is Microsoft's implementation of ECMAScript.

The language infact is ECMAScript, see standards for it at ECMA.

And the same is with C#. The language is C#. Implementations are:
- Microsoft (Visual) C#
- Mono C#
- Anything else follows??? correct me!

I say implementation because it can consist of compiler, standard set of libraries, some specific
libraries (just like VCL of OWL for Borland), IDE, Debugger, runtime etc.

So there can be Visual C# compiler, IDE etc.... And there can be Visual C# dialect (non standard),
it's up to Microsoft whether to implement standards.

---
Dmitry Kostenko
Strip underscores from mail to reply.
Nov 15 '05 #23

This discussion thread is closed

Replies have been disabled for this discussion.