DonationCoder.com Forum

Other Software => Developer's Corner => Topic started by: Ketracel on August 23, 2008, 08:28 PM

Title: How to choose programming language?
Post by: Ketracel on August 23, 2008, 08:28 PM
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.

 :)
Title: Re: How to choose programming language?
Post by: mouser on August 23, 2008, 08:37 PM
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.
Title: Re: How to choose programming language?
Post by: Ketracel on August 24, 2008, 05:05 PM
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
Title: Re: How to choose programming language?
Post by: Ketracel on August 24, 2008, 07:59 PM
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
Title: Re: How to choose programming language?
Post by: mouser on August 24, 2008, 08:00 PM
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.
Title: Re: How to choose programming language?
Post by: Ketracel on August 24, 2008, 08:31 PM
yeah, I've spent a few minutes playing with it and the only time it recommends other programs over C/C++ is when you tell is that speed is not important
Title: Re: How to choose programming language?
Post by: f0dder on August 25, 2008, 09:10 AM
If you're dealing with stock trading, you're going to be doing some (inter)network communication - this will be your bottleneck, completely dwarfing code speed. You could probably choose Visual Basic as language without any problems :)

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 dunno who make this argument today, apart from diehard zealots of other languages? Code can be an unreadable mess in any language, if not written by a competent programmer. C++ has features that makes it possible to write cleaner and easier-to-follow than C code... if written properly.

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
Uh, C implementation in blender.org? What?
Title: Re: How to choose programming language?
Post by: mouser on August 25, 2008, 09:11 AM
Why not tell us more about what the application is going to do, how much you are willing to sponsor, etc.
Title: Re: How to choose programming language?
Post by: Ehtyar on August 25, 2008, 06:02 PM
I would also recommend VB or C#, both for, as f0dder mentioned, ease of networking, and also for the GUI in particular.

Ehtyar.
Title: Re: How to choose programming language?
Post by: Ketracel on August 25, 2008, 11:40 PM
f0dder,
re the importance of networking (sending/receiving data constantly), yes! you're absolutely correct. This is vital to the app.

re the argument, well, I've heard it - I'm not convinced because common sense tells me what you mention also. Having said that, without wanting to start a language war or debate, higher languages have an inherent usability which lowel level ones don't have by sacrificing effiency/speed. Most of the time. And if you want to get poetic, some languages are more "pretty" than others. Anyway... :-)

I was talking about Blender (check it out at blender.org), a 3D modeling program written primarily in C and C++ with some python for scripting. I love what they have done with the GUI of that app. I had a similar vision for my own project, before finding Blender.

re VB... I dunno... lol, oh and also, I'd like it to be platform agnostic (Mac/*nix/Win). Can VB do that? :-)

__________________________________________________

mouser,
sure, what would be most helpful? I've got the project fleshed out but I'm not sure which portion of it you'd like me to expound on. In one sentence, the installed desktop program allows a person to trade securities by graphing their chart and giving feedback to the user on what is going on in the market and what they have done relative to it.

Since I'm not a programmer, I'm not sure what complexity it would call for... and therefore, no idea in terms of $$ or time. What I had in mind was to quickly get a rickety version up and running and then to iteratively refine it. I'd like to kick start the project off by hiring a programmer then based on the strength of the offering, organically building a dedicated community of traders/programmers to move it forward.

What makes a certain language more appealing is that there is currently a sort of long-lost "third cousin" already under GPL v2 which I could use as a launching pad. This would mean that, rather than staring from zero code, there would be already an existing project to "fork" in a matter of meaning.
Title: Re: How to choose programming language?
Post by: f0dder on August 26, 2008, 12:30 AM
I was talking about Blender (check it out at blender.org), a 3D modeling program written primarily in C and C++ with some python for scripting. I love what they have done with the GUI of that app. I had a similar vision for my own project, before finding Blender.
-Ketracel
Yeah, I know about Blender3D, I was just reading your post as if it was supposed to be an implementation of the C language, which confused me :)

