4 ms·
Professional programming resources
- CodeSheikh 8y agoNice list. Appreciate it. But I see there are a few amazing software books missing from the list such as: - Clean Code (by "Uncle Bob")) [https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=sr_1_1?ie=UTF8&qid=1547741401&sr=8-1&keywords=clean+code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsma...] - Design Patterns (by "Gang of 4") [https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_3?ie=UTF8&qid=1547741422&sr=8-3&keywords=design+patterns https://www.amazon.com/Design-Patterns-Elements-Reusable-Obj...] - Introduction to Algorithms (by "CLRS") [https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=sr_1_1?ie=UTF8&qid=1547741480&sr=8-1&keywords=algorithm+clrs https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...]
- fuzzyset 8y agoThose are all there. With the nicknames as well.
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- prani10 8y agoIntroduction to Algorithms might not be the best thing to start with. The name is very much misleading
- djaychela 8y agoGlad to see I'm not the only one who thinks this - it's one of the many areas I need to look at, and saw that recommended elsewhere... took a look on Amazon and got completely intimidated! If 1000+ pages is an introduction, what does the chapter and verse look like? (I've started reading Grokking Algorithms this week, and it's been a much better introduction - I know it's not as in depth as some other books, but I'm making good progress with it and not drowning in complexity from the get go)
- kevinskii 8y agoDon't let its size intimidate you. Introduction to Algorithms is quite approachable and its chapters are pretty well self-contained.
- djaychela 8y agoThanks - I'll keep that in mind (although I'm old and attempting to retrain, and have found lots of things more difficult than everyone else appears to!)
- renox 8y agoA book about the design patterns is a good idea, the original book by then the gang of 4? I disagree, IMHO this book isn't well written, now the question is: is there a better book on this topic?
- deleted 8y ago[deleted]
- zerogvt 8y agoHead first is a much better option IMO https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124 https://www.amazon.com/Head-First-Design-Patterns-Brain-Frie...
- priansh 8y agoThis is awesome! I always love seeing curated lists. Is there a way to contribute to this list? e.g. PR, Issue?
- henrik_w 8y agoHere is a looong list in a similar vein, "Best websites a programmer should visit": https://github.com/sdmg15/Best-websites-a-programmer-should-visit https://github.com/sdmg15/Best-websites-a-programmer-should-...
- pnevares 8y agoThere are four PRs in the linked repo, all merged, it's probably an acceptable route to contribute.
- sydd 8y ago> Editors & IDE mentions only Sublime and Vim...hardly professional.
- pleasecalllater 8y agoYou can make a PR and add your ideas. Really.
- komali2 8y agoToo late, I already did ;)
- pdpi 8y agoIncomplete? Biased towards a certain style of editor? Sure. "Hardly professional"? What's not professional about either of those?
- sydd 8y agoThat is seems more like a personal preference list than a comprehensive list used at work. It takes 5 mins to google IDE market share, e.g. check out the results of Stack Overflow surveys.
- pdpi 8y agoI think you misunderstood the point of the repo, then. Personally, I could list off the top of my head several likely candidates for the top editors and IDEs, but I don't have anything useful to say about most of them, because I don't use them. I fully expect the author is in the exact same position. You're absolutely right that the list is not comprehensive, and it's probably the author's own personal preferences. But if he uses mostly those editors, what's he to do? Just list off a few more editors/IDEs with no links to any useful resources, when the whole point of the repo is to have actual resources you can read? How would having a header saying "IntelliJ" or "XCode" or "Visual Studio" make that list better? How would just adding a random link for some blog post about any of those help, if the list's author can't vouch for their validity? It's overall just best to put in what you know, and leave the rest to PRs.
- kords 8y agoGreat list !
- mttyng 8y agoNot that this is intended to be the end-all-be-all of "Must Read" Software Engineering books, but I find it refreshing that Clean Code isn't listed. It has some good points, but I think in the wrong hands it proves to be too dogmatic and can create friction within certain teams. Then again, I'm just some random dude on the internet, so what do I know.
- sbuttgereit 8y agoThis resources list is sufficiently far away from a list of serious references (at least for the areas I am best versed, database) as to not even qualify as introductory. Consider this entry: Safe Operations For High Volume PostgreSQL -- (this is for PostgreSQL but works great for other db as well). The editorial comment couldn't be more wrong in it's fundamental assumption as the article discusses implementation specific limitations of PostgreSQL and their implementation specific workarounds. This isn't on par with reading, for example, Oracle's SAME methodology (https://www.oracle.com/technetwork/database/performance/opt-storage-conf-130048.pdf https://www.oracle.com/technetwork/database/performance/opt-...) which might be generalizable to other databases since the paper deals as much with storage in general as it does how Oracle makes use of that storage. I would be wary of spending more time on this list based on the overall quality I've seen in this area.
- ausjke 8y agoGreat list, probably can be improved by a voting page, actually github should support simple polls, i.e. visitors can suggest their favorite votes without git-clone-PR steps.
- mcguire 8y ago1. The Psychology of Computer Programming, by Gerald Weinberg. Yes, from 1971. The best discussion of professional programming and the difference with amateur programming is just one of the important topics. 2. Essentials Programming Languages by Daniel Friedman and Mitchell Wand. The other side of learning programming languages. In addition to learning specific languages, it's useful to see what some basic features of proglangs are and how they work.
- dlkinney 8y agoOne of the problems that I feel we face these days is the challenge of discovery. Sites like HN, Reddit, Pinterest help to some degree, but I can't help but feel that they're just scatter-shot. I miss the days of web directories. I really appreciate that the programming community is creating more and more of these curated lists ("awesome" lists), but I'm disappointed that other categories aren't as popular. Perhaps there's room for an AwesomeAwesome, someday... A Wikipedia-like curation of worthwhile resources. I doubt it's feasible once a certain critical mass is achieved, what with gaming the system or disagreements about what should or shouldn't be included. Wikipedia can at least limit conflict somewhat by saying that something is or is not factual or backed by a reputable resource. To determine what should or should not be on a curated list is a lot more difficult. Maybe a voting system could help. Or maybe that's too easy to game. Anyone else miss web directories?