Alex Kehayias's Blog

  • Archive
  • RSS

Learning to Code - Choosing a Language

Based on all the feedback I’ve been getting from interviewing all the Developer Mentor Program, the first problem that comes up when someone decides they want to learn to code is often “Where do I begin?” This should help all the #learntocode2012 people narrow down what you want to learn.

Backend vs Frontend

Web programming is divided up into two sides (you may have heard these terms before); front end and back end. The frontend includes everything the user sees and interacts with. The backend provides all of the functionality, storage, and business logic for the application/website. If you really want to be able to build things from scratch by yourself you’ll need to learn both sides. That may sound daunting, so my advice is to start small and break it into manageable chunks. 

Choosing a language

Now that we know generally what the frontend and backend are we can start deciding what language(s) to start learning. 

When I read the Backend vs Frontend paragraph I thought…

1) “Frontend! I want to be able to make things pretty and useable”

2) “Backend! I want to create awesome features to solve problems”

3) “Dammit I want to learn both now get on with it!” 

If you answered (1) or (3)…

Frontend languages for modern websites and web applications: 

html 

you probably took an introductory course to html at some point in your life. If not, right click on this webpage and select “view source.” That’s html and it’s what gives a webpage something to look at. 

css

this makes said webpages pretty. It styles all of the elements on the page and determines the look and feel (sexiness)

javascript

This is what drives those subtle interactions you probably never realized. It’s what allows you to make things feel “snappy” and “fast” and prevent lots of page loads. It can do a ton of other things, but the reason it’s cool is that it’s baked into all browsers.

*I didn’t mention html5 as a separate item because it’s still part of html. Personally, I don’t use many html5 features simply because it does not support older browsers and majority of the interactions I need to create can be done in javascript. Not everyone has the latest version of Chrome you internet hipster!

If you answered (2) or (3)…

Backend languages for modern websites and web applications:

Python

It’s no secret, I love me some Python. It was my first scripting language and I find it to legible, expressive, and relatively easy to grasp. It has an incredible community and a well developed web framework called Django. 

Who uses python?

- Google

- Youtube

Ruby

Ruby has become the backend language of choice for a large amount of the web applications you see out there today. People who want to build web application fast and furious (many startups) use the Rails (you may have heard of RoR or Ruby on Rails) web framework. It does a lot of magic behind the scenes so you spend less time configuring and more time building. 

Who uses Ruby on Rails?

- Twitter

- Every startup on the east coast ;-) (no but seriously though, there is a huge demand for ruby developers in the startup community)

PHP

PHP has been around for awhile. That’s about all I’m qualified to say about it. It’s a proven backend that has been used many times over, but recently I’ve noticed that it has fallen out of favor in the startup community (which is largely python, ruby).

Who uses PHP?

- Facebook (you may have heard of them)

Javascript

What!? I though this was a frontend language! Well that’s half true. With the arrival of NodeJS, good ol’ javascript has a new job of playing backend. That means you can write backend functionality in javascript (which many of you may already know). 

Who uses Node?

- The good folks at Shelby.tv

- There’s definitely others, feel free to leave me a comment about it

Which one should I go with?

If you want my advice (and you should), go with the one that the people around you are using. If you have some buddies that know Python, go with Python. I already pointed out the languages I would recommend (notice they are all open source, scalable, community-driven, and awesome), but having access to a community of local developers is really important. Why did I learn python? Because my brother and Jordan know python. Simple as that. Just make sure you pick from the ones I recommend above.

* Please no fanboy comments about which language you think is better. That’s cool bro, go code in that. 

One More Thing

Stop worrying about which language to learn and just pick one. Using my nifty guide from this post, whichever language you pick, you can’t go wrong. You can build amazing things in any language. It’s the craftsman, not the tools. 

    • #learn to code
    • #python
    • #ruby
    • #php
    • #css
    • #javascript
    • #nodejs
    • #programming
  • 5 months ago
  • 31
  • Permalink
  • Share
    Tweet

31 Notes/ Hide

  1. fresno-jobs reblogged this from alexkehayias
  2. victimms9 liked this
  3. valenzuelaki09 liked this
  4. stephensok85 liked this
  5. salvadorto834 liked this
  6. neilslab liked this
  7. lifeandcode reblogged this from alexkehayias and added:
    Alex Kehayias’s Blog: Learning
  8. nerdybiker liked this
  9. nerdybiker reblogged this from alexkehayias
  10. mattdevuk reblogged this from nerdybiker
  11. earlybirdwords liked this
  12. placeblogger liked this
  13. nickthejam liked this
  14. alexkehayias posted this
← Previous • Next →

About

Blogging about hacking code, life, and music.

Me, Elsewhere

  • @alexkehayias on Twitter
  • Facebook Profile
  • Linkedin Profile

Twitter

loading tweets…

I Dig These Posts

  • Photo via marksbirch

    Every so often in my web ramblings, I come across an interesting tidbit. While not meant to be an endorsement of Automattic, I find it interesting...

    Photo via marksbirch
  • Post via franciscohui
    Some thoughts on pacing your life

    We live with contradictions. Which are okay for the most part, except when we’re not aware of them. It is a source...

    Post via franciscohui
  • Photoset via lifeandcode

    hasablog:

    GitHub stickers! Awesome gift :]

    Photoset via lifeandcode
  • Photo via franciscohui

    skewed. (via Porca Miseria)

    Photo via franciscohui
See more →
  • RSS
  • Random
  • Archive
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr