Monday, May 3, 2021

Python: Wise Head Junior by Mohmad Yakub

Rating: WARTY!

This book was very hard to follow. I can't speak for what a potential print version will look like, since all I had was the ebook version, but it seemed to be poorly laid out and misguided in its approach. I am by no means a professional programmer, but I have a lot of experience in programing in several languages, mostly VB, yet I had trouble understanding what the author was saying at times. I don't honestly believe a beginner coming to programming for the first time will be able to make heads or tails out of this.

There was no attempt to ease into things - by means of, for example, discussing the basics of programming, or to looking at the various commands and syntax used. The author simply launched into the trope "Hello World" output without really explaining anything about the development environment or about programming principles.

There were issues with the layout and the actual text, too. It seemed like maybe something had gone wrong with instances of the 'print' command (this syntax is used in several programming languages to produce output on the screen (not on the printer as some beginners might think), so instead of reading 'tries to print "Hello World" or their own name', I read, 'tries to pr"Hello World" or their own name'. The same problem occurred with 'To prany textual content we are required to put in print()' and 'trying to repeatedly pra small text horizontally in'. In each case, the 'int' part of 'print' was missing as was the space that would follow the word. It was almost like someone did a search and replace for 'int ' (which describes an integer variable in some programming languages), but didn't circumscribe it as 'whole word only' and it took out the latter half of 'print ' as well.

Here are some more examples of oddball text:

  • methodprint("any text")
  • To prall the text
  • Few examples are many
  • Memory address location resembles not less than any secret key.
  • Let's calculate the difference of value between all consecutive pair of values
  • Sequence Next - Previous Difference variable:counter updates Final value 2 counter = 2 2 4 4 - 2 2 counter = counter + 2 2 + 2 = 4 6 6 - 4 2 counter = counter + 2 4 + 2 = 6 8 8 - 6 2 counter = counter + 2 6 + 2 = 2" - can you understand that?! I could not.
  • Based on this (True/False), for-loop control structure decides whether to repeat the set of statement(s) or not. - 'Set of' is not needed
  • for counter in range(2, 20 + 1, 2): print (counter) for counter in range(20, 2 1, 2): print (counter) - this second one is missing a minus sign
  • the importance of the colon in syntax isn't mentioned until 80% in!
  • It's similar to a moving car that stops exactly whenever the driver applies the break. (brake)
  • For example; for counter in range(5,0,1): print(1*counter) # statement1 # The for-loop is a statement2 for inner in range(1,5): print(inner) print(3*counter) # statement3 - there's no word about how block is terminated
  • Then came the part where I quit reading. There were some programming examples for the reader to try themselves, and every single one seemed to be aimed at producing a table of values. The first two were these, and the reader is asked to "Write a separate program for each of the given output":

    LoopingProblemA 1==1 1==2 1==3 1==4 1==5
    LoopingProblemC 1<=1 1<=2 1<=3 1<=4 1<=5
    I'm sorry, but what exactly is the point of doing essentially the same program time and time again? This is where I decided that enough is enough and that this book was too much work in just understanding the text to actually learn anything of real value from it. Out of curiosity, I paged through the screen on my phone, where I was reading this, to see how long these exercises went on for, and they went on, I kid you not, for ONE HUNDRED SCREENS! Almosr exactly the same thing, tediously repeated over and over again.

    That's ridiculous, and what is the purpose of this? Once you understand the principle, endlessly repeating it is not going to give you more understanding, it's going to bore you to tears and make you want to quite Python programming - or at least quit this book about it. The reader needs a general knowledge of all the basic principles, not 100 screens of doing the same rote thing over and over. I DNF'd this right there. I cannot commend it as a worthy read. It doesn't get it done.