which programming language is best to learn first_ _ opensource.com.pdf

10
About Resources Community Participate Submit your story Editorial calendar The open source way Log in Sign Up Posted 10 Mar 2015 by ( /users/admin ) Opensource.com ( /users/admin ) (Red Hat) Feed ( /user/1/feed ) Rating: (5 votes) Image by : opensource.com Which programming language is best for beginners? C/C++ JavaScript Python Ruby Go Rust Other Vote 99 ( http://reddit.com/submit?url=http%3A%2F %2Fopensource.com%2Flife%2F15%2F3%2Fwhich-programming- language-best-beginners&title=Which programming language is best for beginners? ) Stum 419 29 Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

Upload: jose-filho

Post on 16-Nov-2015

231 views

Category:

Documents


1 download

TRANSCRIPT

  • About Resources Community Participate Submit your story Editorial calendar The open source way

    Log in Sign Up

    Posted 10 Mar 2015 by (/users/admin)Opensource.com (/users/admin) (Red Hat)

    Feed (/user/1/feed) Rating: (5 votes)

    Image by : opensource.com

    Which programming language is best for

    beginners?

    C/C++

    JavaScript

    Python

    Ruby

    Go

    Rust

    Other

    Vote

    99 (http://reddit.com/submit?url=http%3A%2F

    %2Fopensource.com%2Flife%2F15%2F3%2Fwhich-programming-

    language-best-beginners&title=Which programming language is best for

    beginners?)StumbleUpon

    419 29

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • Part of being a good open source citizen (/life/15/3/how-make-meaningful-

    contributions-open-source) is contributing to the projects and programs you use and care

    about mostand learning how to code can be a big part of that. But with so many programming

    languages out there, picking the right entry point into coding can be a challenge.

    That's why we want you, our readers, to share your thoughts. Should new coders start with an

    "old reliable" language like C, or something lighter and perhaps easier to learn, like Javascript or

    Python? Let us know what you think in our poll, and be sure to join the discussion in the

    comments section below.

    14561 reads

    20 Comments

    Starters on 10 Mar 2015

    HTML / CSS with some javascript to go in to your HTML.

    (/points-and-badges)

    Don Watkins (/users/don-watkins) on 10 Mar 2015

    (/points-and-badges) Conversation Starter Award

    2015 (/points-and-badges) (/points-

    and-badges) Social Sharer Award 2014 (/points-

    and-badges)

    What about Scratch as a choice? Lots of good reasons for that to be included.

    George Holmes on 10 Mar 2015

    As with ANY question about "beginning" something, it's so dependent on the kind of learner

    99 (http://reddit.com/submit?url=http%3A%2F

    %2Fopensource.com%2Flife%2F15%2F3%2Fwhich-programming-

    language-best-beginners&title=Which programming language is best for

    beginners?)StumbleUpon

    419 29

    2 0

    2 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • someone is, what sort of goals they might have with learning to program (a hobby? a real

    project? a new job duty? a career change?, etc.). I think any language that has a gentle

    introduction, is interactive, and offers immediate results would be my choice. The learner

    would get hooked sooner, and be ready for greater challenges. So, for me scripting

    languages with graphical output are the way to go. Therefore, Python (maybe a

    Javascript/HTML wrapper of some sort) is a better choice.

    Ron Aaron on 10 Mar 2015

    It depends entirely on what your purpose is in learning a language. Do you want to expand

    your mind? Get a job as a developer (and if so, what kind)? Program home-built devices? If

    you are interested in writing applications for multiple platforms, may I suggest "8th" (I'm its

    creator: 8th-dev.com)? If you want to write "web-apps" then HTML+CSS+JS is the easiest

    path to that at present.

    John56 on 10 Mar 2015

    Perl no longer qualifies as a top language? Has it really come to this?

    parentelaf on 10 Mar 2015

    I have no doubts! If you get into serious programming you will have to learn C!!!

    Baz on 10 Mar 2015

    C++, only because C is difficult, and it also offers OOP (in case you wanted to get into the

    gaming industry). Once you have learnt a programming language, most other languages

    would become very easy to learn though.

    1 0

    2 0

    1 0

    1 0

    1 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • (/points-and-badges)

    Cory Hilliard (/users/coryhilliard) on 10 Mar 2015

    (/points-and-badges)

    C because everything else including C++ is based on it in some way or another. C allows you

    to learn the basics of memory types, structure, loops, decisions without all the confusion of

    OOP. Once you learn C solidly, and can think as a programmer, THEN introduce OOP

    concepts. I learned Java first, but never really LOVED programming until I learned C.

    lupus Furyo on 10 Mar 2015

    I was first taught to C (1985) then C++ (1993), but all in vain. Even if I could code using

    them, I did not really enjoy programming. Then Java was out and I really fall in love with

    programming. But this story should not be a surprise, Universities and Colleges in in the

    US soon switched from teaching C/C++ to Java. So, had changed the AP Computer

    Science Exam https://apstudent.collegeboard.org/apcourse/ap-computer-science-

    a/exam-practice I love Python but do not think switching from Python to C/C++ or C#

    .NET would be as easy as from Java to those latter languages similar in syntax. But

    today, I would definitely add Java Script, HTML5 as part of any programming curriculum.

    John A. Ward on 16 Mar 2015

    A relucktant YES only because it is a real language and is taught everywhere and

    leaves you with a usable skill when you have finished the course. I use Kylix, and

    so I like Pascal as a training language, but the world doesn't, so you must go with

    the majority on this one.

    (/points-and-badges)

    2 0

    1 0

    0 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • Cory Hilliard (/users/coryhilliard) on 10 Mar 2015

    (/points-and-badges)

    It's also important to have a good IDE that is simple and basic that gets out of your way and

    just does its job effectively. If you're going to program in C, or C++ I highly recommend

    CODE::BLOCKS http://www.codeblocks.org One of the best ways of learning is having a

    simple problem to solve and writing a program to do it. There are plenty of sites that will give

    you simple walkthroughs and instruction. The more you code, the better you will get. I look

    back at some of the first programs I wrote and am like "WHAT THE HECK WAS I THINKING!"

    There is nothing like being taught a language though, so if you can go to a class or school to

    learn, do it.

    AC on 10 Mar 2015

    Firstly, use Linux as rthe dev platform, because anything else is sadistic to the kids. Start with

    basic shell scripts, then Perl, then C. From there, you can do anything you want to.

    Brandon on 11 Mar 2015

    I say stick with Java. I love Python and have taught classes in it but Java gives you a good

    introduction to programming principles. It's not truly better than C++ when it comes to that but

    it's more "reachable" to a beginning programmer. They say you only get the full potential of

    Python when you learn it first (thus why MIT and Berkeley teach it before any other language)

    but I think it's a lot harder to transition from dynamic to static typing than the other way

    around.

    Open Sourcerer (/points-and-badges)

    Jason Baker (/users/jason-baker) on 11 Mar 2015

    (/points-and-badges) Best Interview Award 2015

    (/points-and-badges) (/points-and-badges)

    There are, of course, a number of questions that are worth answering with this question. Do

    you have an opportunity to work with a mentor, or to make progress with a project that is

    important to you personally or professionally if you go with a particular language? What do

    1 0

    0 0

    1 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • you want to do with your programming skills, and is there a good community around doing

    that particular thing with your chosen language? Are libraries and bindings for these tasks

    readily available and well supported? I learned QBasic, and then Turbo Pascal, when I was

    first getting started (probably disclosing something about my age there, or at least something

    about the age of the system I learned to program on). I tried picking up C very early, but for

    what I was doing, C didn't offer any advantages in speed or ease or use, so I didn't stick with

    it. I wish I had made more of an effort with it, because when I went off to college, classes

    generally used Java. If I were starting out today, I'd probably tell the thirteen year old version

    of myself to learn Python and/or JavaScript, since these two make up 80% of the small

    amount of programming I do these days. Both were available when I was getting started

    (being 24 and 20 years old, respectively), but at the time, I had no idea that either would

    remain so prominent for so long. The real driver, the shift from desktop applications to the

    internet as a platform for application delivery, just wasn't fathomable to a teenage me in the

    90s.

    evanx on 11 Mar 2015

    Javascript is very accessible and fun e.g. instant results in the browser, with browser console,

    even drawing using HTML5 canvas. Tools like jsfiddle can be used, so all learners need is

    the browser.

    Hans Bezemer on 11 Mar 2015

    There is nothing wrong with old-fashioned (but structured) Basic to get started, simply

    because it illustrates the use of variables, input, output, branching and looping in a

    comprehensible, uncluttered way. Much cleaner than others with lots of "noise" like

    semi-colons, curly braces, etc. If you REALLY want to know and understand what

    programming is all about, take Forth - because you can understand what a Forth compiler

    does and how it works. C is much more complex in that regard, hiding its inner working below

    layers of abstractions. Certainly don't start with an OO language. The concept itself is

    seriously flawed (people who claim otherwise are just playing the parrot) and

    incomprehensible to beginners. The inner workings of OO are viciously dirty and inelegant,

    so that's no good begin either.

    Gary Mayer on 12 Mar 2015

    While this conversation is nice to have, what has been provided really can't be used in any

    conclusive way--it's all anecdotal at best. Yes, some of this feedback may be useful in some

    context but it cannot conclusively be used to determine the best intro language. If you want to

    know the best intro language, then you need to conduct experiments--i.e., use the scientific

    0 0

    0 0

    0 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • method. Then, based upon the results you can state what does and does not work in the

    context of the experimental environment. While I mean no disrespect to the language

    designers or users, Perl has already been shown to not be a very friendly intro language by

    researchers such as Andreas Stefik. Java also poses difficulties.

    Naren on 15 Mar 2015

    Python is the clear winner. People should read the given poll questions. "What is best

    programming language for beginners to learn?" . Obviously Python. Java is not there in list.

    LOL.

    (/points-and-badges)

    Eli Cummings (/users/eli-cummings) on 16 Mar 2015

    One thing about beginners, they don't know anything else. My first language way back was of

    course BASIC. Since I was primarily interested in databases, I learned dBase. This I think is

    what is most important, what is it that the a person new to programming is interested in ? I

    doubt that those who are interested in programming don't have something in mind that they

    want to do. If one is interested in systems programming, C would have to be the go to

    language. If one is interested in web site development then Javascript, HTML, CSS etc. is the

    logical choice. If one is interested in system administration, learn how to use BASH and then

    a scripting language like Python or Perl. If one wants to write desktop type applications or

    enterprise applications, Java. If one is interested in databases learn SQL first. Programming

    is not an end in itself. It is a method for doing something else. If one is looking at a career in

    programming, then the popularity index has something to say about that. C, C++, Java,

    Python, Perl. One needs to know a language that has a large installed base because in

    nearly all cases one will be doing maintenance and upgrading of existing applications.

    Beginning programming is about the primitives: data types, variables, functions, conditional

    branching, loops. These are common to all languages. A beginner can start with any

    language for these items and once comfortable with them will probably have little difficulty

    moving on to the more complex areas regardless of the language. The most important

    element is what is the interest of the person ? And not all programming is about the above.

    For some people, they can do everything they need to do in a spreadsheet using the various

    functions available to them. I remember when there used to be a whole slew of Lotus 123 and

    Excel macros floating around because people would use their spreadsheets for everything.

    One great thing that is available is the ton of tutorials available for just about everything. Let's

    not also forget that after a while, most programmers use libraries, frameworks, IDE's for their

    work. Sometimes as in a foreign language, one gets better at reading it than one does at

    speaking it which is sort of what happens when other code is used. One may not have been

    able to write it but one is able to understand what it does and use it.

    0 0

    0 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • Comment now:

    By submitting this form, you accept the Mollom privacy policy (https://mollom.com

    /web-service-privacy-policy).

    Anonymous on 17 Mar 2015

    Combining C and C++ into the same entry is a strange choice for a poll like this one. My vote

    is for "Other" (Pascal).

    Login or Register (/user?destination[destination]=node/19222) to earn points for

    your comments.

    Your name

    Accept the Terms of Use (/legal) to continue. You are licensing your contribution(s) as

    CC-BY-SA. *

    Save Preview

    Opensource.com is a place where we

    share stories about how people

    worldwide are discovering an open

    source world. See how the principles

    of open source software and the open

    source way

    (http://opensource.com/open-source-way)

    are being applied to different disciplines including business,

    education, government, health, law, and life. Follow us on

    Twitter @opensourceway. (https://twitter.com

    /opensourceway)

    More about me (/users/admin)

    0 0

    0 0

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • (/education/14/12/open-hardware-raspberry-

    pi-A-plus?sc_cid=70160000000c9ptAAA)

    Top 5 open source project management tools in 2015

    (/business/15/1/top-project-management-

    tools-2015)

    A beginner's guide to GitHub (/life

    /15/2/beginners-guide-github)

    Top 3 open source business intelligence and reporting

    tools (/business/14/6/three-open-source-

    business-tools)

    Top 5 open source customer relationship management

    tools (/business/14/7/top-5-open-source-

    crm-tools)

    The current state of video editing for Linux (/life

    /15/1/current-state-linux-video-editing)

    5 specialized Linux distributions for computer repair

    (/life/15/2/five-specialized-linux-

    distributions-computer-repair)

    What the Ubuntu phone could mean for open source

    (/business/15/2/what-ubuntu-phone-

    could-mean-open-source)

    Why now is the time to learn R (/business/14/12

    /r-open-source-language-data-science)

    Four Linux distros for kids (/education

    /14/1/teaching-kids-linux)

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34

  • (/node/17753)

    (/node/17733)

    (http://twitter.com/opensourceway)

    (http://facebook.com/pages/opensourcecom

    /162962298056)

    (https://plus.google.com

    /108750398488318674353)

    (http://www.flickr.com/photos

    /opensourceway)

    (http://www.youtube.com/opensourceway)

    (http://pinterest.com/opensourceway/)

    (http://www.linkedin.com/groups/Open-

    Source-Professionals-Advocates-

    2769297?gid=2769297)

    (http://opensource.com/feed)

    Sign Up

    Which programming language is best to learn fi... http://opensource.com/life/15/3/which-progr... 17/03/2015 06:34