Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. is Visual C++ obsolete?

is Visual C++ obsolete?

Scheduled Pinned Locked Moved The Lounge
c++javaquestioncareer
47 Posts 34 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pete OHanlon

    Just wait until Windows 8 comes out and companies abandon Android and iPad/iPhone development. C++ is going to be huge...

    *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

    "Mind bleach! Send me mind bleach!" - Nagy Vilmos

    CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

    B Offline
    B Offline
    BillWoodruff
    wrote on last edited by
    #34

    Hi Pete, Now that you have told me this is not a "jest," and considering I pay attention to almost every word you say on CP ... everywhere you roam ... and on your blog :) I would really enjoy hearing more from you on this "projected future" in which Android, iPad, iPhone, etc., development is "abandoned," and Win 8 brings in a "renaissance" of C++. And a salient question to me, and I would guess many others, would be which flavour of Win8 tri-polar are you referring to: all of them: or, Metro; Win 8 Desktop; Win RT on ARM ? Of course, that gets into the issue of "how is the GUI and complex controls written ?" since, probably, a fine-tuned big-honking algorithm programmed in C++ for calculation, or other uses, is going to be portable, and independent of screen resolution and other hardware-specific issues. And, JavaScript, HTML5, CSS, vs. XAML ? They will be integral parts of this C++ renaissance ... or ... not ? I know you are very busy with CodeStash, and your other projects, but I hope we will have the pleasure of a blog entry, or fuller exposition, somewhere here on CP, exploring this very interesting scenario, as your time permits. best, Bill

    "Humans are amphibians ... half spirit and half animal ... as spirits they belong to the eternal world, but as animals they inhabit time. This means that while their spirit can be directed to an eternal object, their bodies, passions, and imaginations are in continual change, for to be in time, means to change. Their nearest approach to constancy, therefore, is undulation: the repeated return to a level from which they repeatedly fall back, a series of troughs and peaks.” C.S. Lewis

    1 Reply Last reply
    0
    • S Shao Voon Wong

      I used to be a Visual C++ developer who is now a C# ASP.NET developer. C++ jobs in Singapore are few and between, compared to C# and most of them often need additional skills like Linux, TCP/IP, embedded and 3D games programming, for the job, which I do not have. C++ developer should find it easy to switch to C# and Java, given that you are willing to put in time and effort to read up on the language and their frameworks.

      R Offline
      R Offline
      richard_k
      wrote on last edited by
      #35

      Yup.. the emphasis here is on the framework side of it. C# is not hard coming from C++... but the .NET framework is a VERY large piece of work. Once you know what is there it is just a delight to use.. but learning it is a committed effort.

      M 1 Reply Last reply
      0
      • D Daniel Casserly

        Not really. The main app system thingy is all done on the Dalvik VM which is Java so all the SDK is Java. You can get plugins to program in other languages (even python!!) but Java is the default langauage.

        Three types of people in this world, those that can count and those that can't www.casserlyprogramming.com

        R Offline
        R Offline
        richard_k
        wrote on last edited by
        #36

        Not really, you have the Dalvik JVM part right.. but its running on top of a light version of Linux, which is basically all C and C++. The majority of code running android is C/C++, not java. Java is the application expression language. Its certainly important, but not the majority of the system level software that makes up Android. I don't have definitive stats.. but its probably 60/40 between Linux enabling system software and the Android Java Framework.

        D 1 Reply Last reply
        0
        • R rudolfsson

          I'd say that regular Windows application development in C++ is pretty much obsolete, it's just so much easier to develop GUIs using .NET languages that using VC++ just doesn't make much sense, hence the lack of available jobs. C++ itself though is still very much alive and kicking, and having solid C++ skills is still definitely a benefit. Even though the GUI stuff is done in C#/Java there is still a need for writing high performance components in native languages. As several people suggested already, why not learn C# (if you want to keep doing Windows app development) or Java (if you want a broader selection of platforms)? Learning either of these is a piece of cake for an experienced C++ programmer, you can pick up the basics in a day or two. The best way to stay competitive in today's job market is to have an extensive toolbox, so knowing multiple languages and platforms is critical. Best of luck with your job hunting!

          R Offline
          R Offline
          richard_k
          wrote on last edited by
          #37

          Indeed. I think C++ is the expression language if you spend a lot of your time 'close to the metal'. I've been systems/communications level programming since the early 80s.. C++ has been my bread and butter for literally half my career (since the mid 90s). Its only recently that I've had to get into .NET, since WCF has made it feasible to write distributed messaging systems (reasonably) easily.

          1 Reply Last reply
          0
          • J JoeGonzalez

            Im looking for Visual C++ jobs and I can't find any that are not related to embeded or 3d development. Is Visual C++ application development obsolete? All the job postings I find are for Java and VB net developers. I have been programming Imaging systems for the last 12 years. Now I am lookingfor a new job and can't find a good fit.

            S Offline
            S Offline
            Stefan_Lang
            wrote on last edited by
            #38

            I'd say you may have looked in the wrong places, or just were a bit unlucky. The jobs are there, definitely. That said, I expect the desktop application development segment is much less volatile than the current 'hype' sectors, such as web apps. Therefore I wouldn't be surprised if the relation between actual jobs to job offerings is a lot lower for desktop apps than for the latter. Besides, is there a reason you specifically mentioned Visual C++? It's not that other IDEs or programming environments are all that hard to learn. Also: are you aware that "Visual Studio" includes C++, both managed and native? The full IDE name is often listed as "Visual Studio.Net" even if it is not used for .Net development! Did you consider that in your search?

            1 Reply Last reply
            0
            • R richard_k

              Not really, you have the Dalvik JVM part right.. but its running on top of a light version of Linux, which is basically all C and C++. The majority of code running android is C/C++, not java. Java is the application expression language. Its certainly important, but not the majority of the system level software that makes up Android. I don't have definitive stats.. but its probably 60/40 between Linux enabling system software and the Android Java Framework.

              D Offline
              D Offline
              Daniel Casserly
              wrote on last edited by
              #39

              Cool but unless you gonna commit code to the Linux Kernel you'll more likely be coding in Java for the android platform.

              Three types of people in this world, those that can count and those that can't www.casserlyprogramming.com

              R 1 Reply Last reply
              0
              • D Daniel Casserly

                Cool but unless you gonna commit code to the Linux Kernel you'll more likely be coding in Java for the android platform.

                Three types of people in this world, those that can count and those that can't www.casserlyprogramming.com

                R Offline
                R Offline
                richard_k
                wrote on last edited by
                #40

                Sorry, again this is not true. I've personally written C++ to run at the native level that is called by Java programs running in Dalvik (I did this in a commercial context, not just as an experiment). In this sense the Dalvik JVM works like any other JVM. The native level is always accessible to you. There are a number of applications where this capability is extremely useful. My take is that 90%-95% of apps don't use this feature at all.. but for the 5%-10% that do, its super useful.

                D 1 Reply Last reply
                0
                • R richard_k

                  Sorry, again this is not true. I've personally written C++ to run at the native level that is called by Java programs running in Dalvik (I did this in a commercial context, not just as an experiment). In this sense the Dalvik JVM works like any other JVM. The native level is always accessible to you. There are a number of applications where this capability is extremely useful. My take is that 90%-95% of apps don't use this feature at all.. but for the 5%-10% that do, its super useful.

                  D Offline
                  D Offline
                  Daniel Casserly
                  wrote on last edited by
                  #41

                  Yeah I agree, hence my comment " more likely " I can't forsee me with my limited work on the Android ever having to dip into the native code.

                  Three types of people in this world, those that can count and those that can't www.casserlyprogramming.com

                  1 Reply Last reply
                  0
                  • K Kevin Marois

                    JoeGonzalez wrote:

                    All the job postings I find are for Java and VB net developers

                    Ever heard of C#?

                    JoeGonzalez wrote:

                    Now I am lookingfor a new job and can't find a good fit.

                    You're a C++ developer and you "only find Java and vb.Net" jobs?? That's strange. It would be a hell of alot easier to go from C++ or Java to C#, instead of to vb.Net.

                    If it's not broken, fix it until it is

                    Y Offline
                    Y Offline
                    Ytrail
                    wrote on last edited by
                    #42

                    Kevin Marois wrote:

                    It would be a hell of alot easier to go from C++ or Java to C#, instead of to vb.Net.

                    Finally, somebody says something that makes sense! :)

                    ~ Somebody left a footprint...o0=... here...

                    1 Reply Last reply
                    0
                    • J JoeGonzalez

                      Im looking for Visual C++ jobs and I can't find any that are not related to embeded or 3d development. Is Visual C++ application development obsolete? All the job postings I find are for Java and VB net developers. I have been programming Imaging systems for the last 12 years. Now I am lookingfor a new job and can't find a good fit.

                      J Offline
                      J Offline
                      JohnAspras
                      wrote on last edited by
                      #43

                      I Dont understand why people are asking this Question here and then about C++... C++ IS the de facto Language to build something that matters... here is a VERY VERY small list of "Programs" all of you use every day made in C++ --OS-- Windows Linux Mac --Browsers-- Mozilla FireFox Chrome --IDE's -- Since we are all programmers here "i guess.." CodeBlocks Anjuta Visual Studio Eclipse .. .. All main stream games "returning to the original question about 3d and embeded" all REAL development firms use strictly C++ and a drop of assembly where is needs it. "these are the big cahunas" like EA or Blizzard, Konami, or Eidos, ID, Unreal, etc.... most other firms "that make a dollar" simply use a game engine made in C++ and write code in a script language for game logic, but that is about 5% of the actual running code.. if you "JoeGonzalez" want a job in this field you must look in to these sort of companies, yes they are allways hiring. Yes they will hire you if you have the talent. Maybe its because alot of programmers knowadays like it "easy" not "top notch" programming wise..

                      1 Reply Last reply
                      0
                      • R richard_k

                        Yup.. the emphasis here is on the framework side of it. C# is not hard coming from C++... but the .NET framework is a VERY large piece of work. Once you know what is there it is just a delight to use.. but learning it is a committed effort.

                        M Offline
                        M Offline
                        Milad tr
                        wrote on last edited by
                        #44

                        there's a book i like, "Microsoft .NET for Programmers" by "Fergal Grimes".

                        R 1 Reply Last reply
                        0
                        • A Amir Hossein Jamshidi

                          I have been programming in java and c# for two years(I know that it is not any thing in comparison to your 12 years skill), but I always feel that I don't have some thing . some thing like performance , speed and power . power for developing for every thing from embedded systems , drivers , game developing , 3d modeling and simulation and many other . Would you like to change our skills! :-\ :rose::rose::rose:

                          M Offline
                          M Offline
                          Milad tr
                          wrote on last edited by
                          #45

                          I'm not sure about java, but in .net there are very rare cases that you can't find proper set of assemblies and classes to guarantee performance. Except for the cases in which you need low level access to system resources or when you're designing multi-platform applicatins, .net seems to be a perfect tool in hand to make softwares. About a year ago, i was given the task make a software to control a box-camera designed for scientific purposes(16 Megapixels of 16bit, gray scaled pixels). The software had to have lots of features and had to be built in about 2 weeks. The best tool for me was .NET to ensure that i will finish the project before the deadline, but i was just not sure if the performace will be as well as if i had coded it with c++, when the software had to do lots of calculations on each pixel before drawing. The 1st version rendered a full image in about 45second which was too slow. But using the right assemblies, classes and methods dramatically improved the performance and the 2nd version rendered the same image in less than 2 seconds. same as the test c++ application i made later. The only problem with .net is that sometimes the bare algorithm using fors and ifs may not help you getting the performance you need due to the memory management system the CLR provides. (Specially when lots of cycles should be passed). Sometimes you need to use other tools (classes inside special namespaces) to get the performance you need.

                          R 1 Reply Last reply
                          0
                          • M Milad tr

                            there's a book i like, "Microsoft .NET for Programmers" by "Fergal Grimes".

                            R Offline
                            R Offline
                            richard_k
                            wrote on last edited by
                            #46

                            :thumbsup:

                            1 Reply Last reply
                            0
                            • M Milad tr

                              I'm not sure about java, but in .net there are very rare cases that you can't find proper set of assemblies and classes to guarantee performance. Except for the cases in which you need low level access to system resources or when you're designing multi-platform applicatins, .net seems to be a perfect tool in hand to make softwares. About a year ago, i was given the task make a software to control a box-camera designed for scientific purposes(16 Megapixels of 16bit, gray scaled pixels). The software had to have lots of features and had to be built in about 2 weeks. The best tool for me was .NET to ensure that i will finish the project before the deadline, but i was just not sure if the performace will be as well as if i had coded it with c++, when the software had to do lots of calculations on each pixel before drawing. The 1st version rendered a full image in about 45second which was too slow. But using the right assemblies, classes and methods dramatically improved the performance and the 2nd version rendered the same image in less than 2 seconds. same as the test c++ application i made later. The only problem with .net is that sometimes the bare algorithm using fors and ifs may not help you getting the performance you need due to the memory management system the CLR provides. (Specially when lots of cycles should be passed). Sometimes you need to use other tools (classes inside special namespaces) to get the performance you need.

                              R Offline
                              R Offline
                              richard_k
                              wrote on last edited by
                              #47

                              The cool thing about .NET is.. if you write your original app in C# and have performance issues, you can always call out to native for the small parts that are causing you issues. You are never stuck. It won't save you from a bad programmer, but it will save you from non-optimal 3rd party implementations.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups