Click here to Skip to main content
15,745,577 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
After A long experience with Delphi/Pascal, I think I need a to move on to
another language. Delphi is just too limited (and it's dying). The following are my requirements for a language:

Must not be jitted or interpreted (this marks out C#, Java, and Python)
Should be easier to adapt for me (me=a delphi programmer)
Must be object oriented
Making GUI should be easy.
Must have a cross-compiler (I'll need Linux and Windows)

What I have tried:

I've tried adapting to C++, but I just don't like it. I like C#, but I need speed, and C# is jitted.
Updated 18-Feb-16 17:41pm
BillWoodruff 18-Feb-16 13:27pm    
Given those requirements, I think you are preparing for a future in which you are unemployed.
Richard Deeming 19-Feb-16 11:59am    
"C# is jitted"

If you're writing Windows Store apps, it's compiled to native code:
.NET Native – What it means for Universal Windows Platform (UWP) developers[^

This was supposed to be made available for desktop applications as well, but that seems to have been dropped. There hasn't been any mention of desktop application support for .NET Native since before VS2015 was released.

For desktop applications, you can still use Ngen.exe[^] to pre-compile native images for your application on the client PC. This has the advantage that it can use specific optimizations for the hardware that the application will be running on.

And, to be honest, most performance problems with .NET applications have a lot more to do with the code you've written than with the JIT compiler.

Your list of 'musts' throws out anything (at least in mainstream languages) but C++, in my opinion.
Share this answer
Albert Holguin 18-Feb-16 23:31pm    
As a fellow C++ prog... I must agree... Powerful and as versatile as you make it to be!
I think it's going to depend on what you want to do with this language and where you're trying to take your career towards.

C# and Java are the mainstream GUI languages, C# is actually pretty darn fast, I'd say faster than Java (it's essentially an improved version of Java, it came out afterwards as MS response to Java). With that said though, Java is pretty mainstream for user applications. C++ itself isn't all that GUI friendly but there are a bunch of GUI libraries that you can utilize (tried and true really). You'd have to build for a specific target arch so not natively cross-platform (i.e. a Win binary won't run on Linux natively and the other way around) vs C# and Java.

Python is probably not as popular on Windows but it is all the rage for Linux users. Part of the popularity of Python is that it can be made to be as fast as any C/C++ program (through C/C++ extensions). Since just about any and every Linux distro comes with Python, you're also pretty sure to have it handy in Linux (you'd have to install it on Win). There are GUI libs for Python as well but I haven't used them much. They are based on the C/C++ libs so essentially you have the same functionality (GTK/Qt based).
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900