LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 06-27-2011, 10:09 AM   #1
angel115
Member
 
Registered: Jul 2005
Location: France / Ireland
Distribution: Debian mainly, and Ubuntu
Posts: 542

Rep: Reputation: 79
Which language should I learn?


Hello There,

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...

Best regards,
Angel.
 
Old 06-27-2011, 10:24 AM   #2
Snark1994
Senior Member
 
Registered: Sep 2010
Distribution: Debian
Posts: 1,632
Blog Entries: 3

Rep: Reputation: 346Reputation: 346Reputation: 346Reputation: 346
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
 
Old 06-27-2011, 10:30 AM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,224

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
Originally Posted by angel115 View Post
Run on Windows at least and some other eventually
.NET (which is not a language) is out unless you're confident about Mono's Oracle support.

The reasonable choices are Java and C++ (with Qt, which directly supports interoperating with Oracle databases).

Quote:
Be fairly easy to learn
The reasonable choice has been narrowed down to Java.

Last edited by dugan; 06-27-2011 at 10:31 AM.
 
Old 06-27-2011, 11:00 AM   #4
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
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.
 
Old 06-28-2011, 03:56 AM   #5
angel115
Member
 
Registered: Jul 2005
Location: France / Ireland
Distribution: Debian mainly, and Ubuntu
Posts: 542

Original Poster
Rep: Reputation: 79
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?)

Best regards,
Angel
 
Old 06-28-2011, 06:06 AM   #6
markush
Senior Member
 
Registered: Apr 2007
Location: Germany
Distribution: Slackware
Posts: 3,979

Rep: Reputation: Disabled
Hi,

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.

Markus
 
Old 06-28-2011, 08:24 AM   #7
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,224

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
Originally Posted by angel115 View Post
Knowing none of these languages, which on will be the hardest to learn?
C++
 
Old 06-29-2011, 08:53 AM   #8
angel115
Member
 
Registered: Jul 2005
Location: France / Ireland
Distribution: Debian mainly, and Ubuntu
Posts: 542

Original Poster
Rep: Reputation: 79
I've checked both languages and come to the conclusion that the simplest may not be the best.

Therefore I'll go for C++

Thanks for your advices,
Angel.
 
Old 06-29-2011, 12:12 PM   #9
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
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.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Learn new language after c++? ericcpp Programming 22 01-21-2010 09:58 PM
What was your first language to learn? vashsna Programming 21 06-11-2007 07:04 PM
what language is best to learn io13 Programming 4 07-09-2006 09:17 AM
What Language Should I Learn? KungFuHamster General 45 04-25-2006 02:10 PM
Which C language to learn? Heiland Programming 10 08-14-2005 08:03 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 11:03 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration