Hello people,
The following is not a troll but a serious request.
I found myself in a position where I have to present a Pro/Con list to management and architects in our company with regard to developing new products (specifically - desktop products) in C#/.NET instead of the usual C++/COM that we do.
Since I am not an experienced .NET developer by any definition, I don't have a good grip on the "Pro" part.
The argument that I hear most extols the virtues of the garbage collection in .NET.
Frankly, I am not really convinced by it myself because I started since consistently using smart pointers and RAII, I did not have to worry about deallocations. I also feel that the lack of deterministic destructors is a big drawback that makes managing non-memory resources cumbersome.
Therefore I ask the community to provide me with reasons that could persuade me, and the people I will present them to, that switching would be beneficial to the company (they would be mostly interested in lowering risks, increasing productivity and saving money).
Both links and prose are welcome.
Best regards,
Alex.
--
Please replace myrealbox with alexoren to reply by email.
Jul 21 '05
55 3862
Hello Olaf,
"Olaf Baeyens" <ol**********@skyscan.be> wrote in message news:42***********************@news.skynet.be... Although I am a big favour of .NET it has also cons sides. And it would morally be not right if I would hide these negative sides. * The resistance of people to install the .NET framework. You would not believe what stories they come up in order not to install it. Typical would be: It slows down my computer, It is too big, I don't believe in it,....
Not an issue in our case.
The customer gets a "black box", they should not care if it uses the CLR, the JVM or P-Code...
* At this moment installing the .NET framework is far too complicated. New distributions of Windows XP seems to contain the .NET framework, but from the summer on we will have a new one the v2.0. So I hope the installation becomes a one click situation. The situation through critical updates is currently too complicated for my grandmother that wants to browse the Internet and read email.
Did I mention that our company makes money on support as well? :-)
* Installation is a bit complicated because of the security issuses if the program needs internet and/or LAN access. Luckily this can be easily fixed by creating a managed dll that contains registration code to give your program enough access to access the LAN and Internet. You cannot grant access rights from inside your program, but you can make the setup run that managed code to give program user rights. The setup.exe is not a managed code so it does have access to the user rights. And if people double click on a setup then we assume that they know what they are doing.
Not relevant at this time but good to know.
* The resistance of the VB and C++ programers since they have to relearn everything, becoming a newbie.
Nah, some our developers *want* to switch and the rest will be pigeonholed into maintaining old C++/COM/MFC/ATL code.
* The error reporting that would give a user a heart attack when something goes wrong like no LAN access, or when you try to run the program from a networkdrive by double clicking on it. You get an error like the "access violation" type with a list of all assemblies loaded, where even normal programmers have no idea what it all means. This is very user-unfriendly.
Looks like an uncaught exception to me (and we know what to do with those in any language).
These are the ones that comes to my mind...
So far, they all seem to have reasonable workarounds.
Best wishes,
Alex.
--
Address email to user "response" at domain "alexoren" with suffix "com"
Hello Nick,
"Nick Malik [Microsoft]" <ni*******@hotmail.nospam.com> wrote in message news:co********************@comcast.com... Hello Alex, Perhaps this will help. Microsoft Canada Co. 1950 Meadowvale Blvd Mississauga, Ontario L5N 8L9 Canadian Head Office: (905) 568-0434 Customer Inquiries: (877) 568-2495 Microsoft TT/TDD: (905) 568-9641 Microsoft Order Centre: (800) 933-4750 I don't know how far Mississauga is from your location (especially since I don't know precisely where your location is :-), but I'm sure that they will be helpful. I've worked with the good folks in my local district office on occasion over the years, and they are nothing if not helpful, fair, and informative.
Thanks, I am already communicating with Ryan Storgaard ( http://blogs.msdn.com/stoey) on this subject.
His last update was that he got some people in Redmond digging for info and he'll let me know when anything happens.
Best wishes,
Alex.
--
Address email to user "response" at domain "alexoren" with suffix "com"
Hello Nick,
"Nick Malik [Microsoft]" <ni*******@hotmail.nospam.com> wrote in message news:go********************@comcast.com... Why don't you tell me what design patterns the framework implements? Clearly, the Observer pattern (and its cousin, the Event pattern) are heavily used, as are the Factory Method, Builder, Iterator, Strategy and Bridge. I can make a case for Singleton as a supported pattern but I don't know where the framework uses it. I'm pretty sure that IClonable is essentially an implementation of the Prototype pattern. The XML classes use Composite quite a bit. The IO classes make use of the Decorator pattern. .Net Remoting and web services make heavy use of the Proxy pattern . I could make a fairly strong case that Visitor and Adapter are used by the data classes. A page of articles on design patterns in .Net can be found here http://www.windowsforms.net/Articles...131&tabindex=3
Thanks.
I am yet unfamiliar with most of the framework parts that you mentioned, that's why I asked.
As an aside, I think of design patterns as mostly documentation aids.
Most (if not all) SW design patterns boil down to adding an extra level of indirection.
However, knowing a commonly used name for it saves us from lengthy explanation where and how it is added. :-)
Best wishes,
Alex.
--
Address email to user "response" at domain "alexoren" with suffix "com"
"Olaf Baeyens" <ol**********@skyscan.be> wrote in message news:42***********************@news.skynet.be... But when I need the raw processing power, most funtions are still conventional C++.
I wrote some embedded C++ for ECI telecom some time ago.
At the time, the hardware was not powerful enough to run a virtual machine with the required performance for the given price.
Now, I don't know...
I see that ATI have a .NET program to configure the their network card.
I can only say good for them!
(My previous job was with ATI, maintaining and enhancing HydraVision, so I know what I'm talking about).
Hmmm... Network card???
>I can only say good for them! (My previous job was with ATI, maintaining and enhancing HydraVision, so I
know what I'm talking about). Hmmm... Network card???
Oops video card, not network card. Sorry....
-- http://www.skyscan.be
Another Microsoft product that requires the .NET framework:
Windows® Media Connect : http://www.microsoft.com/windows/win...t/default.aspx
In the readme you see that they need .NET v1.1.
It looks that the new programs tend to start using the .NET, older programs
like Office somehow are kept as none-.NET maybe of the large code base that
is hard to convert to the .NET way.
-- http://www.skyscan.be This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: jbailo |
last post by:
I've been working on my
gcc/Gtk+ application and
realized how much I need
pointers. String manipulation
in c is so beautiful and
elegant and fast -- its
way above all the dum-dum
'methods' of...
|
by: Montrose... |
last post by:
After working in c# for a year, the only conclusion I can come to is
that I wish I knew c.
All I need is Linux, the gnu c compiler and I can do anything.
Web services are just open sockets...
|
by: slickn_sly |
last post by:
<code>
line = 1;
while( !feof( infile ) )
{
if( line = 2 )
{
fgets( name, 25, infile );
}
else if( line = 3 )
{
|
by: Jeff_Relf |
last post by:
Hi Olaf_Baeyens ( and Linonut ),
Microsoft C++ is really it's latest version of MS_C,
as Microsoft is not supporting the latest C standard, C99.
cout and the STL are pure garbage and should...
|
by: Alex |
last post by:
Hello people,
The following is not a troll but a serious request.
I found myself in a position where I have to present a Pro/Con list to management and architects in our company with regard to...
|
by: Jeff Rush |
last post by:
As the Python Advocacy Coordinator, I've put up some wiki pages on the Python
website for which I'm soliciting ideas, writing and graphics. Some of the
material exists scattered about and just...
|
by: Marcus |
last post by:
Apologies if this seems like it's off-topic, but since moinmoin is
written in Python, I am hoping to solicit some good thoughts in this
group.
The problem: I'm setting up a wiki farm (small...
|
by: Jeff Rush |
last post by:
Forrester Research is doing a study on dynamic languages and has asked that
Python be represented. As advocacy coordinator I've volunteered to drive
this, collecting answers from the community and...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
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
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
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...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
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...
|
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,...
|
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: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
| |