The GUI for Blender looks pretty, but has somewhat of a learning curve since it doesn't really work like standard GUIs. I guess that's OK for something like a 3D modeler, as the focus is on working efficiently once you become familiar with the app. But imho for most apps, familiarity is important.

re VB... I dunno... lol, oh and also, I'd like it to be platform agnostic (Mac/*nix/Win). Can VB do that? :-)
-Ketracel
Not really, I was just saying that speedwise, probably anything goes :-)

Personally, I'd probably go for C++ - partially because it's my primary language, partially because it's available just about everywhere (and you do say you want portability). Add some cross-platform GUI framework to avoid a lot of pain. Other languages might be less painful to develop in, but C++ has the advantage that a lot of people know it - that could be important for an open-source project.
Title: Re: How to choose programming language?
Post by: Ehtyar on August 26, 2008, 12:34 AM
Unfortunately, what you're asking for has been developed upon very little. What you're asking for is owner drawn interface support, simple networking libraries and multi-platform support. In my opinion, for a novice programmer, C++ is out, which removes most of our options right there (wx, qt, gtk etc). VB and C# unfortunately will not give you the multi-platform support you desire, thus those are also out.

I have two options I can think of, you can try Python (http://www.python.org/) or Perl (http://www.perl.org) (these will be scripting languages, each with extensive library support, and GUIs provided by PyQT (http://wiki.python.org/moin/PyQt)/wxPerl (http://wxperl.sourceforge.net/)/PyGTK (http://www.pygtk.org/)/GTK2-Perl (http://gtk2-perl.sourceforge.net/)), or you can try Mozilla's XUL platform (http://www.mozilla.org/projects/xul/), which will be a markup language with javascript api (see the "Events and Scripts" section of this (http://www.xulplanet.com/tutorials/xultu/) page). If you'd like a better overview of this kind of thing let me know and I'll see if I can find some examples or tutorials online for you (you can always look yourself too, I will be busy for the rest of today and most of tomorrow).

Hope this helps, Ehtyar.
Title: Re: How to choose programming language?
Post by: Ketracel on August 27, 2008, 12:44 AM
f0dder,
thanks for the explanation, that clears it up. And yes, I hear you re C++. it is the most popular and common language out there (isn't it?).

Ehtyar,
the only part which I really understand is that you are recommending python and perl, but I'm not sure I follow your reasons. Can you "dumb" it down just a bit for a non-programmer?

XUL you say? I'd never heard of it. I'm not sure I understand... is it installed? or online apps? or both? I mean, does the program run inside Firefox? is there an example of an app written in XUL?

thanks!

Title: Re: How to choose programming language?
Post by: Ehtyar on August 27, 2008, 03:49 AM
Hmm, strange, I didn't get an email that you replied, I came back to edit my last post and here you are :). I apologize if my post seems a bit rushed, but to be honest it was :P Anyway, now that I have some time I'll try to give you a better explanation.

Perl (http://www.activestate.com/Products/ActivePerl/) and Python (http://www.python.org/) are both very popular scripting languages. Each will run on just about any flavour of OS. Now being your stock standard scripting languages, neither has support for GUI applications (you can't create windows/buttons and such with them), so in comes wxWidgets (http://wxwindows.org/) (having done some research myself since I made that post, I am no longer recommending PyQT, PyGTK, or GTK2-Perl). wxWidgets is a cross-platform GUI framework that can be accessed by Perl and Python via addons called wxPython (http://www.wxpython.org/) (for Python) and wxPerl (http://wxperl.sourceforge.net/) (for Perl). The way this would work is you would download and install your choice of Python or Perl (I use both), then get a copy of wxPython or wxPerl with respect to which language you've chosen. With the combination of scripting language and wxWidgets, you can create cross platform applications with a GUI and simplified networking capabilities. Unfortunately, you'll probably be missing a bit of the skinning business with this solution, but so you know what you're getting into, here (http://wxpython.org/wxpshots.php) are some screenshots of wxPython on windows.

I've also done some further research on XUL (http://developer.mozilla.org/en/XUL), so I can give you a quick rundown. If you've used Firefox, then you're familiar with the way firefox addons work. Firefox addons are written in XUL (XML User Interface Language, which if you've ever done web development, is a lot like HTML) and javascript. The user interface is provided by XUL, and the functionality is provided by javascript. Mozilla (the organisation that maintains XUL and Firefox) maintain an application called XULRunner (http://developer.mozilla.org/en/XULRunner), which is a platform providing XUL and javascript functionality across Windows, Linux and MacOS, independent of Firefox and/or other Mozilla applications. You can find a tutorial on writing an XULRunner application here (http://developer.mozilla.org/en/Getting_started_with_XULRunner). The unfortunate side with XulRunner is that the documentation *sucks* and examples are near impossible to find, in sharp contrast to Python and Perl. This will severely inhibit your ability to quickly pick up the language as you won't have the benefit of others' work to help you along. Firefox addons are similar, so that may be your savior, however I haven't delved into that department much yet so I can't say either way.

Finally, my suggestion to you is to simply download what you're interested in and have a play. It is very important that you *like* the language you choose, otherwise writing in it will be a b*tch.

Hope this helped, Ehtyar.

P.S. The links in this post are used under the assumption you'll be using Windows to start development. Since I have little experience with Linux, I'm afraid I won't be much help unless that is the case.
P.P.S. I've found a package of Chatzilla for XULRunner (http://chatzilla.rdmsoft.com/xulrunner/). This is a very impressive example of a network centric application running in XULRunner. It also appears that it is only slightly modified from the Firefox addon version, which would seem to indicate that you can learn how to code for XULRunner from the abundant Firefox extensions available (which is also far better documented, has an excellent user support base, and tons of example code).
Title: Re: How to choose programming language?
Post by: VideoInPicture on August 27, 2008, 07:12 PM
You can run both VB.net and C# programs on Windows and Linux if you don't use any Pinvoke calls and stay within the .Net Framework 2.0 instruction set. On Windows, you would use the .Net Framework and on Linux, you would use the open source Mono framework to run the program. I don't know about Mac's though. I don't think the open source community is that strong for Mac's.

You could quickly and easily create the interface you want and program it using the free Microsoft Visual Stuido Express. It comes with many graphical elements built into the interface layout designer and there is a strong community of programmers that thoroughly explain their VB.net and C# code at www.codeproject.com

I can use C++/VB.net/C#, and let me tell you, plain C++ is a nightmare compared to VB.net or C# and I doubt you would see much difference if you use any of these languages for a stock trading program. Maybe if you were render video you would go with C++ but for a stock trading program, I would definitely recommend against it.
Title: Re: How to choose programming language?
Post by: Ehtyar on August 27, 2008, 08:39 PM
Hmm, Mono appears to have come quite a ways since I last checked it out. Not much of a fan of the fact that Microsoft maintains the languages and compilers, but it would indeed be a good choice. Also, Mono maintains their own C# compiler if you're also put off by the Microsoft-ness.

Ehtyar.
Title: Re: How to choose programming language?
Post by: VideoInPicture on August 27, 2008, 09:06 PM
Hmm, Mono appears to have come quite a ways since I last checked it out. Not much of a fan of the fact that Microsoft maintains the languages and compilers, but it would indeed be a good choice. Also, Mono maintains their own C# compiler if you're also put off by the Microsoft-ness.

Ehtyar.

Microsoft is a good company.  :D
Title: Re: How to choose programming language?
Post by: Ehtyar on August 27, 2008, 09:10 PM
Hmm, Mono appears to have come quite a ways since I last checked it out. Not much of a fan of the fact that Microsoft maintains the languages and compilers, but it would indeed be a good choice. Also, Mono maintains their own C# compiler if you're also put off by the Microsoft-ness.

Ehtyar.

Microsoft is a good company.  :D
-VideoInPicture (August 27, 2008, 09:06 PM)
LOL

Ehtyar.
Title: Re: How to choose programming language?
Post by: Ketracel on August 27, 2008, 10:43 PM
Ehtyar,
thank you for the detailed explanation. I think I understand.
This neat little app would then have to be written in XUL, right?
http://www.evolus.vn/Pencil/

And although I'm not a programmer, I have checked things out a bit and have run into wxWidgets. It seems to be the best GUI toolkit - again, don't want to start a debate! lol

I'm curious, would one be able to use wxWidgets and get the sort of GUI that blender has?

http://www.blender.org/typo3temp/pics/6e6a5d0d36.jpg

http://www.blender.org/typo3temp/pics/746e247682.jpg

http://www.blender.org/typo3temp/pics/e637ade87d.jpg

I do have a program in mind, as I've mentioned and shortly I'll share what it is and ask your feedback on its suitability in more detail.

thanks again for your help, it is much appreciated!
Title: Re: How to choose programming language?
Post by: Ehtyar on August 27, 2008, 11:13 PM
Ketracel, firstly, you're most welcome. I actually learned quite a bit and had some good fun doing it :)
Pencil is indeed written in XUL. One thing that may have been a help to you that I neglected to mention is that xpi's (firefox addon installers) are indeed just zip files with the source contained within them. If you download Pencil.xpi and extract it with your archiving program (winzip, 7zip etc), you can read all the XUL and JavaScript that makes it work. Have a stab at it with pencil (and if you're interested in XUL, download XULRunner and try it with chatzilla as I mentioned above).
You probably wouldn't get much opposition with your statement about wx, it is generally agreed to be the best. The GUI of blender would require a custom drawn window. If you download Python and wxPython, the wxPython samples contain some demonstrations of custom drawn controls that can be made with wxPython (execute the "Main.py" file and expand the "custom controls" tree).
Also, you seem to be somewhat reluctant to discuss your project. If you'd like to give out some details that you would prefer not everyone knew about, you can send private messages to anyone on the forum from here (https://www.donationcoder.com/forum/index.php?action=pm), you will need only their username.

Hope this helps, Ehtyar.
Title: Re: How to choose programming language?
Post by: jgpaiva on August 28, 2008, 03:14 PM
I'm curious, would one be able to use wxWidgets and get the sort of GUI that blender has?
I'm sorry, I haven't been following this thread, but when I read this I thought I sould say something. I hope I won't say anything stupid for being out of context.

In my opinion, only on very special cases should people resort to using non-standard ways of designing user interfaces.
On most situations, it only causes lots of confusion for the user, and general catastrophe.
Also, programming this kind of interface is harder and more error-prone.

Just a heads-up ;)

ps: just noticed that f0dder already mentioned this in a previous post.. I should have anticipated that :)
Title: Re: How to choose programming language?
Post by: Ketracel on August 29, 2008, 01:08 AM
jgpaiva, thank you for your comment. I fully agree btw. I'm not a programmer nor am I an expert GUI designer but I have read more than 10 books on usability and GUI design which is more than I can say about programming :-)

