How did I learn computer programming?

Source: Internet
Author: User
Tags html tags php and php and mysql microsoft frontpage wysiwyg html editor

I started learning programming at a very young age, and the way I learned to program was to create a lot of different websites. The following is a list of the major websites I created, the first of which I developed when I was 11 years old. The message that I hope readers will get from my retelling is that if you want to learn to program, it is necessary to do a lot of practice projects.

The best way to learn a technique is to practise, practise, and practise. All the best programmers I know have a deep enjoyment of programming-programming is something that makes them hungry and happy. And so they have a lot of programming. Often, it is an unhealthy and sleepless. Learning how to program-and how to do it-doesn't require you to have superhuman abilities. You just have to do what you want to do and do something.

It doesn't matter what you do, it's important that you find something to do. The good programmers I know have different motivations for their initial learning programming. Some people learn programming to develop animated games. Some people are trying to solve problems they encounter when they use the computer, or to make their work more efficient. Some people are trying to develop products to meet people's needs. Some people (real programmers) Learn to program just one of the steps they need to understand how the computer works, and they want to find out about the machine. Some programmers simply program because they enjoy the challenge of solving problems.

The only thing that keeps all these "good programmers" together is that they're obsessed with programming for some reason in life, and then spend a lot of time programming and doing lots and lots of projects for practice.

So, I'm no longer wordy, here is how I learn to program the story:

My first website

When I was about 22 years old, I felt I needed to make a website for myself. I can't remember why I needed a website, I just remember that I started doing it. So I searched the internet for information about how Web pages, Web browsers, and how HTML works. A lot of the information I've found is outdated, some are obviously wrong or have been given the wrong wizards (for example, for IE and Netscape browsers), but the process is very interesting and I've learned a lot of new things.

Despite the online search of a lot of shoddy information, I still managed to do a simple site, I call it "Feross website." To develop it, I'm using Microsoft Frontpage, which is a great WYSIWYG HTML editor. I use very common syntax, such as bold, italic, and so on to make changes to the site, in the editor to instantly see what these HTML tags can achieve. This is a very effective way of learning.

Below is the screenshot of my first website. This site no longer exists.

You can't tell from the picture above that every element of the site is moving, blinking, and sound. I've placed different midi-formatted songs on every page of the site. And they all play automatically, you can't stop them unless you mute the computer. Ha, this is the popular website design style.

After a few years of age, we redesigned the site to make it look beautiful. I used some of the free web site templates found on the Internet to modify some of the pictures with Microsoft's drawing tools.

Although I rely heavily on templates, this is a good way to learn about HTML and Web browsers. "Feross's Web site" had no use other than to collect some of my childhood videos, so I soon lost interest in it.

My first real

When I was 9 grade (14 years old), my friends and I were fascinated to watch flash videos and animations on websites like Newgrounds and Ebaumsworld (which was not YouTube until 2005). I spent a lot of time on this kind of site, so I know all the best videos and games. I think it would be cool to do a website to collect the Flash animations, videos, and games that I like on the Internet. This is my original intention of making Freetheflash website. It's like this:

I learned a lot of HTML from the process of developing "Feross's Web Site", and this time I used the Dreamweaver editor of the Macromedia Company (now Adobe), which allows me to use the same template for pages I repeat on the site.

After a while, I realized that I should let the website move, I heard that it should use a programming language called PHP to do the site, rather than just using static HTML. So I bought a book that cost 20 dollars from Amazon, called PHP and MySQL for Dynamic Websites, and redesigned the site with PHP and MySQL. I also gave it a new landscaping:

In high school I have been developing this Freetheflash website for 2 years. It was pretty successful for my first attempt at a "real" site--in 2006, it got 600,000 people/times, and page views reached 3 million. Freetheflash let me know how proud it is to make a product, make it outstanding, and see a lot of people use it. It makes me want to make a bigger website.

My second website

In high school, I made a lot of notes when I was in the computer course. So, in the 11 grade, I think we should put these notes on the Internet, so that those who do not like to read textbooks to use. I made a website called studynotes, using PHP and a content management system called Joomla. I also tried to use Drupal, but found it too complicated.

That same year, I made a website for my school Key Club division, and now I don't need any more.

This period of time, I spent a lot of time in WebmasterWorld, this is a forum, mainly about webmaster and SEO experts speculate Google algorithm, discussion adsense skills, debugging site problems.

A lot of learning and reading

After I entered Stanford University, I learned a lot of computer courses, such as cs106x and CS107, and I studied some CS106 courses ahead of the years.

I spent almost all my spare time reading information about design, programming, browsers, and JavaScript. Generally 4-5 hours a day.

If you want to ask me, what are you reading? But most of them are blogs that my esteemed designers and programmers have written. You can see some of the blog links I've listed from the right side of this blog.

A critical blow

Then, in the summer of 2010, when I was interning at Facebook, I made a bet with a friend that I developed a YouTube Instant, a site for real-time search of YouTube videos. The site was accessed by 1 million users in the 10 days after it was built, and the CEO of YouTube even sent me a message that offered me a position where you can see the agitation of the media.

I know that YouTube Instant's success is due to the present good timing and a bit of luck. I think many of us have no idea what we can do.

Move on.

I've noticed a lot of people using YouTube instant to listen to music videos, which reminds me of another good way to use the YouTube API. So my friend Jake Becker and I developed instant.fm in the first 3 months of 2011, which allows you to easily share your music playlists with your friends. We have learned a lot of new things through this project.

In this project I have mastered the technology:

Jquery

CSS (and Modernizr and yepnope to solve cross-browser problems)

Python

Tornado (web Framework/server)

Git (Version control) & GitHub

Last.fm API

YouTube API

Team work

And some of the other things we learn to use:

Nginx (Web server)

Supervisor (to Daemonize Tornado)

SQLAlchemy (ORM)

Apache Ant (to builds and deploy the site after a push)

Do it!

What I've been doing since I was 11 years old is to say that if you want to learn programming, you need to do something! Go now. Don't look for any excuses.

Doing things is the best way to learn.

It's a boring thing to read a programming language book from cover to cover, and you can't read half of it. However, if you want to do a project, you will know what you should learn in the process of doing it, which is a more effective way to know and master knowledge.

Computer Courses

Computer courses in universities are another very effective way to learn programming. Most good computer courses emphasize important concepts and paradigms in the field of computer science, rather than teaching you a particular language. This will allow those who have never received formal education to broaden their horizons in self-study.

I remember the first computer course at Stanford University (which taught C + +), and I thought, "How can I get a variable without a $ symbol?" "I was only using php!. It took me a long time to get rid of the habit of adding $ sign before a variable!

Working in a software company

Another way to improve programming is to practice with software companies, such as Facebook or Quora, where I spent the last two summers. You learn how to program better, how to read and understand other people's code, and how to work together in a large project.

Or that sentence--more than any method--the best way to learn programming is to do project exercises. Did I repeat that sentence countless times?

How to Learn to program:

Do a practice project.

Look at the programming books.

Do project exercises.

On the computer course.

Do a practice project.

Read Programming blogs.

Do project exercises.

That's the best advice I can give.

I wish you a happy programming!

Article Source: aqee.net/how-i-learned-to-program-computers/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.