What is the best pair for developing a small and fast graphical application with some functions of a graphical editor - C ++ and (VB or Win32)?

It needs to do some time-consuming calculations, so I need it to work as fast as possible.

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

+6
user-interface winapi
source share
4 answers

Try to analyze them:

C ++

Pros:

  • It creates its own code, so it is fast.
  • Allows very low level access to optimization during optimization.
  • It can be very cross-platform.
  • More prone to unreadable code. (Personally, I believe that the fact that a utility like cdecl, even EXISTS, is a good sign that parts of C are not intended to be read - and since C ++ is mainly a superset of C, it applies here.)

Minuses:

  • You need to manage a lot yourself, which can easily introduce memory leaks, etc., if you are not careful that all of this succeed in some way (for example, smart pointers).
  • Compilation is sloooow.

Delphi

Pros:

  • Fast compilation.
  • By default, generates native code without dependencies at runtime.
  • Allows you to easily integrate a low-level assembly if you want.
  • You don’t have to bother with pointers at all, but you can if you want.
  • A very beautiful graphics editor, and VCL is a great toolkit that satisfies most of your basic needs.
  • Delphi code is usually pretty easy to read.

Minuses:

  • Delphi is not so widespread in the language, so links can be a problem.
  • If you need to interact with external DLLs, you are less likely to find ready-made Delphi code that allows you to call DLL methods; most likely, you should write the necessary declarations yourself (there are tools, apparently, but I don’t know how much they work ...)

Vb6

Pros:

  • There are many more links.
  • Let's face it, while we may not like this language, it's pretty easy to read.

Minuses:

  • Extremely outdated environment.
  • No longer supported.
  • Not suitable for code that should be too efficient.

VB.NET (also C #)

Pros:

  • Due to the architecture of the .NET platform, you could theoretically get more performance because it can optimize the code for the particular processor on which it runs.
  • A giant library is at your disposal (.NET platform).
  • Memory is largely managed for you. This means that it’s much harder to ruin something.
  • Popular languages, so many links there.

Minuses:

  • Memory is largely managed for you. This means that some aspects of performance are beyond your control.
  • You cannot refuse low-level assembler code because it is compiled into an intermediary format. Of course, you can implement your own method in IL, but usually not as much as for assembler.

My personal voice goes to Delphi because it allows you to quickly create fast applications, and the latest releases have really improved the feature set and usability of the IDE.

+25
source share

The choice is simple. Delphi, come down. C ++ has the powerful computing capabilities you need, but there is no good graphics editor. VB got a good form designer, but good luck getting the high performance out of it in VB6 or .NET!

Delphi compiles very efficient native code and even includes built-in assembler if you need to tune your calculations at that level. And it has a very easy to use form builder. While you only need to build support for Win32, Delphi is the obvious choice. (And this restriction, similar to what will change soon, from what the Delphi team has said lately ...)

+15
source share

I must disagree with Mason. If you are writing a Windows GUI application that should run quickly and be easy to create, C # is the way to go. With .NET 3.5, you can get very fast calculations through the .NET runtime, and it has excellent support for editing the form. Also, if you have experience with C ++, C # is very easy to pick up.

Another advantage of C # is that if you find that your calculations are too slow, you can always write expensive C ++ code, wrap it in a DLL, and call it from C #.

In general, C # is superior to everything else when building Windows applications quickly, without sacrificing too much performance.

As a final statement, I would like to say that Microsoft does not pay me, I generally hate managed languages, and to this day I avoid writing C # whenever possible, because I prefer C ++. However, the usefulness of C # led me to believe in its use for anything that needs to be done quickly or requires a user interface, because fiddling with MFC, WTL, ATL or COM completely sucks.

0
source share

If you have worked in the language before this is the best choice. The time taken to learn a new environment, compared with the benefits for most languages ​​in the short term.

Nevertheless, if you plan to work in the environment for more than, I do not know, a year, then it makes sense to study a new one.

0
source share

All Articles