4 ms·
What advanced material are you looking for? A lot of research papers can be found online for free. What problem are you trying to solve that you feel would be
by alexashka 6y ago
What advanced material are you looking for?
A lot of research papers can be found online for free. What problem are you trying to solve that you feel would be helped by advanced material not found in research papers and/or computer science textbooks?
For me, the problems I've encountered that I thought were problems of lack of advanced learning material, have turned out to be problems of absence of tooling, libraries, frameworks and the will to create them.
In my particular case - I became an iOS developer and found out we're still paying people 100k+ to manually create trivial phone apps that fetch trivial database queries via json and display them in rather trivial ways on screens.
You wouldn't believe the number of people working on any given banking app that lets you display your past transactions and transfer money in-between accounts - it's basically a folder/file viewer with pre-defined file types and a couple of pre-defined actions for each. We've had folders, files and transactions to ensure correctness for decades! People are still re-creating these features!
Why do we have separate banking apps that do the exact same thing and why does displaying text fetched from a database and letting you modify it in the most trivial way, a job that pays 100k+ while producing bug ridden code?
There is no book to solve this problem and I believe most of the people employed in software development are churning out or maintaining this type of code. As a result, the market for advanced techniques in computer science is incredibly tiny - if you removed the idiotic whiteboard waterboarding techniques, academia and R&D at big corporations, you'd find out that there is maybe a few thousand people world-wide who are genuinely interested in putting advanced computer science to use.
I'd say this hypothesis explains why we don't have any actual progress in the field, just more javascript frameworks (simplifying, of course ) :) It doesn't explain very well what those billions of dollars in R&D at big corps are accomplishing besides removing ports from laptops and coming up with new keyboard mechanisms that fail when dust falls on them (lol) - maybe we're one day away from a quantum computer that changes everything? I have my doubts :)
- ghaff 6y agoI suspect that, in many cases, books are most useful for people starting out because they don't know what they don't know and don't know what they really should know. Once you're more experienced, you probably care about deep dives in specific areas that may not even be of much general interest and may be very recent. And those are probably less amenable to books.
- clarry 6y ago> you'd find out that there is maybe a few thousand people world-wide who are genuinely interested in putting advanced computer science to use. Nah, there are lots of people writing big complex programs with big complex architecture. Architecting programs isn't an "advanced compsci topic", but there are lots and lots of books that don't really talk much about it. Instead they show you how to use your programming language's (or framerwork's, database's, etc.) primitives in a basic way. That's pretty much the things you could just look up in a reference manual. Then you figure out the hard stuff yourself. They tell me how to hold this bundle of hammer and nails, but I need to figure out how to design a skyscraper with them..
- deleted 6y ago[deleted]
- munificent 6y agoIf you haven't read them yet, Design Patterns, The Pragmatic Programmer, and Code Complete, will all help you.
- Silhouette 6y agoThose are all intermediate/improver kind of books, though. They contain a lot of useful material, and many programmers who haven't studied those subjects would benefit from doing so. However, the ideas would (should) be familiar to any professional programmer with more than a few years of experience. The challenge is where you go after that to continue developing your skills and broadening your experience for the next 5 or 10 or 20 years, rather than becoming the "eternal novice" who is proficient with the basic tools but unaware of more advanced idioms or more strategic issues that would help them to produce much better work.
- clarry 6y agoI've glanced at design patterns, but like most programming books, it bored me to death. To me it reads like "now that you know how to hold this clumsy 90s OOP hammer, here's how to swing it". That's a far cry from architecting systems, and not a particularly motivating read for someone who's really not into that flavor of OOP (or much OOP at all).