I read as much of this book as I wanted to read, which was finishing part 1 of 3. I have decided I may read more ofFormer review:
2.5 stars rounded up.
I read as much of this book as I wanted to read, which was finishing part 1 of 3. I have decided I may read more of it again in the future, but not until I have a thorough understanding of c++.
Primary problem: I'm not sure it knows who it's audience is... It goes over super basic stuff, like downloading an IDE, then covers the whole c++ language AND the concepts of OOP in one chapter. Memory pointers get about a third of a page. It has screenshots in chapter 4 of 30ish lines of code and just says, these are the functions, these are the macros, you're looking at unexplained syntax and unexplained components and it says, now you understand how that works.
Secondary problem: Pacing issues... Nobody needs 13 pages on downloading Visual Studio and a third of page on memory pointers. The guy obviously knows the c++ language well, he's obviously well versed in the games industry, he just doesn't share that knowledge well with the reader. I think this may be the first time I've ever felt stupid reading a programming book. But then I went away and watched some YouTube videos, which were explained more thoroughly, and then I understood the concepts skipped over and that I was simply wasting my time on this book. (FYI, FreeCodeCamp has an amazing tutorial on c++, though it's pretty long at 31 hours, I just skipped to the relevant sections.)
At the beginning, this book specifies it is for people already somewhat familiar with the Unreal Engine wanting to get better at c++ scripting. I think it's reversed. This book is for people who are familiar with c++ who want to get familiar with Unreal Engine.
Later review: 4.5 stars rounded up.
If you are feeling very lost at the end of part one, proceed further. Part 2 essentially breaks down all the stuff that is quickly skimmed over in part one. It is incredibly thorough and comprehensive. This book performs both the roles of learning guide and a reference material, especially part 2. Part 3 has a great section on net code.
Be aware: this book expects you to know c++, a language you will likely have to spend a few weeks or at least as many pages or a substantial section of FreeCodeCamp's 31 hour video tutorial to familiarize yourself with....more
I'm going to write a review based on this book's utility to others. After browsing through the 4 books on Godot 4 on Amazon produced by Packt, I lookeI'm going to write a review based on this book's utility to others. After browsing through the 4 books on Godot 4 on Amazon produced by Packt, I looked through the indexes of each book and decided on which I believed aligned best with what I wanted to learn.
Here are the other books I ruled out:
Godot 4 Game Development cookbook: Based on only 230 pages long and the blurb describing it as a book for those familiar with Godot 3 (I'm not) that want to learn Godot 4. Also, reviews mentioned that instructions to install Godot 4 were repeated in each recipe.
Godot 4 Game Development Projects: Build Five Cross-Platform 2d and 3d games: In hindsight, this is the book I should have bought. I didn't based on the fact that it was predominantly 2d and the one confirmed 3d game was golf, which didn't sound particularly interesting (high flyer, the final game, didn't specify 2d or 3d, but another sports game didn't sound riveting either).
Game Development with Godot 4 and C#: The book I would have loved, but isn't available till October, and I couldn't wait that long. The description of this is use your existing C# skills to make 3d games and tbh, this sounds more intermediate programming wise, and focuses on 3d. I would say C# is a slight language preference, but I don't mind Python, both are preferable over c++.
Here's the book I went with:
Learning GD Script by Developing a Game with Godot 4: (This book.) I have read books on Unity that are more GUI focused and others more scripting focused. I prefer to use script, where possible, so the title of this book involving GD Script and focusing on one game really thoroughly (I assumed) sounded like a great idea. However, this book is really for people wanting to learn programming and doing that through Godot. This is like an introduction to programming through GD Script and not a introduction to programming with GD Script. I also assumed the one game covered thoroughly would be 3d (it was unspecified), which was naive on my part and there were no reviews as yet to go on.
I think this probably is a good book for beginner programmers who have picked GD Script and or Python as their first languages, but as an experienced developer learning this engine, especially if you're familiar with Python already, you'll probably only read/need the middle third of the book. Here's why:
1. The first third is an introduction to GD Script, essentially an introduction to Python, so may prove familiar.
2. Covers all the things you would expect in learning the basics of a game engine, like physics bodies and colliders, game state, UI, etc. Definitely the bit you don't want to miss. I was surprised by the detailed section on multiplayer, by far the most advanced topic and slightly odd that it was in here, despite not covering other more common introductory topics, like animation.
3. The final third an introduction to intermediate programming topics like OOP and design patterns. Maybe this would be useful as reference for how to implement oop in Godot specifically as some syntax differs slightly from Python here, whereas most of the 30ish keywords from the first section work exactly the same....more
I think the Gang off Four book has probably put many people off the study of Design Patterns, while simultaneously being groundbreaking and transformaI think the Gang off Four book has probably put many people off the study of Design Patterns, while simultaneously being groundbreaking and transformative in good software design practices.
This book is not overly academic: he says so himself. I cannot find the exact quote, but he says something along the lines of, "children are impressed by things that sound very complicated and adults by things which are complicated but explained simply."
If more books on programming were written in this humorous, light-hearted manner, there would be more programmers. For that matter, if more Packt books were written like this, they'd sell more books.
Also, if you hop between languages, Appendix 1 is a better summary of the C# language than many books dedicated to the subject. I liked that this wasn't part of the main book and it jumped straight in, building up momentum, but I skimmed this section at the end and it's about as good a primer to the C# you need as I have seen....more
This is as good a book as you can hope for on Bash/Linux. That's to say, it's still a programming book, but builds up at the right pace: neither too sThis is as good a book as you can hope for on Bash/Linux. That's to say, it's still a programming book, but builds up at the right pace: neither too slow, numbing your brain; or too fast, leaving you rereading the previous sections multiple times.
One warning I perhaps didn't appreciate... If you are proficient with PowerShell, some of this is redundant as it supports many of these commands (usually as aliases of their regular verb-noun), so you may already be quite comfortable with the CLI....more
A great introductory JavaScript book. Much better than the previous one I read, JavaScript and jQuery by Jon Duckett. A kind of coffee table one full A great introductory JavaScript book. Much better than the previous one I read, JavaScript and jQuery by Jon Duckett. A kind of coffee table one full of pictures aimed more at a general reader wanting to understand, rather than a coder. Enough of that book though.
If you enjoyed the style of Python Crash Course, this is very similar. Good breakdown of key syntax to get you started with plenty of simple code examples. Approaches some of the depth of prototype inheritance, method overloading, but without dwelling on theory and implementation details. Practical, fun and varied projects / exercises at the end (including making a small game).
All in all, this is a great JavaScript book for someone who is either new to / getting into web development or anyone who has coded in other languages and wanting to add JS to their repertoire....more
This was a cutting edge book on web development 10 years ago. Inevitably, much of it is out of date. I'm not sure what I expected from this book, but This was a cutting edge book on web development 10 years ago. Inevitably, much of it is out of date. I'm not sure what I expected from this book, but I assumed I was going to get either a better theoretical understanding of how the web works, or alternatively a better understanding of approaches to modern web development. I think this book was somewhat aimed at the latter, but for a short book it has a lot of filler and what is picked for discussion is pretty subjective feature set. Some modules discussed have fallen out of favour to the point that I hadn't even heard of them and others are so ubiquitous that it's crazy that these were so shiny and new back then. This is not to say this is the authors fault or that nothing can be learnt from reading it, but I would suggest picking up something published in the last 2-3 years instead with the rate that web development works. Better yet, go checkout CS50 Web Development and do some coding exercises....more
To say this language is in decline may be a bit of an understatement. Looking on Ruby gems for all my favourite PyPi module alternatives was a little To say this language is in decline may be a bit of an understatement. Looking on Ruby gems for all my favourite PyPi module alternatives was a little depressing. They often don't exist or haven't been updated since 2008, 2010, maybe 2013 if you're lucky. The exception being Rails, which isn't so much a substitute for a PyPi module, but a good reason to use the language for web dev.
It's hard to ignore the primacy of Python as the default scripting language for fast iteration and ease of use. Still, there's something to be said for Ruby. It's use of code blocks are elegant and, despite not being the languages only implementation of (or even identified as) lambda functions, their ubiquity was, for me at least, a good way of softly enforcing a functional coding practice I've mostly avoided.
Whereas Python will often have one, or at least limited, ways of doing something, Ruby has many. Plus aliases. This makes the learning curve perhaps steeper, but ultimately gives more flexibility. Why use for i in range(1,11), when you can simply specify 1..10, etc.
I love ! To end methods that are in-place, and no exclamation otherwise. This could be so great in other languages. Similarly, why not include a ? at the end for methods returning booleans (or in Ruby's case the special values true or false or nil). Sadly, these would be naming exceptions in other languages.
Similarly, def +(number) makes much more sense than def __add__(self, other). Is @ more elegant than self.? I'm unsure.
The collections are odd though. Set has to be imported, so isn't a default data structure. Instead we have arrays (more like a Pythonic list than a C array), which can be frozen to behave like a mutable data structure (e.g. tuple), and also hashes (dictionaries). Arrays have union and intersection methods to try and make them dual purpose, like a set, but they ultimately fail without some additional work.
My eyes started to glaze over as we got stuck in the weeds of procs and lambdas and mix-ins, but I feel this may be because of the flow of the book and writing style. I am also painfully aware these minutiae of implementation will have changed by Ruby 3.3, especially as this book focused so heavily on the changes between 1.8 and 1.9.
(This book was £2.80 secondhand on Amazon, with input from the language creator. A book on the latest implementation was roughly £45 by comparison.)...more
In a "recipes" book, you might expect some projects or ideas for fun or useful things you could implement in the language. That web scraping project yIn a "recipes" book, you might expect some projects or ideas for fun or useful things you could implement in the language. That web scraping project you've been thinking about. A small card game. Here's how you output this data into an Excel doc, etc. That's certainly my experience of other programming cookbooks anyway (I'm thinking Al Sweigart's Python stuff as a good example). This is more like serving suggestions than recipes.
This book labours over small design points in what seems like an odd mixture of info that's obvious for anything other than a really inexperienced c# programmer and subjective design pattern considerations that beginners aren't really worrying about too much. The section on Inversion of Control and Dependency Injection is well explained, however, hence a third star.
This book would have been better deep diving into a wide array of recipes doing vastly different things. Or changing its title to C# design patterns and focusing more on developing some of the solid design considerations in the first couple chapters....more
I mean, it's a super niche topic and my English Lit. degree definitely helped, but to be honest, the topic is slightly more complicated than I would hI mean, it's a super niche topic and my English Lit. degree definitely helped, but to be honest, the topic is slightly more complicated than I would have thought and some of the examples later on get a bit messy with lots of logic checks that wouldn't catch all or even most edge cases of sentence structures. He does acknowledge this, but it might have been nice if there was a link to an actual production chatbot in a GitHub repo or even as an appendix.
I also can't help but feel that the fact Spacy essentially does all the parsing of syntactic tags for you kind of skips over a whole part of the process I thought would be interesting....more
I like it when books have a precise description of their content. Even though I knew I was reading this as a non-IT staff member, I do get some use ouI like it when books have a precise description of their content. Even though I knew I was reading this as a non-IT staff member, I do get some use out of PowerShell in my role in FinTech and this covered a nice amount of its scripting. Especially as prior to reading this, I primarily edited existing PowerShell scripts when needed, as Python is my default language.
Since beginning this I have written several more complex scripts and would feel comfortable to take on projects with PowerShell that I previously would have just used a server agent job to kick off a PowerShell script which runs a Python script (convoluted, I know, but server agent jobs don't schedule Python, only SQL and PowerShell). Cutting out the middle man makes sense....more
If you have already read an introductory book and had a play with C# and decided you wanted to read an in-depth catalogue of its features, rather thanIf you have already read an introductory book and had a play with C# and decided you wanted to read an in-depth catalogue of its features, rather than moving onto some beginner projects, this might be a good choice for you. Sort of the P.E.P. guidelines of C#. The author has good technical knowledge and one of the best explanations of the processes behind floating point imprecision I have come across to date. He also has extensive knowledge about previous versions of C# and dotnet, what has been added, removed, lacks backwards compatibility, etc.
However, I suspect many users will feel short sold that this is not a crash course in the language before moving onto the website projects, etc. For me, this could have been 200 pages shorter, less broad in scope and still had time for a more focused look at some of the key aspects, specifically: collection data structures (gets about half a page each), reading/writing to files, string manipulation (this part was actually covered nicely—after nearly 400 pages), etc. The part on types was okay and generally the book would be reasonable as reference material, but to read left to right is certainly not an experience I would repeat....more