You are here

Help needed in selecting a development language

28 posts / 0 new
Last post
PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Help needed in selecting a development language

Hi All,

I'm toying with the idea to develop an application and being a portable apps convert, it just makes sense to develop an app that can run on any (windows) machine without having any dependencies on what should be installed on the machine.

SharpDevelop (C#, Boo) was my first choice IDE but with its dependence on .NET/Mono means that I cannot use it.

I've been out of development for more than 10 years and am a bit lost in terms of what is available out there and what is available for free. So I was hoping that you guys can point me in the right direction if I give you the criteria to which the language/IDE must adhere to.

The main purpose of the app is to be first and foremost run as a stand-alone application, as most users will not have an Internet connection. However a web application that can also function when the user is not connected would be ideal, i.e. the app must be able to interface/integrate with other web applications.

Second, the language/IDE must allow me to develop the app visually as I do not want to be coding for months.

Finally, I'm considering using mySQL as the database but am still unsure on how to deploy it seemlessly with the (portable) app.

Any advice, pointers or assistance would be appreciated.

Many thanks
Paul

digitxp
digitxp's picture
Offline
Last seen: 13 years 1 month ago
Joined: 2007-11-03 18:33
I'm pretty clueless...

I would think C++ is the best to go 8). Microsoft made visual C++ and it's a very portable language :).

Insert original signature here with Greasemonkey Script.

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Yes, a visual version of C++

Yes, a visual version of C++ is probably the obvious choice, but I'm not sure there is a free version of it.

I've been analyzing python today and it seems to cover almost all the boxes.

Anyway, I'm keen to find out what some of the developers would suggest.

Regards
Paul

ZachHudock
ZachHudock's picture
Offline
Last seen: 1 year 10 months ago
Developer
Joined: 2006-12-06 18:07
Check out the wxWidgets

Check out the wxWidgets toolkit, and wxDevC++ or wxGlade. wxWidgets is a GUI toolkit that has ports in c++, java, python, and several other languages. wxDevC++ is an IDE for the c++ toolkit and includes a UI design tool. wxGlade is an IDE and UI designer for the python and c++ versions of the toolkit.

The developer formerly known as ZGitRDun8705

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Thanks

I'll definitely go and have a look.

Regards
Paul

Steve Lamerton
Steve Lamerton's picture
Offline
Last seen: 11 years 1 month ago
Developer
Joined: 2005-12-10 15:22
One,

of the apps on this site, Toucan, is written in wxWidgets, although I wouldn't look at the code if I were you, it's getting a complete re-write for a reason Smile

shookmon
Offline
Last seen: 7 years 4 months ago
Joined: 2007-02-21 16:26
MS Visual Studio Express (FREEWARE)

Michael D. Shook

rab040ma
Offline
Last seen: 4 months 5 days ago
Joined: 2007-08-27 13:35
I have heard some

I have heard some interesting things about Adobe Air, if you are looking for a program that is at home on the desktop as well as available via the web. Visual IDE stuff is available through Adobe's CS applications, which are pricey, but it looks like Adobe is trying to position Air as a lightweight, secure, relatively portable platform. If it is a good platform, it would be nice to see a variety of good OpenSource applications for it. OpenSource might also need some relaxation of Air's dependence on commercial signing certificates (sigh).

I hope you can set up your app to be able to run on a "locked down" machine; that is, if it is "installed" (rather than portable) it should not try to write its settings to its own directory, since the administrator may have restricted that, and besides you don't want multiple people overwriting each other's settings. The ideal situation is to have some easy way to tell the program where to keep its configuration and properties, and not simply assume it will be in the executable's directory.

MC

pete108
Offline
Last seen: 16 years 5 months ago
Joined: 2007-12-05 07:40
Delphi

Why not Delphi? I think it meets all of your requirements and there is a version that is free.

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Delphi

Hi pete108,

Thanks I did not know free versions of delphi existed. I also know Pascal better than C++.

It seems that delphi uses .Net which in my mind means that there is a prerequisite on the clients computer, but this is where my understanding becomes a bit fuzzy.

I was thinking of using GTK+, but it seems it is still quite difficult to use and I don't particularly like the applications that are based on it.

This brings us back to wxWidgets suggested above. However I'm not sure if that places any restrictions in terms of what needs to be installed on the users machine.

Regards
Paul

pete108
Offline
Last seen: 16 years 5 months ago
Joined: 2007-12-05 07:40
.Net

Delphi use .Net but your applications don't have to. I've been using it for the last couple of weeks and I really like it. PAM was made using Delphi.

pete108

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Delphi

Hi Pete108,

Delphi will be much easier for me to learn than C++, but at the moment I still favour wxWidgets due to the fact that the apps look native to the OS, unlike GTK+. Simply (re)compiling the app on the target OS will prduce a native looking app.

Does Delphi offer something similar? If memory serves me right, the Delphi's db integration is also a breeze compared to other languages.

I'm still a bit intimidated by C++ and have not found the right IDE + RAD/Visual programming tool for it. At the moment I'm still working my way through all the python IDE's as I think it would be an easier learning curve.

Thanks for all the input.

Regards
Paul

pete108
Offline
Last seen: 16 years 5 months ago
Joined: 2007-12-05 07:40
Cross compiling

I don't know if Delphi can or will cross compile but there is a version for linux called Kylix. Which I think will compile the windows project with very little modification.

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Kylix

Hi Pete108,

I had a long discussion with a pro Delphi developer last night and apparently Kylix is the brother in jail that nobody talks about anymore Wink

I'm not sure exactly what the issue was but from what I understood it will/has major ramifications throughout the delphi (linux) development circles.

Anywy, Delphi is still high on my list. Seeing that I have access to an expert locally.

Regards
Paul