The intention behind the question was not that I want to go ape$hit crazy on the GUI design, it was more to flesh out how much I can push the GUI framework. For example, does the "wire framing" that goes around the window have to be there? Is there a way to remove it (I'm assuming full screen mode here)

Title: Re: How to choose programming language?
Post by: jgpaiva on August 29, 2008, 05:07 AM
Oh, it looks like I was preaching to the choir, then :)
Ok, glad to know that, and the advice stays for other readers of the thread ;)
Good luck on your search!
Title: Re: How to choose programming language?
Post by: psionics on August 29, 2008, 08:49 AM
If you want a database friendly application, or something for business, I would to recommend Power Builder (C++).. I dunno what people thinks about PB.. but I would be glad to hear it.
Title: Re: How to choose programming language?
Post by: Ketracel on September 06, 2008, 08:46 PM
I do have a program in mind, as I've mentioned and shortly I'll share what it is and ask your feedback on its suitability in more detail.

as promised, the programming language I have in mind is... [drumroll]... python.

Please let loose with praise and/or criticism. Why would this be a good choice? why would it be a bad choice?

thanks!
Title: Re: How to choose programming language?
Post by: Armando on September 06, 2008, 10:19 PM
Someones going to like you... His jaw is... made of metal?
Title: Re: How to choose programming language?
Post by: jdmarch on September 06, 2008, 10:40 PM
2armando: (metal jaw)... HUH?

