So, you think you want to code, build a social media app, and whatnot:  start here! 

There is only one thing to do and you know it: dive in.  If you do not have a heavy computer science background, I am afraid learning to code will require you to get out of your comfort zone; but, when has that ever been a bad thing?  You might be thinking, middle school.  It was a bad thing to leave the comfort of the folding chair or leave the wall to support itself during that first dance.  The butterflies, the admiration for another person.  Well, scotch the awkward middle school dance situations from your brain!  Besides, you are forgetting that “Bust a Move[i],” and “Cherry pie” never sounded sweeter than when you threw caution to the wind and reasoned, “I do not care what anyone thinks, I am going to cut loose, and scuff up these tacky Kenneth Cole shoes.”  And, I would hazard a guess that approach worked for a lot of people.  If I am wrong, caution me.

So, sure, it can be tough get knocked around and feel overwhelmed; however, after a while those feelings will surely give way to confidence, calm, and familiarity.  Your skillset will improve.  You will know vastly more than the average person, and hopefully, enough to deem what you learned a marketable skill.  But only if you truly put yourself out there.  As human beings, much of what we learn in life teaches us that, what you tend to get out of something is strongly related to what you put in—not always, but generally.  You will reach a point of enlightenment but only if you find yourself willing to take losses here and there.  I had to give myself similarly cheesy pep talks when I signed up for a Database Administration (“SQL”) class last Fall. I was a fish out of water.  Today, I know more about SQL, but not nearly enough to stop there.  I need to get other programming skills under my belt, too, and I want to share what I wish I studied first.

789cc42d-smush-blog-wp-content-uploads-2014-12-python1

Python is frequently cited as the best program to learn first.  Python is easy to learn; is a great stepping stone to other programming languages syntax-wise;companies such as Facebook, Twitter, Pinterest, Instagram, and Google all utilize the program; and, you can get away with using the program exclusively to build websites and applications.  The use of white space and common expressions has eliminated the need for tedious variable declarations. Python also requires less code to complete simple tasks, making it an economical language to learn as well. What is more, Python’s code is oftentimes 3-5 times shorter than Java, and 5-10 times shorter than C++!

I did not even mention Raspberry Pi yet.  Raspberry Pi is a card-sized, inexpensive microcomputer that is being used for a surprising range of exciting do-it-yourself uses, such as robots, remote-controlled cars, and for video game consoles.

Aside from Python, Ruby on the Rails is frequently cited as the next, user-friendly language to learn.  One does not need to learn a massive base of commands or specific vocabulary to start coding in Ruby.  The app is remarkably flexible and supports functional and procedural programming.  The official website for Ruby offers a 20-minute quick start guide that can help you to get familiar with some of the basics. Ruby shares some similarities to Python and Perl.

In short, these two programs probably offer the best starts to people who wish to begin coding and build a prototype.  Other than this, people recommend finding a mentor, reading programing books, or taking one of the many free programing course available online.  There is definitely a growing demand for people who know how to effectively use Python.  But do not stop here.  Looking into PHP, C, SQL, Visual Basic: find out what interests you and go for it!  If you want to build a social media site, I think Python and Ruby are the right places to start.  Computer Science majors and naysayers, do you think this is false information?  Is there something to gain from using something as minimal as Scratch?

python-job-demand-trend-screenshot

Sources:

http://www.skilledup.com/articles/reasons-to-learn-python/

http://www.quora.com/What-program-language-is-best-to-use-for-a-social-networking-website

http://www.leopixel.com/2015/02/10-best-ways-to-learn-programming-for.html

http://www.leopixel.com/2015/01/best-websites-to-learn-programming.html

[i] There will never be a time when such classics are withheld from a playlist during a dance in this region.  Also, Pour some sugar on me! No one can disabuse me, that one is constantly played ‘round these parts, too.

