SlideShare a Scribd company logo
1 of 4
INTRODUCTION TO PROGRAMMING
What Programming Actually Is
This article outlines what programming actually is, with a view to helping aspiring programmers
decide if they are making the right career choice.
An important note
You won't be surprised to hear that just about everyone has an opinion on what programming is,
how to get started with it, and so on. This article contains only my own opinions; not necessarily
the best or most insightful views, or even correct in any way. By all means seek other
viewpoints, and come to a considered, balanced judgement of why mine is far superior.
It's also important to realize the purpose of this article: not to teach you how to program, but
rather to teach you what programming is. That seems to be a question that's mostly ignored
by those who would teach you to program - they assume that you already have an idea of what
programming is, why you'd want to do it, what's basically involved, and so on. This article
answers all those questions for you, so you can then decide whether you want to start learning
how to program.
With that in mind, let's begin.
What is programming?
Given the general nature of that question, and the fact that programming is seen as a hideously
complex subject, you're probably expecting a highly convoluted and technical answer. But
you're not going to get one (sorry about that). In truth, it's quite easy to say what programming
is, so I will:
โ€ข

Programming is breaking a task down into small steps.

That's just about the most honest and accurate answer I can give. It also has the added benefit
of being concise, and sounding very much like something you'd read in an official book on the
topic, thus adding to my credibility.
You're perhaps wondering what exactly I mean by breaking a task down into small steps, so I'll
explain the point in more detail. Let me start by giving you a fact about programmers that you'll
find very easy to believe:
โ€ข

Programmers think in an unnatural way.

This refers just to the fact that programming is breaking a task into small steps, and that's not
the usual way that your mind works. An example will help you to understand what I mean.
Here's a task for you to do:
Put these words in alphabetical order: apple, zebra, abacus
I'm going to assume that you managed to put them in alphabetical order, and ended up with
abacus, then apple, then zebra. If you didn't manage that, reading this article may soon become
one of the worst experiences of your life so far.
Now think about exactly how you performed that task; what steps you took to put the words in
alphabetical order, and what you required to know in order to do so. The most obvious thing you
needed to know was the alphabet; the desired order of the letters. Then, if you're like me, you
probably did something like this:
1. Look through the words for one beginning with "A".
2. If you found a word beginning with "A", put that word at the beginning of the list (in your
mind).

