tags:

views:

306

answers:

7

I want to go learn web programming,but besides names and a little of html I don't know anything.So I ask you what programming languages you recommend,why,what can be done with it,tools to learn ,etc.I don't know if it matters but I program in a Linux enviroment(Ubuntu). I don't want to do hardcore web programming ,I only want to be able to develop complete websites and understand network concepts.

+8  A: 

Well, most cheap/free web hosts support PHP, MySQL, and most browsers support Javascript.

Target those and you'll be on a reasonably good path.

Some support Ruby and Python, and you might choose that path if you want to learn those languages.

Good luck!

Adam Davis
+4  A: 

Ruby all the way. It's exactly what you need if you're interested in web dev and completely starting from scratch programming-wise. From the basics of Ruby it's pretty easy to get into Rails, which is a very beginner-friendly web framework.

Many great books on Amazon (look for the highest rated of course) on both Ruby and Rails.

Great starting point for links: http://www.ruby-lang.org/en/documentation/

As well check out Learn to Program

Now get learnin'.

fig
+1  A: 

Google App Engine offers free hosting for applications that do not exceed the specified limits. The server-side language is Python, the client-side language is JavaScript inside Django templates. Everything has worked nicely for me in Ubuntu 8.10.

Thomas L Holaday
A: 

The question I'd have is what kind of scale on web programming are you wanting to do? If it is small stuff then the LAMP stack would be my suggestion while if you want to get more into 3-tier architecture then Java or ASP.Net may be worth getting into for middleware or business logic code.

JB King
Oh no you didn't just suggest he learn asp.net!
fig
It is a possibility merely and nothing more. I have worked with Microsoft technologies for most of my career and am still employed so it can't be totally evil.
JB King
+5  A: 

Definitely start with HTML, and basic CSS. These are the core of web programming, and you need to understand them well to do anything of consequence.

Once you've got those down, you'll want to move on to a server-side language. The easiest is PHP, but be careful of picking up bad habits, since it's a loose environment; if you stick with PHP, you'll eventually want to use it with an MVC framework such as CodeIgniter, which encourage separating presentation and logic. To get a little more advanced, you can also try Python or Ruby. Get yourself some server space to mess around with; most shared hosting plans are $5-10/month.

For Javascript/AJAX, you'll probably want to start by using Firebug or Firefox's DOM inspector to learn the relationship between the HTML of a page and the DOM object which Javascript uses to interact with it. Once you understand how the DOM works, toy around with jQuery to start doing useful (and fun!) stuff.

You'll also eventually want to learn MySQL (or a similar SQL variant), but that can probably wait, since you can do lots of interesting things without tackling database stuff.

Above all, be patient and persistent, and make use of every resource at your disposal: books, Google, Stack Overflow, and cheat sheets.

Luke Dennis
A: 

GREAT Question, a couple of years ago I was in the same place - What HONESTLY Helped me was using Dreamweaver, I set it in split mode and started watching the code

I used this and started delving into the PHP Application world and could see what was going on (sort of)

I know you can use dreamweaver with wine on the linux, and it can help you do a TON granted if you continue it has the potential to limit you to the dreamweaver world... but can help you learn and create at the same time

(I build full php apps from scratch now with a notepad... but I started with DW)

Tim
A: 

With the exception of the reference to the LAMP stack above, there has been no Perl recommendations. I like Perl as it is easy enough to build a fairly full featured web application (using CGI, or mod_perl). Of course, you are going to have to learn HTML/CSS if you are going to do anything on the web. I feel Perl is a good choice for web development as it is fairly robust and full featured with all of the modules available on CPAN. Combine with an application framework like CGI::Application or Catalyst and you can build sophisticated web apps in a short amount of time. Also, using a tool like XAMPP can help as you won't have to worry about web server or database cofigurations to get started.

igotmumps