ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

How to choose programming language?

(1/8) > >>

Ketracel:
I'm not a programmer so I would appreciate your help. I would like to sponsor an open source project for an application (installed as opposed to online) and was wondering how to go about choosing which language to use for it?

How do programmers choose which language to use for a program? is there a "right" answer? what variables does it depend on? I know most know a few languages but are most comfortable with one or two. So before I hire a programmer, I think it would be obviously, helpful to narrow things down in terms of a language.

I have done a lot of work in developing the idea so I would be able to answer questions about it, if you need more info before you can give an answer.

Thank you.

 :)

mouser:
Your desire for a desktop application as opposed to a web service argues in favor of some languages over others.  php and ruby are less appealing, c++ and python more so.

Your need for open source again argues against using a non-free language like Delphi.

But beyond that, it's quite hard to advocate for a specific language without knowing more about what the program will do.

If it needs to be fast and efficient, that would argue for something like C++.  If not, c++ might be a bad choice.

If it needs to be cross-platform, that changes your needs too, and restricts you to certain languages and libraries.

It also needs to be said that the hardest part may be finding a good coder -- and if a good coder has certain preferences for a language that could be the determining factor.

If you feel comfortable telling us the idea, please do.  Maybe DC can help.

Ketracel:
Mouser,
Thanks for your message. To be honest I've done a bit of research and have a certain language in mind already... but want to make sure that it is the "correct" one.

To give you a better idea of the project, it is an installed app that would be used to trade stocks and other financial securities. An important part of the app and what sets it apart from others in the same category, would be its user interface. So while being somewhat "heavy" in terms of GUI load, it would also need to be relatively fast. When a user says buy/sell, the response should be instantaneous.

Having said that, I'm a bit reluctant to automatically jump into C++. I know it is the most common language today but I would like this project to be open sourced and think that there may be other languages more appropriate.

As well, I've done enough research to know that other languages, for example, python, can be as fast as C++ (with the right tweaking - psyco). Then there's C - with an incredible open source implementation in blender.org

C++ code can be notoriously difficult to read and understand for anyone other than the original coder. And even the person who wrote the code can get tangled up. Or so I've heard. So I'd prefer a "cleaner and leaner" language for the reason that many eyes will go over the code.

I totally agree with you when you say that the hardest part is finding a good coder. I've cast about here and there for them and either I don't know how to find one... or there are few around in languages that are not the most common (C++/java).

So how does one find and recognize a good coder? I've read a lot and googled much more but am still open to suggestions and feedback, especially from actual coders.

Here is one such article I found:
http://inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer

Ketracel:
I found this neat little tool:

http://www.awaretek.com/atesterea.html

I'm not sure if I did it right because I don't know what some of the variables meant.

Here are the variables I gave it:

ease of learning the language 50
ease of using the language.... 85
speed of program execution.. 90
quality of available tools...... 90
popularity of the language.... 70
power and expressiveness......50 <-- what does this mean?
cross-platform availability.... 80
low cost of language tools.....90
ease of client side web scripting.1
ease of server side web scripting.1

The result is

1. C/C++
2. Java
3. Python

mouser:
Fun find!

"power and expressiveness" would be a measure of how powerful and flexible the language is and how easy it is to represent different data structures and concepts.

Navigation

[0] Message Index

[#] Next page

Go to full version