The Future With Visual C++

A Brief Reflection on Where It Has Been and Where It Is Going With the

Page 1 of 1

9 Replies - 4929 Views - Last Post: 20 April 2008 - 08:18 AM

#1 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 5076
  • View blog
  • Posts: 13,704
  • Joined: 18-April 07

The Future With Visual C++

Posted 15 April 2008 - 10:18 AM

The Future With Visual C++
A Brief Reflection on Where It Has Been and Where It Is Going With the MFC

Written by Martyr2 on April 15, 2008 - Dream.In.Code Mentor


Remember the good old days of Visual C++ 6.0? The year was 1998 and at the time everyone was looking for a real visual twist on a language that was a bit stuck on the ways of the past. VC++ 6.0 really broke the mold and opened the world to a very visual experience, powered by a supped up Microsoft Foundation Classes (MFC) library, which allowed even the casual programmer to use Windows controls relatively quick along with their events.

However, it had one small drawback… it was a bit confusing to learn! Often times books would mention creating an instance variable and inheriting it from a CButton class or a CDialog class through the use of Class Wizard. Or they would use some other crazy wizard which was suppose to make things easy, but really convoluted the whole process. But it was the best we had right? No way were we going back to the ways of trying to do all this GUI work in the older versions!

Then along came .NET around 2002 which saw C# take off, the overhaul of VB.NET, and a revolution in the way we think about software development for Windows. As part of this step they dragged along VC++, gave it an update, some new syntax, but forgot to really revolutionize the use of MFC. Sure it received a tweak here or there, but nothing really to bring it up to date with what the hot new kid on the block C# was doing. It had one foot in the future, one foot in the past.

In addition to this introduction to .NET was the little topic of "Managed Code" versus "Unmanaged Code" and with it the use of new syntax and wording like "hat" and "gcnew". I bet the Microsoft VC++ team had long nights trying to figure out how to make VC++ on par with the other .NET languages but also keep in line with standards. Their answer had always been to drag VC++ kicking and screaming. They cannot just get rid of it, it has its following, they can just remake it because previous code would break and piss people off. So where do we go with it? Should we just chuck it and let people either develop in C++ or go to C# anyways?

Microsoft decided to let it continue and FINALLY gave MFC a huge upgrade in Visual C++ 2008 with their Feature Pack updates (Download Beta). The updates give the MFC a kick in the pants where they needed it and presents new controls which allow programmers to design applications with the look and feel of Office 2007 and leverage more from Vista (do not even get me started on Vista). No more messing with owner drawn controls or crappy 3rd party toolkits.

One of the biggest upgrades is the introduction of the Ribbon Control which is the signature control of the new Office suite. It is said that to create the control almost takes half a megabyte in source code alone stretched over 25 files. Is this really needed? Is the control really that important? Personally I do not like the ribbon, but others swear by it and whether you like it or not, at least Microsoft is giving VC++ the boost it solely needed.

Perhaps there is a future for VC++ afterall. Perhaps Microsoft’s VC++ team can finally turn around that sinking ship and get us on board to sail the development oceans once again. I sure hope so because the managed/unmanaged war, the "hat", and "gcnew" versus "new" alone is killing this pirate of the high seas. What do you think?

Example code, discussions, and tips - Martyr2's Programming Underground Blog

Is This A Good Question/Topic? 0
  • +

Replies To: The Future With Visual C++

#2 GravityGuy  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 48
  • Joined: 21-January 08

Re: The Future With Visual C++

Posted 18 April 2008 - 01:56 PM

I'm glad to hear that I'm not the only one that thought VC++ was a black sheep of the .net family. I can understand that while .net is to be the current and future platform for Windows program development, that there are also a lot of legacy C++ applications that have been developed that don't fit the .net Framework. I do not envy the tough job that developers have these days that are forced to conform to a new C++ standard because MS decided they had to change the language just to fit their own OS.

Before everyone jumps on me I'm not picking a fight with either camp. I'm just pointing out that the C++ standard is being awfully abused by the biggest software giant because they know they've got you by the short hairs. If I were a software development manager of a large software house, I'd be very pissed that my 'working' code no longer compiles or runs, or if it does now, it may very well not run on the next version of the target platform OS.

As a longtime programmer in C++ and other languages, I realize that languages and compilers change over time. They evolve and for the most part move in a positive direction. The best examples come from the open source community where the motives for making those changes are to improve the tools, not to profit by them. No side is exempt from making bad decisions, but there needs to be a clear understanding of who is going to benefit from the changes and who is going to be harmed. When it comes to an OS or fundamental system libraries and compilers you aren't just affecting a single group but the entire user population. Few of us have the ability to pick and choose which upgrades are best for us or an organization without getting further and further out of step with the community. Is it right to give one entity that much power over such a critical and deeply integrated part of our lives. Should our consumerism be the only vote we have? Ironically, there seems to be a large backlash over many companies not wanting to upgrade to Vista. This rarely happens in the marketplace - have we ever changed the minds of oil companies to lower the price of gasoline by boycotting the local gas station? No. It will be interesting see how MS handles this one?

