Learning to code. Or am I just crazy??
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
4 comments
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.
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.
There are some threads on learn how to code: http://www.google.com/search?q=site:news.ycombinator.com+int...
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 ;)
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 ;)
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.
Probably just read the threads first :) http://www.google.com/search?q=site:news.ycombinator.com+int...
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.
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.
Ok, since you feel I should forget about learning to code, do you recommend any books?
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.
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.
Or sites?
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.)
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.)
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?
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.)
"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.)
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/...
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...
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...
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...
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.
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/...
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...
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...
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...
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.
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
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.
wow really? I thought Dreamweaver was the best. I googled top tools used by web designers, and that always came up. I always see Dreamweaver everywhere I look. what tools do you use? If you dont mind me asking. It seems that notpad is good for me to start with, but I also have evernote and that shows me the results of the code ive typed. what do you think?
It's like fake UI programming. I mean there are a lot of companies that use it. But I hated it. I use eclipse as my IDE (interactive development environment). But initially I used Notepad++. I also used Netbeans but prefer eclipse now.
After starting with Dreamweaver, I went on to use Blueprints, which is nice but confused me. These days I hand craft everything since it is the best possible worlds for me by making the UI easier and more straight forward. Especially when you start using javascript, jQuery, Ajax, etc.
This becomes a bigger issue when you get into what are you really creating: a website or a web app. With web app, avoid Dreamweaver since Dreamweaver is more oriented for static content.
If doing a website, there are plenty of other choices: drupal, wordpress, joomla.
Personally I would rather use a php framework even then such as cakephp, codeignitier or non-php: Django or RoR since they are robust and have lots of plugins to make most features needed easy to implement.
remember this is only my opinion.
After starting with Dreamweaver, I went on to use Blueprints, which is nice but confused me. These days I hand craft everything since it is the best possible worlds for me by making the UI easier and more straight forward. Especially when you start using javascript, jQuery, Ajax, etc.
This becomes a bigger issue when you get into what are you really creating: a website or a web app. With web app, avoid Dreamweaver since Dreamweaver is more oriented for static content.
If doing a website, there are plenty of other choices: drupal, wordpress, joomla.
Personally I would rather use a php framework even then such as cakephp, codeignitier or non-php: Django or RoR since they are robust and have lots of plugins to make most features needed easy to implement.
remember this is only my opinion.