views:

59

answers:

3

Beginner here, stuck wondering what I need to do to learn development in different web environments. Say, for instance I want to play around in PHP & MySQL. But I also want to try things with Ruby on Rails and maybe even server things with Python. Do I need a different environment for each platform? Am I required to have a virtual machine to do so? Is it easy to uninstall and start over for each endeavor for a Windows 7 machine?

Or, better yet, would it just be easier to throw Linux in a virtual environment?

A: 

It is theoretically possible to install all of these on a single web server instance, but I imagine it might be an awfully hard thing to do. (Update: As Col. Shrapnel says, it is not impossible though. See the comments.)

You could take a look into the BitNami stack. It consists of installable packages that promise modularity (i.e. the possibility to add languages like PHP and Ruby to one server instance) and pre-configured virtual machines for the most popular development environments.

Pekka
I see nothing awful here. Another cgi-handler or two?
Col. Shrapnel
@Col you have a point; It still is a fairly complex task to set up Apache, PHP, mySQL, Ruby, Rails, and Python manually. Not everybody's favourite job.
Pekka
isn't it what the OP wants? Anyway it's not that hard. there are tons of AMP installing manuals and both ruby and Python has it's own apache installing manuals. At least I'd try it first before asking questions
Col. Shrapnel
@Col it's perfectly valid to ask what the best way is architecturally before trying.
Pekka
LOL ok. let be it
Col. Shrapnel
@Col. I've had issues before trying to install things like WAMP, wanted to know what most people who do the things I want to do preferred to - well, do.
Shawn Strickland
@Shawn you know, nobody wants to do the things you want to do :) There is not so much sense in having all languages in the world on one server installed. Usually people install just one.
Col. Shrapnel
Good point! Need to find the multi-tool out of these.
Shawn Strickland
+1  A: 

I started off with php and mysql, it's a lower-level then the rest of the environments like Django and Ruby on Rails; so it's much easier to understand what is really happening.

If you want to get into web development, php is a solid foundation and has easy bundle installers such as WAMP, and has a massive community.

However if understanding the core of web applications is not your goal and you want some magic to make your application quicker and speed through development, you would want to use a web application framework environment, my favorite here is Ruby on Rails.

Ruby on Rails is a little difficult for the newbie to setup, it typically sucks running in Windows, so you'd be better off with an install on top of a UNIX environment such as Linux, Mac OS, BSD.

If you do want to go the rails route, I suggest installing Ruby with a ruby manager called RVM which is very helpful for playing around with Ruby environments.

Django is a good solid framework but it's playing catch up with Rails and in my honest opinion, doesn't have all those power magic that Rails has such as database migrations.

fivetwentysix
A: 

I would go the vitual road (VMware or virtual box). Multiple enviroments have a lot of dependencies, so its just much much easier with vitual hosts.

Martin S