Lista książek, które są warte przeczytania dla profesjonalnego programisty

Lista książek, które są warte przeczytania dla profesjonalnego programisty

Wątek przeniesiony 2024-12-19 11:17 z Kariera przez cerrato.

0

cześć, pytam o listę książek, które Waszym zdaniem warto przeczytać dla profesjonalnego programisty, byłabym bardzo wdzięczna :)

3

Oto lista książek, które warto rozważyć, jeśli chcesz pogłębić swoją wiedzę jako profesjonalny programista. Są to zarówno klasyki programowania, jak i nowsze publikacje:

Podstawy programowania i dobre praktyki
"Clean Code: A Handbook of Agile Software Craftsmanship" – Robert C. Martin
Podstawowa książka o pisaniu czytelnego, zrozumiałego i utrzymywalnego kodu.

"The Pragmatic Programmer: Your Journey to Mastery" – Andy Hunt, Dave Thomas
Poradnik, jak myśleć jak dobry programista i rozwijać swoje umiejętności.

"Code Complete: A Practical Handbook of Software Construction" – Steve McConnell
Kompleksowy przewodnik po sztuce programowania i tworzenia kodu.

"Refactoring: Improving the Design of Existing Code" – Martin Fowler
Jak poprawiać jakość istniejącego kodu i unikać "długu technologicznego".

"Design Patterns: Elements of Reusable Object-Oriented Software" – Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Klasyka o wzorcach projektowych, która pozwala pisać bardziej skalowalne i eleganckie aplikacje.

Architektura oprogramowania
"Software Architecture: The Hard Parts" – Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Głębszy wgląd w skomplikowane decyzje architektoniczne.

"Domain-Driven Design: Tackling Complexity in the Heart of Software" – Eric Evans
Fundamentalne podejście do projektowania oprogramowania wokół domeny biznesowej.

"Building Microservices: Designing Fine-Grained Systems" – Sam Newman
Przewodnik po projektowaniu i wdrażaniu mikrousług.

"The Art of Scalability" – Martin L. Abbott, Michael T. Fisher
Jak projektować systemy skalowalne na dużą skalę.

Algorytmy i struktury danych
"Introduction to Algorithms" – Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Klasyka, idealna do zrozumienia algorytmów i struktur danych.

"Algorithms" – Robert Sedgewick, Kevin Wayne
Przystępniejsze podejście do algorytmów, z przykładami w Java.

Specjalistyczne dziedziny programowania
"Artificial Intelligence: A Modern Approach" – Stuart Russell, Peter Norvig
Świetne wprowadzenie do sztucznej inteligencji.

"Deep Learning" – Ian Goodfellow, Yoshua Bengio, Aaron Courville
Kompendium wiedzy o uczeniu głębokim.

"Computer Networking: A Top-Down Approach" – James F. Kurose, Keith W. Ross
Podstawy sieci komputerowych dla programistów.

Kultura i filozofia programowania
"The Mythical Man-Month: Essays on Software Engineering" – Frederick P. Brooks
Klasyczna analiza wyzwań w zarządzaniu projektami programistycznymi.

"Peopleware: Productive Projects and Teams" – Tom DeMarco, Timothy Lister
Książka o pracy zespołowej i efektywności w IT.

"Hackers & Painters: Big Ideas from the Computer Age" – Paul Graham
Eseje o filozofii programowania i innowacyjności w IT.

Praktyczne umiejętności
"You Don’t Know JS" (seria) – Kyle Simpson
Wyczerpujący przewodnik po zaawansowanych aspektach JavaScriptu.

"Python Crash Course" – Eric Matthes
Świetne dla osób chcących szybko i efektywnie nauczyć się Pythona.

"Effective Java" – Joshua Bloch
Dla programistów Javy, pełne praktycznych wskazówek.

Jeśli chciałabyś zgłębić któryś z powyższych tematów bardziej szczegółowo lub poszukać materiałów w danej technologii, daj znać! 😊

0

@AleksandraEm
Uściślijmy, jesteś profesjonalnym programistą i pytasz o listę książek? Czy nie jesteś, ale też pytasz :)

0

Jestem mło

lion137 napisał(a):

@AleksandraEm
Uściślijmy, jesteś profesjonalnym programistą i pytasz o listę książek? Czy nie jesteś, ale też pytasz :)

Jestem młodą osobą, która bardzo chce być profesjonalnym programistą, pytam - ponieważ chcę uzupełnić moją biblioteczkę.

3
Productionserver napisał(a):

"Design Patterns: Elements of Reusable Object-Oriented Software" – Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Klasyka o wzorcach projektowych, która pozwala pisać bardziej skalowalne i eleganckie aplikacje.

Wzorce projektowe zgoda, ale mam wątpliwości, czy książkę bandy czworga należy dalej polecać do czytania w 2025 roku.
Czytam fragmentami i ciężko mi zrozumieć, co dany wzorzec ma robić (pomimo, że z wieloma wzorcami się spotkałem wcześniej nieraz, ale chciałem zobaczyć ich oficjalne definicje/wyjaśnienie). Nawet jeśli to klasyk, to ta książka jest pisana w dość dziwny sposób i mam wrażenie, że z 20% opisu wzorca to faktyczny wzorzec, a cała reszta to szczegóły implementacji, mocno opartej na dziedziczeniu wszystkiego. Ciężko wyłuskać, co jest faktycznie ogólnym problemem, a co jedynie problemem wynikającym z konkretnej implementacji wg kanonów programowania z lat 90-tych (czyli bohatersko rozwiązują problemy, które sami sobie stworzyli). Są tam niby diagramy UML, które jednak więcej przeszkadzają niż pomagają w zrozumieniu "dlaczego" danego wzorca warto używać.

Warto się zapoznać, jednak na ten moment to już źródło historyczne bardziej (dla osób, które chcą wniknąć w historię programowania i w "oficjalne" definicje wzorców) niż książka, z której większość programistów coś wyniesie w 2025 roku. Myślę, że już na https://refactoring.guru/design-patterns jest to bardziej przystępnie wyjaśnione.

Zresztą... z wzorcami jest tak, że nauka ich za wcześnie może spowodować obsesję wrzucania ich wszędzie, żeby być "profesjonalnym" (cargo cult). Czasem z pewnymi wzorcami lepiej w praktyce się zetknąć (czy to podpatrzyć w jakimś frameworku albo na nie wpaść samemu) i dopiero potem szukać ich definicji. Bo tak masz konkretny program, który coś robi i konkretny problem do rozwiązania. A nie wzorzec nie wiadomo po co.