Anda di halaman 1dari 4

I'm learning Python since last week and I would say it's ...

Page 1

LIFEHACKER(/)
(/)
Norman (http://normun.kinja.com)
12/06/13 12:39am (http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117/@normun)
(http://normun.kinja.com)
I'm learningPythonsince last week and I wouldsay it's really fun and I'm loving it. It's a good choice server side
languageto learn first.
Reply
12/05/13 10:00am (http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665)
Original post by MelaniePinola (http://melaniepinola.kinja.com) on LIFEHACKER(HTTP://LIFEHACKER.COM)

(/)
50

(http://melaniepinola.kinja.com)

Which Programming Language Should I Learn First? (http://


lifehacker.com/which-programming-language-should-i-learn-first-1477153665)

Dear Lifehacker,
With all the buzz about learningto code, I've decidedto give it a try. The problemis, I'm not sure whereto start. What's the best programming
languagefor a beginnerlike me?
Signed,
Could-Be Coder
Dear Could-Be,
That's probablyone of the most popularquestionsfrom first-time learners, and it's somethingthat educatorsdebateas well. The thing is, you can
ask ten programmerswhat the best languageis to get your feet wet with and you could get ten differentanswersthere are thousandsof options.
Which languageyou start with dependsnot only on how beginner-friendly it is, though, but also the kind of projectsyou want to work on, why
you're interestedin codingin the first place, and perhapsalso whetheryou're thinkingof doing this for a living. Here are some considerations
and suggestionsto help you decide.

Why Do You Want to Learn to Code?


Dependingon what it is you want to make or do, your choice might alreadybe made up for you. To build a websiteor webapp, for example, you
shouldlearn HTML and CSS, along with JavaScriptand perhapsPHP for interactivity. If your focus is mostly/only on buildinga mobile app,
then you can dive right into learningObjective-C for iOS apps (http://lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-isa-roadmap-for-creating-your-first-app) or how to programwith Java (http://lifehacker.com/5933073/how-to-program-with-java-teaches-youthe-basic-concepts-of-programming-and-java-too) for Android(and otherthings).

http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117

05/20/2014 11:20:42

I'm learning Python since last week and I would say it's ...

Page 2

(http://lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-is-a-roadmap-for-creating-your-first-app)
Apple's StartDevelopingiOS AppsToday Guide Is a Roadmapfor CreatingYour First App (http://lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-is-a-roadmap-for-creating-your-first-app)Apple's StartDevelopingiOS Apps
Today Guide Is a Roadmapfor CreatingYour First App (http://lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-is-a-roadmap-for-creating-your-first-app)Apple's StartDevelopingiOS AppsToday Gui... (http://
lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-is-a-roadmap-for-creating-your-first-app)

Read more (http://lifehacker.com/5886946/apples-start-developing-ios-apps-today-guide-is-a-roadmap-for-creating-your-first-app)


If you're lookingto go beyondone specificprojector specialty, though, or want to learn a bunch of languages, it's best to start with learningthe
basic conceptsof programmingand how to "thinklike a coder." That way, no matter what your first programminglanguage, you can apply those
skills towardslearninga new one (maybein as little as 21 minutes(http://heartmindcode.com/2013/06/18/teach-yourself-a-new-programminglanguage-in-21-minutes-or-2-3-years-it-depends/)). Even kids' codingapps (http://lifehacker.com/how-and-why-to-teach-your-kids-tocode-510588878) can be usefulto start with. For example, the first formalprogrammingcourse I took (well, otherthan BASICback in fourth
grade) was Harvard's CS50, which you can take for free (https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022).
ProfessorMalan starts the course off with Scratch(http://scratch.mit.edu/), a drag-and-drop programmingenvironmentbuilt for kids that
teachescodingbasicsand logicwhile helpingyou createsomethingcooland then he proceedsto teachyou C.

(http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878)
How and Why to TeachYour Kids to Code(http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878)How and Why to TeachYour Kids to Code(http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878)How
and Why to TeachYour Kids to Code(http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878)

Read more (http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878)


We've featured severalotherexcellentresources(http://lifehacker.com/tag/learn-to-code) for learningto codeover the years, such as interactive
course Codecademy(http://www.codecademy.com/), but even with those you still need to choosewhich languageto start with. So let's take a
look at the differencesbetweenthe more popularonesand which are most recommendedas a starterlanguage.

The Most-Often Recommended Programming Languages for Beginners


Most of the "mainstream" programminglanguagessuch as C, Java, C#, Perl, Ruby, and Pythoncan do the sameor nearly the sametasks as
the others. Java, for example, works cross-platformand is used for web apps and applets, but Ruby also can do large web apps and Pythonapps
similarlyrun on Linux and Windows. SOA World(http://soa.sys-con.com/node/2879194) points out that becausemany languagesare modeled
after each other, the syntaxor structure of workingon them is oftennearly identical, so learningone oftenhelpswith learningthe others. For
example, to print "Hello World," Java and C# are syntacticallysimilarjust as Perl and Pythonare:

They differ, however, in how easy they are to set up and get into. SOA Worldcontinues:
Hey, by the way, if you lookedcloselyat thoseexamples, you'll noticesome are simple, others are complex, and some requiresemicolons
at the ends of lines while others don't. If you're just gettingstarted in programming, sometimesit's best to chooselanguageswithout
manysyntactical(or logical) rules becauseit allowsthe languageto "Get out of its own way". If you've tried one languageand really
struggledwithit, try a simpler one!

Here's a quick comparisonof the most popularprogramminglanguages:


C: Trains You to Write EfficientCode
http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117

05/20/2014 11:20:42

I'm learning Python since last week and I would say it's ...
Page 3
C is one of, if not the (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), most widelyused programminglanguages. There
are a few reasons for this. As notedprogrammerand writerJoel Spolskysays (http://www.joelonsoftware.com/articles/CollegeAdvice.html), C is
to programmingas learningbasic anatomyis to a medicaldoctor. C is a "machinelevel" language, so you'll learn how a programinteractswith
the hardwareand learn the fundamentalsof programmingat the lowesthardwarelevel(C is the foundationfor Linux/GNU). You learn things
like debuggingprograms, memorymanagement, and how computerswork that you don't get from higher levellanguageslike Javaall while
preppingyou to codeefficientlyfor otherlanguages. C is the "grandfather" of many otherhigher levellanguages, includingJava, C#, and
JavaScript.
That said, codingin C is stricterand has a steeper learningcurve than otherlanguages, and if you're not planningon workingon programsthat
interfacewith the hardware(tap into devicedrivers, for example, or operatingsystem extensions), learningC will add to your educationtime,
perhapsunnecessarily. Stack Overflowhas a good discussionon C versus Java (http://stackoverflow.com/questions/143820/i-can-learn-either-cor-java-which-one-should-i-choose-first-should-i-take-the) as a first language, with most peoplepointingtowardsC. However, personally,
althoughI'm glad I was exposedto C, I don't thinkit's a very beginner-friendly language. It'll teachyou discipline, but you'll have to learn an
awful lot before you can make anythinguseful. Also, becauseit's so strict you might end up frustratedlike this (http://www.qwantz.com/
index.php?comic=1177):

Java: One of the Most PracticalLanguagesto Learn


Java is the second most popularprogramminglanguage, and it's the languagetaught in Stanford's renowned(and free) Intro to CS
programmingcourse (http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111). Java enforces solid Object
Orientedprinciples(http://en.wikipedia.org/wiki/Object-oriented_programming) (OOP) that are used in modernlanguagesincludingC++,
Perl, Python, and PHP. Once you've learnedJava, you can learn otherOOP languagespretty easily.
Java has the advantageof a long history of usage. There are lots of "boilerplate" examples, it's been taught for decades, and it's widelyused for
many purposes(includingAndroidapp development) , so it's a very practicallanguageto learn. You won't get machine-levelcontrol, as you would
with C, but you'll be able to access/manipulatethe most importantcomputerparts like the filesystem, graphics, and soundfor any fairly
sophisticatedand modernprogramthat can run on any operatingsystem.
Python: Fun and Easy to Learn
Many peoplerecommendPythonas the best beginnerlanguagebecauseof its simplicityyet great capabilities. The codeis easy to read and
enforces good programmingstyle (like indenting), withoutbeing overly strict about syntax(things like rememberingto add a semicolonat the
end of each line). Patrick Jordanat Ariel Computing(http://www.ariel.com.au/a/teaching-programming.html) comparedthe time it takes to
write a simplescript in variouslanguages(BASIC, C, J, Java, and Python) and determinedthat while the otherlanguagesshouldn't be ignored,
Python:
requiresless time, less lines of code, and less conceptsto be taughtto reach a givengoal. [] Finallyprogrammingin Python is fun!
Fun and frequentsuccessbreedconfidenceand interestin the student, who is then better placedto continuelearningto program.

SOA says Pythonis an absolutemust for beginnerswho want to get their feet wet with Linux (or are alreadyfamiliarwith Linux). Python's
popularityis also rising quickly today thanksto wide adoptionon popularwebsiteslike Pinterestand Instagram.
http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117

05/20/2014 11:20:42

I'm learning Python since last week and I would say it's ...
Page 4
JavaScript: For JumpingRight in and Building Websites
JavaScript(of little relationto Java) requiresthe least amountof set up to get started with, since it's alreadybuilt into web browsers. O'Reilly
Media(http://programming.oreilly.com/2013/11/which-language-should-you-learn-first.html) recommendsyou start with JavaScriptbecauseit
has a relativelyforgivingsyntax(you can codeloosely in JavaScript) , you see immediateresults from your code, and you don't need a lot of tools.
In our own Learn to Code night school (http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide) we use JavaScriptto showyou
the basicslike how variablesand functionswork. If you want to make cool interactivethings for the web, JavaScriptis a must-have skill.
Image
(http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide)
Learn to Code: The Full Beginner's Guide (http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide)Learn to Code: The Full Beginner's Guide (http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide)Learn to Code: The
Full Beginner's Guide (http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide)

Read more (http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide)

Choosing Your Path


One last considerationis whetheror not you might want to go from codingas a hobby to doing it as a career. Dev/Code/Hack (http://
devcodehack.com/which-programming-language-should-you-learn-to-make-money/) breaksdown the differentjob roles and the skills you
shouldpick up for them:
Back-end/Server-side Programmer: Usually uses one of the following: Python, Ruby, PHP, Java or .Net. Has database
knowledge. Possibly has some sysadminknowledge.
Front-end/Client-side Programmer: HTML, CSS, JavaScript. Possibly has designskill.
MobileProgrammer: Objective-C or Java (for Android). HTML/CSS for mobilewebsites. Potentiallyhas server-side knowledge.
3D Programmer/GameProgrammer: C/C++, OpenGL, Animation. Possibly has good artistic skill.
High-PerformanceProgrammer: C/C++, Java. May have backgroundin mathematicsor quantitativeanalysis.

In the end, though, there's no one way to get started learningto code. The most importantthing is to learn the fundamentalsthrough"scratching
your itch," so to speak, with workingon a problemsyou want to solve or somethingyou want to build. As the programmingis terrible (http://
programmingisterrible
.com/post/40453884799/what-language-should-i-learn-first) blog says:
The first programminglanguageyou learnwill likely be the hardestto learn. Pickingsomethingsmall and fun makes this less of a
challengeand moreof an adventure. It doesn't really matter whereyou start as long as you keep goingkeep writing code, keep
readingcode. Don't forget to test it either. Once you have one languageyou're happywith, pickingup a new languageis less of a feat,
and you'll pick up new skills on the way.

Once you've decided, previouslymentionedBento(http://lifehacker.com/bento-showcases-the-best-resources-for-learning-to-code-1450016607)


will suggestthe resourcesyou need and the coursesto take after you've learnedyour first language.

(http://lifehacker.com/bento-showcases-the-best-resources-for-learning-to-code-1450016607)
BentoShowcasesthe Best Resourcesfor Learningto Code(http://lifehacker.com/bento-showcases-the-best-resources-for-learning-to-code-1450016607)BentoShowcasesthe Best Resourcesfor Learningto Code(http://lifehacker.com/bentoshowcases-the-best-resources-for-learning-to-code-1450016607)BentoShowcasesthe Best Resourcesfor Learning... (http://lifehacker.com/bento-showcases-the-best-resources-for-learning-to-code-1450016607)

Read more (http://lifehacker.com/bento-showcases-the-best-resources-for-learning-to-code-1450016607)


Love,
Lifehacker
50

331

Highlights(http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665)
All replies (http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/all)
About (http://lifehacker.kinja.com/5732066/about-lifehacker) Help (http://help.gawker.com/) Termsof Use (http://legal.kinja.com/kinja-terms-of-use-90161644)
Privacy(http://legal.kinja.com/privacy-policy-90190742) Advertising(http://advertising.gawker.com/)
Permissions(http://advertising.gawker.com/about/index.php#contact) ContentGuidelines(http://legal.kinja.com/content-guidelines-90185358)
RSS (http://feeds.gawker.com/lifehacker/full) Jobs (http://grnh.se/2ctqpi)

http://lifehacker.com/which-programming-language-should-i-learn-first-1477153665/1477749117

05/20/2014 11:20:42

Anda mungkin juga menyukai