Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > C# and C > C++ and Visual C++ > Visual C++ 2005
Password Reminder
Register
| FAQ | Members List | Search | Today's Posts | Mark Forums Read
Visual C++ 2005 For discussion of Visual C++ 2005.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Visual C++ 2005 section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
 
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old January 15th, 2008, 10:18 PM
Registered User
 
Join Date: Jan 2008
Location: , , .
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default Question on learning Visual C++/C# 2005

I am an experienced ANSI C programmer (for real-time embedded applications), and am interested in learning C++ for Windows and Web applications. I read Ivor Horton's Beginning Visual C++ 6, but understand that .NET is what is getting to be more widely used (as well as C#). I have Visual Studio 2005, and am considering using Ivor Horton's Beginning Visual C++ 2005 to learn the C++/CLI version of C++, which uses the .NET Framework. That way I will be able to build on my knowledge of ISO/ANSI C/C++ without having to start over by learning C#. If I eventually have to learn C#, I would think it will be easier since I will then be familiar with the .NET Framework. My questions to you are these:
1. Do you feel that the C++/CLI version of C++ is, and will continue to be, used widely by corporations that want to use the .NET Framework, or do you think they are mostly going to C#? (I see that Microsoft is continuing to include it in Visual Studio 2008).
2. Do you agree that the .NET Framework is phasing out the earlier versions?
3. Do you think my approach is valid?
If you do not have enough information about what corporations are doing to be able to answer these questions, please suggest how I could go about finding out. Thank you for any opinions or referrals.


  #2 (permalink)  
Old January 24th, 2008, 05:07 PM
Registered User
 
Join Date: Jan 2008
Location: , , .
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I have not received any replies to my question. Will a Wrox editor or author please respond.


  #3 (permalink)  
Old February 19th, 2008, 01:28 PM
Friend of Wrox
 
Join Date: Jun 2003
Location: , , .
Posts: 453
Thanks: 0
Thanked 1 Time in 1 Post
Send a message via AIM to Ankur_Verma Send a message via MSN to Ankur_Verma
Default

Hi there

Methinks, and do correct me if I'm wrong, that your post missed on an important point. You didnt mention if you are outlining a certain kind of projects/programming tasks when you speak of this shift. You can learn .NET genre of programing languages but they have there place and may never replace C for embedded systems programming. What devices you are targeting has a bearing on the above point, though, as MS as a rule develops an SDK or lately has been writing (Compact) Frameworks for their device version OSs for which you can write applications using .NET IDEs.

Quote:
quote:
That way I will be able to build on my knowledge of ISO/ANSI C/C++ without having to start over by learning C#.
...
1. Do you feel that the C++/CLI version of C++ is, and will continue to be, used widely by corporations that want to use the .NET Framework, or do you think they are mostly going to C#? (I see that Microsoft is continuing to include it in Visual Studio 2008).
For sure your experience will stand you in good stead here and you can very well skip any learning curve that C# or a new language might entail. When programming for .NET, it doesn't matter what language you employ, it all boils down to IL, a fact that you will discover very quickly if you haven't already, so you can continue to program in C++. You would come across 'corporations', who have their tastes or bounds and prefer one language over the other. Much to your dismay, (and not to mention that of mine), its VB thats gaining ground over the other two at the moment, but I wont advise you to go down that road. You wont find C# difficult though, as it is just as 'logical' and its syntax is somewhere between that of C++ and Java.

Quote:
quote:2. Do you agree that the .NET Framework is phasing out the earlier versions?
Well, how did you take DLL hell? If you survived that, you will survive this as well, as things are somewhat better with .NET. If you ask me, .NET is not stable yet and gives you an impression that it is still sinking in as a concept, it has been a work in progress since its inception, not to mention there is hardly a niche outside MS's ambit that .NET is catering to so by the time you've got the hang of this version there would be a new version out and so on. You are no longer in the sane world of system/device programming.

As an aside, .NET enables "cross language" approach, its purpose is not be to mistaken for "cross platform", at least as of now as within MS "cross platform" includes only 'their' platforms like different versions of Windows OS for desktops and devices. Again, "cross language" here cuts across only MS flavor of programming languages, VC++, VB, and now C#. So what you actually have here is simply a new way of development for MS platforms and not much else. Its because of this that it will always be different from embedded system programming. If anything .NET's influx has made desktop applications more web ready, its easier now to make interconnected applications or turn desktop applications into web applications. The difference from embedded system programming, however is just as easily perceivable as it has always been, .NET is about desktop/web application development more or less and embedded systems programming is ......embedded system programming, the former has nothing to do with RTOS, the later is not about being sane;)

