

How did you learn to code? - pskittle


======
ramtatatam
Same as most of people in my age - there was no internet when I was starting
my adventure (roughly 20 years ago). In my particular case it was even funnier
- computers were so expensive my family could not afford one until I was 17.
But I have fallen in love with them since I have seen them for very first time
at the age of 6. I could not play with real computer so I have been reading
all available books from the library and in some point at the age of 13 I came
across programming books. I loved the concept of how you can create new things
out of nothing (that's how I have seen programs at that time) and also I loved
the sense of full control when creating them. My friend got pentium 386
running midnight commander on it and he also got across quickbasic - we have
spent couple of days writing some programs (I particularly wanted to write a
'password' program that you would not be able to continue until you issue the
correct password). Great fun! Soon I have read most books available from the
library about programming and even hand-copied one of them (the one about C).
I did not understand half of it but found it helpful when got my first hands-
on session later in the age of 17. Once I got my computer it was already
feeling natural - I was participating in algorithmic competitions (with no
major successes) and all the time spent was adding up to my feel of coding.
Great time :-) missing it now..

------
LordHog
I first learned programming on the beloved C64 typing in basic program from
the back of a magazine. Later, I learned how to draw and animate horrible
looking sprites that dance (well, looked more like the Humpty Dance). Good
times, until the power went out and lost everything since I didn't have a
storage device at the time.

------
nicholas73
My dad had me do a C tutorial when I was 14 or 15. It was straightforward
enough, and went through basic syntax, data types, arrays and pointers. I
thought it was easy peasy, except that I didn't know what it was all for and
lost interest.

My next foray was the intro to Java course in college (was not CS major).
Again the same issue, plus objects and some weird looking String[args] thing
you were told to just go with.

I finally picked up programming (as in built stuff) 10 years later through
Udacity's webdev course. Finally I had an application, and an efficient way to
know how to build one. Previously, it was all "learn this just in case" and if
you got stuck on a bug it may be too obscure for your experience level to
figure out.

------
enigami
Business Analyst by profession and a Management Graduate.

Knowing nothing about coding, I got hooked and fascinated with the things we
can make if we are able to code. Just started to learn coding from last week
(on my own, mostly Codecademy and Codeschool) and getting a hang of it.
Yesterday I was able to create a basic website' front-end design using HTML
and CSS ;-)

Really excited about the coming months and things I should be able to do.
Probable learning path in mind is HTML+CSS, Java, PHP, Python and Ruby

I will be greateful to get some suggestions and help.

~~~
nstart
Here's a story of pragmatism

I grew up in a family which was into IT. My father owns an Enterprise IT
company. My brother was learning programming by himself. They both thought it
would be a great idea to teach me how to program too.

I. Hated. It. (pun intended). All those if else conditions and bla bla bla for
loops were booooring. Suffice to say, I never touched programming till much
later.

This was when I was around 10-12 years old. Fast forward to the point at which
I was supposed to pick a degree to do. One thing led to another and through
the most random thought process ever, I picked a degree in applied IT. That's
where you learn how to analyse a business and design the system spec and
suggest re-engineering of processes for an IT solution to be brought in (and a
lot of really great stuff that's essential to form a great backbone/foundation
to any IT project).

For the first year, students from software engineering and applied IT all take
the same modules. One of those modules, was introduction to programming via C
(Applied IT students need this since their final year will see them
partially/fully implementing solutions that they come up with for real world
problems).

The first lecture, the lecturer walks up, ties his hair back, and tells us to
forget about the language C before we start. "Huh? But we are going to learn C
right?". But no. He continues. "Programming ISN'T about the language. It's
about solving problems. If you can solve problems and if you can write down
the solution to the problems in a step by step way, then you can program.
Everything else is just syntax"

That lit a light bulb in my head. Suddenly programming wasn't about memorising
how to use an if condition. It was about just googling what the language uses
for conditions. It wasn't about memorising 'array()'. It was about finding out
what the language uses to store a set of elements in a grouped or ordered way.

It wasn't about the language. It was about first figuring out what steps I
need to take to solve the problem before going back to the language to find
out how their syntax supported my solution. I started programming then. I
switched streams to Software Engineering. And now I look forward to
programming every single day.

That, is my suggestion. Don't take the path of simply learning the language.
Approach everything from the path of how to solve a problem.

'When building you can use a nail or a screw. Learning how to move your hand
to hit the nail when using a hammer, or learning how to twist a screw driver
won't teach you how to choose between the nail or screw.'

Cheers. Let me know if you need any specific help when learning though. Will
be glad to help.

~~~
enigami
Thanks, that was really helpful and gives me a sense of direction to choose my
learning path. Could you please help me with your contact, I can use some of
your insights in the future as well

~~~
nstart
Hi. Mail is in my profile

------
Blackthorn
When I was a young teenager there was a mailing list called Linux Chicks. They
were teaching a beginners' course on C (this is long before the days of MOOCs,
I might add). I signed up and did it and that's how it all started.

------
mud_dauber
1985\. I was a newbie EE, overseeing a couple of techs as they assembled PC
boards. One tech was typing code into a monitor & watching the board spit out
gibberish (to me) in response.

"What language is that?" (He was working on, apparently, a command line.)
"It's called Forth. Here, type something."

I found a copy of Learning Forth and started decoding, by hand, the 6502
assembly code. Two months later, I was sufficiently confident to approach
another company (my current employer at that time was a hellhole) and show
them my notebook. Yay, new job!

------
wrd
I'm still learning.

