Re: Future of MFC?
- From: "Giovanni Dicanio" <giovanni.dicanio@xxxxxxxxxx>
- Date: Sat, 22 Sep 2007 20:40:21 +0200
"Daniel James" <wastebasket@xxxxxxxxxxxxxxxx> ha scritto nel messaggio
news:VA.000011a2.01b573bf@xxxxxxxxxxxxxxxxxxx
The "philosophical difference" here is within MS, where they
seem to think that because we do know how to work at the low level we
actually like to do so ... that's not true, we can be as lazy as the next
developer when we have tools that actually work and that do a job worth
doing.
Just because .NET has better tools today, that doesn't mean that is has
to be that way.
Daniel: I enjoyed very much reading your interesting post; thanks for
sharing your insights.
However, I think that there are some "architectural" differences between
native and managed, that make it easier to develop high-quality tools for
managed world (.NET) than native (C++/MFC).
For example, I think that .NET reflection is one of the good technologies
that help having better tools for .NET (like the very good IDE IntelliSense
for C# and VB). I think that reflection and type information in .NET are
also important ingredients for the development of .NET components (C++ with
ATL seems much more hard work to me, IMHO).
I wonder if some C++ guru could implement reflection in C++, too, using e.g.
some template-based "magic"...
Or why LINQ or WPF are not implemented in "pure" C++?
I don't know, but it could be maybe that C++ does not offer the same level
of technology infrastructure that .NET offer.
Or maybe to insert LINQ or WPF in C++, the standardization of the language
or support for legacy should be broken... (maybe new non-standard extensions
to C++ should be added)?
David C. once proposed here about a compiler switch to consider "char" as
Unicode, and then several people who have a very high command of C++ and its
subtle aspects (like Doug and others) elaborated that this could be a
problem for existing standard libraries, etc.
And it is just an optional simple "humble" :) compiler switch for a
relatively simple thing...
So I can't imagine what more complex non-standard insertions into C++ could
cause ... :)
The problem with C++ is the "legacy", the need to support old or
cross-platform libraries, etc. [*]
For example, in .NET they can just have one string type, while in C++ we
have a lot (too much...) string types (CString, CComBSTR, BSTR, std::string,
std::wstring, CStringA, CStringW, bstr_t, LPCTSTR, LPCWSTR, ... :) and maybe
more!) There are lots of questions in C++ forums about how to convert from
e.g. char * to LPCWSTR, or errors because of CStringA/W mismatch... these
are bad things (productivity hits) exspecially for a beginner, who has just
a single concept of "string" in his mind, and when he comes to C++ and
native world, he must realize that there are lots of actual string types,
and there is a need to remember when use type X or type Y, and how to
convert among them...
Of course, all this is a must-have, because no one wants to break existing
(legacy) C/C++ code.
In fact, one of the cool things when a new technology (like .NET) is
invented, is that there is no legacy, and the designers are free to take the
best parts from several different worlds, and put them together in harmony,
and make new choices learning from the errors of the past, and being free to
innovate. So in .NET we have concepts like component-software (from VB6,
without the complexity of COM and ATL...), the idea of event-handlers and
properties (from VB, again), the garbage collector (from Java), the
templates (from C++ - even if .NET "generics" seem to me different from C++
templates - for example, I don't know if advanced things like template
meta-programming or Boost could be done in .NET...), etc.
[*] However, support for legacy code (to be mantained) and for
cross-platform libraries development, are also some of the real strengths of
C++.
Just my two cents.
Giovanni
.
- Follow-Ups:
- Re: Future of MFC?
- From: Daniel James
- Re: Future of MFC?
- From: BobF
- Re: Future of MFC?
- References:
- Future of MFC?
- From: Duncan Smith
- Re: Future of MFC?
- From: Tom Serface
- Re: Future of MFC?
- From: David Ching
- Re: Future of MFC?
- From: Duncan Smith
- Re: Future of MFC?
- From: David Ching
- Re: Future of MFC?
- From: Duncan Smith
- Re: Future of MFC?
- From: David Lowndes
- Re: Future of MFC?
- From: Ian Semmel
- Re: Future of MFC?
- From: David Ching
- Re: Future of MFC?
- From: Daniel James
- Re: Future of MFC?
- From: David Ching
- Re: Future of MFC?
- From: Daniel James
- Future of MFC?
- Prev by Date: Re: Future of MFC?
- Next by Date: Re: Processing a specific user message during a non UI function
- Previous by thread: Re: Future of MFC?
- Next by thread: Re: Future of MFC?
- Index(es):
Relevant Pages
|