1
3. Look for another word beginning with "A".
4. If there's another word beginning with "A", compare its second letter with the second
letter of our first "A" word.
5. If the second letters are different, put the two words in alphabetical order by their
second letter. If the second letters are the same, proceed to the third letter, and so on.
6. Repeat this whole process for "B" and each other letter in alphabetical order, until all the
words have been moved to the appropriate place.
Your method may differ slightly, but probably not by much. The thing to notice (which I noticed
particularly, since I'm having to type all this) is how much time it took to explain a process which
happens without any real conscious thought. When you saw that you had to put some words in
alphabetical order, you certainly didn't first sit down and draw up a plan of what you were going
to do, detailing all the steps I listed above. Your mind doesn't need to; you learned to do it once
when you were a child, and now it just happens. You have a kind of built-in shortcut to that
sequence of steps.
Now let's try another simple example:
Count the number of words in this sentence: "Programming really can be fun."
Hopefully you decided that there were five words. But how did you come to that decision? First
you had to decide what a word is, naturally. Let's assume for the moment that a word is a
sequence of letters which is separated from other words by a space. Using that rule, you do
indeed get five words when looking at the sentence above. But what about this sentence:
"Sir Cecil Hetherington-Smythe would make an excellent treasurer, minister."
Notice my deliberate mistake: I didn't leave a space after the comma. You might also feel it's a
mistake to name anyone Cecil Hetherington-Smythe, but that's a debate for another time. Using
our rule about sequences of letters which are separated from other sequences by spaces, you
would decide that there were eight words in the new sentence. However, I think we can agree
that there are in fact ten words, so our rule clearly isn't working. Perhaps if we revised our rule
to say that words can be separated by spaces, commas or dashes, instead of just spaces.
Using that new rule, you'd indeed find ten words. Now let's try another sentence:
"Some people just love to type really
short lines, instead of using the full
width of the page."
Although it might not be obvious, there is no space after "really", nor is there a space after "full".
Instead, I took a new line by pressing the return key. So, using our newest rule, how many
words would you find in that last sentence? I'll tell you: you'd get sixteen, when in fact there are
eighteen. This means that we need to revise our rule yet again, to include returns as valid wordseparators. And so on, until another sentence trips up our rule, and we need to revise it yet
again.
You might wonder why we're doing this at all, because after all, we all know what we mean
when we say "count the number of words". You can do it properly without thinking about any
rules or valid word-separators or any such thing. So can I. So can just about anyone. What this
example has shown us is that we take for granted something which is actually a pretty
sophisticated "program" in our minds. In fact, our own built-in word counting "program" is so
sophisticated that you'd probably have a lot of trouble describing all the actual little rules it uses.
So why bother?
The answer comes in the form of an exceptionally important truth which you must learn. It's to
do with computers (even your own computer that you're using to read this). Here it is:
โ€ข

Computers are very, very stupid.

2
To some people, that statement is almost sacrilegious. You can understand that, because
computers are really expensive. If you've just bought a Ferrari, you probably don't want your
neighbour to come along and say that it's ugly and slow. If you're a Mac user (as I am, so don't
send abusive email about this - I'm typing this article on my beloved PowerBook), you might
actually kill a person who said your computer was stupid.
Nevertheless, it's true - computers are desperately stupid. Your computer will sit there and do
whatever mindless task you tell it to, for days,weeks, months or years on end, without any
complaints or any slacking-off. That's not the typical behaviour of something that's even slightly
clever. It will also happily erase it's own hard disk (which is a bit like you deleting all your
memories then pulling parts of your brain out), so we're clearly not dealing with an intimidatingly
intelligent item.
In fact, computers are so painfully stupid that they require to be told, in minute detail, how to do
even the most laughably simple of tasks. It's quite pathetic, when you think about it (or perhaps
we're pathetic, since we're willing to pay ridiculous amounts of money to own them). In fact, just
about the only positive thing about computers is that they're completely obedient. No matter
how crazed your instructions might be, your computer will carry them out precisely.
By now, hopefully you can see how this is all tying together. Programmers tell computers what
to do. Computers require these instructions to be precise and complete in every way. Humans
aren't usually good at giving precise and complete instructions since we have this incredible
brain which lets us give vague commands and still get the correct answer. Thus, programmers
have to learn to think in an unnatural way: they have to learn to take a description of a task (like
"count the number of words in a sentence"), and break it down into the fundamental steps which
a computer needs to know in order to perform that task.
You may be feeling slightly uneasy at this point. I've admitted that programming is, in a way,
unnatural. I've warned you about the spectacular stupidity of computers, so you're probably
getting a small idea of the amount of task-description you'd need to do in order to make your
computer do anything even vaguely impressive. But don't worry; there are some excellent
reasons to become a programmer:
โ€ข

Programmers make lots of money.

โ€ข

Programming really is fun.

โ€ข

Programming is very intellectually rewarding.

โ€ข

Programming makes you feel superior to other people.

โ€ข

Programming gives you complete control over an innocent, vulnerable machine, which
will do your evil bidding with a loyalty not even your pet dog can rival.

At least some if not all of these points will instantly appeal to you as a human being, and it's
none of my business which ones you find most attractive. Additionally, people have been
programming for many years, and so have already written many task-descriptions ("programs")
for a lot of common tasks, so you can use all their hard work to save yourself some trouble.
Which is also a very attractive prospect, I'm sure.

If you're still not sure whether programming is for you, perhaps the next section will
help you decide.

3
RESOLVER LAS SIGUIENTES PREGUNTAS RELACIONADAS CON EL
DOCUMENTO
โ€ข

1. Con respecto a la definiciรณn: โ€œProgramming is breaking a task down into small
stepsโ€. Piense al menos en dos situaciones de
(hacer, realizar) la definiciรณn.

โ€ข

la vida real en donde deba aplicar

2. Con base en el procedimiento sugerido para resolver el ejercicio: Put these
words in alphabetical order: apple, zebra, abacus , piense cรณmo aplicarรญa dicho
procedimiento para resolver el siguiente ejercicio: Coloque cada uno de los dรญgitos que
componen los nรบmeros sugeridos, en orden descendente: 24953 98761 23704. Para
este caso el resultado debe corresponder a: 95432 98761 74320.

โ€ข

3. Para el ejercicio:
Count the number of words in this sentence:
"Programming really can be fun."
"Sir Cecil Hetherington-Smythe would make an excellent treasurer,minister."
"Some people just love to type really
short lines, instead of using the full
width of the page."
Cuรกntas palabras contiene cada una de las frases?
Cuรกles son los caracteres que no corresponden a palabras?
Que norma o regla le sugiere Usted al computador para que siempre que cuente las
palabras el resultado sea correcto?

โ€ข

4. Participar de la discusiรณn frente a la frase: โ€œComputers are very, very stupidโ€

โ€ข

5. Con respecto a โ€œComputers are very, very stupidโ€ quรฉ opiniรณn le merece
las situaciones enunciadas mรกs adelante frente a quiรฉn debe asumir la
responsabilidad de los resultados: Programador โ€“ Computador. Analice las
consecuencias de los resultados:
Situaciones:
Transacciรณn financiera no realiza la actualizaciรณn del saldo luego de una
consignaciรณn
Prรฉstamo de un libro lo asigna como prestado a otra persona
Transacciรณn financiera no realiza la actualizaciรณn del saldo luego de un traslado
a otra cuenta
Sobre los sรญntomas manifestados por el paciente se recomienda un tratamiento
equivocado
Al realizar una venta en el supermercado las cantidades que se descargan del
inventario se aumentan en vez de descontarse
4

More Related Content

Similar to Introduction to programming

C programming guide new
C programming guide newC programming guide new
C programming guide newKuntal Bhowmick
ย 
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...Sam Livingston-Gray
ย 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of CodeArun Saha
ย 
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdfBdBangladesh
ย 
Naming Things (with notes)
Naming Things (with notes)Naming Things (with notes)
Naming Things (with notes)Pete Nicholls
ย 
Programming methodology lecture23
Programming methodology lecture23Programming methodology lecture23
Programming methodology lecture23NYversity
ย 
podalize_Lex Fridman Podcast E333.pdf
podalize_Lex Fridman Podcast E333.pdfpodalize_Lex Fridman Podcast E333.pdf
podalize_Lex Fridman Podcast E333.pdfpodalize
ย 
Tools 4 Creative Business People
Tools 4 Creative Business PeopleTools 4 Creative Business People
Tools 4 Creative Business PeopleInfusion Life Coaching
ย 
A smarter way to learn python (en)
A smarter way to learn python (en)A smarter way to learn python (en)
A smarter way to learn python (en)Gagandeepsingh227859
ย 
Learn Python The Hard Way, 3rd Edition .pdf
Learn Python The Hard Way, 3rd Edition .pdfLearn Python The Hard Way, 3rd Edition .pdf
Learn Python The Hard Way, 3rd Edition .pdfCongThanhHoang1
ย 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programmingHugo Shi
ย 
Algorithms
Algorithms Algorithms
Algorithms Mohamed Essam
ย 
Naming Things
Naming ThingsNaming Things
Naming ThingsPete Nicholls
ย 
3 ways to make the research writing process easier
3 ways to make the research writing process easier3 ways to make the research writing process easier
3 ways to make the research writing process easierRicardo Portela
ย 
five great tips for being successful in the art of programming.
 five great tips for being successful in the art of programming. five great tips for being successful in the art of programming.
five great tips for being successful in the art of programming.Jenny Jordan
ย 
Five Tips To Help You Tackle Programming
Five Tips To Help You Tackle ProgrammingFive Tips To Help You Tackle Programming
Five Tips To Help You Tackle ProgrammingWiley
ย 
A Cup of Tea With Michael Larsen
A Cup of Tea With Michael LarsenA Cup of Tea With Michael Larsen
A Cup of Tea With Michael LarsenMichael Larsen
ย 
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRY
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRYโ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRY
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRYLizzyManz
ย 
Choose Boring Technology
Choose Boring TechnologyChoose Boring Technology
Choose Boring TechnologyDan McKinley
ย 
Short guide to writing fast
Short guide to writing fastShort guide to writing fast
Short guide to writing fastAnnie Johanna
ย 

Similar to Introduction to programming (20)

C programming guide new
C programming guide newC programming guide new
C programming guide new
ย 
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
ย 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of Code
ย 
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf
5.1 12 Rules to Learn to Code eBook [Updated 26.11.18].pdf.pdf
ย 
Naming Things (with notes)
Naming Things (with notes)Naming Things (with notes)
Naming Things (with notes)
ย 
Programming methodology lecture23
Programming methodology lecture23Programming methodology lecture23
Programming methodology lecture23
ย 
podalize_Lex Fridman Podcast E333.pdf
podalize_Lex Fridman Podcast E333.pdfpodalize_Lex Fridman Podcast E333.pdf
podalize_Lex Fridman Podcast E333.pdf
ย 
Tools 4 Creative Business People
Tools 4 Creative Business PeopleTools 4 Creative Business People
Tools 4 Creative Business People
ย 
A smarter way to learn python (en)
A smarter way to learn python (en)A smarter way to learn python (en)
A smarter way to learn python (en)
ย 
Learn Python The Hard Way, 3rd Edition .pdf
Learn Python The Hard Way, 3rd Edition .pdfLearn Python The Hard Way, 3rd Edition .pdf
Learn Python The Hard Way, 3rd Edition .pdf
ย 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming
ย 
Algorithms
Algorithms Algorithms
Algorithms
ย 
Naming Things
Naming ThingsNaming Things
Naming Things
ย 
3 ways to make the research writing process easier
3 ways to make the research writing process easier3 ways to make the research writing process easier
3 ways to make the research writing process easier
ย 
five great tips for being successful in the art of programming.
 five great tips for being successful in the art of programming. five great tips for being successful in the art of programming.
five great tips for being successful in the art of programming.
ย 
Five Tips To Help You Tackle Programming
Five Tips To Help You Tackle ProgrammingFive Tips To Help You Tackle Programming
Five Tips To Help You Tackle Programming
ย 
A Cup of Tea With Michael Larsen
A Cup of Tea With Michael LarsenA Cup of Tea With Michael Larsen
A Cup of Tea With Michael Larsen
ย 
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRY
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRYโ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRY
โ€œDonโ€™t Repeat Yourselfโ€: 4 Process Street Features to Keep Work DRY
ย 
Choose Boring Technology
Choose Boring TechnologyChoose Boring Technology
Choose Boring Technology
ย 
Short guide to writing fast
Short guide to writing fastShort guide to writing fast
Short guide to writing fast
ย 

Recently uploaded

Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLBhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLNitya salvi
ย 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
ย 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914Delhi Call girls
ย 
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...aamir
ย 
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingKanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingNitya salvi
ย 
Call Girls Agency In Goa ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...russian goa call girl and escorts service
ย 
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...Riya Pathan
ย 
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...ritikasharma
ย 
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...ritikasharma
ย 
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...ritikasharma
ย 
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...rahim quresi
ย 
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...ritikasharma
ย 
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
ย 
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...rajveermohali2022
ย 
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser... Shivani Pandey
ย 
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...SUHANI PANDEY
ย 
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...Riya Pathan
ย 
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call GirlsNitya salvi
ย 
Top Rated Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...Call Girls in Nagpur High Profile
ย 

Recently uploaded (20)

Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRLBhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
Bhimtal โคCALL GIRL 8617697112 โคCALL GIRLS IN Bhimtal ESCORT SERVICEโคCALL GIRL
ย 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
ย 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914
ย 
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls โœ” 8005736733 โœ” Hot Model With Sexy Bhabi Ready For Sex At ...
ย 
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment BookingKanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls ๐Ÿ“ž 8617697112 At Low Cost Cash Payment Booking
ย 
Call Girls Agency In Goa ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa ๐Ÿ’š 9316020077 ๐Ÿ’š Call Girl Goa By Russian Call Girl ...
ย 
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
Independent Sonagachi Escorts โœ” 9332606886โœ” Full Night With Room Online Booki...
ย 
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park โœ” 62971435...
ย 
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Lake Town โœ” 6297143586 โœ”C...
ย 
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi โœ” 6297143586 โœ”C...
ย 
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata โœ” 6297143586 โœ” Hot Model With Sexy Bhabi Rea...
ย 
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
Hotel And Home Service Available Kolkata Call Girls Howrah โœ” 6297143586 โœ”Call...
ย 
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
๐“€คCall On 6297143586 ๐“€ค Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
ย 
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...
Zirakpur Call Girls๐Ÿ‘ง Book Now๐Ÿ“ฑ8146719683 ๐Ÿ“ž๐Ÿ‘‰Mohali Call Girl Service No Advanc...
ย 
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
ย 
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
ย 
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...
Independent Diamond Harbour Escorts โœ” 9332606886โœ” Full Night With Room Online...
ย 
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
๐Ÿ“ž Contact Number 8617697112 VIP Ganderbal Call Girls
ย 
Top Rated Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad โŸŸ 6297143586 โŸŸ Call Me For Genuin...
ย 

Introduction to programming

  • 1. INTRODUCTION TO PROGRAMMING What Programming Actually Is This article outlines what programming actually is, with a view to helping aspiring programmers decide if they are making the right career choice. An important note You won't be surprised to hear that just about everyone has an opinion on what programming is, how to get started with it, and so on. This article contains only my own opinions; not necessarily the best or most insightful views, or even correct in any way. By all means seek other viewpoints, and come to a considered, balanced judgement of why mine is far superior. It's also important to realize the purpose of this article: not to teach you how to program, but rather to teach you what programming is. That seems to be a question that's mostly ignored by those who would teach you to program - they assume that you already have an idea of what programming is, why you'd want to do it, what's basically involved, and so on. This article answers all those questions for you, so you can then decide whether you want to start learning how to program. With that in mind, let's begin. What is programming? Given the general nature of that question, and the fact that programming is seen as a hideously complex subject, you're probably expecting a highly convoluted and technical answer. But you're not going to get one (sorry about that). In truth, it's quite easy to say what programming is, so I will: โ€ข Programming is breaking a task down into small steps. That's just about the most honest and accurate answer I can give. It also has the added benefit of being concise, and sounding very much like something you'd read in an official book on the topic, thus adding to my credibility. You're perhaps wondering what exactly I mean by breaking a task down into small steps, so I'll explain the point in more detail. Let me start by giving you a fact about programmers that you'll find very easy to believe: โ€ข Programmers think in an unnatural way. This refers just to the fact that programming is breaking a task into small steps, and that's not the usual way that your mind works. An example will help you to understand what I mean. Here's a task for you to do: Put these words in alphabetical order: apple, zebra, abacus I'm going to assume that you managed to put them in alphabetical order, and ended up with abacus, then apple, then zebra. If you didn't manage that, reading this article may soon become one of the worst experiences of your life so far. Now think about exactly how you performed that task; what steps you took to put the words in alphabetical order, and what you required to know in order to do so. The most obvious thing you needed to know was the alphabet; the desired order of the letters. Then, if you're like me, you probably did something like this: 1. Look through the words for one beginning with "A". 2. If you found a word beginning with "A", put that word at the beginning of the list (in your mind). 1
  • 2. 3. Look for another word beginning with "A". 4. If there's another word beginning with "A", compare its second letter with the second letter of our first "A" word. 5. If the second letters are different, put the two words in alphabetical order by their second letter. If the second letters are the same, proceed to the third letter, and so on. 6. Repeat this whole process for "B" and each other letter in alphabetical order, until all the words have been moved to the appropriate place. Your method may differ slightly, but probably not by much. The thing to notice (which I noticed particularly, since I'm having to type all this) is how much time it took to explain a process which happens without any real conscious thought. When you saw that you had to put some words in alphabetical order, you certainly didn't first sit down and draw up a plan of what you were going to do, detailing all the steps I listed above. Your mind doesn't need to; you learned to do it once when you were a child, and now it just happens. You have a kind of built-in shortcut to that sequence of steps. Now let's try another simple example: Count the number of words in this sentence: "Programming really can be fun." Hopefully you decided that there were five words. But how did you come to that decision? First you had to decide what a word is, naturally. Let's assume for the moment that a word is a sequence of letters which is separated from other words by a space. Using that rule, you do indeed get five words when looking at the sentence above. But what about this sentence: "Sir Cecil Hetherington-Smythe would make an excellent treasurer, minister." Notice my deliberate mistake: I didn't leave a space after the comma. You might also feel it's a mistake to name anyone Cecil Hetherington-Smythe, but that's a debate for another time. Using our rule about sequences of letters which are separated from other sequences by spaces, you would decide that there were eight words in the new sentence. However, I think we can agree that there are in fact ten words, so our rule clearly isn't working. Perhaps if we revised our rule to say that words can be separated by spaces, commas or dashes, instead of just spaces. Using that new rule, you'd indeed find ten words. Now let's try another sentence: "Some people just love to type really short lines, instead of using the full width of the page." Although it might not be obvious, there is no space after "really", nor is there a space after "full". Instead, I took a new line by pressing the return key. So, using our newest rule, how many words would you find in that last sentence? I'll tell you: you'd get sixteen, when in fact there are eighteen. This means that we need to revise our rule yet again, to include returns as valid wordseparators. And so on, until another sentence trips up our rule, and we need to revise it yet again. You might wonder why we're doing this at all, because after all, we all know what we mean when we say "count the number of words". You can do it properly without thinking about any rules or valid word-separators or any such thing. So can I. So can just about anyone. What this example has shown us is that we take for granted something which is actually a pretty sophisticated "program" in our minds. In fact, our own built-in word counting "program" is so sophisticated that you'd probably have a lot of trouble describing all the actual little rules it uses. So why bother? The answer comes in the form of an exceptionally important truth which you must learn. It's to do with computers (even your own computer that you're using to read this). Here it is: โ€ข Computers are very, very stupid. 2
  • 3. To some people, that statement is almost sacrilegious. You can understand that, because computers are really expensive. If you've just bought a Ferrari, you probably don't want your neighbour to come along and say that it's ugly and slow. If you're a Mac user (as I am, so don't send abusive email about this - I'm typing this article on my beloved PowerBook), you might actually kill a person who said your computer was stupid. Nevertheless, it's true - computers are desperately stupid. Your computer will sit there and do whatever mindless task you tell it to, for days,weeks, months or years on end, without any complaints or any slacking-off. That's not the typical behaviour of something that's even slightly clever. It will also happily erase it's own hard disk (which is a bit like you deleting all your memories then pulling parts of your brain out), so we're clearly not dealing with an intimidatingly intelligent item. In fact, computers are so painfully stupid that they require to be told, in minute detail, how to do even the most laughably simple of tasks. It's quite pathetic, when you think about it (or perhaps we're pathetic, since we're willing to pay ridiculous amounts of money to own them). In fact, just about the only positive thing about computers is that they're completely obedient. No matter how crazed your instructions might be, your computer will carry them out precisely. By now, hopefully you can see how this is all tying together. Programmers tell computers what to do. Computers require these instructions to be precise and complete in every way. Humans aren't usually good at giving precise and complete instructions since we have this incredible brain which lets us give vague commands and still get the correct answer. Thus, programmers have to learn to think in an unnatural way: they have to learn to take a description of a task (like "count the number of words in a sentence"), and break it down into the fundamental steps which a computer needs to know in order to perform that task. You may be feeling slightly uneasy at this point. I've admitted that programming is, in a way, unnatural. I've warned you about the spectacular stupidity of computers, so you're probably getting a small idea of the amount of task-description you'd need to do in order to make your computer do anything even vaguely impressive. But don't worry; there are some excellent reasons to become a programmer: โ€ข Programmers make lots of money. โ€ข Programming really is fun. โ€ข Programming is very intellectually rewarding. โ€ข Programming makes you feel superior to other people. โ€ข Programming gives you complete control over an innocent, vulnerable machine, which will do your evil bidding with a loyalty not even your pet dog can rival. At least some if not all of these points will instantly appeal to you as a human being, and it's none of my business which ones you find most attractive. Additionally, people have been programming for many years, and so have already written many task-descriptions ("programs") for a lot of common tasks, so you can use all their hard work to save yourself some trouble. Which is also a very attractive prospect, I'm sure. If you're still not sure whether programming is for you, perhaps the next section will help you decide. 3
  • 4. RESOLVER LAS SIGUIENTES PREGUNTAS RELACIONADAS CON EL DOCUMENTO โ€ข 1. Con respecto a la definiciรณn: โ€œProgramming is breaking a task down into small stepsโ€. Piense al menos en dos situaciones de (hacer, realizar) la definiciรณn. โ€ข la vida real en donde deba aplicar 2. Con base en el procedimiento sugerido para resolver el ejercicio: Put these words in alphabetical order: apple, zebra, abacus , piense cรณmo aplicarรญa dicho procedimiento para resolver el siguiente ejercicio: Coloque cada uno de los dรญgitos que componen los nรบmeros sugeridos, en orden descendente: 24953 98761 23704. Para este caso el resultado debe corresponder a: 95432 98761 74320. โ€ข 3. Para el ejercicio: Count the number of words in this sentence: "Programming really can be fun." "Sir Cecil Hetherington-Smythe would make an excellent treasurer,minister." "Some people just love to type really short lines, instead of using the full width of the page." Cuรกntas palabras contiene cada una de las frases? Cuรกles son los caracteres que no corresponden a palabras? Que norma o regla le sugiere Usted al computador para que siempre que cuente las palabras el resultado sea correcto? โ€ข 4. Participar de la discusiรณn frente a la frase: โ€œComputers are very, very stupidโ€ โ€ข 5. Con respecto a โ€œComputers are very, very stupidโ€ quรฉ opiniรณn le merece las situaciones enunciadas mรกs adelante frente a quiรฉn debe asumir la responsabilidad de los resultados: Programador โ€“ Computador. Analice las consecuencias de los resultados: Situaciones: Transacciรณn financiera no realiza la actualizaciรณn del saldo luego de una consignaciรณn Prรฉstamo de un libro lo asigna como prestado a otra persona Transacciรณn financiera no realiza la actualizaciรณn del saldo luego de un traslado a otra cuenta Sobre los sรญntomas manifestados por el paciente se recomienda un tratamiento equivocado Al realizar una venta en el supermercado las cantidades que se descargan del inventario se aumentan en vez de descontarse 4