2ketracel: After an investigation similar to yours, I also chose python. Too early to give a verdict, but so far I'm happy with the decision. It's readable, writable, logical, powerful, extensible, pretty good supply of tools, good community. If you need heavy numeric array processing, numpy seems outstanding. What graphics package(s) are you thinking of using? I'm inclining toward wxpython and chaco (http://code.enthought.com/chaco/).
Title: Re: How to choose programming language?
Post by: Armando on September 07, 2008, 12:38 AM
[off-topic]clue : [ You are not allowed to view attachments ][/off-topic]
Title: Re: How to choose programming language?
Post by: Ehtyar on September 07, 2008, 12:57 AM
LOL
I'm also pleased, it is a good decision, and python + wx should serve you well.

Ehtyar.
Title: Re: How to choose programming language?
Post by: CWuestefeld on September 07, 2008, 02:20 PM
I read through this thread once last night, and bit my tongue, saying I'll look at it fresh in the morning. I'm back, and I'm sorry to say that I'm still infuriated.

Why in the world would someone other than the developer want to choose the language that an application is developed in? You admit yourself that you're not the expert. But even I, an expert proficient in more languages (and language families, for that matter) than I can even count anymore, wouldn't make this decision at the beginning of the project.

Do you buy software based on the language that it was coded in? I know that there are some open-source zealots who do this, but they're insane. The fact is, an application does its job or it doesn't. That's what you make the buying decision based on.

