473,388 Members | 1,298 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,388 software developers and data experts.

vc in .NET

I'm shopping around to figure out where I'm going to devote my finite
energies as I get back into the windows world. A question that pops up
right away for a lot of fellas is, if I'm going to be doing stuff in the dot
net world, do I go c++/CLI or c#. Some people might be able to do both, but
I would go cross-eyed. Legacy code is not as big an issue for me as opposed
to a refusal to leave the c world behind completely. I'm given to believe
that I can wrap c stuff so as to make it compile the way I want, i.e. as ISO
C, and then can make that available to the managed environment. An informed
opinion from nearby was: "If anything, I would interop with it, through the
P/Invoke layer, COM interop, or by creating managed wrappers for it."
news:%2****************@TK2MSFTNGP04.phx.gbl...
This answer raises as many questions as it solves, as, for example, I
thought the managed environment was the end of COM. I was hoping that there
would be persons around here looking at this scenario in their rearview
mirror who might have advice. cheers, bfx
Jul 21 '06 #1
4 1348
"BilfFord X" <in*****@invalid.nyetwrote in message
news:44***********************@news.usenetmonster. com...
I'm shopping around to figure out where I'm going to devote my finite
energies as I get back into the windows world. A question that pops up
right away for a lot of fellas is, if I'm going to be doing stuff in the
dot net world, do I go c++/CLI or c#.
Nine times out of ten, C# is the right choice, IMO.
Some people might be able to do both, but I would go cross-eyed.
:-)
I'm given to believe that I can wrap c stuff so as to make it compile the
way I want, i.e. as ISO C, and then can make that available to the managed
environment.
Well, you certainly can not compile a file with the C compiler AND have it
generate managed code. Of course, you can do that with the C++ compiler.

Actually there are at least two managed versions of C++ for .Net - there is
the Managed Extensions for C++ that is compatibile with version 1.1 of the
..Net platform and C++/CLI (hopefully "soon" to be an ECMA/ISO standard) that
is available on the 2.0 version of the framework.
An informed opinion from nearby was: "If anything, I would interop with
it, through the P/Invoke layer, COM interop, or by creating managed
wrappers for it."
That's one way to go.
This answer raises as many questions as it solves, as, for example, I
thought the managed environment was the end of COM. I was hoping that
there would be persons around here looking at this scenario in their
rearview mirror who might have advice. cheers, bfx
I think Nick was adopting the "if it ain't broke, don't fix it" stance in
that post. In other words I think he favors creating a "little" shim to sit
between a managed consumer and a native producer. That's not a bade choice
when the producer's code base is large.

Writing the shim in a managed version of C++ is likely be the easiset way to
go as both MC++ and C++/CLI, IMO, shine where interop is the goal. YMMV.

Regards,
Will
Jul 21 '06 #2
BilfFord X wrote:
if I'm going to be doing stuff in the dot net world, do I go c++/CLI or c#.
It depends what you're doing, and how much C++ experience you have. I'm
a very big C++ advocate, so here's my point of view, which is nothing
more than an opinion.

If you need to mix unmanaged and managed code extensively, C++/CLI gives
you the most control, flexibility and ease of use. C++ interop just works.

For visual form development C# has the advantage. The biggest problem
with C++/CLI is that the designer automatically puts your event handlers
in the .h file, instead of generating an implementation entry in the
..cpp file. Also C# 2.0 has some very nice features that won't be
available in C++ anytime soon, such as partial classes, labmda
expressions (anonymous event handlers), and LINQ in the next version of
VS. The C# compiler is incomparably faster, and there are fewer things
to worry about. Despite being a huge C++ fan, even I'd consider using C#
for developing large, feature rich GUIs. But I'd separate the business
logic functionality from the form's code.

I personally choose C++/CLI for non-visual classes, and even for visual
components, where the designer is not involved, because I feel more
comfortable with that. But this is truly your choice. It really doesn't
make sense to start an argument about it.

If you're good at C++ and feel very familiar with the language, try
C++/CLI and chances are you'll like it. If you have reservations
regarding ISO C++, or you're not fluent with the language, don't bother,
just jump to C# instead. The C# using syntax can achieve the same level
of exception safety as the C++/CLI stack syntax, and value classes can't
have destructors in C++/CLI either. There are no templates in C#, but
generics are available in both languages. Constant member functions are
not supported in C++/CLI either.

Tom
Jul 21 '06 #3
[x-posted to microsoft.public.vc.mfc]

Thanks all for replies. I'm at the point where I need to make a decision
and run with it. There are two things that aren't helping me right now.
One is that I can't make a screen dump on xp. My vision is such that if I'm
doing something like debugging, I need to do it at arm's length with a pen,
or post it on my site to let people smarter than me look at it. This was
the only use I made of Word: to use as a container to paste in the pixels
after hitting the printscreen (or alt printscreen). If saved as html, my
pixels become a jpeg under win98se and winMe. Winxp, in so many ways
superior, doesn't let me do it. How do I get around this?

Also, is WinFX supported in vc2005Express? cheers, bfx

"Tamas Demjen" <td*****@yahoo.comwrote in message
news:%2******************@TK2MSFTNGP02.phx.gbl...
BilfFord X wrote:
>if I'm going to be doing stuff in the dot net world, do I go c++/CLI or
c#.

It depends what you're doing, and how much C++ experience you have. I'm a
very big C++ advocate, so here's my point of view, which is nothing more
than an opinion.

If you need to mix unmanaged and managed code extensively, C++/CLI gives
you the most control, flexibility and ease of use. C++ interop just works.

For visual form development C# has the advantage. The biggest problem with
C++/CLI is that the designer automatically puts your event handlers in the
.h file, instead of generating an implementation entry in the .cpp file.
Also C# 2.0 has some very nice features that won't be available in C++
anytime soon, such as partial classes, labmda expressions (anonymous event
handlers), and LINQ in the next version of VS. The C# compiler is
incomparably faster, and there are fewer things to worry about. Despite
being a huge C++ fan, even I'd consider using C# for developing large,
feature rich GUIs. But I'd separate the business logic functionality from
the form's code.

I personally choose C++/CLI for non-visual classes, and even for visual
components, where the designer is not involved, because I feel more
comfortable with that. But this is truly your choice. It really doesn't
make sense to start an argument about it.

If you're good at C++ and feel very familiar with the language, try
C++/CLI and chances are you'll like it. If you have reservations regarding
ISO C++, or you're not fluent with the language, don't bother, just jump
to C# instead. The C# using syntax can achieve the same level of exception
safety as the C++/CLI stack syntax, and value classes can't have
destructors in C++/CLI either. There are no templates in C#, but generics
are available in both languages. Constant member functions are not
supported in C++/CLI either.

Tom

Jul 22 '06 #4
BilfFord X wrote:
One is that I can't make a screen dump on xp.
There are many inexpensive applications for making screen shots. Help
and Manual (http://helpandmanual.com/) has a good one built in, or you
can try Hyper Snap, just to mention two I used before. I'm sure there
are countless great screen shotter tools. Or simply use Microsoft Paint,
it can save pictues as PNG files.
Also, is WinFX supported in vc2005Express? cheers, bfx
WinFX was just renamed to .NET 3.0. A technology preview is downloadable
from Microsoft:

http://msdn.microsoft.com/winfx/

The release notes indicate that you can use it with the Express Edition,
but be careful, it's a preview only, not intended for development. The
final version will be available in the next Visual Studio, code named Orcas.

Tom
Jul 24 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL)...
2
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues...
3
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which...
0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
1
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the...
4
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the...
1
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url ...
2
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value...
3
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.