ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm facing an issue today as we need to develop a graphical utility that will work under windows for our workshop.
So here are some of the requirement:
- It must have a graphical interface
- Run on Windows at least and some other eventually
- Must be able to communicate with an Oracle DB.
- Be fairly easy to learn and OOP as I don't want to spend 3years to develop this application.
I already know few languages such as bash, Perl and PHP/MySQL but so far I only develop under Linux and never under Windows.
And that's why I need your advice before to start in the wrong direction.
So which language would you choose from? C#, .NET, VB, C++, Java, etc...
Is this Oracle DB online? In which case, have you considered creating a web interface for it? That would remove any portability issues, a graphical interface is easy to create and you already know PHP. Otherwise, Java is rather portable and is good for creating GUIs, as is Python. I would assume Perl is also capable of it, but have never used it to create one. If you can do it in Perl, I would suggest you do so - one less thing to learn.
VB is completely unportable, and is pretty crap except for creating macros. Same goes for .NET, it's windows-only. I would generally stay away from C/C++ if you're going for reasonably rapid development and aren't used to them already.
So... My advice would be to stick with what you know if possible, and if not go for Python/Java
I would go with C++ (or Python) and Qt. Qt is cross-platform and apps written with it should compile for any supported OS, and it has built-in database support.
After checking on many forum I think C++ is fairly attractive...
I just have 2 last questions:
- Which language have the biggest community? C++ or Java
- Knowing none of these languages, which on will be the hardest to learn? (I already know Perl and I heard that there are some similarity with C++, Is that correct?)
I'm not a programmer. Many years ago I learnd some c++ which seems to be not very difficult. The difficulty comes when you get deeper into the language.
With Java I only now that I'm not able to understand the code, so it seems difficult
With C# or C++ you'll have a language which is very well supported by Windows. With Javaprograms (my experience as a system administrator) we have several compatibility problems between the recent versions of the virtual machine and older programs.
Perl's syntax is similar to c++ in some cases, but Perl is a typical scripting-language (perhaps the most powerful) and one cannot compare any of the C/C++/Java languages with a scripting language.
I suggest that you research your problem very carefully before you pursue any solution. In particular, consider carefully under what environments the program needs to run, and consider what existing software and/or software components might be available to simplify your solution.
These days, "applications" are usually stitched together ... using possibly several languages at one time, but above all, working to minimize the amount of new code that must be developed.
In other words, if you briefly ask, "what language should I use?" ... as you just did ... then count the votes and "dive right in" to building what you are certain must be the very first example of a program of its kind in the known universe ... then, well, you are going to spend a lot of time and effort, but you may well not wind up spending that time and effort as productively as you could have.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.