I learned elementary programming from my father who taught me some Visual
Basic when I was 12, which I played with off and on throughout my teenage
years, including writing my first program for profit when I was 18. I didn't
major in CS in college, but I still futzed around with Linux in my spare time
and occasionally wrote things like poetry generators for fun. After I dropped
out of grad school at 23, I took a job programming and that's when I really
learned how to code. I recently outgrew that job and so now I'm on my own,
learning more.

------
lovelearning
We had a ZX Spectrum+ with 48Kb memory back in the mid 80s. My father and
brother bought lots of games, tools and BASIC/Pascal programming books, and
both became quite expert at BASIC programming.

I started off just playing games, but pretty soon I wanted to write my own
games. Thanks to all the resources already available, I picked up BASIC quite
easily.

That's how I first learnt to code. Looking back, I realize that though there
was no Internet back then, we had so many books and magazines that it was like
a mini Internet. Any question I had, I usually found an answer in one book or
the other. Ah, the good ole' days!

~~~
stevekemp
My parents bought the family a 48k spectrum back in the day, and the cassette
deck didn't work. It being the 80s all the shops were closed for the Christmas
period.

I learned to program (BASIC) via the big orange manual that came with the
machine. A week or two later I was happy to play Hungry Horace, etc, but I
kept up the programming, eventually moving to z80 assembly, then later PCs.

~~~
lovelearning
I absolutely remember Hungry Horace even now!

Once I came across a Sega racing game that was a magnitude faster than
anything I'd seen till then.

In a quest to find its secret, I discovered something known as "Z80 machine
code" in a spectrum magazine. The very phrase sent me into raptures of
imagination for some reason, and that's how I too ended up learning assembly
language :D.

Truth be told, I never again felt the raw adrenaline rush that coding the
Speccy gave me, so I do remember it with a great deal of nostalgia.
Thankfully, I still have my speccy in seemingly tiptop shape, and it looks
like the only thing I have to do to get it to work with my current TV is
desolder an RF cable from the TV out. I look forward to it :)

~~~
stevekemp
I wish you luck! These days I don't have any genuine hardware, but I have a
small collection of Z80 assembly language books, and old manuals.

I play games such as "Chaos", R-Type, etc under emulation, and remember my
claim to fame - getting POKEs/hacks listed in print-magazines.

The good thing for me was that Z80 and Intel assembly were so close that I had
a good head-start.

------
yedhukrishnan
One day, in our computer class, our teacher asked us to type what's written in
one page of our book. We did it. At the end, she did something with the mouse
and it started playing music. She said that we created it by programming in
BASIC. That's how I got interested in programming.

Since then, I started loving BASIC. When I realized that the essence of
programming relies on problem solving, I started to concentrate more on that.
I grabbed all the resources I could, like textbooks and notes. Because my
passion was to become a programmer.

------
plant42
When I was 7 my parents gave me a Commodore VIC-20 and after tiring of playing
games, I wanted to make my own. Started out with copying game listings out of
magazines in basic, then moved on to assembly, pascal, and then C.

Fast forward 30-ish years and I've been a developer for over 20 years coding
games to enterprise applications and everything in-between.

To me its more a calling rather than a concious choice to be a programmer,
like joining the seminary. now I spend my time mentoring younger developers
and tinkering with new languages and things.

~~~
strictnein
Similar path: I'm 30-ish as well and we had a C-64. Starting playing with it
when I was 4 or 5, copying code out of code books before I could even really
read. Also making lots of simple programs that would flash colors and fill the
screen with "I AM AWESOME!".

------
viame
I stared coding in grade 9 and soon after entered my first Skills Canada
competition for web design. Back then Flash was super hot and everyone was
using it. After that, I slowly started making websites in html, css, js.
During my electrical engineering studies I touched on BASIC and other
programming languages. After that I read more on different js frameworks and
some python. Most of my learning is self-taught.

------
jeanlescure
No internet back then.

My dad taught me to program in BASIC when I was 10.

Later when I was 13 and really interested in actually creating useful programs
I was able to coerce an older friend of mine who was studying IT in college to
hand me a copy of the Visual Studio MSDN to learn Visual Basic.

A little over a decade and also a little over 10 programming languages later,
google and I have a symbiotic relationship when it comes to learning a new
language.

Ruby has been my love for the past 2 years.

Trixite might be my next one.

------
laex
When I was a kid, I saw the movie Takedown, which impressed me a lot. I wanted
to know how to be a hacker. According to ESR's How to be a Hacker, picking up
a programming language was the way to start. I started with a relatively
unknown programming language called Euphoria. From there, moved to C, then
.NET, then Java. Now I program in wide variety of languages, all thanks to C.

------
teaddict
I was interested in computer hacking when I was child(!). Then one day I have
read, if I want to be professional I have to learn programming. So I have
decided to learn programming and begun with BASIC. Creation of a program was
really impressive for myself. It was my beginning of learning to code.

~~~
ramtatatam
Everyone wanted to be a hacker in my childhood days :-) Though nobody actually
had a clue what is it all about :-)

------
franciscogarcia
I had a python interpreter 10 years ago when I was 12. Started editing small
scripts the interpreter had bundled in, mostly small games (text adventures
and simple stuff like RPS) and such. Eventually I came across the beautiful
thing called C. It was intuitive to me and honestly I loved the feel of
learning something new. Come to think about it, I learnt C when I was 15.

------
dagw
My dad taught me a bit of BASIC and a friend of the family taught me a bit of
Logo (both on an Apple II). Then I bought some magazines and started copying
out the code samples. After that I started borrowing programming book at my
local library.

------
archagon
College, mostly. Took a few summer classes before that but it didn't keep my
interest.

