You are on page 1of 4

4/25/2014

(600) Mayank Singhal's answer to What are the best sources to learn web coding (in a short time)? - Quora

Mayank Singhal's answer to:

What are the best sources to learn web coding (in a short time)?
I ask this question as I want to design a website for my start-up and I have two
months time to learn it.

Follow Question

Promote Answer to 100 People

View All 112 Answers


Mayank Singhal, Hobby, education & job.
Votes by Sai Akhil Matha, Keyur Vohra, Gunjan Sharma, Ranjodh Singh Dhaliwal,
and 1620 more.
Starting web development and making a demo for your start-up, I think that is fairly
easy. Currently there is a trend to spend months looking for the perfect Tech guy to
be Cofounders with. I think it is just stupid - it is probably easier to start working on
your product and while you are doing it; attract techies from the very platforms that
you are learning from.
Now I am a hobbyist-techie and hoping to start on the professional-techie path very
soon. I have been developing sites for the past 4 years and it is very rewarding.
Before everything, where to go?
1. StackOverflow when you have a specific programming query
2. Quora when you have architectural design like doubts
3. SmashingMagazine when you want to get inspiration from other awesome
sites and see good design tutorials + free resources
4. Mozilla Developer Network when you are looking for documentation and
tough tutorials on coding
5. WebPlatform is like MDN but cleaner and better and younger. It may be too
young at the moment and may lack some information but it will grow and
become one of the best platforms for documentation and tutorials.
6. Hacker News when you just want to see great people talk and not disturb them.
Oh and this is one place where you also get the best start up information with
detailed reviews and what not. Quality of discussion is so frigging awesome that
you just don't want to ruin it by adding mediocre thoughts to it.
7. Dochub.io when you need to know what parameters that function takes or
other similar documentation. MDN is slower for these queries.
8. Google / DuckDuckGo - Google, you know is great. DDG is awesome for
programming related queries. It gives answers right then and there.

500 Credits to Promote

Answer Author

Mayank Singhal

Follow

Writes Code

More from Mayank Singhal


Computer Programming: With all the
possibilities JavaScript has on both backend and front-end, would Python still be
a good language to learn for web
development and why?
4 Well, depends on what you want. I have
written only like a tho... (continue)
Web Development: Is JavaScript the
future of the web? (2012)
3 Yes.
... (continue)
What is the best color scheme for
programming?
23 Solarized by Ethan Schoonover is
one of my favorites. It has a... (continue)

Share Answer
Twitter

Facebook

Answer Stats
Latest activity 2 Mar

Where shouldn't you go?

Mayank has written 99 answers.

1. w3schools - While they are always the top on Google Search they have an
outdated site. They might have good resources for some of the technologies but
it will be hard for a reader to know when to trust it and when he/she shouldn't.

47,498 views on this answer.

2. Reddit - You will not be able to distinguish when you are being trolled and when
the person is actually helping you out. There are decent subreddits like
programming and web_design. If you can handle reddit it's great - it just takes a
lot more effort than many other sources.
3. Any site that doesn't look like it was made in last decade. Quick quality check:
All the code should be in perfect formatting
All the code should be brilliantly highlighted
The paragraphs should be well formatted and content should look neat overall
Too many links on the page, go away
Too many banner ads on the page, go away

Okay, so what do you need to learn?


1. HTML - the very core of it all is HTML. If you care about the full form: Hyper Text
Markup Language. As the name suggests, it is a markup language. It is used to
distinguish some parts of your page from others. You will use <h1>tags to
mark important headings, <p>for paragraphs and what not. The basic principle
is simple: the document is like a tree, a node below, sort of inherits the
properties of the parent.
2. CSS - the makeup. Because beauty that lies in the eyes of the beholder, is not
really there if you don't put effort. CSS is again pretty simple to understand.

http://www.quora.com/What-are-the-best-sources-to-learn-web-coding-in-a-short-time/answer/Mayank-Singhal-2

1/4

4/25/2014

