What is Programming?

Many times in my line of work, people have asked me questions like…

  • “What is programming?”
  • “Isn’t it hard?”
  • “How do I get started?”
  • “What language(s) should I learn?”

First off, programming is not that difficult. It only seems hard for those that have not learned how to program. All programming boils down to a few essential topics…

  • Anticipation – you need to be able to put yourself into the shoes of your end user.
  • Logic (critical thinking) – you need to be able to think logically through a problem.
  • Problem simplification – most programs that seem complex are just a lot of problems that each have been broken down. A good programmer breaks down a project into little solvable problems.

Programming is really taking something that is dumb and making it smart. Think about your computer. Without programming, it is simply a hunk o’ junk.

So…is it hard? Only if you try to tackle the entire ‘mountain’. Start small and learn the basics of programming. As you learn the basic tenets of programming, you will find the entire programming picture coming together before too long.

As to how someone might get started, I suggest beginning with some online tutorials and working through some hands on programming lessons. If you are looking to take some classes, we have some great ones that my colleagues and I teach at Northcentral Technical College. I suggest Introduction to Programming.

As to what language(s) to learn, there are several great languages out there. So any of them would be a good choice, but if I would have to boil it down to one choice, then I would suggest JavaScript. The reasons are…

  • Easy to get started
    • Just need a text editor and a browser
  • JS (JavaScript) is everywhere, even in enterprise environments

Resources

There are a lot of resources available (just Google and you can find tons of them)…here are some that might help you out…

  • JSLint – JS code quality tool
  • JSHint – JS code quality tool forked off of JSLint
  • JSFiddle – – JS code quality tool that includes libraries, HTML and CSS
  • W3schools – good beginner tutorial resource on various programming topics
  • Codecademy – online programming training course. Some are paid.
  • Codeavengers – online programming training course. Some are paid.
  • Browsers – Chrome, FireFox, Safari and Internet Explorer
  • Inspectors – all browsers have built in or add-on inspectors (FireBug) that allow you to debug/inspect your code when you have issues
  • Text editors (IDE) – you will need a text editor to be able to write your code. There are a lot out there. Here are some of the more popular ones…

I would encourage everyone to at least learn a little about programming, even non-programmers. If you think about it, nearly everything we do in our lives is touched by programming in some way…and most of us do not know how to code/program. It would benefit everybody to have at least a basic understanding of programming.

If you are looking for a field to enter and wonder if programming might be for you. Well, I am not certain if it is for you or not. What I can tell you is that there will be many, many job opportunities for programmers now and in the future. It is estimate that by 2020, there will be one million more jobs than programmers (data). So start learning how to code/program today!

Happy coding!

Clay Hess

About Clay Hess

Clay has a passion for technology…not just for the ‘cool-ness’ factor, but for the way technology has and is improving our lives. Who could have foreseen how technology has become integral in everyones daily way of life. Each of us relies on some sort of technology to improve our lives and the lives of others. That is what drives Clay and Webolution Designs…changing peoples’ lives. Web technology can be an amazing tool to improve businesses, quality of life and bring hope to those that otherwise may not receive it if it weren’t for a technological advance. This is the reason that the Webolution Designs tagline is “We all want to change the world”.