I have a degree in CS and I've never found myself in a situation where anyone would discuss bouble sort vs merge sort. Neither have I been in a situation where big-o was relevant beyond the basic concept of not doing obviously stupid shit.
What you've really missed is things like best practices, design patterns and concepts like SOLID, but a lot of people with CS degrees missed some of those as well.
If the book covers this, excellent, but why wouldn't it sell itself on valid points?
I disagree. The things that come up every day in practical, real-world professional software development, such as design patterns and SOLID are the things that professional autodidacts normally have plenty of experience in and knowledge of.
The things that they have missed by not taking a Computer Science degree are precisely those things that don't tend to come up, such as big-O and the behaviour of various sorting algorithms.
Anyway, here are two paragraphs on the linked page that you might like to see:
"More than just theory, this book covers many practical areas of the industry as well, such as: Database design, SOLID, How a compiler works, sorting and searching algorithms, Big-O notation, Lambda Calculus, TDD and BDD."
"One of the more subjective parts of the book, but I was asked by many people to write about these things. Specifically: SOLID, structural design, TDD, BDD, and design patterns."
I have no degree in CS and I see these terms (Big O, np vs p, etc) regularly, mostly here on HN. No idea what they mean, this books sounds great to me.
I admittedly feel as an impostor, but I think it's better to admit that it's something my mind is making up for some reasons that escape to me[1] and move on than try to learn some concepts to fill this "emptiness". Actually, I think it could even be bad as there will always be more things to learn and the total wrong way and reason to learn them is not to feel inferior. Just learn whatever you like. Become great at what you love. Accept that you cannot learn everything and move on to the next thing you like.
^ it looks like I am just urging you to do it but it took me years to accept all of this
Also, I have to say that using a problem fairly common in programming and offering a book totally untested as THE solution to this seems to be preying on the weak, even if it was done with a fair intention...
[1] I've gone to a great degree to explain how winning a NASA competition was just luck and how going into the best Asian university was also luck while I fought with all I got for 1 month for each of them (besides all the previous years learning just for fun programming and Japanese).
That's my goal, yes. I want to be sure all the edits are made and, technically-speaking, the book is completed. If I do end up with a paper edition, I'll send out a note to the mailing list in late September, early October.
- Data Structures and Algorithms chapter is too basic. There is not even any implementation provided. I thought it didn't offer anything more than you could find on Wikipedia if you add some illustration done with Paper by 53 app. I'd recommend "Grokking Algorithms" by Aditya Bhargava for this topic if you want illustrated explanations with brilliant examples.
- Didn't learn anything new from Databases chapter.
- Didn't learn anything new from Programming Languages chapter. Inclusion of useless things like TIOBE Index made me furious, honestly.
- Didn't learn anything new from Software Design chapter.
I won't recommend this book to anyone working in software engineering for more or less 5 years with or without CS degree. This book merely serves as an index of what you'll encounter in the field, nothing more than that. Not even any good elaborations on those topics. Pretty meh.
sounds like you should ask for your money back, remember OP stands by everything he creates and if you dont like it he promises money back no questions asked
I just picked it up. Looking great at the moment. There are diagrams and illustrations throughout, and the ToC is a solid list of things I have had to figure out on the way & things I know of but don't yet understand.
What you've really missed is things like best practices, design patterns and concepts like SOLID, but a lot of people with CS degrees missed some of those as well.
If the book covers this, excellent, but why wouldn't it sell itself on valid points?
reply