Let the developers do the analysis and high-level design first, and then let them make the decision. I'm certain that on any modern hardware, any reasonable choice of programming language will provide a responsive user interface -- assuming that the developers are competent on the platform; understand well both the language chosen and the problem they're trying to help the user solve; and sufficient resources (time, tools) to complete the project.

I understand that you're looking to sponsor a project, and want to ensure that it's successful, but this is not the way to do it. You may actually be undermining its success.

It's true that some languages are better at some things than others, but there are many more factors than that oversimplification -- and they're generally more important.

It's an oversimplification because modern compilers and JITters (e.g., the .Net CLI and Java) are very smart. It's common now for high-level languages to demonstrate higher performance than hand-coded assembler or C.

But also, allowing developers to use higher-level abstractions frees them to address the overall architecture more fully. Even if you could code something in C++ that would be 5x faster, if there were an alternative approach that only needs to execute 10% as often, that alternative would be better. This isn't so hypothetical. Every time you find yourself frustrated with an application, it's because the developers failed in building an application that anticipated your needs. If you force developers into the wrong tool, you're diverting resources away from preventing these problems, and into the minutiae of coding.

And you've got to consider the skills of the individual developers. The failure of the Chandler project has been discussed here recently. Many observers believe that part of its problems were that an executive decision had been made to use the Python language. But most of the developers didn't have the experience to "think" in Python, and instead wrote Java code in Python (if you can see what I mean). This means that the project got the worst of both worlds: they weren't able to leverage Python's strengths, but they retained all of the limitations of the Java platform.
Title: Re: How to choose programming language?
Post by: Ehtyar on September 07, 2008, 03:59 PM
Perhaps you could make a constructive suggestion or criticism?

Ehtyar.
Title: Re: How to choose programming language?
Post by: f0dder on September 07, 2008, 04:59 PM
I'm certain that on any modern hardware, any reasonable choice of programming language will provide a responsive user interface -- assuming that the developers are competent on the platform;
I personally find that most JAVA applications have somewhat sloppy user interfaces, even on fast CPUs... but I'm very sensitive to issues like that, most users might not be bothered by that.

It's an oversimplification because modern compilers and JITters (e.g., the .Net CLI and Java) are very smart. It's common now for high-level languages to demonstrate higher performance than hand-coded assembler or C.
I still haven't seen this in practice. Theoretically, JITers with hotspot recognition and profiling could do very well, but they'll still be following heuristics - and statically compiled languages also have profilers available (just how often does varying data input massively change hotspots?).

