|
Microsoft will always release new API's in Win32 C/C++ first, then release .NET wrappers. Win32 C/C++ is not going anywhere and its rediculous to think it will be replaced by .NET. Microsoft will not be writing its key applications in .NET just like they never wrote them with MFC either.
Over time, yes, there will be more and more .NET programmers and applications but underneath it all, there is always Win32 and there will always be a demand for the smallest, light weight applications possible.
Others have already made the point about device drivers and real-time systems.
Where you will start to see lots of .NET development is for business logic and solutions. Much like how MS has always tried to position Visual Basic 6 and below: as a middle tier language. They are also positioning .NET so that it lowers the skill-level entry point for developers that never had access to advanced programming constructs such as threading.
I personally feel this is dangerous, especially in my company.. Now all the ASP developers are creating threads whenever it makes them happy on the web server and killing it. Kinda like how Win16 developers went thread happy when we went to Win32. At least VB6 kept the threading under control. But thats another story
And UGH! I'm so irritated that MSDN focuses so heavily on .NET. It has become really b o r i n g.
|
|
|
|
|
Weren't 2 of the "big" benefits of .NET
1.) XCOPY installation
2.) Freedom from .DLL Hell
Shock Horror can it be that it's not quite there yet
Phil Harding
|
|
|
|
|
What's truely shocking is, how few people called MS on this - seriously, XCOPY deployment is a simple concept - eliminate non-standard dependancies & you're there. DOS had XCOPY deployment. Statically linking in Windows gets you most of the way there also. And once .NET has a wider install base, you'll be able to get XCOPY on that also... so long as you write to the right version.
You'd think no-one had ever used Java...
Shog9
Let your mercy spill / On all these burning hearts in hell
If it be your will / To make us well...
|
|
|
|
|
Phil Harding wrote:
1.) XCOPY installation
Two things kill this one:
1. The registry.
2. The .NET runtime (which still has to be installed on many, maybe even most, customer machines)
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
Tried installing .NET on a W2K machine. Nothing worked. My client had to install that darn development environment just to get the app running. Who knows what magic it did, but installing just dotnetfx didn't do the trick. Yeah, we went through every service pack update you could think of that Microsoft suggested: IE, W2K SP6, ... Everything. Still no go until we installed the development tools. Good grief.
Now, we ship turnkey systems to our customers. How can you possibly expect a dance club owner to install all these service packs, upgrades, and redistributions?
Marc
Every line of code is a liability - Taka Muraoka A doable project is one that is small enough to be done quickly and big enough to be interesting - Ken Orr
CPP Script Framework Design Page
Latest AAL Article
My blog
|
|
|
|
|
Marc Clifton wrote:
My client had to install that darn development environment just to get the app running.
It's a known issue. Having a .NET app to work requires [20MB, 180MB] of run-times before it works, depending on the application.
The bad news is that, often, the error message box, or exception, doesn't say anything about what's wrong. What else could we expect from a beta product anyway?
Marc Clifton wrote:
Who knows what magic it did, but installing just dotnetfx didn't do the trick.
Might be the app relying on some .NET SDK tool like gacutil only to flash the GAC or something. gacutil is not installed with dotnetfx.exe.
[Edit]Other tools that might be used when the app starts are : aximp.exe, tlbimp.exe, ...[/Edit]
If the machine does not have local admin priviledge, then you might consider tweaking the .NET config panel. For instance, if the app uses [DllImport] somehow on a non-admin session, then by default the app is not allowed to execute untrusted code. Failure.
[Edit]After double-checking, this is only an issue with apps running in web pages.[/Edit]
May be some Primary Interop Assemblies are wrecked, badly versioned, etc. How to figure it out ? Good question!
etc. the list goes on forever.
|
|
|
|
|
I hope...
Was out of blank CDs, so i copied it onto a stack of floppies & tied a stack to the legs of each one. Tossed 'em off of the the roof & they were on their way. Haven't gotten a one back yet though, so it must be a long trip... or maybe they're having some installation problems, never know. Hopefully they finish before too many service packs come out though, or their next trip's gonna be a heavy load...
Shog9
Let your mercy spill / On all these burning hearts in hell
If it be your will / To make us well...
|
|
|
|
|
|
Well you know, I think that .NET is just part of the greater move of Dumbing Down, by those unseen movers and shakers of society
Seriously though .NET .SCHMET, it's all objects in it! object this, object that, toString this toString that! Whats wrong with proper capitalisation thats what I want to know
And References , References they're for girls they are (no sexual discriminatory detrementation intended, sexual meant in a purely asexual context), there's no way you can tell me they're easier to understand than void pointers to pointers to arrays of elements of pointers to structures!
You .NET boys don't know you're born, back in the day all we had was GOTO and GOSUB, and 8" floppy disks, and we wuz grateful for them too!
Phil Harding
|
|
|
|
|
GOSUB? ooooh, la-de-da Mister Fancy Pants.
8" floppies? be gone ya lazy git!
Back in my day, we didn't have subroutines... or persistant storage. I'd enter the program in the morning, one long string of code, and when the machine powered off at night it'd be gone & i'd have to start all over. And i liked it, no, i LOVED it, kept typing 'till my fingers were worn down to nubs & then used my tongue until i wore my head down to my navel, all the while spitting out a constant stream of code.
Peh. Indolent VB monkey...
Shog9
Let your mercy spill / On all these burning hearts in hell
If it be your will / To make us well...
|
|
|
|
|
Shog9 wrote:
Peh. Indolent VB monkey...
He asked for it! And once again, Shog has provided a most appropriate response.
Chris Meech
"what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002.
"And when you need to hire a programmer to do mostly VB programming, it's not good enough to hire a VB programmer, because they will get completely stuck in tar every time the VB abstraction leaks." Joel on Software Nov 11, 2002.
|
|
|
|
|
What, you mean you actually got to enter stuff ON the computer? Why, when I was your age, we didn't get to sit at the fancy pants computer. We had to enter all our stuff on a deck of punch cards! THen wait for a week to get the results. Realize you had one bit of code wrong, and have to enter all of 'em in again!
And you know what? The old timers would break us newbies in by taking our decks and playing poker with them! I don't know how many times I've been told, never draw to an inside FOR loop. It's always a losing bet.
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
I'm happy Vc++ 6 coder and I feel no need to use .NET.
1. now I see it has big runtime and AFAIK can't make applications for W95
2. I can't see any advantage, maybe only HTML dialog
3. I'm lazy to learn it
rrrado
|
|
|
|
|
See my response to your previous posting.
|
|
|
|
|
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...
|
|
|
|
|