There are a few projects in progress to take framework to Linux, but for all practical purposes they are simply not ready.

Quote:
quote:3. Do you think my approach is valid?
Like I said in the beginning you can send across a few more parameters for me to be able to better respond to this query.

Regards
Ankur
  #4 (permalink)  
Old February 21st, 2008, 01:18 PM
Registered User
 
Join Date: Jan 2008
Location: , , .
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi Ankur,
Thank you for responding to my post on 1/16, and since then I have spoken to some people involved with corporate hiring. What you said agrees with their input, that the .NET and C# is for more IT oriented work. They said that there is strong demand for realtime embedded software using C/C++ with RTOS, and it is usually ISO/ANSI C++ (ISO/IEC 14882). As I first wrote, my experience is with functional ANSI C, and I want to learn OOP with C++. I know that this is covered in standard references, such as 'The C++ Programming Language' by Bjarne Stroustrup, but I would like to find the best sources for learning C++ in the context which I described. If you can, please recommend books which you think would be most helpful for this. Also, do you think the treatment of it 'Visual C++ 2005' by Ivor Horton is applicable, or more IT and Microsoft oriented? Any other thoughts you have on this would be appreciated.
Thanks,
J150

  #5 (permalink)  
Old February 23rd, 2008, 12:23 PM
Friend of Wrox
 
Join Date: Jun 2003
Location: , , .
Posts: 453
Thanks: 0
Thanked 1 Time in 1 Post
Send a message via AIM to Ankur_Verma Send a message via MSN to Ankur_Verma
Default

I didn't really have to read between the lines here to see that you are a bit frustrated, I know when you are in the middle of a critical decision, cooling your heals .. heats up your heads. But let me put it this way; I'm not being paid for what I do here, its labor of love. While on the one hand its good for the community, as you can count on me for fairness in my views aided by absence of obligations or incentives to toe the company's line, on the other hand because of this very reason you expect it if I find it difficult to muster enough enthu or find enough time to squeeze it in my schedule to respond to every query that I can. In your case, however, I got involved in what seems to be an important decision for you and if I didn't follow it up, I think an apology is in order. Please accept my apologies.

Well J(wish I knew a better way of addressing you), when you say you wanna learn OOPS with C++, I think it would be nice(er) if this learning curve amounts to as much as it can. For an instance, selecting an in-demand IDE for this, you wouldn't just learn the language and the concept but you would be more market ready. You would hardly see C++ and OOPs as skill requirements, its always, VC++, Embedded System Programmer, Intel certain version programming … or things like that, what I mean here is that its always the package and not one of its constituents that you’re expected to be. I think Stroustrup would be a bit of overlapping and redundant read here, I say that because you are already conversant with a form of programming and C. With Ivar Horton you would miss out a lot on OOPs not to mention it hasn’t the embedded programming stand point that you are looking for, its all about MS VC++ 2005 instead.

Keeping this in view I think in order to learn OOPs with C++ you should quickly go thru some light material ‘just for that’ and then on to more focused material on the IDE of your choice. You might find it a bit icky but ‘for Dummies’, not all, but one written by Stephen Randy Davis, and preferably an older version is perfect for you. I read one of the older versions (came my way for tech review) and found it succinct, and one of the best books around on OOPS and C++, quick read, easy to follow-it will not waste your time. I have my apprehensions about the newer version though as it seems to have been unduly updated and spoiled a bit in the process.

Then you Google this “C++ programming embedded system”. The first search result would take you to the nicest C++ Embedded System Programming book by people who seem to have better affinity with real bugs than those of programming types. Why such a circuitous way well, it’s Wrox’s forum.

I think you must have a look at Borland Builder as well, its one of the most powerful IDEs and I wont mince my words here, much of whats happening now in .NET IDEs has its 'inspiration' in Builder's IDE and its way of desktop application development. Builder also gels well with your kind of programming, that is system programming and its newer versions are indeed ‘better’ than older ones unlike most MS products. Talk to your people about this.


Regards
Ankur
  #6 (permalink)  
Old February 23rd, 2008, 12:27 PM
Friend of Wrox
 
