Development platform decision
-
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
If you need quick development tool for win32, I think you should look at Delphi. It has power of C++ with easy/speed of development of Visual Basic. It is also well known that NET and C# have borrowed many things from delphi. If you need NET then go with C# in VS but in win32 Delphi is the Best. I am using both Visual studio (with C#) and delphi and I am about 50% quicker with delphi so most project I am creating with delphi. See site: http://www.turboexplorer.com/ for free personal copy of delphi, tutorials an info.
-
HakunaMatada wrote:
Any specific reasons that I shouldn't?
Python is a scripting language, can you even write desktop apps in it ?
HakunaMatada wrote:
nd my boss says he has specific reasons why he doesn't want to use .NET.
I'd love to hear them.
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
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
-
HakunaMatada wrote:
Any specific reasons that I shouldn't?
Python is a scripting language, can you even write desktop apps in it ?
HakunaMatada wrote:
nd my boss says he has specific reasons why he doesn't want to use .NET.
I'd love to hear them.
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
-
merckel wrote:
wxWidgets
You beat me to it. It also does have the added benefit of being easy to learn if you're used to MFC IMO.
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
I like wxWidgets. It's a clever, neat implementation and generally very well supported.
Arthur Dent - "That would explain it. All my life I've had this strange feeling that there's something big and sinister going on in the world." Slartibartfast - "No. That's perfectly normal paranoia. Everybody in the universe gets that." Deja View - the feeling that you've seen this post before.
-
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
Plain English Compiler with it's AI capabilities and it's telepathic link. Compile times down to 3 seconds and development time down to 0 seconds.:laugh:
Arthur Dent - "That would explain it. All my life I've had this strange feeling that there's something big and sinister going on in the world." Slartibartfast - "No. That's perfectly normal paranoia. Everybody in the universe gets that." Deja View - the feeling that you've seen this post before.
-
If I were in your shoes, I would simply look for a smarter boss before the entire ship sinks :)
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Blog changed to Subtext!
What is it about presidents and dodgy, ill informed decisions?:)
Arthur Dent - "That would explain it. All my life I've had this strange feeling that there's something big and sinister going on in the world." Slartibartfast - "No. That's perfectly normal paranoia. Everybody in the universe gets that." Deja View - the feeling that you've seen this post before.
-
Erm...it sounds like your "president" has lost time with reality. As Christian has rightly pointed out, Python, Java etc are not best suited to desktop app development. If you want speed of development, .NET is the way to go. If you want tight efficient code with the most responsive UI possible, choose one of the native frameworks with C++. It sounds like you're there already. If your compnay is pushing rapid development in this way they are almost certainly neglecting quality. If you can't turn it around, my advice would be to take your skills to a company that has a more balanced perspective. :rose:
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
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)
-
HakunaMatada wrote:
Any specific reasons that I shouldn't?
Python is a scripting language, can you even write desktop apps in it ?
HakunaMatada wrote:
nd my boss says he has specific reasons why he doesn't want to use .NET.
I'd love to hear them.
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
Christian Graus wrote:
Python is a scripting language, can you even write desktop apps in it ?
You can (we have a guy that does that), but that's not something I would recommend.
-
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!
-
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)
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:
-
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
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> -
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
-
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
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
-
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
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
-
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
-
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
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.
-
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:
What you like is irrelevant. It's what the customers like that's relevant.
Kevin
-
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
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
-
What you like is irrelevant. It's what the customers like that's relevant.
Kevin
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:
-
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
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.