Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is best couple for developing small and fast GUI application with some graphical editor features - C++ and (VB or Win32)?

It has to make some time consuming calculations, so i need it to work as fast as possible.

Also thought about Delphi. So. Is it a question of taste(or habit) or not and what can you advice me then?

like image 913
just_cause Avatar asked Jan 16 '10 00:01

just_cause


People also ask

Which is the best programming language for graphical user interface?

Best Programming Language for Graphical User Interfaces 1 Python Python is a high-level programming language used as a general-purpose language. This language was created by Guido van Rossum and first released in 1991. ... 2 GUI library The GUI library contains widgets. Widgets are collections of graphical controls. ... 3 Python GUI

How to create a C++ GUI application?

To develop C++ GUI or C++ graphical user interface application, you need an IDE that supports the C++ GUI application. To create the GUI app, you must use Visual Studio 2019 because it is better suited for the C++ GUI application. In this tutorial, you will learn how to create a C++ GUI application in a detailed manner.

What is the best Python library for a GUI?

Python UI libraries you can use for the GUI. Basically, there are 3 great Python GUI libraries; Tkinter, wxPython, and PyQT. Looking at them, I did not find anything there that I like about Python.

What is graphical user interface (GUI)?

Graphical User Interface, or GUI, as it’s more commonly known, is one of the three main cornerstones of any application, with the other two being security and performance. Maintaining the right balance between these three vital aspects can help you ensure an intuitive and seamless user experience.


2 Answers

Let's try to analyse them:

C++

Pros:

  • Generates native code, so it's fast.
  • Allows very low-level access to go all out in optimizations.
  • Can be highly cross-platform.
  • More prone to unreadable code. (Personally, I think that the fact a utility like cdecl even EXISTS, is a good sign that parts of C is not meant to be readable - and since C++ is mostly a superset of C, the same applies here.)

Cons:

  • You need to manage a lot on your own, which can easily introduce memory leaks and the like if you aren't careful to get all of this managed somehow (smart pointers, for example).
  • Compiling is sloooow.

Delphi

Pros:

  • Fast compilation.
  • Generates native code with no runtime dependencies by default.
  • Allows you to easily integrate low-level assembly if you want to.
  • You generally don't need to mess with pointers, but you can if you want to.
  • Very nice GUI builder, and the VCL is a nice toolbox which serves most of your basic component needs.
  • Delphi code is generally pretty easy to read.

Cons:

  • Delphi isn't as widespread of a language, so references might be a problem.
  • If you need to interface with external DLLs, you're less likely to find finished Delphi code that allows you to call the DLL methods; you are more likely to need to write the required declarations yourself (there are tools, apparently, but I don't know how well they work...)

VB6

Pros:

  • There are still a LOT of references out there.
  • Let's face it, while we may not like the language, it is pretty easy to read.

Cons:

  • Extremely outdated environment.
  • Not supported anymore.
  • Not suitable for code needing to be overly efficient.

VB.NET (C# as well)

Pros:

  • Due to the architecture of the .NET framework, you could theoretically get more performance, because it is able to optimize the code for the specific CPU it's being run on.
  • Gigantic library at your disposal (.NET framework).
  • Memory is pretty much managed for you. That means it's a lot harder to mess something up there.
  • Popular languages, so lots of references out there.

Cons:

  • Memory is pretty much managed for you. This means some performance aspects are out of your control.
  • You can't really drop down to low-level assembler code, because it's compiled to an intermediary format. Sure, you could implement your own method in IL, but there's usually not as much to be gained as with assembler.

My personal vote goes to Delphi, because it lets me build fast applications quickly, and the latest releases have really improved on the feature set and the usability of the IDE.

like image 107
Michael Madsen Avatar answered Sep 29 '22 00:09

Michael Madsen


The choice is simple. Delphi, hands down. C++ has the high-powered calculation ability you need, but no good GUI builder. VB's got a good form designer, but good luck getting high performance out of it, in either VB6 or the .NET version!

Delphi compiles to very efficient native code, and even includes an inline assembler if you need to tweak your calculations at that level. And it has a very easy-to-use form designer. As long as you only need to compile support Win32, Delphi's the obvious choice. (And that restriction's looking like it's going to change soon, from what the Delphi team's been saying lately...)

like image 40
Mason Wheeler Avatar answered Sep 29 '22 00:09

Mason Wheeler