The reality is, however, that for 99% of the software out there, you aren't going to be very CPU bound, so it doesn't matter much if you're coding in Ruby, C++, VB or Assembly. And for the serious number crunching, on x86 anyway, there's still nothing that beats hand-tuned assembly... especially when you have the chance to use SSE instructions. Compiler intrinsics, unfortunately, suck.

But also, allowing developers to use higher-level abstractions frees them to address the overall architecture more fully. Even if you could code something in C++ that would be 5x faster, if there were an alternative approach that only needs to execute 10% as often, that alternative would be better.
And what would stop you from doing this approach in C++? :)

Stuff like garbage collection can have benefits, but you can gain some benefits through the use of RAII and smart pointers, it's possible to do full garbage collection if you really want to, and for speed-critical stuff you can do pool allocators. You get choice instead of being forced to use GC, which you might not have much control over. True, this requires more work than automagic GC, but you can tune to your needs.

But again, for most software, you don't need this kind of control and fine-tuning, and it requires decent experienced coders to get substantial improvement over some of the JITed languages.

dotNET and JAVA do take their toll on the system, though - it takes quite a while to load the runtimes from a cold boot, and not everybody keeps their systems on 24/7.

Anyway, I agree with a lot of your points, I just had to bicker a bit :). And I fully agree that the developers should choose the language after doing project analysis... although they should probably be constrained to open platforms since this is going to be an opensource project.
Title: Re: How to choose programming language?
Post by: Ketracel on September 07, 2008, 10:55 PM
CWuestefeld,
Thank you for your message. It was not my intention to infuriate anyone but I do appreciate your input. Allow me to try to explain why I chose python:

1] I have to hire someone to start the project and I can't hire a "generic" programmer (or so I'm told)
2] python allows for rapid prototyping and iterative development
3] there is already an existing open source project that I can use as a base & it is in python
4] python goes with open source like pb and jam (or so I'm told)
5] python code is easy to read by a different programmer (or so I'm told)
6] I may get brave enough to want to contribute myself and I can see myself learning python... but not C++ (realistically)
7] I forget #7... let me get back to you

now, allow me to pose a question: is it truly so rare and undignified to propose a language beforehand? I have seen it as the standard procedure on sites like getacoder/rentacoder/odesk, etc.

Title: Re: How to choose programming language?
Post by: Ehtyar on September 08, 2008, 01:00 AM
now, allow me to pose a question: is it truly so rare and undignified to propose a language beforehand? I have seen it as the standard procedure on sites like getacoder/rentacoder/odesk, etc.
No it's not. In most cases, professional coders will produce a substantial amount of documentation before making any decisions about their project, however hobbyists/managers/newbies need not concern themselves with such things.
To me your justification is well defined for a project that has not yet commenced, though do keep in mind some of your thought processes may change once you get a taste.

Ehtyar.
Title: Re: How to choose programming language?
Post by: Ketracel on September 13, 2008, 07:01 PM
Thanks Ehtyar. Appreciate the level headed response.

Someones going to like you... His jaw is... made of metal?

Did I miss an inside joke?
Title: Re: How to choose programming language?
Post by: mouser on September 13, 2008, 07:13 PM
DC member by the name of tinjaw (https://www.donationcoder.com/forum/index.php?action=profile;u=38009) is a python enthusiast here on the forum.
Title: Re: How to choose programming language?
Post by: Ehtyar on September 13, 2008, 07:21 PM
Thanks Ehtyar. Appreciate the level headed response.
You're most welcome.
DC member by the name of tinjaw (https://www.donationcoder.com/forum/index.php?action=profile;u=38009) is a python enthusiast here on the forum.
Where is he? Surely he didn't miss this many veiled references to himself :P. Guess we'll have to point this topic out to him.

Ehtyar.
Title: Re: How to choose programming language?
Post by: CodeTRUCKER on January 03, 2011, 10:04 PM
Thread revival... just for fun!

I found this neat little tool:

http://www.awaretek.com/atesterea.html
...
The result is

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


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.

Real fun!  Take a look at the score I was given...

[ You are not allowed to view attachments ]

I couldn't stop laughing !(https://www.donationcoder.com/forum/esmileys/gen3/1Small/hrhr.gif)  I can hardly spell, "C."