ZachHudock
ZachHudock's picture
Offline
Last seen: 1 year 10 months ago
Developer
Joined: 2006-12-06 18:07
wxWidgets doesn't have any

wxWidgets doesn't have any dependencies on the host system. Because of the way it is structured, you can compile your app by linking to the Win32 wxlibraries (you need to compile the libraries first) and it generates standard c++ code that can be used on any Windows system.

The developer formerly known as ZGitRDun8705

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Yes, this is what I like

Yes, this is what I like about it.

SPE seems to be a good IDE that allows you to use wxWidgets in Python as well as allows closer integration of wxGlade into the development process.

At the moment it seems to be the closet to what I'll need.

As Python also supports C++, one can always replace the code with C++ code when the app is a success and speed becomes a concern.

Thanks for all the input and guidance.

Regards
Paul

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 15 years 2 months ago
Developer
Joined: 2007-10-23 22:14
Qt

Another option is Qt. Qt is C++ based, and can integrate with the Eclipse IDE. It also has the benefit of being cross-platform.

formerly rayven01

ZachHudock
ZachHudock's picture
Offline
Last seen: 1 year 10 months ago
Developer
Joined: 2006-12-06 18:07
Qt is closed source, any Qt

Qt is closed source, any Qt apps require the Qt*.dll files, and it isn't very widely used anymore. Sticking with wxWidgets leaves him using an open source library, does not depend on .dll files, and is easier to compile to be cross platform

The developer formerly known as ZGitRDun8705

Shawn Faucher
Shawn Faucher's picture
Offline
Last seen: 15 years 2 months ago
Developer
Joined: 2007-10-23 22:14
Qt

Qt is available under GPL. The open source version only lacks integration with visual studio. As for not being widely used.. in windows it probably isn't, but in Linux the entire KDE desktop is based upon it, much of which is now in the process of being ported to Windows.

Launchy is an excellent example of a current, slick, Open Source QT-based application.

formerly rayven01

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
Netbeans 6?

It have just been suggested to me that I should not discount netbeans 6?

Any ideas?

Regards
Paul

ZachHudock
ZachHudock's picture
Offline
Last seen: 1 year 10 months ago
Developer
Joined: 2006-12-06 18:07
That would mean java is

That would mean java is being used, which, while more common than .NET, is still not on all PCs and java tends to be much slower than a natively supported language like c++. There is a solution for using a portable java, but that means much more space on the drive has to be used, or the launcher has to look for a local version.

The developer formerly known as ZGitRDun8705

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
That is true

That is true, however most of the installs would be from CD as the target userbase would not have reliable Internet connections making a large install not that much of a problem.

Anyway, I don't think it would make the top of my list. I just forgot about it and apparently NetBeans 6 has fixed the problems of designing appropriate looking fron-ends.

Regards
Paul

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
In summary

To summarise, it seems the following is the recommendations...

The best fit is wxWidgets as it will give flexibility and seemless looking apps.
Whether you use C++ or Python is up to your level of expertise and ability to get down into the nuts and bolts.

If this is a bridge too far or if you cannot find the correct IDE/RAD tool. Then Delphi and/or NetBean (java) could be considered. Java being a bit more cross platform capable, whereas Delphi will give you speed and possibly a bit easier to develop.

Thanks again guys for your help.

Regards
Paul

rab040ma
Offline
Last seen: 4 months 5 days ago
Joined: 2007-08-27 13:35
Your comments seem to mix up

Your comments seem to mix up three things:

  • the programming language
  • the windows/GUI library
  • the IDE

Netbeans and Eclipse IDEs can evidently be used for more than just java.

GDK can be used with several languages.

And so forth.

Not all languages interface well with all libraries, and some IDE's work better with one language or library than another.

You probably know all that, but it wasn't clear in your note.

MC

PollieXmas
Offline
Last seen: 13 years 6 months ago
Joined: 2006-05-10 16:03
You're right

You're absolutely correct and that is what is making it so difficult to make the right selection.

In the end though the windows library (wxWidgets) as my first choice is what will drive the selection of the other two, i.e. programming language and IDE.

Regards
Paul

dwayne
Offline
Last seen: 6 months 4 days ago
Joined: 2009-08-07 01:37
If your main aim is to learn grow and contribute...

If your main aim is not the language but it is to get back up-to-speed, to contribute and to grow then I think you might want to try a different strategy.

  1. Choose a language that you know you will find people who can help you.
  2. Work on a project that can help you grow
  3. Work with people who can help you grow
  4. Work on something that will help people and be used by people

I think that should then inform what you go and do and find.

Now for my bias, since I actually program on the projects that I'm recommending:)

I would choose to work on Virtaal or Pootle for the following reasons and consequences:

  • Both are programmed in Python, there is a Python user group near you that will be a great help
  • The programmers of Pootle and Virtal are working on FOSS and based in Pretoria. They definitely want to see you grow and there is a lot of opportunity for you to grow. Even taking Virtaal and making it portable would be cool.
  • Pootle is used by many already and Virtaal looks like it will impact translation in South Africa
Chris Morgan
Chris Morgan's picture
Offline
Last seen: 9 years 4 months ago
Joined: 2007-04-15 21:08
Signature

Could you please remove the links from your signature, dwayne, as they're not allowed by the forum rules.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

BPak
Offline
Last seen: 13 years 2 months ago
Joined: 2009-08-14 20:04
Powerful Basic Compiler that is Standalone

I found a web site where I purchased a Basic Compiler which is very simple and easy to use. The program is MiniBASIC and it has NO Registry use for installation.

I am using it on my USB sticks.

If that helps anyone looking for a good portable development program then it can be seen at:

http://www.codercreations.com/

There is a DEMO Version available also.

BPak

Log in or register to post comments