Fortunately, life goes on and a new crop of programmers learn the new systems and marvel at how the past generation actually had to do without the 'ribbon control' or 'ado.net'. One can also look at this as another business opportunity or job niche, taking advantage of the turmoil to be the first on the block to know and understand the 'new stuff'. I could also take the view that life is too short to waste it on dead end technologies and stick with the 'blue chip' investments. The proven technologies will come around again and be the 'new kid' again. The trick is figuring out what that will be just a few steps ahead of everyone else.
Was This Post Helpful? 0
  • +
  • -

#3 mikeblas  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 44
  • View blog
  • Posts: 390
  • Joined: 08-February 08

Re: The Future With Visual C++

Posted 19 April 2008 - 07:18 AM

View PostMartyr2, on 15 Apr, 2008 - 10:18 AM, said:

Perhaps there is a future for VC++ afterall.

It seems a little bit absurd to me to entertain the idea that Visual C++ is dead. While Microsoft, for a time, has spent too much of its resources and effort on the managed languages and tools, they simply can't realistically consider abandoning C++.

Virtually all of Microsoft's shipping commercial software is written in C++ -- including .NET itself, notably. All the OSes. All the tools. All the servers. All the productivity software.

The company isn't about to re-write any of it using managed code because that means parking the feature set and spending years rewriting the application from scratch to gain -- well, nothing. A .NET rewrite of a C++ app ends up being slower, having less features and more bugs.

If they're not investing in their native code tools, they're not investing in their own software. The next version of Excel has zero chance of being faster or more secure if they haven't done work to make the tools produce faster code, make the libraries run better, and so on.

Microsoft proved this to itself during the Vista development work, and again during SQL Server's development.

.NET has its place, but I think it has no chance to displace native code in the foreseeable future.
Was This Post Helpful? 0
  • +
  • -

#4 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 5076
  • View blog
  • Posts: 13,704
  • Joined: 18-April 07

Re: The Future With Visual C++

Posted 19 April 2008 - 08:24 AM

Quote

It seems a little bit absurd to me to entertain the idea that Visual C++ is dead.


Not so much dead but possibly a limited future. Whether Microsoft continues with it or not, C++ is still going to be around and developed by the ISO. It is pretty obvious from coders and even this board at large that VC++ has a diminished following from what it once had.

Despite the large contributions that Microsoft has made in it, they will cut their losses sometime if people no longer use the language. They will realize that perhaps their resources could be better spent updating C# and VB to eventually form a single merged language. After all, that is the intent of the .NET framework and why it was created.

I like VC++ and I like it in the .NET framework... however you can't argue the fact that it seems to be the odd man out in the .NET. I have spoken to many programmers who seem to hate the managed code syntax for the language and really find implementing software solutions in C# or even in straight C++ is faster.

But with these new feature packs and introduction of controls, I think Microsoft is hoping to energize the entire suite of languages and bring VC++ MFC up to snuff. Their own blogs on occasion have eluded to the fact that they realize the MFC needed the update.

Thanks for the posts! :)

This post has been edited by Martyr2: 19 April 2008 - 08:25 AM

Was This Post Helpful? 0
  • +
  • -

#5 born2c0de  Icon User is offline

  • printf("I'm a %XR",195936478);
  • member icon

Reputation: 187
  • View blog
  • Posts: 4,673
  • Joined: 26-November 04

Re: The Future With Visual C++

Posted 19 April 2008 - 08:29 AM

