Python Programming Observations


For a year and a half I have been learning to program with Python. I'm retired, so I'm not doing this for professional reasons. T...

For a year and a half I have been learning to program with Python. I'm retired, so I'm not doing this for professional reasons. The last time I did any programming was in college where I learned Basic. That was a long time ago. This time around, when I went about choosing which language I should learn, I was surprised to find that Basic programming was not the big deal it used to be.

I chose Python because of its reputation as being the easy programming language. Also it is known for being scientific (I am a science buff), and for the substantial number of books written about the language. I make no claims at being smart, so no matter how easy Python might be, having access to a range of tutorials is a major plus.

That Python has a reputation as a scientific language, was also a plus. Now that I've got free time, I want to explore the world of science and I plan to use Python for running scientific simulations and doing stuff with math. Python, it's my understanding, is a poor man's Mathcad. I suspect you can do the science with any language, but with Python it should be easier.

I consider myself a newbie, a beginner. After a year and a half I'm still struggling to learn. I said Python was the easy language, but it would be more correct to say it is an 'easier' language. Frankly, although the basics are easy, as you progress, the details get much harder, as they do with all professional languages.

I have a few points to make.

Python is a great and fun. From what I can tell, Python is used by very experienced professional programmers and people like me who are learning it as a hobby. If you're new to programming, Python is a good choice as a first language. I cannot comment from personal experience on how much easier Python is because I know no other languages other than Python. But if other languages are harder than Python, they must be pretty hard. So consider starting with Python.

I've indicated that Python is easier than other languages, but I've also hinted that it's hard. Which is it? It's both. The basics of Python programming is easy. There's only a few reserved keywords to remember, and you don't need to use the "{ }" symbols. But once you're passed the beginner stage, it gets harder faster. It gets harder, but I want to stress, it is doable. It's a challenge, but not an impossible challenge.

The shame, in my opinion, is that some of the difficulty in getting beyond the beginner's level is avoidable. A big part of my problem has to do with the official documentation for Python. I do not want to complain too loudly about this. Almost all the software associated with Python is free. You do not need to buy the Python software, or the software for most other languages, most of them can be downloaded and installed without signing up to anything or paying a penny. I'm grateful for that. Also, because nowadays so much software comes without any documentation, I'm grateful for the documentation that Python does provide. I only hope I eventually get where I can understand it because right now, I can't understand a word of it. It was obviously written by a technical writer. Even when I know what a function does, such as the "print()" function, I do not understand the official documentation for it. It's just hard to understand.

I've looked for a tutorial to teach me how to translate the documentation, but I've yet to find one. I would be interested to know if others have this same problem. Maybe it's just me. I'd also be interested to know if other languages' documentation is as difficult to understand as Python's.

I do have some cost saving suggestions for those just starting. This could be important because although the Python language itself is free, the books you will buy to learn it are not. Here's what I suggest. Go to Packt and check out the books and videos they offer. But don't pay full price for them. Packt will often have sales where you can get an otherwise expensive book or video for only $10.

Also, go to Udemy. They have video courses on many subjects, including python. I can recommend several Python courses which I have bought:

Complete Python Bootcamp: Go from zero to hero in Python

Complete Python Masterclass

The Ultimate Tkinter Masterclass: GUI for Python projects

Just to give Jose Portilla a shout out. I've taken several of his Udemy courses and they were all very good and helpful. Thank you, Jose.

As with Packt, don't pay the full price at Udemy, wait for a sell, which they have frequently. I've bought many of their courses, and I don't think I've ever paid more than $12 for one. Also, you might find Udemy coupons by doing a search online.

Another rant. I've recently started trying to learn a GUI, also known as a Graphical User Interface. The GUI is the part of a software that you can see on the monitor. The GUI includes the meus, the toolbar, icons, the scrollbar, and the space in MS Word where I'm writing right now. Python has a number of GUI packages that can be used with it. Each has its own set of commands and its own way of forming commands. You have to learn how to use the GUI. My first choice was to learn PyQt5. It's supposed to be very good. But finding tutorials for it was almost impossible. The Python community can a bit condescending to newcomers, without meaning to I'm sure. When newbies complain about this lack of tutorials, the experience programmers suggesting they just get a book on PyQt4 because the differences are only "small." But even those minor differences can be a challenge to someone who is new toPyQt5. I found it very frustrating. I also tried some other GUI modules and had the same difficulties. Finally, I decided to use Tkinter, and I'm glad I did. Tkinter looks pretty good if done correctly and there are more books and videos on how to use it.

All this said, I am happy that I chose Python. However, I wondered if maybe I should have chosen Java. I've read it is more difficult (so I probably did make the right choice), but Java is everywhere. Any programming text editor or IDE probably comes with Java built into it and is possible written in Java. With Python and other languages you often need to import an add-on to get the IDE to work. Java is also used for Android programming, which might explain some of it's popularity. If I decide to learn a second language, it will probably be Java. In short, Java seems to be the up and coming language, the big deal, for the moment.

I mentioned IDE's, Integrated Development Environments. These are sophisticated text editors with special tools for helping your programming. Over the past year and half I have tried almost all the IDE's on the market. There's no end to the good IDE's you can download, and often they are free (but not always). For a beginner programmer, the big problem with most IDE's is that they are complicated. It's difficult to believe how complicated some of these IDE's can be. They provide many tools, which is good, but often the documentation they offer is not so good (you can spend a lot of time trying to figure out those tools). Two of the best IDE's for Python are PyCharm and Wings. Both were built specifically for Python and they both have free versions. But as your skills grow and you find you need more than the free version, you will have to pay money. With PyCharm you'll pay yearly. With Wing there is a one-time fee of $100, unless you want to upgrade, then of course you will need to pay more, and since the Python will always be changing, you will find it necessary to upgrade at some point. Another good IDE that you might want to look at, which looks promising and is completely free to use, is Microsoft Visual Studio Code. It looks nice, but although it is not as full featured as Microsoft Visual Studio, it is more than a bit complicated, especially the setup.

If your new to programming I suggest you use Spyder IDE. It's free, although they can always use donations. What's great about Spyder is that it's made specifically for Python, easy for a beginner to use, but it is powerful enough for professionals. Spyder is known for handling data well and for being used by scientist. I like Spyder because to see if my code will work, I only have to push a green button on the toolbar. With other IDE's you'll need to setup a project for everything you do, which is annoying if all you want to do is a 'print("Hello, world!")'.

Don't rush into buying an IDE or donating to one. Start with Spyder, then try PyCharm and Wing. I suggest avoiding Visual Studio or Visual Studio Code until you are comfortable with Python. If you decide to use a free IDE, keep in mind most of them need donations because it takes time and effort keeping them up to date. But once you decide to start donating, perhaps you should consider paying for PyCharm or Wing instead.

Python I think is a good blend of being easy to use, but still being a challenge. I've already ranted about the documentation, but perhaps with time I'll get to where I can understand it.

I do have plans for Python. Eventually I want to write a program I've looked for since I bought my XT computer, many, many years ago, but in all that time have not found. I think it will change the way we use computers (I'm mostly joking). Then after I do that I want to do that science and math stuff. Maybe do physic simulations. Who knows, perhaps I'll discover something important.

Featured Image

Consider This:
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program. Linus Torvalds



The Evolving Monkey : Python Programming Observations
Python Programming Observations
The Evolving Monkey
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy