This is a solicitation for advice: I am looking to create a restful server.
Background on my abilities: I am new to creating such things; however, I am an experienced programmer. My strongest programming language is C/C++, but I've gotten to be very good at C# as well. I have created simple websites, some PHP/MySql, etc.
What I have to pick from: I can use any platform, as this will be a brand new system. But I don't want to jump into something esoteric. I know that I will have a lot of questions to ask as I construct my site. I plan to answer these questions through searches on Google: in particular here. So, I'll need something that is well known and has a wide user base. Having said that, I'm good with Windows, Linux, or Mac. And I'm comfortable with IIS, Apache, and tomcat: I hate JBOSS, so don't even mention JBOSS.
What I'm willing to do: I understand Python, Java, and other languages are good for this purpose. I don't know them and so I can't say. But I am willing to invest in learning a new language, provided that it is also widely supported, used, accepted, etc. Again, nothing esoteric. I tried learning D. It was fun, but also a waste of time as it turns out as it is not widely used. ASP.NET seems like a good starter, but I am leaning toward Open Source options as cost and licensing issues are important, but not necessarily exclusionary.
My requirements: These are generally simple. The user application will be a Human at a front end. No automated services, which means performance is not the primary concern. Ease of maintenance, construction, and learning curve are my primary issues.
The question is this: Given the listed abilities and requirements (no JBOSS) what is a good starting point?
I've looked around for answers but frankly there are so many that the choices have become something of a hindrance. I'm hoping to get a few good start points before the moderators crucify my question.
Thanks!
UPDATE: The answer for C# developers who are looking for a thin web server and wish to do everything in C# on linux is to use MonoDevelop for the IDE and don't use a web server. It's too easy to create thread pool model and support http request via the HttpListener. For database support go get the MySql Connector. It all just plain works, it's simple, and it's all C# all the time. No translation, and no pass through.
Check this link for an excellent thread pool model in C# that uses HttpListener.: Multi-threading with .Net HttpListener.
And get monodevelop like this: How to install the latest version of Mono and MonoDevelop on Ubuntu?
And then get the MySql Connector: https://dev.mysql.com/doc/connector-net/en/connector-net-installation-unix.html
In order to use the MySql Connector in Monodevelop, I've had to add the reference using the .NET package and select the MySql.Data.dll from the path. For some reason the gacutil doesn't seem to install it correctly. However, it works and I'm now serving up web pages using nothing but C# and MySql, with MonoDevelop as the IDE.