Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday November 04 2016, @07:09PM   Printer-friendly
from the choose-logically dept.

We've had this question asked before I believe but it does no harm in asking it again and again. After all, opinions change as does the software ecosystem. Quincy Larson of FreeCodeCamp.com asked this question via Medium: What programming language should you learn first? He thinks JavaScript is the way to go and his arguments are cogent and well thought out. However, I am somewhat hesitant to suggest someone learn to code in JavaScript first. My first programming language (in 1981!) was Fortran on a Control Data mainframe. The interactive environment the OS provided was pretty simple and the language provided few opportunities to hang yourself. JavaScript, by comparison, while it may not have those evil pointers of C/C++, it offers functional features and plenty of rope to hang oneself.

So, opinions please.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by dyingtolive on Friday November 04 2016, @07:30PM

    by dyingtolive (952) on Friday November 04 2016, @07:30PM (#422573)

    You either go for something simple and straightforward with lots of easy buttons like python. It's powerful enough to actually do things, while "friendly," or you go with something like C/C++ because it rips the bandaid off and lets you glimpse into the reality of what you're actually working with.

    Also, fuck javascript.

    --
    Don't blame me, I voted for moose wang!
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 1, Insightful) by Anonymous Coward on Friday November 04 2016, @07:40PM

    by Anonymous Coward on Friday November 04 2016, @07:40PM (#422576)

    I agree.

    Python should be the first language you learn, because it has great tutorials, it's everywhere, and you can use it for serious things if need be.
    Then you learn C/C++ when you need to extend Python.

    I'm not going into the C vs C++ fight right now.

  • (Score: 3, Funny) by mhajicek on Friday November 04 2016, @07:41PM

    by mhajicek (51) on Friday November 04 2016, @07:41PM (#422577)

    Whenst thou gazeth into the C, the C also gazeth into thee.

    --
    The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
  • (Score: 3, Touché) by ikanreed on Friday November 04 2016, @07:57PM

    by ikanreed (3164) Subscriber Badge on Friday November 04 2016, @07:57PM (#422585) Journal

    Also, fuck javascript

    I feel like that's a perfect modern parallel to "Ceterum censeo Carthaginem esse delendam."

  • (Score: 0) by Anonymous Coward on Friday November 04 2016, @07:58PM

    by Anonymous Coward on Friday November 04 2016, @07:58PM (#422586)

    Personally, I love python. I think its one of the greatest langs out there because of its simplicity and power. However as a first language its not perfect. Its not using the ubiquitous C-style syntax and has a lot of specifics that don't translate well (or at all) to other languages. Its super easy to learn and from that perspective alone it makes for a great first language. But as a starter language that is supposed to serve as a jumping-off point for other languages, I don't think Python is the best choice (although I'm loathe to suggest any other).

    • (Score: 1) by Ethanol-fueled on Friday November 04 2016, @11:25PM

      by Ethanol-fueled (2792) on Friday November 04 2016, @11:25PM (#422673) Homepage

      C++ for intermediate/hard-mode, Java for easy mode. Both if you have enough free time.

      And for the reasons you specified, fuck no, not Python.

    • (Score: 0) by Anonymous Coward on Saturday November 05 2016, @08:25AM

      by Anonymous Coward on Saturday November 05 2016, @08:25AM (#422774)

      For beginners, Python also has the issue that you can do things in a horrible, overcomplicated way, or you can do it in a nice and clean way.
      The nice and clean way is not obvious and to even find it documented often requires searching for it after going "there must be a better way".
      Without guidance and knowing about this, no beginner will end up with nice clean code in Python (I have also objections to significant whitespace, it makes change review and even merges a real challlenge - I kind of don't think a programming language that by design is incompatible with good change management and version control will teach people the right thing).
      I am certainly biased, but I still think a modern Pascal variant is a good place to start, to be amended with an IDE like lazarus.
      Usability similar to C# without having to go proprietary and Windows-only (and yes, especially when it comes to UI but also many other things C# is in practice still Windows-only).

    • (Score: 3, Interesting) by sjames on Sunday November 06 2016, @06:44AM

      by sjames (2882) on Sunday November 06 2016, @06:44AM (#423046) Journal

      There are some pitfalls to Python as a starter language, but many advantages as well. It supports a wide variety of approaches to a problem, so it is possible to write a program in many styles including old-fashioned procedural programming, object oriented, or even functional. It presents a wide enough variety that when learning a second language there will probably be a relatable feature in Python. Especially when used in a teaching environment, that means wide coverage of concepts without having to change languages.