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
  • 1 year ago
  • 32
  • Permalink
  • Share
    Tweet

About

Blogging about hacking code, life, and music.

Me, Elsewhere

  • @alexkehayias on Twitter
  • Facebook Profile
  • Linkedin Profile

Twitter

loading tweets…

I Dig These Posts

  • Post via jordanorelli
    hexes

    image

    source

    Post via jordanorelli
  • Photoset via ruineshumaines

    Katharina Grosse

    Photoset via ruineshumaines
  • Photoset via myedol

    Imeüble by Bjørn Jørund Blikstad

    Created out of plastic this interesting shelving system really messes with your mind. Simple to assemble and...

    Photoset via myedol
  • Photo via tr3ats

    There’s a sense of satisfaction when using a pen ‘til it runs out of ink. It doesn’t happen often, but when it does, it feels like the arrival of a...

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

Effector Theme by Carlo Franco.

Powered by Tumblr