

Learning to code. Or am I just crazy?? - biggs83

Hello everyone, this is my first post to this site. Usally I just read, but I answers! I've taking a week vacation from work to learn how to code. I'm sure this will take time and won't happen over night, but I've had serval web ideas that have been started by companys and plenty more that haven't. So I figured instead of trying to find a tech, I could teach myself and get to work. I love tech and web but never went to school. Its my dream to see my ideas infront of me rather just in my head. They're all I think about 24/7. Every thought is on paper. The only problem is getting it on the web. 
So far I understand how HTML, CSS, and Javascript work together. My problem is, "Where do I start?" I"ve been reading for months. Books, Twitter, HN, W3schools,and random sites. I feel as if I'm reading the same thing over and over. Or like I need a mentor or partner with expereince. I have my first domain name, but no web host. I understand having a scope of work, NDA, business plan, etc.. But when it comes to the code " What do I do first?" Correct me if I'm wrong, but it seems like the HTML is what I want the site to say or read, the CSS is the way I want the site to look, and the Script is how I want the site to act or interact. Is that right? Can someone please recommend books that I can read or sites I can visit? I feel lost and don't know what steps to take or what should be done first second ... Programs I have are Dreamweaver, Notepad++, Photoshop. After reading and studing, I started a habit of reading every sites page source. I can understand most of it and see how some sites are the same, but I need to write my own.Also, are generators useful? Thanks for your help
======
GnarfGnarf
The only way to learn programming is to just do it. Start with a small
project, a simple problem that you can program.

Go through the HTML manual, test every tag and attribute, write a little
snippet of HTML, upload it and display it on your browser (this assumes you
have a Website and know FTP. GoDaddy is an inexpensive and quick way to get
started). FireFTP (Firefox plug-in) is great. All you need is Notepad to edit
the raw HTML. It's not efficient for production, but it's perfect for learning
fundamentals.

Go to www.w3schools.com for a well-organized overview of HTML, CSS,
Javascript.

Firebug (another Firefox plug-in) will reveal the inner working of your CSS.
You can change the values interactively and immediately see the results.

Just do it.

