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. Development platform decision

Development platform decision

Scheduled Pinned Locked Moved The Lounge
c++jsonhelpcsharpjava
51 Posts 30 Posters 0 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.
  • Steve EcholsS Steve Echols

    Check out the VCF: http://vcf-online.org/[^]. I recently ported an app from ATL/WTL over to it, and it's very .net like and easy use and customize.


    - S 50 cups of coffee and you know it's on!

    N Offline
    N Offline
    Nemanja Trifunovic
    wrote on last edited by
    #38

    Steve Echols wrote:

    Check out the VCF

    My thought exactly :)


    Programming Blog utf8-cpp

    1 Reply Last reply
    0
    • E El Corazon

      Anna-Jayne Metcalfe wrote:

      Java etc are not best suited to desktop app development.

      how I wish I could convince one of our team of that... He touts Java as "fixing" all the problems with C++... :omg: so I needled back one day tired of the comments, that C# was made to fix all the problems with Java.... :laugh: if looks could kill... I would have been tortured to death at that moment....

      _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

      N Offline
      N Offline
      Nemanja Trifunovic
      wrote on last edited by
      #39

      Jeffry J. Brickley wrote:

      He touts Java as "fixing" all the problems with C++... so I needled back one day tired of the comments, that C# was made to fix all the problems with Java.... if looks could kill... I would have been tortured to death at that moment....

      :laugh:


      Programming Blog utf8-cpp

      1 Reply Last reply
      0
      • H HakunaMatada

        Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

        --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

        P Offline
        P Offline
        pdohara
        wrote on last edited by
        #40

        Given the options you have listed (Python, Ruby and Java), Java has an advantage for desktop apps that the widget framework is included (Before the flame war on Swings please note that I did not say it was good/bad, just that it was included). Now this does not mean that you cannot create a desktop app with Ruby of Python, it just means that you need to choose a widget framework as well. wxWidgets is a fairly good framework and it is supported in all of the environments mentioned. Still, I doubt you will see a significant difference using wxWidgets over VC++/Win32. As has been posted here already more information about the type of application would be helpful. For instance, the incredible numbers that are thrown around concerning how efficient Ruby is to program in, are almost always associated with database maintenance applications developed in Rails (If you don't know Rails is a web development framework written in Ruby). It is true that one can create an application in Rails in days, but only if a) you can follow the Rails conventions, and b) it is a simple database maintenance application. Once you deviate off the path, you are back to writing code yourself. Rails/Ruby is a fine environment, but not substantially more efficient than ASP.Net in that case. So can you give us a general feel for the type of app your are working on?

        Tanks for your support
        Pat O
        Blog

        _ _ _
        /*\== /*\== /*\==
        <ooo> <ooo> <ooo>

        1 Reply Last reply
        0
        • H HakunaMatada

          Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

          --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

          N Offline
          N Offline
          NMiceli
          wrote on last edited by
          #41

          I think delphi will help you a lot. 1.- One of the fastest RAD 2.- Win32 3.- Support Web Services, xml, etc. a lot of components included. cons: Pascal :doh:

          1 Reply Last reply
          0
          • H HakunaMatada

            Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

            --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

            J Offline
            J Offline
            Joe Woodbury
            wrote on last edited by
            #42

            To take MFC off the table is simply ignorant. In addition to having great direct support in the development environment of Visual Studio, it has a plethora of third party support, such as the CodeJock libraries. For XML parsing, you can simply use MSXML (which I have.) The problem with using Ruby, Python etc, is two-fold; first, the development environmenents aren't that great and second, how are you going to hire additional people? I recently interviewed for a job where Python was used extensively and they were having a terrible time finding Python experts so they were interviewing anyone who had written a line of code in the language. The problem for them, though, is that they end up with a series of novices on the code, not experts. By contrast, hiring C++/MFC experts is easy. Now, if these apps are for in-house use, I'd lean toward .NET, though I still don't think it's there yet for desktop apps--last year I did quite a bit of observational research and found that using .NET in this situation took more time than C++/MFC. This was due to three reasons; there aren't many genuine .NET experts (my rule is that you have to have five years solid experience in something before even thinking you might be an expert), those that do have experience have it more in ASP.NET and .NET is missing far too many components taken for granted by desktop developers (the amoung of P/Invoking and "hacking" I've had to do in this realm is both dissapointing and annoying.)

            Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

            1 Reply Last reply
            0
            • T Todd Smith

              Christian Graus wrote:

              Python is a scripting language, can you even write desktop apps in it ?

              Someone is behind the times :D As to answer the original poster's question I think we would need more details to give a good recommendation. - What size apps are you developing? - What performance requirements do you have? - Do you need a lot of custom GUI elements? - Do you have a shared library you use now to write apps faster? so many other questions in order to recommend something

              Todd Smith

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #43

              Todd Smith wrote:

              Someone is behind the times

              True - I used Python to script an app in 1999, and I've not followed it since.

              Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert

              1 Reply Last reply
              0
              • H HakunaMatada

                Christian Graus wrote:

                I'd love to hear them.

                That's classified! ;P

                --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

                P Offline
                P Offline
                prst123
                wrote on last edited by
                #44

                may be he is concerned about platform independence issue, that is with dot net.

                1 Reply Last reply
                0
                • H HakunaMatada

                  Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

                  --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

                  R Offline
                  R Offline
                  reshi999
                  wrote on last edited by
                  #45

                  Tricky situation, I've has similar where superiors have decided on platforms based upon rumour and ill-informed decisions. In the end a project which should have taken 6 months took 2 years mainly due those decisions. As a basis nearly all languages can be coded to be faster depending on what you are coding... Personally I would say .NET has its bugs and is not as fast as some, but development time is reduced lots - If you are processing huge amounts of data consider VFP\SQL. Also check out any third party vendors for API tricks. Other than that, my suggestion would be to set up a benchmark test: - Choose 2 languages which meet your minimum requirements (I'm guessing win32API in your case) + use existing language - Specify the time it would take to benchmark them. - If boss still not put off, benchmark common processes required by your apps. - Provide benchmarks for the languages, let actual facts dictate the decision. - If they still insist, then consider strangling them - then consider how much retraining you can apply for. If your boss queries the time you are taking setting up these benchmarks, politely remind him\her that it was their decision.

                  1 Reply Last reply
                  0
                  • S S Douglas

                    Jeremy Falcon wrote:

                    UI components do look a bit dated,

                    You say dated, I say functional, I actually don’t like the Fisher price UIs that are popular now.


                    I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:

                    K Offline
                    K Offline
                    Kevin McFarlane
                    wrote on last edited by
                    #46

                    What you like is irrelevant. It's what the customers like that's relevant.

                    Kevin

                    S 1 Reply Last reply
                    0
                    • H HakunaMatada

                      Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

                      --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

                      C Offline
                      C Offline
                      caleb hattingh
                      wrote on last edited by
                      #47

                      Hi Since you are already using VC++, I can only assume that "faster development platform" means faster rate of development, not runtime speed. Your requirements are all met if you consider Python, and particularly item 1; you should not, however, simply take advice for your business from someone in an online forum: rather spend 2 or 3 days going through the Python tutorial and then make up your mind. It should give you a reasonable idea of what your saving in development time will be. I should be very surprised if, after having done this, you remain unsure whether there would be any development time-saving. You can use wxPython to use wxWindows through Python (though there are many other windowing toolkits with Python wrappers; choose whatever meets your needs). The "Python for Windows" extensions expose the Win32 API. XML stuff is built-in, along with networking stuff, net protocol stuff, and so on. If you've never installed Python before, you should probably get the Activestate python distribution as it comes with a whole bunch of additional stuff. The comp.lang.python newsgroup is active and friendly to newcomers. Typically you might find that after the app is written in Python, there might be a (runtime) speed bottleneck, the proverbial 1% of the code that takes 99% of the run time. Normally, just that bit is then recoded in a statically compiled language such as C or C++ (you could reuse existing code), for which numerous tools and tutorials are available. This philosophy makes void the silly "that language is slow/fast" argument; rather use the best tool for the job. Note that if your problem domain is going to be IO-bound, there will be negligible different between Python and C (and most anything else). Keep well Caleb

                      1 Reply Last reply
                      0
                      • K Kevin McFarlane

                        What you like is irrelevant. It's what the customers like that's relevant.

                        Kevin

                        S Offline
                        S Offline
                        S Douglas
                        wrote on last edited by
                        #48

                        Kevin McFarlane wrote:

                        What you like is irrelevant. It's what the customers like that's relevant.

                        I am a windows customer. Which is really besides the point, the original comment was a jab towards Jeremy’s fondness for Mac I just failed to put a smiley in there for everyone else to recognize the smartass comment. :)


                        I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:

                        K 1 Reply Last reply
                        0
                        • H HakunaMatada

                          Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

                          --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

                          M Offline
                          M Offline
                          mrdgreen
                          wrote on last edited by
                          #49

                          I use VC++ and WTL/ATL now, but have a long hankered (desired) to program under PHP commercially. .NET is encourages one to stay in the MS 'box', RUBY and PYTHON -- although extremely interesting, are not as supported or 'C' like, capared with PHP. Java is another, viable option for .NET -- I think. I think PHP is probably your best opton, which covers your points. :)

                          Interested in answers.

                          1 Reply Last reply
                          0
                          • S S Douglas

                            Kevin McFarlane wrote:

                            What you like is irrelevant. It's what the customers like that's relevant.

                            I am a windows customer. Which is really besides the point, the original comment was a jab towards Jeremy’s fondness for Mac I just failed to put a smiley in there for everyone else to recognize the smartass comment. :)


                            I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:

                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #50

                            S Douglas wrote:

                            I am a windows customer.

                            I meant the customers for the software that the developer creates.

                            S Douglas wrote:

                            the original comment was a jab towards Jeremy’s fondness for Mac

                            I don't use a Mac but they seem fine to me. Each to his own.

                            Kevin

                            1 Reply Last reply
                            0
                            • H HakunaMatada

                              Hi all, I am in a dillema. We specialize in Desktop Apps and currently use VC++ with ATL and WTL for our products. Now our president wants to move to a faster development platform. He says MFC and .NET are not options (I dunno why). I had recommended .NET but he says look for other alternatives. I have considered RUBY, PYTHON and Java but dunno which is the best platform to go with. My requirements are: 1) Development time must come down to a minimum. 2) Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff. 3) Must be able to connect to Web services easily and better if it contains XML pasring libraries by default. Can anyone help me choose between the above mentioned three options or are there some more? Or should we stick with VC++? HELP!!!

                              --- :beer: Hakuna-Matada :beer: It means no worries for the rest of your days... It's our problem free, Philosophy :jig: It’s rather simple to write an unmanaged C++ application that crashes when it performs a callback. It’s impossible to write a managed application that does the same, thanks to delegates. - Jeff Prosise

                              C Offline
                              C Offline
                              Cristian Amarie
                              wrote on last edited by
                              #51

                              1. The best platform is the one known by all (ok, most of) developers in company. You can use, let's say, wxPython extension and write in Python. But what if nobody knows Python? Ok, is not hard to learn what a wxWindow is, but when you'll want to do some custom API things you'll be blocked or forced to do even more tricks than subclassing or hhoks. At least I gave up after 3 days of wxPython on Eclipse - back to C++. Development time come down to a minimum? Switching platform/language/people etc. solves this? One week ago a previous co-worked (now working for IP Devel, a Romanian company) told me: "We worked one year [or more] on a C# solution, and now management want to THROW ALL what was written in C# and rewrite in C++ [probably using MFC]." I wonder why... 2. Support for Win32 (x64) API. Keyword: native. Windows API is written in C (some parts in C++), so the best language to talk with is C (or careful C++). Of course there are wrappers, layers, libraries, P-invoke etc. But at one point you have to talk with API, and that's HANDLE, LPBYTE and so on. Always will be a trade between barebone HANDLEs and layers - handles wrapper is smartXXX-like classes, invoke, libraries etc. This is, IMHO, the key on development speed. Is is not the platform or language that will speed up the process, but how easy can you do a thing in two C++ lines of code instead of C manual handling? Consider a WM_PAINT processor with multiple pens, brushes, if-else branches etc. I think having handle wrappers and code like brush br(syscolor::get_window_text_color()); temp_dc(ps.hdc).rectangle(ps.rcPaint, br); where syscolor class provides you the default window text color, brush is calling ::DestroyObject itself, temp_dc will attach and detach itself from PAINTSTRUCT HDC member etc. I'll stick with that approach. YAUL (Yet Another Unnecessary Layer) won't help much. 3. Web services. For this probably - although I'm not an expert - .NET can be a prime choice (on Windows, at least). After all, why the GUI can't be done in ATL, WTL, MFC, plain C++ and web services capability in C#/.NET? All it takes to make these two work is just a glue (proxy, protocol, IPC, messaging - you name it). I'll use also here with C++ - a web service cannot big that big, comparing with something like MFC (or even ATL).

                              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