Posted on 03/05/2016 11:57:50 AM PST by OddLane
Coding is easy!
Anyone can learn to code!
Everyone should learn to code!
Hogwash. Learning to code is exceptionally difficult. Its true that it has never been easier to attempt to learn to code, but trying and doing are two completely different things. As someone with virtually no computer science or mathematics background, diving into the world of programming has been an eye opening experience. If you havent studied computer science already, I guarantee that you are underestimating just how vast the domain actually is.
Im not saying this to discourage anyone interested in learning to code, (quite the opposite!) I just want people to enter this field with their eyes open. There are a wealth of free resources online for learning any number of languages, and if you are interested in seeing what this is all about I highly recommend giving one of them a try. My only warning is that once you complete those first classes and tutorials, you are essentially on your own.
Many people have written on this topic in the past, so Im not going to reiterate what has already been put better by others (most notably Erik Trautman of the Viking Code School), but I will try and give you some advice on where to get started and how to avoid the pitfalls I found myself tripping into. So, where to begin:
(Excerpt) Read more at mattpritchard.io ...
Windows Powershell might be a better starting point for learning OO programming.
That’s Barney the dinosaur, I’m pretty sure.
Since those days I've done it all, although these days, unfortunately, it is a game for younger men.
The actuaries I worked with back in the day were all horrible coders. They kept trying to re-create mathematical equations in PL/I (yes, I'm that old).
But - just like learning to speak a language - the hardest part is not learning words or simple sentences but to express complex ideas in an elegant, efficient, and reusable way. Not many people are very good at it. American business runs on terrible code - "Office Space" was a highly accurate documentary. :)
A good point, since I learned to code when coding was linear. I have to go back and teach myself what they meant by Object Oriented code. I did this to teach AP Computer Science class in high school. They code in Java.
I only took a semester of programming, but obviously the secret is to learn to read punchcards by eye.
I've written everything from 65C02 Machine Language to IBM 360 Assembler to COBOL to Basic to Java, and the principles never change, only the syntax.
One place I disagree with the author: research shows that learning programming works in the brain much like learning spoken language. And like spoken language, early exposure to multiple languages is very good. Making yourself multi-lingual is important to long term success.
The half-life of tech knowledge is about 5 years. I use almost nothing I used even 10 years ago today, much less 20-30.
The “obfuscated C code contest” was a real thing in the USENET days. Many people had signatures that, when compiled, gererated an ASCII business card of sorts.
About once a year, people would push the limits with examples like the one you posted. The goal was to create a working program with coherent output that as source code looked like a baby had gotten hold of the keyboard.
I think these programs also contributed to improving the compilers of the time, too by pushing them to their limits.
12. Any comments you do write will be:
a.) Trivial or obvious.
b.) If not trivial or obvious, completely wrong when current or obsolete when added after the fact.
Actually item 10 should read hand off the consultant brought in to fix project
LOL! My first real foray into “programming” was based on paper boxes containing MnMs. It was a tic-tac-toe state machine, rendered on paper. You added MnMs of a certain color to a particular game state depending on the outcome of the game, and used those to determine the “machine’s” move against you during the next game. IIRC, eventually, you couldn’t get better than a tie. Against paper.
Peace,
SR
And if you really intend to reach the highest echelons, you better bring some mad math skills. Just sayin'
Strongly disagree. The number of resources to learn coding and development has never been more prevalent: books, ebooks, virtual machines, cloud based IDEs, lectures, videos, on site training, mentoring, open courseware, MOOCs (massive online classes), etc.
We can apply Bloom's Taxonomy of learning given that many developers deal in knowledge of technique, facts, and appliction. Consider Bloom's "cognitive" style of learner and the resources available for him/her :
There are many different techniques for various learning styles. What is so powerful today is there are many different forums for learning such as self-study, private school, workshops, tutorials, and of course RTFM!
The author confusing learning to code with being and effective coder.
Lot of great advice on this post! central_va shares it's the experience that teaches us the advanced stuff. Lee martell says be ambition! HeartlandOfAmerica shares it perseverence, practice and attention to detail.
Bottom line, the motivated learner has the tools to learn coding, just add GRIT!
13. Let testers debug your code. When you fix the problem you will look like a hero. Heck put bugs in there on purpose. Never submit perfect code. Ever.
Good luck to your son!
I wouldn't recommend starting with C and going to an object oriented language later either, because that's what I did. If you become good at C, there is a lot to unlearn to properly code in objects. Just unlearning things takes at least a year or two.
Depending on the age of the student, Scratch is a good learning tool. Also Pharo, which is a free Smalltalk implementation. You can't get a job in Pharo, but it is great for learning object oriented languages.
Yes, there are three basic steps to coding.
1. Learn how to operate a punch card machine
2. Figure out how far apart to make you initial line numbers so you don’t have to gosub too often and try to remember where to return.
3. Learn how to take code someone else has written and modify it to do something useful.
Oh, and avoid endless loops.
For those in the San Diego area, I know the non-profit after school program, “The League of Amazing Programmers” has been doing an outstanding job teaching kids, starting in the 5th grade, real, professional-level Java.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.