(600) Mayank Singhal's answer to What are the best sources to learn web coding (in a short time)? - Quora
However it can be tricky to use.
3. Javascript - because it's cool to be dynamic. HTML and CSS on their own are
pretty static. You cannot really capture things, move things, update things
without page refresh. Javascript is the language that you will use to bring some
life to your pretty doll.
4. The Server Side - Now, it is very likely that you will be making a dynamic
content site. A site where you will present different users with different content
or different content based on where the user is. Most likely you wouldn't want to
manually code every single page and every single paragraph of it all. This is
where you will use server side technology. You see, HTML-CSS-JS are just
client side presentation stuff, your actual content will lie on servers in databases
and you will use some server side language like PHP, Python, JS, Ruby, Java,
Scala etc to get information from the database. And here comes another
challenge: the communication between your server logic and the database.
Usually you will use SQL but there are neater, newer things available that might
suit your needs better.
5. Domains - All things done, this is still a challenge. If you are developing a
product - you will probably launch it with a domain of your own. Now buying
domains is easy. It is a little trickier to find a good registrar though. As much as
you would want to go to http://www.godaddy.com/ (and a lot of people do),
they have been criticized a lot in recent past for their stand on SOPA. Protests
included movement of all Wikipedia domains to http://www.namecheap.com/ .
You will often find much cheaper services on the web but I suggest you go to a
registrar that has some good reputation for reliability. Note that registrars don't
really earn a lot of money from selling you domains but from value added
services. A large portion of their earnings are from renewals - check hidden
costs and feature prices; a lot of times things look cheap the first year but are
insanely expensive next year later.
6. Hosting - Finding a good hosting service and using it the right way is a very
challenging task. There are several types of hosting available:
Shared Hosting: The cheapest, most common and easy to use option.
Requires the least amount of knowledge and development time. Options are
largely PHP based on Apache servers with MySQL support. These options
are very restrictive, but on the other hand service provider worries about most
of the issues including security. There are hundreds of such service provides
which give you web space and bandwidth at about $50 an year. Performance
is poor.
Platform as a Service (PaaS): Fairly recent addition and getting propular.
Google App Engine and Heroku are two solutions. Good for small startups
and apps that can suddenly go viral. Service provides give a wide variety of
packages, libraries and tools to build on. Requires more effort to deploy
things than Shared Hosting but a things are a lot less restrictive.
Unfortunately these solutions are costlier to maintain when you exhaust the
free quotas.
Infrastructure as a Service (IaaS): You will get Virtual Machines that you can
do absolutely anything with without worrying about uptime, hardware
maintenance and upgradation. Scaling is not as easy as in PaaS and neither
is deployment, but it is cheaper. It is also more open and you have complete
control over the entire stack.
Self Hosting: Not for newbies. At all. It is challenging, requires you to buy
servers, bandwidth and static IP; keep things running - day in and day out.
This can probably be cheaper than any other solution but it is significantly
more work. More than that, it requires you to have confidence as well as
experience. Absolute freedom, obviously.
7. HTTP & REST - Understanding of HTTP is also essential. This is like the
theoretical part of Web Development. You might skip this initially, but developing
these concepts will not only give you confidence but also bring maturity in
construction of interfaces and APIs. http://tomayko.com/writings/rest... is a
(controversial because of its naming but) a very awesome blogpost about REST
Search
and stateless systems.

1.6k

600

Home

Shashank

Add Question

You will also need understanding of HTTP Status Codes, Sessions and
Cookies.
Yeah, so where do you learn this crap?
1. HTML: https://developer.mozilla.org/en...
2. CSS: https://developer.mozilla.org/en...
3. Javascript:

http://www.quora.com/What-are-the-best-sources-to-learn-web-coding-in-a-short-time/answer/Mayank-Singhal-2

2/4

4/25/2014

