ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Picking a First Language to Learn to Program

    Developer Discussion
    programming languages python
    6
    14
    4.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by

      One of the toughest things about getting started with programming is that you naturally have no idea where to start because you need to know how to program before you have the necessary knowledge to understand what tools and languages will make sense for you to learn! A Catch-22 of learning to program.

      Probably the biggest question that new learners have is โ€œWhat language do I start with?โ€ This determines a lot about how you will learn, what resources are available to you, how you think about programming and more. Different languages have different purposes, goals, common usages, styles, benefits, mind and market share, value, etc. And there are so many.

      This topic comes up regularly and with rare exception the answer is always: Python.

      Python is an ideal language for a new learner for a great many reasons.

      • It is broadly regarded as an excellent learning language and because of this there are plentiful learning resources of all sorts targeted at new learners learning to program for the first time, not only learning Python as a new language.
      • It is a platform independent language. When you choose Python you are not locked in to Windows, Mac, Linux or any other OS. You can write your programs on any platform and run them on any platform.
      • Python is widely supported by PaaS hosts so having your own system on which to run things is not needed.
      • Python is possibly the most broadly supported language for tools, including many great ones.
      • Python is a general purpose language that is used in many of the most common scenarios, moreso than probably any other language, from simple scripts and system automation tasks to robust desktop apps, games, scientific computing, web development, etc.
      • Python is an object oriented language with great flexibility for imperative and procedural styles making it perfect for early learning and more advanced concepts without changing languages.
      • Python has a simple and expressive syntax that is not unnecessarily complicated.
      • Python is designed to encourage good practices that are important for new learners.
      • Python is heavily used in both software engineering as well as IT so it is very flexible as a career building language.
      • Python is an interpreted scripting language with a REPL making it easy to pick up and get started immediately without needing to spending time learning a compiler and linker and other complicated boilerplate.
      AVI-NetworkGuyA 1 Reply Last reply Reply Quote 11
      • LakshmanaL
        Lakshmana
        last edited by

        Any links to learn the language properly

        1 Reply Last reply Reply Quote 0
        • mlnewsM
          mlnews
          last edited by

          Learning Python Resources

          Online:
          Code Academy on Python
          Learn Python
          Python: Getting Started
          Google's Python Course

          Books:
          Head First Python
          Python for Kids
          Python Crash Course
          Learning Python

          1 Reply Last reply Reply Quote 2
          • C
            Carnival Boy
            last edited by

            How many people choose a language to start? I learnt Sinclair BASIC first because my parents bought a Sinclair computer. I then learnt Cobol because that is what I was taught at school. I then learnt dBase because that was what I was told to use in my first job. I then learnt Clipper because that was my second job. And so on. I've never really chosen what to learn.

            Are things are different for kids today?

            scottalanmillerS 2 Replies Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @Carnival Boy
              last edited by

              @Carnival-Boy said:

              How many people choose a language to start?

              Enough that I get asked about once a fortnight.

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller @Carnival Boy
                last edited by

                @Carnival-Boy said:

                Are things are different for kids today?

                Very different. Kids don't get taught to program anymore. I know of exactly zero in the US that get taught that. When I was a kid, everyone was taught to program. Now, no one is. My niece is even in the advanced STEM program at a huge high school with over 10K students, is near the top of her class, has expressed an interest in programming, has been on the robotics team for years and... maybe someday will get a cursory introduction to C#, maybe. So far, there is no hint of that coming.

                1 Reply Last reply Reply Quote 0
                • scottalanmillerS
                  scottalanmiller
                  last edited by

                  I learned BASIC on DOS 1 because it was what we had access to. But by the time I was twelve or thirteen I was learning C because I chose it. That was in the 1980s. My very first language I had little choice, but that did not last long. I did learn Fortran because it was what we had to use at college, along with C which I already knew, but after BASIC and Fortran, all of my languages were by choice.

                  1 Reply Last reply Reply Quote 0
                  • JaredBuschJ
                    JaredBusch
                    last edited by

                    Today, people are computer users. When we were kids in the 80's the only way to use a computer for most things was to know at least a bit of basic programming.

                    1 Reply Last reply Reply Quote 2
                    • scottalanmillerS
                      scottalanmiller
                      last edited by

                      Kids today don't learn about computers, they learn to use applications.

                      1 Reply Last reply Reply Quote 2
                      • C
                        Carnival Boy
                        last edited by

                        That's poor. My lad will be getting a free Raspberry-Pi like computer when he starts secondary school next year. Every kid in the country gets one when they're 11.

                        scottalanmillerS 1 Reply Last reply Reply Quote 1
                        • scottalanmillerS
                          scottalanmiller @Carnival Boy
                          last edited by

                          @Carnival-Boy said:

                          That's poor. My lad will be getting a free Raspberry-Pi like computer when he starts secondary school next year. Every kid in the country gets one when they're 11.

                          The US doesn't make anything cool like that to hand out ๐Ÿ˜‰

                          1 Reply Last reply Reply Quote 0
                          • JaredBuschJ
                            JaredBusch
                            last edited by

                            I personally hate Python because of whitespace indentation being the ONLY means of structuring logic.
                            Yes all good code is typically indented and such for readability even when it does not have to be. But making this the only way to have a loop or if statement work just kills me.

                            1 Reply Last reply Reply Quote 0
                            • AVI-NetworkGuyA
                              AVI-NetworkGuy @scottalanmiller
                              last edited by

                              @scottalanmiller said:

                              • Python is heavily used in both software engineering as well as IT so it is very flexible as a career building language.

                              #truth - This was a big deal for Google when I was going for a Windows Sys Admin position with them.

                              1 Reply Last reply Reply Quote 1
                              • scottalanmillerS
                                scottalanmiller
                                last edited by

                                Every major coding interview I've done in the past decade has either requested or accepted Python for code.

                                1 Reply Last reply Reply Quote 1
                                • 1 / 1
                                • First post
                                  Last post