Software_by_Rob _How_to_Become_a _Programmer_1.0.pdf

(537 KB) Pobierz
How to Become a
Programmer
Everything (Non-Technical) You Need to
Know to Start Making Money Writing Code
Rob Walling
v1.0
990165540.003.png 990165540.004.png
Contents
What would you recommend if I want to specialize in programming for peer to peer
2
990165540.005.png
Introduction
Thank you for supporting this effort to provide battle-tested answers on how to become a
programmerI’vewantedtowritethisbookforatleastthreeyearsand the backlog of
questions I received during this time makes this book more valuable than it would have been
when I originally envisioned it.
Motivation
A questionyoumightbeaskingyourselfis“Whywoulda programmer write a book about how
tobecomeaprogrammer?” Like every good question the answer is much longer than you
probably care to hear. But heregoes
I receive asteadyflowofemailsaskingsomevariationofthequestion“HowcanIbecomea
programmer?”
In early 2007 I put my thoughts down in abbreviated form in the post Advice on How to Become
a Programmer , but judging by the number of new questions I continue to receive (all of which
are answered in this book), it’sobvious this subject deserves a more in-depth look than a blog
post can deliver.
Everything contained in this book is based on 10 years of professional software development.
I've been a salaried developer, a freelance developer, a consultant, a development manager,
owner of a consulting firm, owner of a small shrink-wrapped software company (a.k.a. a
MicroISV), and a technical authorI’vewritten software that has never seen the light of day,
and software that processes millions of transactions per day.
My blog is read by about 20,000 people each month, 80% of them software developers.
Updates and Questions
This book will be updated every few months as new questions surface. If you purchased this
book from Software by Rob you are entitled to a lifetime of free updates.
Ifyoudidn’tpurchasethisbookfrom Software by Rob , please consider doing so. The proceeds
contribute to updating and expanding this work, as well as answering emails from new and
potential programmers.
If you have a question Ihaven’tansweredinthesepagesfeelfreetoemailmeat
rob@softwarebyrob.com . Ican’tpromiseIwillrespondtoeveryemailbutitisvery likely you
will hear from me, if for no other reason for me to say“I’ve answered your question in the new
version of the ebooktakealook”
4
990165540.001.png
 
What is Computer Programming?
Ifyou’ve never written software before, the topic seems like a huge, foreboding black hole.
WhenItellpeopleI’masoftwaredeveloperItypically receive blank stares followed by a
change of topic.
Butit’sreally not so complicated. Computer programming, also known as programming, coding,
or software development (there are subtle differences between each term), is the process of
writing instructions that a computer can execute.
As an example: ifyou’veeverwrittenanExcelmacroyoucouldsayyou’veprogrammeda
computer.
Ifyou’veeverbuiltanHTMLpageyoucouldsayyou’vewrittencode(some would argue with
this, but it fits the definition).
And ifyou’veeverwritten code in a mainstream programming language like BASIC, Pascal, C,
Java, JavaScript, orPHPyou’vedefinitelybeeninaugurated into the world of computer
programming.
Why is Programming Necessary?
Programming is needed because computers are not very smart. Without someone telling them
what to do they are nothing more than a hunk of hardware and some flashing lights. Software
is what runs on top of the hardware, and it’swhere the really interesting things happen (says
me, a software developer).
A computer program, also known as an application, or computer software, is a collection of
instructionsor“code,”written by one or more programmers and then executed on computers.
The code can be written in any one of a number of computer languages (a.k.a. programming
languages), such as C, C++, Java, Visual Basic, Perl, PHP, etc There are literally hundreds
(thousands?) of programming languages, each with its own niche. But only a handful are widely
used at any given time, and languages tend to last for a few years and then slowly slip away as
new languages replace them. Some languages, however, stick around for decades (COBOL, C,
and C++ are examples of long-lasting languages).
The computers that this software runs on can be desktop computers internal to a company,
external customer computers, web servers, or other lesser-known specialized computers that
run in cars, elevators and your microwave.
Microsoft Word, and the entire office suite, is a program that runs on many of our desktop (or
laptop) computers.
5
990165540.002.png
Zgłoś jeśli naruszono regulamin