You're right, I was getting a little excited. I want to learn Front end web development and then Back end web development afterwards. In the future i want to learn iOS app development, but now I'm gonna focus on the now.
Why do you hate Ruby, and can I use Python for back end web development?
Do you have any suggestions for what my progression should be? Should i jump into Codecademy learning HTML and CSS after I learn Python?
Ruby and Python (I use both, I equally love and hate both...) are general purpose languages. They have things like control structures (if/then, case,), ways to define classes, etc. When you talk about using them in the context of backend web development, that means using some of kind of DSL for the web, a framework.
I find Ruby/Rails has a beautiful simplicity, but Python is more explicit, less magic, more nut-and-bolts configuration that’s clear, less convention vs. Ruby (that I sometimes really don’t agree with), but some language design decisions I think are dumbfounding. Again, from starting out, it’s a “6 of one...” consideration, when you get to making a choice, you can’t go wring with either, and one might agree with you more.
FYI, I also use C#, that’s just a language, but combine it with the ASP.NET framework and it can service up dynamic web pages via a web server like IIS (on Windows). PHP (which you’ve probably heard of), is like a language and web framework kind of rolled up into a single solution.
Same with Ruby, the web framework that popularized the language so much is Rails. It provide a way to serve up content, access backend data, create dynamic templates and implement an MVC pattern (for the web). The popular web framework for Python is Django, but there are dozens of options.
I just started a new project a few moths ago and I’m using Node.js, which is an asynchronous, non-blocking server platform that uses Javascript (yes, on the server side). Again, it has some general use (though clearly attenuated toward networking apps), but benefits greatly from using a framework layer to serve up content, handle routing, templates, etc. (FWIW, I’m using Express and Locomotive on the [Node] server side, Angular on the client [with a number of other Javascript libs]).
Like AoW said, HTML is markup for a client browser, CSS is the styling “language” for HTML. Javascript on the client side can be used to provide nice user experience (UX) like popup dialogs, dynamic page control (like only updating part of the page).
Where it’s probably a little confusing for a newbie, is the ambiguous line between server and client. A language with a web framework can serve up a page to a browser, and that page might have content that’s generated from a dynamic source (like a database), but it gets rendered into HTML/CSS and sent to the browser (that’s the only thing a browser can consume).
I would say get a little familiar with HTML/CSS, then maybe learn a language/framework and see how it works to generate that HTML with dynamic server code (some will still be simple static markup, some will use templates to generate markup/content, often times returned from a database).
Good luck.