10

The other day we were discussing a study that says Python is the best language to start learning code. What's your opinion on the subject?

Comments
  • 1
    For the fundamentals I tend to agree. Its nice that the syntax is nice and simple.
  • 9
    I think once you get used to a language like python or swift where you barely need braces or semicolons, it's a little harder to get used to a language like java where you absolutely need these.
    The other way around (starting with a language that uses braces and semicolons and then learning a language where you can leave these out) seems a bit easier. But that'd be the only downside I see with python, really.
  • 9
    My honest belief is that any language can be picked up pretty easily by anyone. Most tutorials for any language are aimed at true beginners, anyway. Python has great readability, but some concepts can be a little vague seeming and don't really prepare people for other languages in the future
  • 2
    Python is an great language to start.
    It forces readable code.
    After you learned Python youcan learn java, because you learn compilation and the use of curlly braces and generic Types. After that you can learn c/c++, rust...
  • 1
    @stop And after Java, it would be very easy to learn C#, since they are the same language
  • 2
    @SpencerBeige i not wanted to write too many languages.
  • 5
    On a side note, I think it's also good to learn C, because it's not as abstract as python and really close to the hardware. C is really fucking ugly tbh but it's important to know how pointers, memory allocation/freeing, etc work.
  • 1
    I feel python is great for learning algorithmic, but not so much for the rest of programming. Maybe it can be nice as an intro, to get some code running fast because of how close to pseudo-code it looks, before getting into a language that forces you to understand the underlying concepts, like C(++). I don't like python much, mostly because I find numpy (my main programming usage is for math) to be a mess, but I have to admit it's great at making minimal code work
  • 3
    Based on the learner's preference I'd recommend either Javascript, Python or PHP. (YES I LIKE PHP DEAL WITH IT)
  • 1
    I was introduced to the world of programming with pascal. But I started learning programming more seriously with Java. I've also learned some C and touched some other languages along the way, but Java was and is the one I use the most. I think it's a great language to learn and start developing, and it's really well documented.
  • 2
    Yes, let children write code to output into a black box (terminal).

    I taught under 16s to code in python and they hated it, even the ones who enjoyed programming.

    So, I started a side course in web dev with html, car and js and they loved it because they had something to show f8r their effort - not a header cipher program.
  • 1
    i strongly disagree. see thedailywtf forum thread about CS courses dropping Java in favor of JavaScript. some of my main points from that apply.
  • 0
    I'm doing java at uni and it's shit haha. It's so boring, I had to make a traffic sim for a project which was awfully boring.

    I think there should be two types of cs degrees, them being enterprise cs and academic cs.
  • 0
    I agree since it's the most readable and the syntax helps you develop nice habits about indexing which helps readability in any language. Since it's the closest to English it's difficult for it to scare people off.
  • 1
    @stop this was my exact learning path. Would recommend
  • 0
    @uniquesmash the java they have taught is to a high level and I can do anything in it, however, I come from a php and js background which make it hard for me to move to java.

    But I don't think java is the best beginner language, I believe it's web tech as you have something to show for your hard work. Also, jumping into java without the understanding of software dev is a bad idea IMO.
  • 0
    But most authors, teachers and universities are make their stuff for java
  • 0
    @stop Java's been the standard for a number of years, but they're starting to move away to languages like Python
  • 1
    ++ agree with @Nbfour, i started with python at 2012, and when i started learning other languages it took me another year to understand whats going on. a lot of difficulties because the missing of the braces and semi colons.
  • 1
    Go could be a good starting point for backend as well, it's very structured and simple, especially if you ignore concurrency/goroutines.

    For teaching kids, I'd suggest processing — because you can start playing with shapes and animations right out of the box. Khanacademy has a great online CS course suitable for elementary school kids, based on processing.
  • 1
    @bittersweet GO is not a popular language in the enterprise environment. It may be a good language to teach to beginners, but you have to take in account if it's a language that will help your entry to the dev market as well.
  • 1
    @dfloureiro Depends on the type of enterprise, I see job openings mentioning Go appearing fairly quickly in my region lately.

    It's not as popular as Java or Python by a long shot, but was made by Google as an even easier to learn and easier to read Python replacement.

    I think your first language should primarily teach you how to loop and branch based on logical expressions, leaving out the overhead. Python, JS and Go come with kiddie pool included so to speak.

    Learning Rust or Haskell directly would be like throwing yourself into the deep end — you must directly understand OOP and FP concepts, things like classes, scopes and advanced strict type systems to produce meaningful programs.
Add Comment