My beginner advice: ‘Python is just the language for you’ — the easiest & the best programming language to learn.
I have seen many online surveys (TechRepublic), or even some online communities asking developers to rank programming languages with which they think is the easiest to learn. Well, it’s sad to say that the overwhelming responses that the surveys have reported, HTML.
Okay, for those who have a little experience in coding, I understand this may sound annoying because it is, I mean have you ever asked someone “which language are you good at?” and then they are like, ‘HTML’? That aside. But for those who are just beginners, this response is just but a deception. Why? Because, first, I wouldn’t list HTML (short for Hypertext Markup Language) as a ‘programming language’. Second, the key differences between a programming language and HTML-like-programming-language is that:
If your main goal is to present (beautify through presentation semantics — I might say) some data, then a markup language is what you need. In such case, HTML. There are also a number of other markup languages such as Markdown (commonly used with Jekyll for static website generation — I think), RTF, XML (for general purpose) among others.
Well, I am not saying that one should not learn a markup language. No, my point: you should not settle for one in lieu of the other. In fact, markup languages provides one honking great entry point to programming for most code enthusiasts. Although personally I think learning a markup language first does not really give you that ‘beginner experience’ of the power of code, not until you actually master a ‘real’ programming language. Sometimes, it’s even (almost) impossible to avoid learning markup languages. For instance, if you want to become a mobile app developer in Python, you will need (not necessary but it helps: ~100%) to learn kv language (markup language for Kivy framework — ps: kivy is mutiplatform). Other standard as well as third party (checkout the Cheese Shop) modules and frameworks such as webbrowser, beautifulsoup, selenium — well, for web scrapping; Flask, Django — for web applications development, becomes more intuitive when you have some background in HTML.
So back to the main question here, is Python programming language really the easiest and yet the best? Ahem! In my opinion, Yes. Python was designed with a great emphasis to readability and yes, it is very well known for being an intuitive high level language for almost everyone from kindergarten kids who want to play around with turtle graphics, to astronauts who want to travel back to the moon yet again, for the nth something time (I don’t really know). What this means to any beginner is that they can also experience the power of Python regardless of their age, their occupation… name it. All one needs is the will to learn and ‘the only limitation to the power of what Python can do will be their imagination/creativity’.
If I were to comment more, my advice would end up to be exactly the same as the piece “whetting your appetite” from Ch. 1 of tutorial (PDF) which is one of the files included in the official documentation (case: 3.6.6rc1):
[p1]…Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.
[p3] …If you do much work on computers, eventually you find that there’s some task you’d like to automate. For example, you may wish to perform a search-and-replace over a large number of text files, or rename and rearrange a bunch of photo files in a complicated way. Perhaps you’d like to write a small custom database, or a specialized GUI application, or a simple game.
If you’re a professional software developer, you may have to work with several C/C++/Java libraries but find the usual write/compile/test/re-compile cycle is too slow. Perhaps you’re writing a test suite for such a library and find writing the testing code a tedious task. Or maybe you’ve written a program that could use an extension language, and you don’t want to design and implement a whole new language for your application.
Python is just the language for you.
By the way, before you begin to look for books, tutorials, videos, online courses e.t.c on Python, I strongly recommend that you start with this one. If you are wondering why:
[p1]…it introduces many of Python’s most noteworthy features, and will give you a good idea of the language’s flavor and style. After reading it, you will be able to read and write Python modules and programs, and you will be ready to learn more about the various Python library modules described in library-index.