Join Date: Jun 2003
Location: , , .
Posts: 453
Thanks: 0
Thanked 1 Time in 1 Post
Send a message via AIM to Ankur_Verma Send a message via MSN to Ankur_Verma
Default

As an aside, a book you must have in your shelf if you are sticking with VC ++ 6.0 though, which again is a nice minimalistic IDE for your kind of programming, is good ol' Programming Windows by Charles Petzold (MS Press). The title says Programming Windows but it’s an exhaustive VC++ reference and you wont be stuck if you have this book with you.

Whichever IDE you choose, you wont go wrong by keeping some professional level game programming books handy, off topic, no, as they have some of the best debugging techniques specific to the IDE you are using, life savers when you are reeeeally stuck.

A couple of months down the line you should be in a better place to see if you really want Ivar Horton and if VC++ 2005 can be dealt with. I can deal with VC++ 2005 as I know how to shut .NET out of it for most purposes, and once that’s done there is hardly any difference between the older version and the new version other than that new version is heavier. It does give you some cool deployment options, help system, database connectivity options, libraries, -sundry goodies, not to mention if you are using VC++ 2005, should you shift, you are already familiar with the latest. Keep it for later though. What else can I tell ya :)

Regards
Ankur
  #7 (permalink)  
Old February 23rd, 2008, 05:49 PM
Registered User
 
Join Date: Jan 2008
Location: , , .
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Ankur,

Thanks again for your replies to my last post, and I appreciate your 'volunteered' time and the good opinions and references you gave. If you would like to communicate without the 'restraints' you have alluded to, please email me at acei@att.net and let me know how to email you. If not, we can continue on this forum.

Regards,
J150

  #8 (permalink)  
Old February 28th, 2008, 03:41 PM
Friend of Wrox
 
Join Date: Jun 2003
Location: , , .
Posts: 453
Thanks: 0
Thanked 1 Time in 1 Post
Send a message via AIM to Ankur_Verma Send a message via MSN to Ankur_Verma
Default

 You are welcome.

I prefer keeping these conversations on the forum, Here things are so very well organized, its easier to find your way and ways around;) My inbox is a mess in comparison. If, however, there need be, my email id etc is there at my profile page.

Regards
Ankur
  #9 (permalink)  
Old July 11th, 2008, 02:19 AM
Registered User
 
Join Date: Dec 2006
Location: , , .
Posts: 8
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Quote:
quote:Originally posted by J150
 I am an experienced ANSI C programmer (for real-time embedded applications), and am interested in learning C++ for Windows and Web applications. I read Ivor Horton's Beginning Visual C++ 6, but understand that .NET is what is getting to be more widely used (as well as C#). I have Visual Studio 2005, and am considering using Ivor Horton's Beginning Visual C++ 2005 to learn the C++/CLI version of C++, which uses the .NET Framework. That way I will be able to build on my knowledge of ISO/ANSI C/C++ without having to start over by learning C#. If I eventually have to learn C#, I would think it will be easier since I will then be familiar with the .NET Framework. My questions to you are these:
1. Do you feel that the C++/CLI version of C++ is, and will continue to be, used widely by corporations that want to use the .NET Framework, or do you think they are mostly going to C#? (I see that Microsoft is continuing to include it in Visual Studio 2008).
2. Do you agree that the .NET Framework is phasing out the earlier versions?
3. Do you think my approach is valid?
If you do not have enough information about what corporations are doing to be able to answer these questions, please suggest how I could go about finding out. Thank you for any opinions or referrals.


1. I don't see C++/CLI being used much but do see C# being used more and more!
2. I don't understand what you mean phasing out?
3. You approach is only valid if C++/CLI gains wider acception and adoption by programmers and companies which I don't see happening.
You are better off learning MFC which Microsoft has just updated and will support for years to come instead.

 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
SQL 2005 learning Promod333 SQL Server 2005 3 September 22nd, 2007 09:21 AM
Learning ActiveX controls in VC++ 2005 kuznickic Visual C++ 2005 0 September 14th, 2007 06:21 AM
Can i use visual studio 2005 !! swapnil_sandy ASP.NET 2.0 Basics 2 November 2nd, 2006 12:40 AM
FTP in Visual Studio 2005 Pro (Visual Basic) shoopes VB How-To 1 June 29th, 2006 02:08 PM



All times are GMT -4. The time now is 08:46 AM.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.