|
Everyone writing Windows software will eventually use .NET, at least through MC++ rather than C# or oh! my goddish VB.NET or whatever esotheric language.
Why? at least because soon Microsoft won't offer any other alternative. They are turning off, silently slowly and firmly, all "WIN32" SDKs off from their download sites.
The CLR has an amazing amount of classes you can rely on. They let you build software without having to rewrite everything from scratch. So, the software is quicker out. My concern is demoware versus reliable software (when you read CLR's architect take about CLR reliability, you can question it. Really).
That said, there are bottlenecks :
- Winforms totally suck. The 1.x implementation is really poor, so everyone writing projects.
- huge memory overhead because of the GC
- huge start time
- code made obsolete quickly once it is out (see my post below)
- ...
What's also important is the perception that complex projects is still a hard job that no developing world people can tackle.
For instance, everything regarding COM interop and P/Invoke is so lousily managed in the CLR 1.x that it leaves the door open for us people in our 30s to be able to sell our knowledge to solve problems that VB-people won't ever. That's good news.
|
|
|
|
|
"Free me from DLL Hell" was one of ms's early .NET ads... ironic isnt it? I just installed VS .NET and besides fiddling with C# (which lacks any basic support for interactio w/ the file system) I still have vc 6 open 99.9% of the time.
|
|
|
|
|
I think you haven't use c# at all. Lack of support for interaction with the file system?
Before saying such things bother to read the docs or a simple google search would be enough.
Anyway, the vs.net ide for c++ (managed and unmanaged) it is way better than version 6.0
I compile my vc 6 projects on .net now, unmanaged code.
|
|
|
|
|
Talking about the IDLE for the C++ development, lets say VS6 and VS7 to understand, the VS7 is too different from the VS6, MFC seems improved (for sample the HTML help file format), but the developing environment seems a bit messy for who is developing big projects with the VS6.
Keyboard mapping, windows positioning and functional concepts are changed and they require a bit of time for the "old" programems to move in this new environment.
I don't want to say that it's best of worse, but who uses VS6 knowing a lot of basic shortcut key's will find the new VS7 a bit difficult to use.
Another point is the starting time of the VC IDLE environment. Normally I moove from 1 poject to another really fast to copy and paste of code here and there. The VS7 is really heavy to start.
Talking about C#, for a C++ programmes it seems a new king of VB where the machine is quite "far" from what a C++ programmer is aspecting. Most of the people of the "old" programmes are asking "why a new language?".
In my case, honestly if go back in time, I must reconyze that I was considered a genios because I was the first programmer in C/C++ of my company, and I've converted everybody... but if I think it well, C/C++ was a big challange in the beginning to make the application "do what I want to do!"; the pointer concept was so difficult to understand, and know I'm not able to program without these things: "ok I'm old!".
Lets say that going to work in JAVA or C# gives me the impression that I'm "going back".
So, to move from VS6 C++ to VS7 C# is not a easy process, and requires time for a person like me and others that answered to this survey.
Now as now, I have the impression that for the application I'm making and my overall productivity, I prefer to keep working on my "old" VS6 with C++ for the "Windows based application".
I have to add that 80% of my customers are still working with W98 or W/NT, and it will be difficult for them to migrate, because in their case they have to change the base machines (a lot of money!). I don't feel to tell them to change their machines. But all of them have a common point: a web browser!
So, for the "new applications", I'll do my best to convince my customers to go on a web based application and not work with C# Windows frame based application. But let's clear one point: this is "my interest", I don't want to discuss that C++ is better than C# or viceversa, but I don't have time and interest to move in C#!
Reading here and there, there are 2 kind of answers: "C# if cool and easy to redistribute" and "why do I have to move in C#?".
Probably both of these kind of answer must be analyzed in their context!
Andy
|
|
|
|
|
For what I understood in your particular case, the main problem from moving to vc 7 is the shortcut keys.
You can go to options and tell to use the vc 6 shortcuts so you will feel the same way in vc 6 and 7
From there, c++ is the same (and even better, it follows the standard closely) and the advantages of the new IDE i think deserves a shot.
As for C#... that's a matter of opinion. I personally like c# because it is almost like java so it was pretty simple to learn for me, also it let you create projects pretty fast. Of course, it is damn slow compared to a good C program.
Joaquin Grech
|
|
|
|
|
rrrado wrote:
Why use .NET?
Because the customers want a .NET version of our libraries.
|
|
|
|
|
rrrado wrote:
can't make applications for W95
Excelent!!!! Why would you want write apps for W95??
rrrado wrote:
I'm lazy to learn it
Thank god you're not a doctor!;P
|
|
|
|
|
You say you are a happy VC++ coder, do you like object oriented coding? .NET has over 8,000 classes. Most of them quite clean and very usable.
Big runtime.. Well, most machines from this point on will ship with a version of .NET already installed. People will download and install .NET or get it in an application that they purchase which requires .NET.
You say you cannot see any advantage except for an HTML dialog. Sorry, .NET does not provide that funtionality. It provides over 8,000 class that can be used in Web or Windows applications. It does have easy to use Remoting to allow you to use distributed computing without spending ten years. It does have a compiled code behind modules for web sites so that the server does not have to parse script when a page is requested. It does have ADO.NET to provide easy access to databases, xml or other data stores all in an object oriented world. It does provide easy access to Web Services or to build Web Services. And if you are using VS.NET it does provide RAD development of Windows and Web applications. Of course, since it does not work on the old Windows 95, then it is not worth much
The "lazy to learn it", I cannot help with. Back in 1981 I fell in love with programming on my 3.5K RAM machine and have enjoyed programming ever since. While there is a lot to .NET (with over 8,000 classes to learn how to use not to mention all the new architecture) it has been fun!
First, I want to say that I have been programming for decades mostly in C++ and for many years in MFC. When I first used VS.NET and C#, I was lost and confused. It looked a lot like what I was used to, but every time I tried something I ran into walls and felt like someone had me duct taped to a chair. That was my first serious two weeks with .NET.
I have sold out completely to .NET. My window applications are WinForms which function quite well! I leverage the majority of that code to use in my web applications using ASP.NET. There is very little to between Windows or Web applications except for the obvious. The back ends are mostly the same. And the FAT client is back!
Personally, I think Microsoft has done a horrible job marketing .NET. Many people perceive it is only useful for doing web services stuff.
The current .NET frameworks (or I would say platform) is an object oriented platform containing over 8,000 classes. No more playing stupid API garbage, it is class based. It does not matter which language you prefer, code runs good under any of them. They all use that same libraries.
It takes a fraction of the time to write general applications using .NET than with legacy methods. Not only that but the debugging is substantially less.
Again, most people will not listen just as they did back in the MS-DOS days when Windows took over, but if you design general applications (not games or the next PhotoShop) then .NET can save you a great deal of time and allow you to expand the vision of your applications without the need of expanding your time frame. My biggest time consumer now is that I have so many possible ways to implement a program it can be a challenge to determine which avenue is best to use. Lot better than tracking down null pointers or DLL mismatches.
Another feature I really like is that I can now write Linux applications in C# along with web applications and services running on Linux. All with the majority of code being the same.
And don’t forget, while the number of C++/MFC jobs are declining, .NET jobs are starting to command high salaries. Of course most of those jobs are requiring one to two years of .NET.
Oh yeah, and this is still only the first major version of .NET. Can hardly wait for Version 3 or 4!
Rocky Moore <><
|
|
|
|
|
Rocky Moore wrote:
Personally, I think Microsoft has done a horrible job marketing .NET. Many people perceive it is only useful for doing web services stuff.
Yes, .NET is a stupid naming. VC++.NET is the latest iteration of the C++ compiler for a lot of people, nothing to do with .NET
That said, you've got to admit that the best class wizards from VS.NET are those to build web services in a few clicks.
Rocky Moore wrote:
Lot better than tracking down null pointers or DLL mismatches.
Weak point. With .NET languages you are tracking objects not references, and exceptions.
Rocky Moore wrote:
Oh yeah, and this is still only the first major version of .NET
Don't get me started on that one Rocky. I don't understand quite well that you seem to have such an amazing experience, and you seem not to know the MS JVM and how it related to the .NET JVM.
Rocky Moore wrote:
And don’t forget, while the number of C++/MFC jobs are declining, .NET jobs are starting to command high salaries.
0% true IMHO. MS is giving a lot of marketing pressure on how productive and VB-like (which they admit it is, actually) is their IDE and as such they are clearly showing the way of offshore jobs. Have you seen the ads on the side of CodeProject ?
Of course, it's only fluff but you know how much marketing people can destroy things sometimes.
Taking advantage of InternetExplorer to steal user's name and password.
Taking advantage of InternetExplorer to steal user's clipboard.
|
|
|
|
|
Stephane Rodriguez. wrote:
Yes, .NET is a stupid naming. VC++.NET is the latest iteration of the C++ compiler for a lot of people, nothing to do with .NET
Actually, I was not referring to any "naming convention" but rather the their lack of marketing the full features of .NET instead of just web services and ASP.NET (the latter even lightly marketed).
Stephane Rodriguez. wrote:
That said, you've got to admit that the best class wizards from VS.NET are those to build web services in a few clicks.
Man does not live by wizards alone
Actually, when I first started with .NET and VS.NET, I missed the wizards I think more than just about anything (well, a dialog properties windows was the top of missed items), but for building WinForm and WebForm apps, I don't really need them any more. It is a bit annoying how you have to navidate down to a base class to right click on for overriding methods but I live with that for all the benifits I receive! Just the ease of building tabbed pages all with drag and drop makes up for that problem.
I personally, really enjoy their new IDE now that I hve gotten used to it. I know it is not perfect, but much better than the old one. Just simple little things really help out. One example is a feature I love that you can take code snippets and place them on a tool bar. Then at any time you can drag them or double click them to insert that snippet into your code. It is built in without any extra tools. Handy!
Stephane Rodriguez. wrote:
Weak point. With .NET languages you are tracking objects not references, and exceptions.
Not at all! I generate far more robust code now and spend only a fraction of the time debugging! Fact! And Exceptions have become my friend Still don't care much of the old try/catch format but hey, I don't know of a better way.
Stephane Rodriguez. wrote:
0% true IMHO.
Well, a current search on Monster.com shows 628 positions with C# listed somewhere in their job description. It may be that it is an extra benifit to know, but it is still listed. Same search for MFC, 190 listings.
An example job listing on Monster for C#:
Salary: 80K-110K
highly skilled ASP.NET anc C# architect.
Requirements:
* Proficiency in ASP.NET,ADO.NET, C#, XML, DHTML, MTS, SOAP and SQL servers.
* Strong knowledge of Microsoft Development Tools (Visual Studio.NET).
C# Architect in Alanta
Salary: 65K-80K
LA Lead/Senior C# /ASP.NET
Salary: 70K-100K
Requirements: strong OO background in C++ or Java
Min of 6+ months professional work with C#/ASP.NET
Chicago Lead .Net Architect with C#
Salary: 80K-115K
Carlsbad - C# ASP.NET SQL Engineer
Salary: 100K
Ideal candidate MUST be an expert with C# (position is 100% c#), ASP.NET and SQL.
Those are just off the first page of jobs. So, I guess there are good jobs out there for .NET
Stephane Rodriguez. wrote:
VB-like (which they admit it is, actually) is their IDE
Yes, it is great. Once you are use to it, code just flies. Still think they need a little work on their HTML designer though.
Rocky Moore <><
|
|
|
|
|
because vc++.net 2003 realy supports most of C++ Standard.
support of partial template specialization is along enough reason to switch from vc++6.0 to vc++.net 2003.
i wouldn't say anything about c# or other parts of .net technology because i never use it and dont feel will do...
|
|
|
|
|
You seriously have to read more about .NET and try to get your feet a little wet. After a while it all makes a LOT of sense and you will wish you would be able port almost all your code to .NET as soon as possible. I know I did, I've been doing C++ professionally for a very long time and I found out that C# enhances productivity a lot, there are multiple C# features that I wish C++ had. And besides templates (and some performance considerations) there aren't many things that I miss in C#.
The nice thing about C++ is that only your friends can handle your private parts.
|
|
|
|
|
The SP1 is available[^], 3 months after the VS.NET 2003 launch.
For those who just thought they had a stabilized product for the foreseeable future, bad luck!
I wonder where this frenzy is going to take us, especially real world projects. If Microsoft only delivers half-lifed beta products, why upgrade?
|
|
|
|
|
You never find a couple of errors in your software, and then make a fix?
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Not my point. It's more about the rate at which the software is being made obsolete.
Get ready for Whidbey beta on october.
|
|
|
|
|
Stephane Rodriguez. wrote:
It's more about the rate at which the software is being made obsolete.
Please explain how .NET CF SP1, which introduces no API changes, obsoletes code written against .NET CF pre-SP1.
BTW: The project I'm working on developed ~250k lines of C# under VS 2002/.NET 1.0. Then we moved to VS 2003/.NET 1.1 with about four hours worth of work. Most of those four hours was spent installing VS 2003. The rest was spent backing out bugfixes in our code that addressed known bugs in .NET 1.0 (most dealing with the crappy tab/focus code in .NET 1.0 WinForms).
--
Russell Morris
"Have you gone mad Frink? Put down that science pole!"
|
|
|
|
|
Russell Morris wrote:
Please explain how .NET CF SP1, which introduces no API changes, obsoletes code written against .NET CF pre-SP1.
Updated strong names.
Russell Morris wrote:
The project I'm working on developed ~250k lines of C# under VS 2002/.NET 1.0. Then we moved to VS 2003/.NET 1.1 with about four hours worth of work
Fine. I have a few code samples made with C# that do a few things including forms, IE hosting, P/Invoke, COM interop, .... When I first installed VS.NET 2003, I wanted to recompile those samples. The project first got upgraded, and then the compilation stopped on errors. Enough said.
|
|
|
|
|
Stephane are you sure you wouldn't feel more comfortable hanging out in Slashdot? Man, I've never seen you say a good thing about Microsoft. Not that you have to kiss ass or anything like it, but... you're starting to sound like a broken record! Well, that's just my opinion. Now feel free to tell me to f*ck off or whatever.
The nice thing about C++ is that only your friends can handle your private parts.
|
|
|
|
|
Someone has to go outside mainstream right ? I am ready to go this way.
Regarding what I do about Microsoft, I don't think so. The point is : quality products ; no upgrade frenzy. The anti-IE campaign is meant to promote a better IE.
If you are a Microsoft shop and can afford the latest stuff, and your customers accept them, regard yourself as someone who is damn lucky. Real world projects often fall in old C code, and customers don't want to spend money on deployment. Know what I mean?
Slashdot ? What would be the added value, now that 100 times a day people are criticizing them.
|
|
|
|
|
Stephane Rodriguez. wrote:
The point is : quality products ; no upgrade frenzy
I guess everybody agrees that high quality products is a must. The problem is the upgrade "frenzy"... there's a lot of competition out there and if a company doesn't immediately deliver products that match and surpass the competition feature by feature, that company risks going out of business. For developers this is a chicken and egg dilemma: wait a considerable amount of time until there's a "perfect" version ready or deliver a good-enough version so the sales people can make money for the company? I'm telling you, there's no easy answer.
Stephane Rodriguez. wrote:
The anti-IE campaign is meant to promote a better IE
I haven't used IE directly for the longest time: I use NetCaptor and MyIE2. As long as Microsoft keeps providing the underlying HTML rendering and support engines I couldn't care less.
Stephane Rodriguez. wrote:
Real world projects often fall in old C code, and customers don't want to spend money on deployment. Know what I mean?
I know what you mean, believe me... I KNOW what you mean. But, that being said, it doesn't mean that the door to evolution must be closed. On the contrary, software often behaves like a living entity that is evolves and after some time gets old and dies.
Stephane Rodriguez. wrote:
Slashdot ? What would be the added value, now that 100 times a day people are criticizing them.
You have every right to complain and bitch about Microsoft all you want, I do that often, too. But, if I'm not mistaken, you're a Windows developer. Right? I just believe that, without being submisive, nobody should try to bite the hand that feeds them. Microsoft is a company that has created an ecosystem where millions of people all over the world benefit and thrive. It doesn't mean that their behavior or products are perfect, no, they are a just business that tries to make money for their shareholders just like every other company in the world. And if you compare the "ecosystems" created by other companies, you'll notice that they look pretty dull and dry by Microsoft's standard.
The nice thing about C++ is that only your friends can handle your private parts.
|
|
|
|
|
Eddie Velasquez wrote:
wait a considerable amount of time until there's a "perfect" version ready
I have no problem with this, as long as older versions are still supported. Unfortunately, Microsoft is retiring both their older products, older SDKs, older documentation. Worst of all, they are doing this SILENTLY. Although it's true they can't support for instance Windows NT forever, I believe they could do something else than retiring everything.
Eddie Velasquez wrote:
As long as Microsoft keeps providing the underlying HTML rendering and support engines I couldn't care less.
Web developers certainly appreciate this. When engines and file formats are wrecked, it's simply a shame not to fix them. Of course, all this is true, unless Microsoft intends to make the next IE version compelling enough to ask customers to also buy an OS, and a new PC...
Eddie Velasquez wrote:
On the contrary, software often behaves like a living entity that is evolves and after some time gets old and dies.
Yes, infrastructure underlying that software has to last a decade or so. Unforutnately, the entire Microsoft development platform is being upgraded at least once a year, along with broken formats, etc. Do you remember that Microsoft broke the .COFF file format used in libraries between VisualStudio 97 and VisualStudio 6.0 ? (libraries compiled with VisualStudio 6.0 would cause internal link error when used in VisualStudio 97) ?
Don't tell me it's because they have added a bunch of new features.
I could go on with examples.
Eddie Velasquez wrote:
nobody should try to bite the hand that feeds them.
I don't think real world .NET projects are feeding any mouth at the moment. It's much too early. Of course, regarding personal projects, there is plenty of stuff to do thanks to that platform.
Taking advantage of InternetExplorer to steal user's name and password.
Taking advantage of InternetExplorer to steal user's clipboard.
|
|
|
|
|
Stephane Rodriguez. wrote:
Microsoft is retiring both their older products, older SDKs, older documentation
As any company in the world... after a while, old products are left to die. In any industry it's the same thing. Just look at Sun and Java... now, that's real fun!
Stephane Rodriguez. wrote:
Worst of all, they are doing this SILENTLY. Although it's true they can't support for instance Windows NT forever, I believe they could do something else than retiring everything
I think most of what Microsoft drops doesn't go down silently. They just can't spend the same amount of marketing effort on announcing the death of a product as the launch of a new one!
Stephane Rodriguez. wrote:
Web developers certainly appreciate this. When engines and file formats are wrecked, it's simply a shame not to fix them.
Thank God I'm not a Web developer then!
Stephane Rodriguez. wrote:
Microsoft development platform is being upgraded at least once a year, along with broken formats, etc. Do you remember that Microsoft broke the .COFF file format used in libraries between VisualStudio 97 and VisualStudio 6.0 ? (libraries compiled with VisualStudio 6.0 would cause internal link error when used in VisualStudio 97) ?
Who forces anybody to upgrade? If VS97 was good enough why go with VS6? Microsoft doesn't force anybody to upgrade; if the new versions are compelling enough the users upgrade. I think it's quite simple.
Stephane Rodriguez. wrote:
don't think real world .NET projects are feeding any mouth at the moment.
It has fed a bunch of mouths in MY family for a long time. And I know, and heard of, countless people (at least according to my limited ability to count) that can testify to the same. And I'm not talking "Hello World" projects, I've personally developed a couple of mission-critical applications exclusively using .NET. And as a matter of fact, now that I think about it, I haven't heard from my clients in a while, the apps must be working ok!
The nice thing about C++ is that only your friends can handle your private parts.
|
|
|
|
|
Eddie Velasquez wrote:
As any company in the world... after a while, old products are left to die.
The Windows 9X DDK was retired on September 2002. Silently. Now the Windows DDK is under...guess what... the XP umbrella. What do you think of this ?
Eddie Velasquez wrote:
I'm not a Web developer
That's the problem with discussions (also the beauty btw). Everyone has his own perception of technologies. For web developers, whether we are talking HTML, PHP or ASP.NET, that one is critical.
Eddie Velasquez wrote:
If VS97 was good enough why go with VS6?
Gotcha mate! The Windows media SDK was provided with VS6.0 compiled libraries. Now imagine you have to write an application relying on the SDK, BUT your company is using (that was in 98, it's over now) VisualStudio 97. What do you do? Cut the project down? Or send the dollars to Microsoft first by upgrading to VS6.0 (mandatory as I thought my former post was obviously implying) ?
Eddie Velasquez wrote:
It has fed a bunch of mouths in MY family for a long time.
Glad to know. I am not sure it's really representative of the situation though.
Eddie Velasquez wrote:
I haven't heard from my clients in a while
I am not sure it's good news. Aren't software companies making money on disributing bugged software?
Taking advantage of InternetExplorer to steal user's name and password.
Taking advantage of InternetExplorer to steal user's clipboard.
|
|
|
|
|
Stephane Rodriguez. wrote:
The anti-IE campaign is meant to promote a better IE.
It already exists. It's called AvantBrowser[^]. Simply awesome. Mozilla type wrapper around a pure IE core.
|
|
|
|
|
|