(600) Mayank Singhal's answer to What are the best sources to learn web coding (in a short time)? - Quora
https://developer.mozilla.org/en...
http://www.codecademy.com/langua...
This is a brilliant code-while-you-learn tutorial. It explains you nearly all the
concepts of Javascript in an easy to understand manner.
http://yuiblog.com/crockford/
Look for Douglas Crockford lectures. He is one of the most prominent
personalities in JS. I was unaware of the stupidity of w3schools' tutorials and
learnt 'Javascript' from there - biggest mistake of my life in Web
Development. Crockford's lectures changed it all. They are so rich in content
that I had to watch them multiple times just to comprehend and tie it all
together, or at least the most of what I have learnt.
4. MySQL:
http://dev.mysql.com/doc/refman/...
It is less likely that you will need PostgreSQL or MSSQL as most of the hosts
provide MySQL. Almost the differences are visible, you can start with MySQL
and than quickly grasp others when required,
5. PHP
http://uk.php.net/getting-started
http://php.net/manual/en/tutoria...
You are most likely to use PHP, not because it is the best language to code in
but because of its ubiquitous hosting. It is also incredibly easy to begin with unfortunately it turns out that this comes out to be an issue later. There are
various frameworks that may make your application code a lot more structured
and remove the need for template coding: Symfony, Zend, CakePHP and
CodeIgniter are some of them. Most of the frameworks that you will find will be
MVC - it is the modern way of web application architectures. MVC stands for
Model - View - Controller; you can read about this more on wikipedia:
http://en.wikipedia.org/wiki/Mod...
6. Javascript Libraries and frameworks
You don't want to code Javascript yourself. It is tricky to get it right in a browser,
trickier even to get it right in all. There are libraries like JQuery, Mootools, YUI
Library and Prototype, that have easy to use pre-built functions and utilities that
you can use for most small things. They are also extendable with a large set of
plugins and extensions that increase the functionality even more.
Now, even this is not sufficient at times at your client side JS might still got out
of hand and become impossible to manage. Frameworks like Sencha and
Backbone.js can help you with structuring your code in comprehensible
patterns.
7. XAMPP
http://www.apachefriends.org/en/...
Sure you can learn all these, but how will you test it? Setting up XAMPP on
your local machine is one of the easiest ways to get the complete stack of
technologies: Apache - PHP - MySQL on your machine.
8. Python and Django
If you choose to be a little more adventurous, you can start with Python and
Django instead. Python is a neat, beautiful, only-one-way-to-do-one-thing,
functional language that will make it easier for you to build complex systems.
Official Python tutorial, I think, is a good resource to start with:
http://docs.python.org/tutorial/ Google's Python class has also gotten good
reviews: http://code.google.com/intl/sv/e...
To develop web applications with Python, people generally use Django
(https://www.djangoproject.com/ ). Django is quick, it's brilliant and it is widely
used. You will find enough resources online and enough support on various
forums.
9. Java and Google App Engine
Java is everywhere and people use it for everything. One good way for developing
a demo is to use Java and host it on GAE (https://developers.googl
e.com/ap... ). GAE offers free hosting for smaller applications and decent
amount of integration with Google Technologies like Contacts, Mail etc so that
you can quickly create a social layer on it. Of course, if you need to add
Facebook integration you will have to do it on your own. However one major
issue is that GAE only supports NoSQL a datastore (API to BigTable, AFAIK).
You can read about NoSQL here: http://en.wikipedia.org/wiki/NoSQL . Note
that for most use cases, you do not really care much if the database is SQL or
NoSQL. But since SQL databases are everywhere, people generally feel more
comfortable with them.
10. NoSQL databases and Cache Stores

http://www.quora.com/What-are-the-best-sources-to-learn-web-coding-in-a-short-time/answer/Mayank-Singhal-2

3/4

4/25/2014

(600) Mayank Singhal's answer to What are the best sources to learn web coding (in a short time)? - Quora
Previous point reminds me of adding this, for bigdata you might need NoSQL
databases (http://en.wikipedia.org/wiki/NoSQL ). There are various types of
NoSQL databases (example graph, document etc) but key-value stores are the
most common.
Cassandra, BigTable, HBase are some large scale Key-Value stores
Key-value stores are also often used as in-memory storage for caching
purposes. Redis and memcached are two very common names in this
sphere
CouchDB and MongoDB are two document stores that are also insanely
popular
Now some alternative server side languages that I have zero/negligible experience
with:
1. Ruby and Ruby on Rails
http://www.ruby-lang.org/en/
http://rubyonrails.org/
2. Javascript and Node.js
http://nodejs.org/
(This definitely needs expansion: large scale processing and what not. If there are
people who want me to add it, I will.)
Via Shreya Mishra.Not for Reproduction
Upvote 40+ Comments Share (61) Thank Report Updated 8 Oct, 2013

Top Stories from Your Feed


Sagar Pathrudkar voted up this
answer from 2013.

Gopish Gupta voted up this answer.

Game of Thrones (TV series): How


can Indian Politics be explained
using only the Game of Thrones
references?
Anonymous

105

Who is the most friendly professor


in IIT Madras? Why?

What is the funniest parody you


have ever heard?

Anonymous

Sed Chapman, Latitude 36


Attitude left

Prof. T. Panda would definitely make


into the list of coolest and wittiest prof
with no pain.His capability can be
judged by the way he keeps the
whole class awake in a course like
Chem Tech which ...

Is seen
and heard
okay?
Maybe
not the BEST, but very clever.
You so-called experts might like this.

Both with a more promising sister.

Read In Feed

Neeraj Atul Gadkari and Anant


Gupta voted up this answer.

Read In Feed

http://www.quora.com/What-are-the-best-sources-to-learn-web-coding-in-a-short-time/answer/Mayank-Singhal-2

Read In Feed

4/4

You might also like