Ask HN: Web Language + Framework Most "Comfortable" for Desktop Coders?
First some background. I've been a developer for 11 years and have dabbled with pretty much everything, though my forte is system programming in C/C++ on Windows and *nix. For the past 5 years, I've been doing some light web programming on the side in the form of small- to mid-size projects in PHP, Perl, and ASP.NET.
I'm currently contemplating signing on as a cofounder for a foreign startup that I feel has a chance of really making it big, but I won't bore you with my justifications. Point is, I'm going to be the developer for this project (the other cofounders are a businessman and marketing guy).... and I need some help picking a platform.
I'm in love with C, C++, and C#. The former two for the control they give me and the latter for its clean abstractions and well-designed high-level interface. However, I can't find a web language/platform that fits with the software developer mentality.
JSP is a mess from a deployment/compatibility/maintenance perspective and totally out of the question. Most of my previous web projects have been in PHP and IMHO there's no way to maintain it past a certain point and the language itself is a nightmare, regardless of how you design the project. Besides these two, I'm open to pretty much any and all suggestions.
I've dabbled with both Python and Perl though I'd be lying to myself if I claim to be well-enough versed in either to come to a conclusion regarding their use. ASP.NET is just beautiful... except I feel it tries to apply the desktop programming paradigm too literally onto web development, and you end up with an awkward templating system with a slightly-perverted MVC model.
Basically, I want to code the system right and make it future-maintainable. From years of coding experience, I know it's not possible to make anything perfect, but you can at least make something comfortable to maintain and fun to write.. so long as you have the right tools in hand.
Can anyone recommend a Python, Perl, C#, or even C++ web development framework that works well for developers coming from the desktop (with our OOP obsession, pointer-fiddling, and OCD optimization compulsions)? I've downloaded a couple of the more popular frameworks, but if I want to do it right, it'll way too long to try them all out and do them justice without rushing to conclusions... and I'm hoping someone here has had a similar experience of coming to the web development scene from desktop programming and has some tips to offer.
Thanks!
5 comments
[ 4.5 ms ] story [ 67.3 ms ] threadYou want the best language/framework for the job. If you think this idea is going to be "big", then you need to think about what tools are going to support this "big" idea best, not what is going to make you more comfortable. Satisfying your laziness(comfort) is not necessarily going to satisfy getting the problem solved in the quickest and most scalable way possible (scalable in terms of cost outlay as well as potential performance).
The fact that you think ASP.NET is beautiful is worrisome, I have to say. That you think it is MVC in some way is troublesome as well.
I don't think it's lazy to look for the hammer that fits best in your hand.... after all, if the hammer is too big for you to carry or too small for you to handle, it doesn't matter how well-fit for the job it is because to the holder it's quite useless :)
http://www.asp.net/mvc/
If you go at it from a desktop C# point of view, you are probably going to make a number of fatal mistakes. I did some job hunting recently in CA and I came away with the feeling that the companies developing in that environment are really not doing anything interesting. think there is a mindset in that world that will hold you back.
My best advice is to pick Django or Pylons or Rails and do a 2 week code sprint to implement a prototype of your idea. I think that will answer a lot of your questions.