|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Go C# .NET for the larger applications?initiatives that are using .NET for implementation? (i.e. software running on the CLR) I'm especially thinking of the larger applications. E.g. something which maintains a large database or extensive GUI, etc. I just thought of this example: would it be feasible to implement a large development environment like Visual Studio in .NET? I'm sure it can be done, but what can be said for it, or against it? Maybe the question was asked before many times, but it's 2007 now and I need to ask again (or point me to some urls please): When I have ideas for a new software I want to develop, : Why would I choose to implement in .NET? (probably using C#) Pro's, cons, compared to writing a native code application? I know most of the technical advantages, but put it this way: How would you explain the choice to target the .NET platform to the management of a/your company? (This latter question would be irrespective of application size). Imagine, someone says right into your face that "CLR apps start and run
slow", "C# is for small web applications", ".NET will fail" then .... ? Even if each of these is not true, WHAT is it that would justify a switch to C# .NET? (taken into account that switching also costs time & money) I mean, there must be an _advantage_ to justify a switch to .NET. You could say right to their face: "That is not true".
If they ask for a proof you could ask for it too! But, good winner you could tell them to look at the applications there: http://www.windowsforms.net/ http://www.codeproject.com You could also said that, productivity wise and debugging wise C# is waaayyyy more productive. Show quote "ectoplasm" <e_c_***@hotmail.com> wrote in message news:1168233555.964820.242450@s34g2000cwa.googlegroups.com... > Imagine, someone says right into your face that "CLR apps start and run > slow", "C# is for small web applications", ".NET will fail" then .... ? > > Even if each of these is not true, WHAT is it that would justify a > switch to C# .NET? (taken into account that switching also costs time & > money) > > I mean, there must be an _advantage_ to justify a switch to .NET. > > You could also said that, productivity wise and debugging wise C# is I've heard that claim (productivity wise). I believe it's true (a huge> waaayyyy more productive. library, much simpler code, easy to maintain). But for a business, say the engineers need a switch from C++ to C#. While language wise it's easy to go C# from C++, the whole mindset is different in C#. You cannot just think "how would I do this in C++?". A company would need to *bleed* first before getting to the advantages. Those engineers need to learn C# and .NET. So, training. Productivity, debugging wise, yes good one, I didn't think of that one yet. Metadata increases debugability enormously. And no more wild crashes. The websites you mentioned are mostly code examples. But where are the big apps that are made on .NET? The big apps are on windowsforms.net
http://windowsforms.net/Default.aspx?tabindex=4&tabid=49 learning C# is not that hard..... once you know the syntax (easy) the collection classes (quick) and either the basic of ASP.NET and/or WinForm (both quick) (and probably an introduction to ADO.NET as well) you are ready to rock and roll!! Show quote "ectoplasm" <e_c_***@hotmail.com> wrote in message news:1168240751.081630.88580@v33g2000cwv.googlegroups.com... >> You could also said that, productivity wise and debugging wise C# is >> waaayyyy more productive. > > I've heard that claim (productivity wise). I believe it's true (a huge > library, much simpler code, easy to maintain). But for a business, say > the engineers need a switch from C++ to C#. While language wise it's > easy to go C# from C++, the whole mindset is different in C#. You > cannot just think "how would I do this in C++?". A company would need > to *bleed* first before getting to the advantages. Those engineers need > to learn C# and .NET. So, training. > > Productivity, debugging wise, yes good one, I didn't think of that one > yet. Metadata increases debugability enormously. And no more wild > crashes. > > The websites you mentioned are mostly code examples. But where are the > big apps that are made on .NET? > Thanks,
> learning C# is not that hard..... Yes, I am in C and C++ for a few years already. Now I'm reading theboek from Troelsen (C# and the .NET 2.0 Platform) after seeing some real nice C# examples on the web. In the meantime I tried rewriting some of my own C++ libraries in C#, and must say I am impressed. I feel I still must take a real good look if .NET is being adopted in the corporate world as well, and also to see if this is a popular thing that is, in general, 'embraced' as the next big thing (it seems it is). I've also read critical stuff and all the 'Java vs. C#' (real juicy stuff out there, fun to read too and giving many insights). So with these questions I just want some of my own doubts cleared. I think it's my wish to make a switch to C# (though it seems that in Taiwan, where I am living, hasn't got much job openings in C# non-web applications.... wink, wink ;-) Anyway thanks for the feedback. Well, besides the increasing body of software that Microsoft is writing with
the .Net platform, I can mention that we did a project for the NASA SATS initiative which ended last year. The project culminated in a Managed Direct3D situational awareness application designed to be used on a laptop in a small aircraft with a GPS. It models terrain and nearby airport data visually in real time, based on the GPS coordinate of the aircraft, as well as onboard position information, including altitude, pitch, roll, yaw, etc. It was demonstrated at the Danville SATS expo last March, and well-received. All of the software we currently develop is written for the .Net platform using C# (with some C and C++ mixed in). -- Show quoteHTH, Kevin Spencer Microsoft MVP Bit Player http://unclechutney.blogspot.com Where there's a Will, there's a William. "ectoplasm" <e_c_***@hotmail.com> wrote in message news:1168267134.797892.5530@q40g2000cwq.googlegroups.com... > Thanks, > >> learning C# is not that hard..... > > Yes, I am in C and C++ for a few years already. Now I'm reading the > boek from Troelsen (C# and the .NET 2.0 Platform) after seeing some > real nice C# examples on the web. In the meantime I tried rewriting > some of my own C++ libraries in C#, and must say I am impressed. I feel > I still must take a real good look if .NET is being adopted in the > corporate world as well, and also to see if this is a popular thing > that is, in general, 'embraced' as the next big thing (it seems it is). > I've also read critical stuff and all the 'Java vs. C#' (real juicy > stuff out there, fun to read too and giving many insights). > > So with these questions I just want some of my own doubts cleared. I > think it's my wish to make a switch to C# (though it seems that in > Taiwan, where I am living, hasn't got much job openings in C# non-web > applications.... wink, wink ;-) > > Anyway thanks for the feedback. > Kevin Spencer wrote:
> initiative which ended last year. The project culminated in a Managed Also in C# .NET?> Direct3D situational awareness application <....> > All of the software we currently develop is written for the .Net platform May I ask for what kind of parts you relied on C and C++? I mean I> using C# (with some C and C++ mixed in). assume you call this C/C++ code from C# code. > Also in C# .NET? Yes, that's why I mentioned using Managed Direct3D. Managed Direct3D is a set of .Net Direct3D libaries. I was surprised at how well it performed, but from what I've learned, these were not wrappers for the unmanaged Direct3D programming interface, but were built from the HAL layer up. In fact, most 3D support is provided through the video card these days. All the programming interface does is to enable one to create the various vertices, matrices, etc., and they are then pushed to the video card for processing. So, it performs very well. Of course, this is also why Vista's 3D vector-based GUI layer is also not a slow performer. > May I ask for what kind of parts you relied on C and C++? I mean I Sure. Actually, I only wrote a couple of components in unmanaged C++, > assume you call this C/C++ code from C# code. because they had to work with Flight Simulator for testing and demonstration purposes (rather than having to fly an aircraft to test it every time!). As for the C code, it was unsafe blocks of code in the C# code files, which performed various functions with Bitmaps, and it had nothing to do with the 3D part of the app. To be more specific, the app ran off of USGS Digital Elevation Model data, which was stored (originally by the USGS) in text files. To speed things up, I came up with a proprietary Bitmap "database" format which stored elevation data in the pixels of Bitmaps. Because the DEM data was in a grid structure, the Bitmap raster format was perfect for storage. But reading a Bitmap pixel-by-pixel in Managed code is a very slow process. So, I created an unsafe pointer to the first pixel, and would scan the pixels with pointer arithmetic to build a VertexBuffer of coordinates that covered a 60X60-mile patch of terrain, with vertices spaced 30 meters apart. This was by far the most processor-intensive and memory-intensive part of the app, since the VertexBuffer had to be rebuilt periodically as the plane moved, and swapped out transparently. So, it ran on a background thread. Took about 20-30 seconds to build it each time. But it didn't affect the speed of the display, which, as I said, relied on the video card to do the actual drawing. -- Show quoteHTH, Kevin Spencer Microsoft MVP Bit Player http://unclechutney.blogspot.com Where there's a Will, there's a William. "ectoplasm" <e_c_***@hotmail.com> wrote in message news:1168344632.521550.77880@11g2000cwr.googlegroups.com... > Kevin Spencer wrote: >> initiative which ended last year. The project culminated in a Managed >> Direct3D situational awareness application <....> > > Also in C# .NET? > >> All of the software we currently develop is written for the .Net platform >> using C# (with some C and C++ mixed in). > > May I ask for what kind of parts you relied on C and C++? I mean I > assume you call this C/C++ code from C# code. > I guess I could also say:
Where are the C++ application developers that decide to switch to C# ..NET, and why do / would they switch? Hi,
ectoplasm wrote: > I guess I could also say: I work in a firm with a solid C++ experience (I programmed in C++ myself > > Where are the C++ application developers that decide to switch to C# > .NET, and why do / would they switch? before, though I wouldn't call my experience "solid" ;-) and now we work since 2002 with .NET too (parallelly: Maintenance in C++, new development in .NET). The productivity gain is real. You write less lines of codes, you must debug less because the code is more stable. Basically, if it compiles, you are already quite far with testing ;-) Additionally, I want to add the fun factor. Programming in C++ can be tedious work (though I am sure that many developers love it). However, programming with .NET is really fun, especially C#. I know many developers who switched from C++ to C# and swore "never again C++". But then again, everyone has his opinion about that I guess. Greetings, Laurent -- Laurent Bugnion [MVP ASP.NET] Software engineering: http://www.galasoft-LB.ch PhotoAlbum: http://www.galasoft-LB.ch/pictures Support children in Calcutta: http://www.calcutta-espoir.ch The productivity gain is certainly real, and really impressive. In addition,
you have the option to go as low-level as you need to. Whereas, if you work in C++ alone, you do not have the option to move to a higher level when productivity will be improved by doing so. It is the history of software development to, as hardware technology advances, and demand for more complex and broad-reaching applications increases, build platforms on top of platforms for greater productivity, starting with Assembler, and moving forward all the way to the .Net platform and Java (so far). -- Show quoteHTH, Kevin Spencer Microsoft MVP Bit Player http://unclechutney.blogspot.com Where there's a Will, there's a William. "Laurent Bugnion" <galasoft***@bluewin.ch> wrote in message news:OhjGkExMHHA.4912@TK2MSFTNGP02.phx.gbl... > Hi, > > ectoplasm wrote: >> I guess I could also say: >> >> Where are the C++ application developers that decide to switch to C# >> .NET, and why do / would they switch? > > I work in a firm with a solid C++ experience (I programmed in C++ myself > before, though I wouldn't call my experience "solid" ;-) and now we work > since 2002 with .NET too (parallelly: Maintenance in C++, new development > in .NET). > > The productivity gain is real. You write less lines of codes, you must > debug less because the code is more stable. Basically, if it compiles, you > are already quite far with testing ;-) > > Additionally, I want to add the fun factor. Programming in C++ can be > tedious work (though I am sure that many developers love it). However, > programming with .NET is really fun, especially C#. I know many developers > who switched from C++ to C# and swore "never again C++". But then again, > everyone has his opinion about that I guess. > > Greetings, > Laurent > -- > Laurent Bugnion [MVP ASP.NET] > Software engineering: http://www.galasoft-LB.ch > PhotoAlbum: http://www.galasoft-LB.ch/pictures > Support children in Calcutta: http://www.calcutta-espoir.ch Laurent Bugnion wrote:
> Additionally, I want to add the fun factor. Programming in C++ can be Kevin Spencer wrote:> tedious work (though I am sure that many developers love it). However, > programming with .NET is really fun, especially C#. > The productivity gain is certainly real, and really impressive. I believe that, and I understand how this makes a difference. Just onlylook at header files and include dependencies for example: how many hours are wasted with this in C++??
www.ukvaluation.co.uk/Default.aspx (my work - mathematical model to value
houses) www.live.com - (MS search engine site and the whole spaces concept is asp.net) www.windowsforms.net - Itsself is in ASP.NET www.sourcegear.com - Vault is an excellent source control tool, way better than source safe, written in C# I am currently writing an application for a multinational bank in London with a user base of about 6000 internal users and massive data processing requirements. ..NET is a serious tool width serious performance, I dont know who your employer is but they have no idea what they are talking about. .NET applications far outstrip Java in terms on performance an scalability and often can outperform C++ due to the better optimizations that can be done. The load is slower due to just in time compilation but thats a choice not a requirement, you can run ngen.exe provided with the frame to run jit on an application a save the results so there is no jit at runtime. Anyone who turns down .NET without a good reason is a fool. It will save companies money as it is easier to code, faster to code (due to more active class library saving you code and tools which can code gen) and easier to debug. It is safer will garbage collected memory and pointer less programming but also gives you the option of using pointers and direct memory access when speed is neeeded without type checking. Post more about the company or products you write and you could get a more targetted response Show quote "ectoplasm" wrote: > Is there a list somewhere of companies or other software applications > initiatives that are using .NET for implementation? (i.e. software > running on the CLR) > > I'm especially thinking of the larger applications. E.g. something > which maintains a large database or extensive GUI, etc. I just thought > of this example: would it be feasible to implement a large development > environment like Visual Studio in .NET? I'm sure it can be done, but > what can be said for it, or against it? > > Maybe the question was asked before many times, but it's 2007 now and I > need to ask again (or point me to some urls please): When I have ideas > for a new software I want to develop, : > > Why would I choose to implement in .NET? (probably using C#) > > Pro's, cons, compared to writing a native code application? I know most > of the technical advantages, but put it this way: How would you explain > the choice to target the .NET platform to the management of a/your > company? (This latter question would be irrespective of application > size). > > Thanks.
Ciaran O''''Donnell wrote: > .NET is a serious tool width serious performance, I dont know who your I think it doesn't matter. They want to go on beating their legacy C++> employer is but they have no idea what they are talking about. .NET > Post more about the company or products you write and you could get a more > targetted response MFC code into new shapes for every customer every time. If only there were more people in my company (openly) enthousiastic about .NET, it would have a chance. Unfortunately (for us, the software guys) this is how it goes often, right. I am eager to do new stuff but I will have to switch jobs for it. Companies want to sell things to bring some money in, and this kind of technology switch is not a small thing (and in a way they are right). BUT, in 5 years they will still be saying "we do C++ and MFC". Shame on them. But that goes in many ways... .NET superior to Java? It might be superior to a lot of stuff but for widespread success..... it all has to come together on many levels. Let's hope it will. > The load is slower due to just in time compilation but thats a choice not a Yes. Now that you mention it, I know one good app in C#, and that is> requirement, you can run ngen.exe provided with the frame to run jit on an > application a save the results so there is no jit at runtime. Anyone who Paint.NET (www.getpaint.net). I have used it and I *hated* the slow startup time. I mean, any pic I chose "edit" and MS Paint would pop up almost instantly. But with Paint.NET... I just hated the ten seconds of waiting for it to start!!! But you say ngen.exe. I'll look at that. So your work is ASP.NET (web applications, right). But I think I would prefer windows forms applications. It has more software architecture in it to build a whole app. After all ASP.NET is stateless (input, process, output; no relations to previous inputs). Tell me if you think I have wrong impressions of it. Talking of slow startup time,
I thought it's interesting the CLR is really a little 'software CPU', isn't it? Thinking of IL (CIL) as analogous to assembly language (it does look similar), who knows we'll have CPUs (real hardware CPUs I mean from Intel) that can eat IL? Or at least some CLR support at the hardware level? Ciaran O'Donnell <CiaranODonn***@discussions.microsoft.com> wrote:
<snip> > .NET is a serious tool width serious performance, I dont know who your Um, any evidence (other than the discredited PetStore) for saying that > employer is but they have no idea what they are talking about. .NET > applications far outstrip Java in terms on performance an scalability and > often can outperform C++ due to the better optimizations that can be done. ..NET applications "far outstrip Java" in those terms? Java and .NET both end up JITted to roughly the same performance as native code in my experience - there are some things which are a bit faster in Java, and some things which are a bit faster in .NET. They're both perfectly valid choices for large application development. -- Jon Skeet - <sk***@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet If replying to the group, please do not mail me too > faster in Java, and some things which are a bit faster in .NET. They're Nope, not if you are thinking in terms of security. Java far outpaces .NET > both perfectly valid choices for large application development. in terms of reported security vulnerabilities when compared over time. Source: Comparing Java and .NET Security - Uni of Virginia Paul/Evans. Show quote "Jon Skeet [C# MVP]" wrote: > Ciaran O'Donnell <CiaranODonn***@discussions.microsoft.com> wrote: > > <snip> > > > .NET is a serious tool width serious performance, I dont know who your > > employer is but they have no idea what they are talking about. .NET > > applications far outstrip Java in terms on performance an scalability and > > often can outperform C++ due to the better optimizations that can be done. > > Um, any evidence (other than the discredited PetStore) for saying that > ..NET applications "far outstrip Java" in those terms? > > Java and .NET both end up JITted to roughly the same performance as > native code in my experience - there are some things which are a bit > faster in Java, and some things which are a bit faster in .NET. They're > both perfectly valid choices for large application development. > > -- > Jon Skeet - <sk***@pobox.com> > http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet > If replying to the group, please do not mail me too > Alvin Bruney [MVP] <AlvinBruney***@discussions.microsoft.com> wrote:
> > faster in Java, and some things which are a bit faster in .NET. They're Note that that paper only refers to the VM/CLR - and it's quite > > both perfectly valid choices for large application development. > Nope, not if you are thinking in terms of security. Java far outpaces .NET > in terms of reported security vulnerabilities when compared over time. > Source: Comparing Java and .NET Security - Uni of Virginia Paul/Evans. possibly relevant that Sun makes its Java bug database publicly available, whereas Microsoft doesn't (it has *a* bug database available, as well as the knowledge-base, but Ladybug is only relatively recent and I'm sure it's not the whole story). Can you remember the last time you heard about anyone actually being burned by a security vulnerability in either .NET or Java? I can't remember any off-hand, myself. I'm not saying that .NET isn't more secure than Java - I wouldn't like to say either way. I'm saying that I haven't found it to be an issue in real life, myself. -- Jon Skeet - <sk***@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet If replying to the group, please do not mail me too Just to partly answer my own question now (shame, shame!):
I had to think of the Mono project (www.mono-project.com). That is, ..NET on Mac OS X and Linux, amongst others. They have a page where they show a list of applications that rely on .NET (and that, thanks to Mono). http://www.mono-project.com/Companies_Using_Mono Mono project will release their .NET 2.0 version in Q2 this year but windows forms will be 100% completed in Q4 (as is scheduled). Lagging behind a bit for full support, but still.... it's coming... |
|||||||||||||||||||||||