Question:
Is learning the programming languages enough?
?
2010-07-30 14:35:35 UTC
I want to learn how to design websites and I'm planning on learning CSS, HTML & PHP. However, I'm getting the feeling that after I learn those, all I'll know is how to create a bunch of random, disconnected features and design elements, and I won't really understand the underlying structure of how websites work or how to pull all the things I've learned together. How do you learn how to build whole websites, not just fragmented pieces of code? (I'm not talking about those text sites that look like they're from the 90's, which pretty much any idiot can make.) I've thought about just using a drag and drop editor, but that doesn't appeal to me. I want to genuinely master web design, not wait around on the outside looking in. I'd really appreciate your advice.
Six answers:
Steven
2010-07-30 14:41:07 UTC
You should definitely start by learning HTML and CSS. Learn to write them in your sleep, then move on to PHP or another server-side language of your choice. You'll also want to learn some database server/SQL. Once you have all that, learn some Javascript for client-side behavior enhancements.



Learning the languages and the syntax isn't good enough hough; you must learn to use things for their intended purpose. Learn semantics. Use elements for their intended purpose. Once you have that down and you know how to correctly use things and make them work with each other, you'll be able to make whole sites.



It's definitely not something you can learn in a day. Just learn it piece by piece, and you'll eventually see how it comes together.



Again, in this order:

HTML (Structure) -> CSS (Presentation) -> Server-side language (Logic) -> Database server (Data models) -> Javascript (Behavior.)



Only HTML is really required, but the more of the above that you learn and learn to tie together, the better a site you can make.
babybishops04
2010-07-30 21:49:19 UTC
It depends what you mean by "learning" CSS, HTML etc. ...



If you mean "following a series of tutorials on how to do specific things", then that's not really learning. In that case a bunch of random disconnected things is of course the only thing you'll be able to do, much like trying to learn Spanish by memorizing a phrasebook.



If you mean actually learning how they work and what it is you're actually typing, then no, you'll be able to do pretty much whatever you want. Learning "the underlying structure" of websites isn't something you can learn through a tutorial, since it's a creative skill that relies on your instinct and experience. That's just practice.



Once you feel you've mastered HTML, CSS and PHP sufficiently, just sit down, invent a website, and then make it. That is the best way to learn. If over the course of the project you encounter something you don't know how to do, look it up.
anonymous
2010-07-30 22:16:08 UTC
After you learn HTML and then CSS and then Javascript and PHP, you will understand how they all come together.

- A website doesn't exsist without HTML.

- A website doesn't have any formatting without CSS.

- A website doesn't have any browser interactions without a client-side language like Javascript.

- A website doesn't have any way to interface with a database or handle information securely without a server-side language like PHP.



With HTML and CSS you will really only have to learn sytax and how the languages work.

With Javascript and PHP you will actually have to understand programming.



Not everyone who can code in HTML or CSS can program.



It is going to take you quite a bit of time before you are proficient in programming. And even more so before you can easily manipulate the different languages to make them work together the way you want them to.
anonymous
2010-07-30 21:40:34 UTC
That is what tutorials are for:

http://www.w3schools.com

http://www.tizag.com



Also, whilst I prefer using a WYSIWYG browser to speed up my task, creating a website using nothing more than windows' notepad makes sure you know everything about the content.



Besides, you start off with fragmented bits of code, experimenting, then once you get competent you sit down and go.. right, what do I want to make.

You then plan out the site in detail figure out how you are going to do each thing, what language you should use and then get to the fun part, making it.
richarduie
2010-07-31 00:33:18 UTC
There is no single, correct path to mastery of web programming...it's a very zen kind of thing. I started in Mathematics and learned some very "mathy" (non-web) programming languages for problem solving in an arcane profession in the '80's. I studied a lot of formalisms of programming over the course of about a quarter century of corporate practice. I evolved to web programming much later in life - been doing it since 1999, after a preceding career of 15 years of professional, non-web programming. I've known corporate professionals who to web work by picking up HTML and CSS in high school without college; they got just enough independent work to build a portfolio that got a real employer interested enough to hire them. I've worked with people who went to college from start to finish to gain a degree targeted at software engineering in general or web development (mostly Java) in particular.



There are a number of things common to all of the competent, successful web professionals I've known, regardless the directness or twistiness of the path they took to enter the trade:



- AT LEAST mildly obsessive/compulsive (or a capacity to be VERY focused)

- willing to work lots of 60 hour weeks and occasional 80 hour weeks

- able to learn independently

- obsessively curious

- compulsively innovative

- not afraid to work without a safety net



As for topics to learn, there are the base language aspects, general programming skills, programming models, and architecture. There are IDEs, development frameworks, OS platforms, etc. The more of these you know, the more sophisticated and probably correct your solutions will be. However, becoming expert in lots of these takes a LONG time. For the moment, pick a model, I'd recommend OOP (object oriented programming), since it's both a popular and powerful software engineering model. I suggest studying one or more of the Agile development methodologies. Pick up a solid version control system - I recommend svn (subversion). Learn a good, solid text-oriented IDE - Eclipse is IMO the best and is free.



From the languages hat, I suggest you definitely pull HTML, CSS, and JavaScript, since that makes you master of the browser (client side). Further, with those you can practice everything related to markup, styling and programming (NEVER let anyone tell you JavaScript is less than a full-featured, OOP language - it can be used in other fashions, but is not limited in the ways so many claim). When it comes to server side languages, I recommend Java and/or PHP, i.e., one of more mainstream, Open Source, non-proprietary, non-Microsoft languages that can be configured to run on your desktop while you're learning. Bear in mind that my advice here is colored by my own training...on the server side of web-land, I own 10 years of Java experience and 2+ of (fiddlin' with) PHP.



I replied to a question that has some bearing on this one, in the sense of talking about what the various roles are in web dev and figuring out what you really want to be when you grow up, at:



https://answersrip.com/question/index?qid=20100709002048AA26YdD&show=7#profile-info-C2Bwxh1haa



I privately maintain a list of links to client-side programming resources at:



http://home.comcast.net/~richarduie/



The right-hand nav-bar has links to free online learning sites graded as "novice" and "expert." There's a few other items that may interest you in your pursuit of improving your skills.



To summarize, learning languages alone is NOT enough. Exactly what to learn in addition and the exact order is fuzzy. Figure out what you want to be, how much you want to earn, how you want to live, and ask more explicit questions.
steve_loir
2010-07-30 21:48:48 UTC
Find someone who wants a website, a local shop or service.

Offer to do it for them, and they pay you how much they think it is worth.



You will have to find out what they want the website to do. And then you will have to figure out how to do it.



Absolutely the best way to learn.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...