Say what you want about Windows, but the MS team does a great job with its development tools (vc++, .net)
But you know, I still see many apps being written in Turbo C++ (supermarkets, Hotels, McDonald's and KFC etc. branches in India still use CUI apps). Who would have ever thought something as obsolete as that would still being used today.

Even though VC++ is old, it can still pack a punch for native code. It's one of the best code-optimizing compiler in the market (Watcom is #2) and I think VC++ will keep its place at least for another 5 years. (That's not much of a future, is it? :( )

Quote

.NET has its place, but I think it has no chance to displace native code in the foreseeable future.

Agreed, but I don't think that was their objective. I think that Microsoft has noticed that other platforms are getting more popular day-by-day (notably: Linux), and by developing .NET, even if another OS overthrows Windows someday, they can still make money out of .NET. They'll release a Linux version of the .NET Runtime once that day arrives, trust me.
Was This Post Helpful? 0
  • +
  • -

#6 mikeblas  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 44
  • View blog
  • Posts: 390
  • Joined: 08-February 08

Re: The Future With Visual C++

Posted 19 April 2008 - 08:38 PM

http://www.dreaminco...showtopic=49262

View Postborn2c0de, on 19 Apr, 2008 - 08:29 AM, said:

Even though VC++ is old, it can still pack a punch for native code. It's one of the best code-optimizing compiler in the market (Watcom is #2) and I think VC++ will keep its place at least for another 5 years. (That's not much of a future, is it? :( )
Is Watcom still shipping a compiler? I haven't heard from them since Watcom 11, and that was -- what, in 1999 or so? You think Intel's compiler is #3, then?

View Postborn2c0de, on 19 Apr, 2008 - 08:29 AM, said:

Agreed, but I don't think that was their objective.
I don't, either; it's just that Martyr2 does, given his surprise that "perhaps there is a future for VC++ afterall".

View Postborn2c0de, on 19 Apr, 2008 - 08:29 AM, said:

I think that Microsoft has noticed that other platforms are getting more popular day-by-day (notably: Linux), and by developing .NET, even if another OS overthrows Windows someday, they can still make money out of .NET. They'll release a Linux version of the .NET Runtime once that day arrives, trust me.
Perhaps they will, but I think .NET was more importantly a strategic response to Java. Microsoft saw Sun (and other companies, like Oracle) using Java to extend existing products. They wanted to do the same, and now .NET can be used to extend SQL Server and several other products.

They also know that the entry point to Windows programming is pretty high. You have to be very skilled with C or C++, then also learn the Windows API. Visual Basic made that a little easier, but it was showing its age. C++ is incredibly context sensitive and stateful, and they wanted to invent a new language that didn't stress those problems in C++ but still allow Window development.

This post has been edited by mikeblas: 19 April 2008 - 08:43 PM

Was This Post Helpful? 0
  • +
  • -

#7 born2c0de  Icon User is offline

  • printf("I'm a %XR",195936478);
  • member icon

Reputation: 187
  • View blog
  • Posts: 4,673
  • Joined: 26-November 04

Re: The Future With Visual C++

Posted 20 April 2008 - 12:49 AM

Quote

Perhaps they will, but I think .NET was more importantly a strategic response to Java. Microsoft saw Sun (and other companies, like Oracle) using Java to extend existing products. They wanted to do the same, and now .NET can be used to extend SQL Server and several other products.

Yea, I guess so.
Was This Post Helpful? 0
  • +
  • -

#8 no2pencil  Icon User is offline

  • Professor Snuggly Pants
  • member icon

Reputation: 6559
  • View blog
  • Posts: 30,699
  • Joined: 10-May 07

Re: The Future With Visual C++

Posted 20 April 2008 - 12:55 AM

View Postborn2c0de, on 19 Apr, 2008 - 11:29 AM, said:

I still see many apps being written in Turbo C++ (supermarkets, Hotels, McDonald's and KFC etc. branches in India still use CUI apps). Who would have ever thought something as obsolete as that would still being used today.

You would be surprised. I still see a LOT of modem usage. My last two jobs have been primarily based on modem communications/data transfer. In fact, I've said it before, but I worked for a fortune 500 company, & I wrote C code on AIX servers. I forget what the DB guys wrote it, but I know that was old, like 80's old. It was like 75% of the development was with ground breaking new technology, & 25% of it was backbone, rock solid, time tested architecture.
Was This Post Helpful? 0
  • +
  • -

#9 KYA  Icon User is offline

  • Wubba lubba dub dub!
  • member icon

Reputation: 3199
  • View blog
  • Posts: 19,229
  • Joined: 14-September 07

Re: The Future With Visual C++

Posted 20 April 2008 - 02:08 AM

I don't think VC++ is going anywhere, but I don't have any facts, just an opinion about this topic, so I expect to get flamed.
Was This Post Helpful? 0
  • +
  • -

#10 born2c0de  Icon User is offline

  • printf("I'm a %XR",195936478);
  • member icon

Reputation: 187
  • View blog
  • Posts: 4,673
  • Joined: 26-November 04

Re: The Future With Visual C++

Posted 20 April 2008 - 08:18 AM

Quote

You would be surprised. I still see a LOT of modem usage. My last two jobs have been primarily based on modem communications/data transfer. In fact, I've said it before, but I worked for a fortune 500 company, & I wrote C code on AIX servers. I forget what the DB guys wrote it, but I know that was old, like 80's old

Wow, everytime I think I've hit the bottom, someone throws me a shovel. LOL
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1