Development platform decision
-
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:
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
-
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:
I'd love to hear them.
Maybe he read an article titled "Why every developer should learn C#." I know. I'm evil. I admit it. :laugh:
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
-
HakunaMatada wrote:
Now our president wants to move to a faster development platform.
Is he even a programmer? Or, was he one of those guys that programmed 20 years ago and still wants to play developer even though they are still clueless now as was then when someone suggested a change of career? :rolleyes:
HakunaMatada wrote:
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.
I'll have to second wxWidgets[^]. It's cross platform and has a good-sized community, printed books, etc. for learning. If you're used to MFC, it's trivial to learn. It's drawback would be native support for web services, but you can code support for that relatively easy with its XML support.
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
Jeremy Falcon wrote:
I'll have to second wxWidgets[^].
Have you personally worked with wxWidgets? Any pitfalls / odd licensing agreements?
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
-
Jeremy Falcon wrote:
I'll have to second wxWidgets[^].
Have you personally worked with wxWidgets? Any pitfalls / odd licensing agreements?
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
S Douglas wrote:
Have you personally worked with wxWidgets? Any pitfalls / odd licensing agreements?
For home projects I have. It's not exactly the same as MFC, but if you know one you can learn the other because the concepts are right on par with one another. Only pitfall that I can really think of is some of the UI components do look a bit dated, but you can make custom ones if desired. About the licensing, I haven't noticed anything, but you know how it goes... IANAL. :-D
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
-
S Douglas wrote:
Have you personally worked with wxWidgets? Any pitfalls / odd licensing agreements?
For home projects I have. It's not exactly the same as MFC, but if you know one you can learn the other because the concepts are right on par with one another. Only pitfall that I can really think of is some of the UI components do look a bit dated, but you can make custom ones if desired. About the licensing, I haven't noticed anything, but you know how it goes... IANAL. :-D
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
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:
-
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:
S Douglas wrote:
You say dated, I say functional, I actually don’t like the Fisher price UIs that are popular now.
Well, to each his own. Although, you know as well as I do, XP themes, etc. doesn't automatically make something less functional. Let's at least play fair. ;P
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
-
S Douglas wrote:
You say dated, I say functional, I actually don’t like the Fisher price UIs that are popular now.
Well, to each his own. Although, you know as well as I do, XP themes, etc. doesn't automatically make something less functional. Let's at least play fair. ;P
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
-
Jeremy Falcon wrote:
Let's at least play fair.
WHY? :) It's more fun to complain :rolleyes:
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
S Douglas wrote:
It's more fun to complain
:-D
Jeremy Falcon A multithreaded, OpenGL-enabled application.[^]
-
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
Here's a wild and wacky idea - GNUstep[^] - this is a similar programming setup to the Cocoa libraries on OS X. Those are pretty nice to develop in (debuggging's not so great, as it uses GDB). Compliance to your requirements is:
- Hmmmm - you can never say you've met this one - what is 'the minimum'...
- It uses GNU Objective C. That can call out to any C API, including Windows ones. It's built on native windowing, so you'll probably be able to access HWNDs, messages etc?
- The base libraries contain an XML parser[^]. There are the GNUStepWeb[^] libraries for Web services, based on WebObjects[^].
-
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
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"
-
Ruby, and Python ? For desktop apps ? Java is even worse. Does he mean speed to run, or speed to develop ? If he means speed to run, he's an idiot. C++ is always going to be fastest, unless you recommend Win32 and C.
HakunaMatada wrote:
Development time must come down to a minimum.
VB.NET - you don't have to write ANY code to create pretty, badly put together applications
HakunaMatada wrote:
Must provide support to access the Win32 API because we use a lot of those for custom windows, Sidebar interfaces and stuff.
C#, VB.NET, or C++.
HakunaMatada wrote:
Must be able to connect to Web services easily and better if it contains XML pasring libraries by default
C# or VB.NET. Looks like your boss is a moron. He wants those things, but only if they're not on the most widely supported platform that provides them ?
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
Well said. 5. :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"
-
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
Question: Is this a shrink wrapped standalone product ? If not, Ruby is an excellent choice. With FxRuby you can create powerful desktop apps, which wont be as responsive as C++/MFC but will compare very favorably with Java. .NET will fall somewhere in the middle. We have developed several in house desktop UI tools in Ruby and I can vouch for its ease of development and maintenance. We are a windows shop and we had mucked around with C# and Java, before standardizing on Ruby for all our inhouse and add-on tools. The thing is we have totally sidestepped CLR based languages at the moment. Our hardcore stuff is done in C++ and all side tools and in Ruby. If you are interested in the types of tools you can create using FxRuby, see one of our popular tools Asterisk VoIP Call analyzer[^]
-
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:
my advice would be to take your skills to a company that has a more balanced perspective.
:rolleyes: Now that is an interesting thought...
--- :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
-
Question: Is this a shrink wrapped standalone product ? If not, Ruby is an excellent choice. With FxRuby you can create powerful desktop apps, which wont be as responsive as C++/MFC but will compare very favorably with Java. .NET will fall somewhere in the middle. We have developed several in house desktop UI tools in Ruby and I can vouch for its ease of development and maintenance. We are a windows shop and we had mucked around with C# and Java, before standardizing on Ruby for all our inhouse and add-on tools. The thing is we have totally sidestepped CLR based languages at the moment. Our hardcore stuff is done in C++ and all side tools and in Ruby. If you are interested in the types of tools you can create using FxRuby, see one of our popular tools Asterisk VoIP Call analyzer[^]
Thanks for sharing your experience. :)
--- :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
-
And if in addition you want to add the multi platform without so much additional effort, you may take a look at wxWidgets...and with such solution, why not stick with VC++?...
Given the requirements he has, he should stick with MFC or .net. How strange. That would be nice to know the reasons behind his boss reasonning. Concerning wxWidgets, this is a nice library. The only thing is, it is very similar to MFC. (Not a problem in itself) Let's take the example of resources. Back in the Windows 3.x days, and still in Win32, resources are managed with templates, stored in the exec, and loaded when needed. Both MFC and wxWidgets follow this (old?) way of doing things. On the opposite C# has a different approach. For example, a dialog box will be built from C# objects created by the developer (or generated by VS). This a good approach (IMO) because it is more homogeneous, to use objects in an OO language. Also the reasons for using separate memory segments to load templates, back in win3.x days are now out of date. On the other hand, by doing so, I think MS has let the dogs out... Once you put your finger into this, you start wondering why you have bothered yourself with all those non-OO constructs for so long. Many of the old arguments against full OO in C++, have gone irrelevant nowadays. And from one place to the next, you end up being back to raw native C++. Which after all is nice, because now computers are roomy enough and fast enough to not even notice this. Some might still argue that C would be even more frugal. But compared to some very large runtimes we see now, C++ is really inexpensive, AND allows for high-level coding. Just would love to see a .net framework without all those multi-language, multi-platform, managed memory features. Still .net as is, remains very good.
-
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 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!
-
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.