I am primarily a programmer developing on windows based OS using C# as my primar
ID: 648809 • Letter: I
Question
I am primarily a programmer developing on windows based OS using C# as my primary language. I am evaluating Ubuntu Linux as an alternate platform and would like to know the best stack for doing web development on this.
I had gone through this thread but it doesn't answer my questions fully. Some of the points I am interested are:
PHP/Ruby/Python (What would you recommend?)
Is Mono mature enough for any large scale development? Has anyone any real experience using Mono.
IDE (including debugging support, intellisense, source control integration,Unit testing)
Unit testing framework based on the language recommended
Web framework if any.
Load Testing tools
Web server (I know there are many webservers, but would like to know which one is primarily used by most people)
Explanation / Answer
I don't have any professional experience with C# / Mono, though I have checked out Mono develop and it seems pretty good. I have used Qt (C++) more extensively in Ubuntu and the Qt Creator is a great GUI app builder, the framework is also a pleasure to work with.
But you were asking about web development ... I've been doing PHP & Python web development for Linux for many years now, and most of those years my development environment has been Linux as well. Linux really excels at this type of usage, there are many, many great tools available, if you're not afraid to get your hands dirty and use the command line.
Regarding your choice of language, it's really a personnal choice, each has its own strenghts and weaknesses. PHP probably has the most libs available for web dev work, due to it being used for building web pages for a long time. PHP is also supported by more webhosts. But Ruby and Python are both very complete and are more pleasant to develop with. They are also likely to be faster then PHP.
Regarding the web server, Apache httpd is THE standard, used by most websites and almost always offered by web hosts. It is very complete and offers a lot of options and settings. There is also lighthttpd, which has less features but is faster. Both of these will work with all 3 languages. Ruby however also needs Mongrel in addition to Apache or lighthttpd.
Framework depends on language used. In PHP, Zend framework or Yii framework are both very good. Python has Django, and Ruby has Ruby on Rails.
For my web development, I like netbeans IDE the best : does what I need but stays out of my way and is easy to configure. Some people swear by Eclipse though, personnaly I can't stand it. I would suggest trying both and seeing which one you like better.
Unit testing, PHP has PhpUnit which is very good. Python has the unittest module for this, it is part of the language.
Load testing, Apache has a built in tool for this.
BTW, all of the apps / servers / etc listed above are available through Ubuntu's package manager. No nightmare of trying to get everything work properly, as is the case under windows ;-)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.