------
tst
There are some threads on learn how to code:
[http://www.google.com/search?q=site:news.ycombinator.com+int...](http://www.google.com/search?q=site:news.ycombinator.com+intitle%3A%2Blearn+%2Bhow+%2B%28code%20OR%20program%29)

In general, learning how to program will take its time. It's a craft that has
to be learned. (<http://norvig.com/21-days.html>) And other option for you is
to find a technical co-founder, which is probably more effective than learning
how to code ;)

~~~
biggs83
Thank you. Now for finding a tech co-founder.. do you know of any sites? Would
a NDA need to be present? What percent of the company should the tech have?
They are doing most of the work.

~~~
farout
ok, this is the problem. Nooooo. You will be doing a shit load of work too.
Why?

You must validate the market and make sure there are users who will take money
out of their wallet for this: either as direct or indirect (advertisers).

Your job will be to find what is working and not working.

Forget programming, make pencils sketches even - then talk to the people that
will be using this. You will be working twice or more harder than the
programmer.

~~~
biggs83
Ok, since you feel I should forget about learning to code, do you recommend
any books?

~~~
farout
I already recommend a slew of programming books. Forget reading. Don't be like
me. I read and read and read. I do actually do but I read too much. Just do
it.

What is the problem you are solving?

Why is they a problem?

How much does this problem cost?

Who is looking for a solution to this problem? Is it a problem they already
know is a problem for them. Do they recognize they need to do something about
it? What happens if they do nothing about it? Why bother changing from status
quo?

Where are they? How will you find them? How will you get their attention.

Now do it. Call them, meet with them, ask them is this a really a problem.

Show them the sketch, will this solution help them with their problem.

How is this problem affecting their life.

What will their life be without the problem.

Now ask them how much would they pay $5, $15, $30 (give only 3 choices).

I am sorry I do not know shortcuts. I only know grunt work.

~~~
biggs83
You sound very knowledgeable, what projects have you done so far?

~~~
farout
email me - info@bestwhich,com

------
nika
I think you've got half the equation- you're motivated you know what you want,
and you're seeking guidance.

The best way to learn programming is to have a project you want to implement.
It is clear you have a web project in mind, so the best way to implement, and
thus (probably) the first thing to learn, will depend on what kind of project
it is.

Is it something like 280 slides where it runs all in the browser? Or is it
like facebook where each action (nearly) results in a new page load?

If it is the former, then looking at sproutcore or cappuccino would be a good
idea. IF the latter, then you need a web framework.

Once you've answered this question the first step is to start looking at
tutorials for the technology you want to learn. (javascript, CSS and html are
a bit too broad right off, we need you building your first "hello world")

There is going to be a tutorial for just about every web technology framework
you could imagine. IF you've looked at javascript and you can sorta follow
what's going on there, then maybe sproutcore or cappucino might be good things
to look at. If you don't have a clue what's happening with javascript then it
might be prudent to look at a python or other tutorial.

There is no wrong answer here. You can pick a language, any language, and work
thru a tutorial. IF that tutorial is anywhere close to being web related, then
try extending the tutorial to do some aspect of what you want to do (Eg: add a
form to it.)

Tutorials are nice because they are step-by-step, and you can't really get
lost. Just keep doing them and reading chapters of books and articles about
the particular language you choose until you start having lightbulbs go off in
your head.

I've been programming for several decades, and when I have a new area that I
need to learn about, this is what I do. In fact, several years ago I picked up
a new language. I used to be proficient at it, and I have an idea that makes
sense for this language, but I didn't keep it up....

and so what am I doing?

I'm reading a book on the language and working thru tutorials for the
technology I want to use. I really want to start building my project, but I'm
forcing myself to re-learn the bits I forgot. So, I'm doing exactly what I
recommend you do.

I think python or a python based framework might be a good way to start. (I'm
not a python fanatic, but find it usable, and think it might be relatively
accessible to you..as my personal favorite language is known for being
inaccessible.)

~~~
biggs83
Thanks for your thoughts! One project or my main project is going to be like
facebook for an untapped market. So with that being said, can Python help with
that? I thought python was similar to Java. Just programming apps or software,
not websites? Do you think i should start looking for a tech co-founder agian?

~~~
nika
Everything you learn about programming will help you if you decide to find a
technical cofounder.

"Facebook for an untapped market" already exists, its called facebook. But
really, you understand how facebook works and so making this site is a
reasonable thing to play around with-- well, making the very basics of a site
like this would be a good start.

Programming languages are like speaking languages. You don't have specific
languages for specific types of books, right? So you can write websites in any
language, or shrinkwrapped software in any language. That said some are easier
than others.

Python would be a good choice because it is easier than java and popular for
web development.

Others recommended PHP which I understand is very easy, but not good for
getting good programming practices under your belt.

I think you should build a static website (which is just HTML and maybe some
CSS) and put it on your domain. This would be a good first step.

Then look at making a little more interactivity.

You might check out google app engine. Free hosting and they have lots of
tutorials and they have a simple web framework written in python you can use.
(I learned what I know of python by working thru the app engine tutorials.
prior to that I hadn't used python.)

------
farout
I went crazy too trying to learn everything. Everyone had the same advice:
just use the Internet.

Try this book. it is phenomenal. Learning PHP, MySQL, and JavaScript: A Step-
By-Step Guide to Creating Dynamic Websites [http://www.amazon.com/Learning-
MySQL-JavaScript-Step---Step/...](http://www.amazon.com/Learning-MySQL-
JavaScript-Step---Step/dp/0596157134/ref=sr_1_1?ie=UTF8&qid=1296921281&sr=8-1)

After you are done with that, try this book: PHP and MySQL Web Development
[http://www.amazon.com/s/ref=nb_sb_noss?url=search-
alias%3Dst...](http://www.amazon.com/s/ref=nb_sb_noss?url=search-
alias%3Dstripbooks&field-keywords=welling+php&x=0&y=0)

And after you are done with it. Beef up your css with this one:CSS Mastery:
Advanced Web Standards Solutions
[http://www.amazon.com/s/ref=nb_sb_noss?url=search-
alias%3Dst...](http://www.amazon.com/s/ref=nb_sb_noss?url=search-
alias%3Dstripbooks&field-keywords=css+mastery&x=0&y=0)

Once you are done with that, get your jQuery groove on with this: jQuery:
Novice to Ninja [http://www.amazon.com/jQuery-Novice-Ninja-Earle-
Castledine/d...](http://www.amazon.com/jQuery-Novice-Ninja-Earle-
Castledine/dp/0980576857/ref=sr_1_1?ie=UTF8&s=books&qid=1296921517&sr=1-1)

then you can go on to jQuery cookbook and Professional JavaScript for Web
Developers

Personally I love ruby for rails (ror) rather than php. But for
development/sys admin and the developer community, I would stick with php. I
have used cakephp which is ok. Not like RoR (which I pine for). But the
development community is much nicer. If you decide to learn RoR go with: Head
First Rails and Agile Web Development with Rails. There are some others that I
have not read but are have good reviews in Amazon.

Oh yeah - stay away from Dreamweaver. What a piece of crap.

~~~
biggs83
And thanks for the books. Ill check all of them out. What do you think of the
"for dummies" books? I ve seen a lot for HTML CSS and Javascript

~~~
farout
I would avoid the dummies books. They are so unhelpful. They tell you the
basics of basics and that is it. You are left hang to dry. Waste of time. I
only say this with programming and hi-tech. The dummies book on Type II
diabetes is superb.

