473,396 Members | 1,599 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,396 software developers and data experts.

In need of .NET advocacy

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"
Jul 21 '05 #51
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"
Jul 21 '05 #52
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"
Jul 21 '05 #53

"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???

Jul 21 '05 #54
>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

Jul 21 '05 #55
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
Jul 21 '05 #56

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

Similar topics

10
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...
354
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...
42
by: slickn_sly | last post by:
<code> line = 1; while( !feof( infile ) ) { if( line = 2 ) { fgets( name, 25, infile ); } else if( line = 3 ) {
26
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...
55
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...
6
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...
0
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...
2
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...
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
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...
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...
0
tracyyun
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...

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.