开发者

What's a good programming language for a Windows GUI application that's not Java?

I've been developing an application in Java for a few months now. The more I work on it, the more I realize what a bad programming languege Java really is, and the longer I wait, the harder it'll be to switch. So I'm switching now. I'd need a language that can handle GUI and MySQL queries. And most importantly, that I'll LOVE. Because it's come to the point where I literally hate Java now.

And if it matters I'd prefer to program开发者_StackOverflow社区 in Linux, but It's not necessary. And it'll be an application for Windows.


I recommend C# and .net. They make one of the most mature and one of the most productive environment for developing under Windows. Plus for you C# is similar to Java (in it's best parts, you will not hate it)


Delphi is a very good choice. It is really easy to create a new native Windows GUI application, and the language is easy yet powerful. The latest versions have very good support for modern versions of Windows, and Unicode strings are default.

Despite it being a very easy-to-use language, and despite the fact that there are ready-to-use components for most imaginable tasks (including a vast collection of 3rd-party code), it lets the user do things low-level, should she prefer that. For instance, you can manipulate the heap manually, and you can even write ASM code. The Delphi community is very large, and the product is very much alive.

There has been a huge amount of development the last years, and Delphi XE, the latest version, has a lot of new features compared to Delphi 2007 (in between there are Delphi 2009 and Delphi 2010). Hence, Delphi is very much alive. In the near future (I think), a 64-bit compiler is coming. It is a plain misunderstanding that Delphi should be "dying".


All very good suggestions and since the user didn't like Java then I won't suggest C#. I'll suggest picking up Ruby instead.

The great thing about developing with Ruby is that you don't have to invest much money to get started. I hope you try it out. If not then maybe F# would be a good language to try out.

Added a Link for you: http://rubyonwindows.blogspot.com/2007/11/getting-started-with-wxruby-gui-toolkit.html


What's the matter with Java? The question will be easier to answer if I'd know what you don't like about it so that I can recommend a language that doesn't have the same things that bother you.

Anyway. I'd rule out .NET since you will probably find there are too many similarities to Java.

I can recommend ObjectPascal, which is a really nice language that I like a lot (although I switched to Java). You can either use the Delphi IDE which is commercial and only available for Windows if I remember correctly or an OpenSource IDE such as Lazarus which also available for Linux so that you can develop on Linux. Biggest drawback I know: Manual memory management (although there might exist a solution for that that I don't know about).

Another Option would be to do C(++) with a descent library, probably GTK, QT or wxWidgets.

Yet another Option would be D, which has many real great concepts. Unfortunately D is very new and thus there are not many libraries available for D. But for developing GUI components you can use wxD, which is wxWidgets for D. D has built in automatic memory management, which, for me, is a huge plus. Additionally even though D is very similar to C(++) it made many many of the things in C(++) outdated that certainly made sense 30 years ago, but not now (my opinion). A downside is the name though. Try to google for "D" and you know what I mean. Who names a language that way nowadays?? That makes finding solutions for the language with google much harder.


Although it may be a bit difficult to understand, I would recommend C++. It is one of the most powerful languages in the world, and has lots of ways to create GUIs. There is the classic way, with windows.h header (hard to understand), but I'd recommend you Qt, because it is a great framework for almost everything, like single console apps, powerful GUIs... Also, it can compile cross-platform, so you can develop for multiple OSs.


My suggestion is Python with wxPython for the GUI aspect. I find its syntax to be much cleaner than Java's, like the way it enforces good coding style (indentation is syntax, after all), and have become enamored with features like list comprehensions. There are a number of GUI Building Toolkits available for it as well (wxGlade, XRCed) that allow you to create the skeleton of your UI via drag & drop mechanisms.


id recommended visual basic its easy and simple

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