I have to build a new webapp. My simple question is:
How can I choose my programming language according to my needs?
Someone can help me building a Programming Language Comparison?
I have to build a new webapp. My simple question is:
How can I choose my programming language according to my needs?
Someone can help me building a Programming Language Comparison?
A large factor is: what language do you already know?!
These links might prove useful:
http://en.wikipedia.org/wiki/Comparison_of_programming_languages
well this question is kinda hard to answer, because it's pretty general. first of all you should factor in what you already know, then there's the question of what hardware you have. if you only have a shared server you should think about using php, because it's offered at pretty low prices. in the end if you know your technology well you can do anything with any language.
Try this list:
Before getting into religious wars over pointers vs. no pointers, integers as first class objects etc. there are a number of non-technical criteria which should be considered.
-- What do your language skill do your current developers already posses.
-- What skills are readily available in your local marketplace.
-- If you hardware platform has already been decided then what langages are well supported on that platform, or, conversely will a language choice restrict your hardware options.
-- If you database has already been decided then what langages are well supported for that database, or, conversely will a language choice restrict your database options.
-- Is there a "standard language" used in your problem domain (e.g. nearly all geoligy is done with fortran); not choosing the domain standard will restrict your choice of languages, packages and experienced programers.
-- If you plan to interface closley with another application than there are advantages to using the same language. e.g. if you are writing a front end to a C++ back end than writing the front end in C++ will allow you to use the back end's structures and untility classes.
-- Evaluate the projects requirement's for speed of development, runtime efficienty, reliability and flexibility. Realisticaly you can deliver two out of the four.
Programming languages are just one aspect of a development environment, the goal should be to build a cohesive development environment that best fits your needs.
Based on my experiences:
C++ : Only if you need the very best performance (games/simulation) or have a fetish for handling your own memory allocation.
C# and .NET : If you easily need to make some windows only application.
java for cross platform delight and good performance and huge standard libraries.
Python for cross platform delight and fast development.
Edit: And of course, the language you and your teammates know the best.
You'll most likely find that you can (with a great certainty) create the web application, which you want to build, using a number of available languages. And choice of language will always/often be subjective.
Are you starting completely from scratch? If so, you might want to consider a language with a low learning curve.
If there was a best way to perform software development, I'm quite sure that the vast majority would adhere to that.
Perhaps you could elaborate a bit more on what kind of application you're talkning about (tagwall, guest book or fully fledged alternative to slashDot?) along with your budget, experience and ressources.
In the following scenario, which language would you consider
I have a few ideas for apps which I'd like to develop but seem a bit lost in a sea of languages, frameworks and social networks to integrate with...
I know this is a hard one and I do value people's opinion even if they differ greatly so do not be worried about being buyist.
My background is a strong java j2ee and I am quite open about learning new technologies. I really buy into the write once run anywhere idea even though it might be idealistic at times.
Lets take the example of a small utility app to keep track of people's birthday. Knowing there is not one perfect language/framework to write this, which in your opinion would have the best time to market, learning curve and integration with social networks for higher exposure.
Opinion: always use C++, armed with boost libraries of course. Interop is very hard to maintain, and at some point you always need parts of your system done in C++.