I'm currently in the pre-planning stages of a solo web application development project for university, which has about a year as time constraint. The application will have certain wiki-like features and may end up getting a high volume of traffic in the future, which is why whichever language and framework I choose must have as priority the capacity to deal with a lot of stress in a sufficiently efficient manner (meaning it shouldn't be a server hog, since that would mean higher hardware, maintenance and other associated costs). A close second priority is reducing the development time and complexity.
As of now, I'm facing a case of analysis paralysis since there seems to be a lot of languages to choose from. For example:
- PHP
- Ruby
- Java
- .NET
- Others...
And also frameworks such as:
- CodeIgniter
- Symfony
- Zend Framework
- Ruby on rails
- ASP .NET
- Many others...
As far as I've seen there seems to be some kind of tradeoff between development convenience and efficiency, so I'm trying to find a balance between those two things (among plenty of other considerations).
So far, I know PHP, Java, C#, Visual Basic at an intermediate level. Still, I wanted to leave the language option open, since I'm willing to learn another language if necessary, ruby, for example, since it seems quite interesting.
On the other hand, while this decision will probably not be objective enough, there are some numbers to take into consideration. I believe I've read that java, for example, is slower than PHP.
So, in the end, which should I use based on the application's needs?
If you have developed something similar, which of the options have worked for you?
EDIT: I have read the answers and some other resources, and most people say any language can scale and be as efficient as you need it to be, provided you know how to define a scalable architecture and optimization techniques. While this is true, and sounds quite heartening, it is also true that some languages/frameworks are more resource hungry than others, and of course costs is a constraint (which is almost always so, but I forgot to add in my question originally).
Also, using framework is almost a given now.