12 comments

  1. For those who want to learn code:
    http://www.codecademy.com
    http://codemonkeyplanet.com

    I agree that Coding is a skill that makes you marketable but there are certain trade offs. The main one being time. The best benefit in my opinion is being able to list Java Script or whatever form of code you know as a language on your Facebook. Python is a great learning language but the code logic is the most important part of the language, python however isn’t used as much as other language. I would recommend learning the code logic through a game such as code monkey planet or other free apps available for any platform and simply moving to Java or C++.

  2. Very well written post Adrian!!! As someone with a computer science background, I will say that there have been many changes to the field, and I honestly think it is for the better. I first taught myself HTML in middle school, which allowed me to create my own guild on neopets.com as well as my first website, a professional wrestling news and update site. I will never forget how exciting it was to be able to create content from scratch for the first time. Fast-forward to college where I studied computer science, primarily Java and C, two of the most important and difficult programming languages to learn and master. I was often told my professors that people who aren’t able to code in these languages a.) Don’t know how to code and b.) aren’t real programmers. Today there are many new prototype languages and web based frameworks such as Swift and and Ruby on Rails. I personally think such diluted languages and frameworks are very cool and innovative because they allow the non-traditional programmer to bypass the aches and pains of learning difficult syntax and jump right into making content. I am glad you wrote this post because I recently had a conversation with an former professor of mine that argued that Swift will never succeed because “it is not real programming and that there will always be an issue with efficiency.” I challenged him on his opinion and argued that although Swift deviates from the traditional languages he is used to, it offers many benefits to a growing technology economy. However, I couldn’t argue with the fact that prototype languages like Swift reduce the ability to write time efficient code from a compiling/runtime perspective. With that aside, in a booming tech industry, innovation is most important and new prototype languages and frameworks allow more individuals to participate within the tech space that only keeps it moving forward. Great post and I look forward to discussing this more!

    1. Great comment, Kev. Thank you.

  3. Enjoyed reading this after taking a few programming classes at BC for my information systems concentration. I have heard about Python and Ruby and how they are good first programming languages to learn, which makes me curious as to why we use Visual Basic in the Intro to Programming class at BC. I know that once you know one language, the other ones are easier to grasp, but your post just makes me wonder even more why Python or Ruby isn’t taught instead of VB. I think it is also worth pointing out that the programming community online is immense. There are so many forums and social media outlets for programmers to discuss anything really. From beginners to professionals, the range is huge, which I have always admired in the programming community. Like you mentioned, it is definitely a tough thing to initially grasp (I still struggle with coding), but it is definitely a great skill to have.

  4. tcbcmba2015 · ·

    This post made me feel a little less intimidated about learning programming, especially with the sprinkles of humor! I’ve started to learn SAS and other forms of data querying. Logic next step is to get hardcore into the programming itself. It’s a really valuable skill now, with so many jobs and careers containing a need to understand info systems. As Joey pointed out, a very nice part of the programmer community is their availability and willingness to discuss and comment when questions are posed. It makes taking the chance to learn a little more palatable.

  5. meganvtom · ·

    Great post! I completely understand the intimidation and worry you felt before taking the class on SQL (I think I might have been in your class with Pr. Spang?). When I added the info systems concentration at the end of my freshman year, I was extremely unsure of myself because I wouldn’t consider myself to be particularly computer savvy, however I was very interested in the application and implications of technology in the business world. I’ve had many people ask me how to get into programming themselves, and I never have any idea what to tell them. Your post brings up great considerations to think about when considering which languages to learn. I think its great that learning coding and the “behind the scenes” side of programming is becoming more and more accessible. I would love to learn more about Raspberry Pi and Swift!

    1. We were in class together, yup. George Yang, too. I would love to hear your thoughts. Heh. Have a great Marathon Monday. Thanks for the comment!

      1. Great post man! (Yes we are in the same class!) I have to say after learning Visual Basic for my intro class I regret lots for not taking the computer science introduction class learning about python. As I learn more about coding, I realize there is so much more to learn and I am actually thinking of doing a graduate program in CS because for my undergrad I didn’t focus on it. (Should of done CS not Finance… haha) Like what Chris said, codacademy is a great place to start but because it is very flat and does not involve problems to solve, the coding part seems rudimentary. I really like your suggestion of finding a mentor! Think I am going to look at Professor Gips to give me more guidance… haha)

  6. Great post! I really enjoyed hearing about Raspberry Pi. As a IS concentration and a self-proclaimed tech nerd, I was surprised to not have heard about it – thanks for sharing :). I also knew that Python was the language to start coding on, but I never knew that it was so much shorter than the other languages. I am so excited to see the languages that exist in 10+ years. Honestly, I would not even be surprised if the languages actually become obsolete – but who knows. It sounds somewhat impossible but I don’t think it is. I also really enjoyed the jobs demand chart about Python. It is astonishing, but I am also not surprised. At the same time, though, I think a lot of companies are hiring coders and not really caring about their personality or coding styles. I think a lot of the time companies view their coders as disposable and I think this actually affects the happiness of a lot of them. Because the demand is so high, though, companies are pretty desperate for talent. It’s definitely a catch 22.

  7. Unlike many of the previous commenters, I have absolutely no background with programming or any type of computer science. I definitely agree that it is an important skill to learn, especially with the way the job market is trending. As someone who never intends to work as a programmer, but would love to have a baseline knowledge of programming to compliment my other skills, these easier and more simple forms of programming sound intriguing. Once I am done with my MBA and have a little more free time, looking at a programming website is something I plan to do. I will definitely take a strong look at the languages you mention in your post. Thanks for sharing Adrian!

  8. Nice post! While I say at the beginning of class that “technology doesn’t matter past a certain point” I do think basic coding skills are extremely valuable to understanding how these platforms actually work.

  9. Thanks so much for this post! It’s so great to hear firsthand experiences of getting started. I still find coding intimidating and fascinating, but it’s so nice that many user-friendly tools keep popping up for continued learning. For work, I have to modify HTML in landing pages and email marketing campaigns. When I first learned this skill, I felt like a huge door had opened that let me into this hidden world. Where so many people are not even aware of what happens behind the scenes, being exposed to that world brings a whole new level of respect for what it means to have an online experience. Thanks again for sharing!

%d bloggers like this: