My "Ideal" and subjective library

My "Ideal" and subjective library

My long, exciting, and never-ending journey for learning the Art of Programming and Computer Science owes a lot to teachers who have marked me, to nourishing encounters, to great crew, to stimulating projects... but also to the discovery of major book whose reading has changed my way of thinking forever...

I was regularly asked by colleagues, friends and students for reading advice...

So I've posted regularly on some of this books, with no desire to be original or exhaustive, but simply by looking for the books that had influenced me, and we're now up to more then 20 books.

I've decided to compile them in one article, where you'll find the great classics as well as more personal choices.



?????????????????? ?????? ???????????????????????????? ???? ???????????????? ???????????????? by ???????????? ?????????????? and ???????????? ?????? ?????????????? with ?????????? ?????????????? at he The MIT Press .

The 101 introductions to programming course at Massachusetts Institute of Technology during decades.

A book that requires effort and is far from being a recipes book, but a brilliant and profound book that gives a high-level overview of what programming is.

Clearly, this is a book I'd recommend to anyone who isn't afraid to change their outlook on programming.



????????????????????, ???????????? ?????????????? by ???????????? ??????????????????,published by ??????????????-????????????.

Even if the main algorithms and data structures are part of the standard library and are well-implemented, it is a ???????? ?????????????????????? ?????????????????? ???? ?????????? ???????? ??????????????.

The subject is so important that many masterpieces have been dedicated to it.

The list is indeed extensive (with 12 books on this subject on my shelf), but I recommend starting with this one because it offers thoroughness, accessibility with a moderate level of effort, and high educational value.


?????? ???????????????? ????????: ???????? ?????? ???????????? ???? ???????????????????? ????????????????????????, 250 ???????????????????? ???? ?????? ?????????????? ???? ???????????????? ?????????????? by Simson Garfinkel & Rachel H. Grunspan , published by Springer Publishing .

I believes that history is essential to understand the present and prepare the future, and this also applies to sciences and technologies.

This highly approachable book offers a visually engaging overview of the history of information processing. It's undoubtedly essential reading for anyone with an interest in technology.


?????????? ????????: ?? ???????????????? ???? ?????????? ???????????????? ?????????????????????????? by Robert Martin (??.??.??. ?????????? ??????).

A book accessible by beginners as well as profitable for more experienced developers,?which always has an impact on the reader's practices, it promotes clearer thinking about programming and enhances code quality.

The aim is not to turn it into a bible serving as dogma, but rather as a basis for moving towards the path of redemption.??


???????? ???????? ???? ?? ?????????? ??????????: ?????? ???????????????? ???????????????????? ???? ???????????? ??????????????, ??????????????????????, ?????? ?????? ???????????? ???? ???????? ????????????????, by Adam Tornhill published by The Pragmatic Programmers .

This relatively recent book, just released in its second edition, hasn't yet attained the classic status of the previously mentioned works. However, I believe it's only a matter of time before it does.

The book draws an intriguing parallel between Jack the Ripper and the challenges posed by legacy codebases.

Utilizing forensic psychology principles, it guides readers in predicting the future trajectory of their code, determining optimal refactoring paths, and understanding team dynamics' impact on design.

This unique fusion of forensic psychology and code analysis equips readers with invaluable strategies, applicable across various programming languages and development scenarios.

One of the great discoveries of recent years.


???????????, ????????????, ????????: ???? ?????????????? ???????????? ??????????, by ?????????????? ????????????????????, published by Basic Books

An atypical book of popular science that received a ???????????????? ??????????.

It's a book that I warmly recommend to my literary friends to understand why computer science is fascinating.

It's neither a work of computer science, nor a work of mathematics, nor a work of logic, nor a work of philosophy ... but is nevertheless a bit of all that.

Without doubt one of the books that had the greatest influence on me when I discovered it and read and reread it as a teenager.

It's hard to describe the book in a nutshell, so I'll leave it to the author to do so:

  • "?? ???????????????? ???????? ???????????, ???????????? ?????? ???????? ???????? ???????? ?????????????? ???????? ???? ?????????????????? ???????????????????? ???? ?? ?????????????? ??????????????. ?? ?????????? ???? ?????????????????????? ???????? ?????????????? ????????????, ?????? ???????? ???? ???????? ????????." ?????????????? ????????????????????


?????? ???????????? ?????? ?????????????????? ???? ??++, by the great Bjarne Stroustrup , published by???????????????-????????????.

Perhaps the least known of the father of C++'s works, but this book is a rare opportunity to see behind the scenes the creation of a language.

C++ has evolved and changed enormously since this book, but this guided journey into the foundations of a programming language is still an exciting trip from which many lessons can be learned.

I wouldn't say that it's a must read today but it's still a book that gives a lot to understand.

And for those who are passionate about this great language, it is an opportunity to understand its birth.


??????????????????: ????????????????????, ????????????????????, ?????? ??????????, a.k.a. ???????????? ????????, by ???????????? ??. ??????, ???????????? ??. ??????, ???????? ??????????, and ?????????????? ??. ????????????, published by Pearson .

This book allowed me to understand how high level languages are compiled and to do the initiatory rite of any Computer Science journey : creating your own language!

Understanding compilers mechanisms helps to gain perspective and complete a global vision of programming.

Even if the book does not represent the state of the art today on some aspects (machine code optimization, LLVM approach, JIT compilation ...) it remains a remarkable entry point on these topics.



?? ???????? ???? ????????, by Jimmy Soni & ?????? ??????????????, published by Simon & Schuster .

Claude Shannon is one of the founding fathers of Computer Science, and perhaps not the most well-publicized.

His Master's thesis ?? ???????????????? ???????????????? ???? ?????????? ?????? ?????????????????? ???????????????? at 美国麻省理工学院 was a keystone of Computer Science that alone would give him a great place in history.

And ?? ???????????????????????? ???????????? ???? ?????????????????????????? Is a pillar of our modern world.

At last he has the biography that his colossal legacy and impressive personality deserved.


?????? ?????? ???? ???????????????? ?????????????????????? ??.??.?? ??????????,?by the great ???????????? ??. ??????????,? published by ??????????????-????????????.

It is a masterwork of a deep and rare formal purity and elegance, having the beauty of mathematics.

On many points it remains for me: the reference.

As an example, chapter in ???????????? 4?? on ?????? ???????? ???????????????????? (???????????? ???????????????? ????????????????) remains for me the best introduction to this powerful tool.

The whole community owes a lot to ???????????? ??. ?????????? and these books, even those for whom they are not made, even those who do not like them.

It's certainly not the easiest work on its subject, but it has the elegance of absolute rigor, and remains a monument.


???????????? ????????????????: ???????????????? ???? ???????????????? ????????????-???????????????? ???????????????? by Erich Gamma , Richard Helm, Ralph Johnson , and the late ???????? ?????????????????? a.k.a ?????? ???????? ???? ???????? (??????) published by ??????????????-????????????.

Even if the work has many flaws and points that can be debated, it remains a book that had a considerable impact on its time and brought ????????????-???????????????? ???????????? thinking out of the closed circle of specialized conferences.?( ACM, Association for Computing Machinery , ????????????...)

The first part of the book remains a remarkable introduction to the concept of ???????????? ????????????????, and even if the second part, making an inventory of ????????????????, is not without criticism and questionable points, the book offers a stimulating reflection on OO design issues and is a good source of open-mindedness to these questions.?


T???? ???????????????? ??????-??????????: ???????????? ???? ???????????????? ??????????????????????, by the late ???????? ???????????? who sadly left us in 2022, published by???????????????-????????????.

A seminal work and if some might imagine that a book published for the first edition in 1975 is now obsolete, ????????????'s thought remains immensely accurate and more than relevant to the issues of the day.

Many popular concepts are derived from this book (???? ???????????? ????????????, ?????? ????????????-???????????? ???????????? ...).

The work is quoted regularly, sometimes without knowing that it is the source of the quote, for example the classic?: “?????? ?????????????? ???? ?? ?????????? ?????????? ???????? ????????????, ???? ???????????? ?????? ???????? ?????????? ?????? ????????????????.”


?????? ???????????????? ?????????????????? ????????????????, by Gregor Hohpe published by O'Reilly .

A concise yet powerful guide for aspiring and experienced software architects alike.

Through insightful anecdotes and practical advice, Hohpe explores the role of a software architect, offering valuable strategies for navigating complex technical challenges and effectively communicating with stakeholders.

With its focus on elevating architectural thinking it's a state of the art and a contextualization of the essential role of software architecture today.


?????? ?????????????????? ????????????????????: ???????? ?????????????? ???? ??????????????, ???????? ?????????????????????? ??????????????, ?????? ??????????????. ???? Dave Thomas & Andy Hunt , published by ??????????????-????????????.

A timeless guide for software developers, originally published in 1999 and updated in its 20th Anniversary Edition.

It offers practical advice and principles to help programmers master their craft.

From best practices in coding to effective teamwork and career development strategies, this book equips readers with the tools and mindset to skill-up.


????????-???????????? ?????????????????????? ???? ??????????????, by the great Kent Beck , published by???????????????-????????????.

Kent Beck is one of the great contributors to software engineering, he is one of the fathers of the ?????????? ??????????????????, a pioneer of ???????????? ?????????????? (with ??????????????????), the father of ?????????????? ?????????????????????? ... ????

This book is a remarkable source for those who want to understand ????????-???????????? ?????????????????????? and really make it their own.


?The Man from the Future: The Visionary Life of John von Neumann by Ananyo Bhattacharya , published by Allen Lane.

A captivating biography that delves into the remarkable life of one of the most influential mathematicians and computer scientists of the 20th century, John von Neumann.

This book provides an insightful exploration of von Neumann's groundbreaking contributions to mathematics, physics, economics, and computer science.

From his pioneering work on game theory to his instrumental role in the development of the modern computer, von Neumann's visionary ideas continue to shape our world today.

The author narrative skillfully brings to life the complexities of von Neumann's personality and the enduring legacy of his intellect and innovation.


???????????????????? + ???????? ???????????????????? = ????????????????, by the late ?????????????? ??????????.

I was a young teenager discovering programming with passion, but this book has opened up a world for me: the world of computer science and "serious" programming.

The clarity, structure and pedagogy of the book remain for me a reference.

I don't know if in 2024 I would recommend reading this book for fear that my love for what it represents to me would cloud my judgement, but it remains an essential book that has had a great influence.


?????? ????????-???????????? ???????????????? edited by Simson Garfinkel , ???????????? ?????????? & ???????????? ????????????????????.

The ???????? ???????????? ???????????????? is a humorous and satirical book that was published in 1994.

A monument to the geek humor canon.

The book takes a lighthearted and sometimes sarcastic approach to point out perceived flaws, quirks, and frustrations with ????????.

With a superb?Anti-Foreword by the great ???????????? ?????????????? as a bonus??


???????????????? ???? ???????????????????????? ?????? ???????????????? ???????????????? by Bertrand Meyer , published by Springer Publishing .

Bertrand Meyer, with Eiffel and his books, had a great influence on my intellectual formation and this new book is a very welcome return to publishing after a long break.?

The promise of the book's presentation is clearly delivered?:

??????????’?? ???????????????? ???? ???????????????????????? ?????? ???????????????? ???????????????? ???? ?? ?????????????????????????? ???????????????? ?????????????????? ?????? ???????????? ???????? ?????? ?????? ???????????????????? ?????? ???????????????????? ?????????????????? ???? ?????????????? ?????????????????? ????????????????????????. ???????? ?????? ???????? ????????????, ???????????????????????????? ?????? ???????????????????????? ?????? ?????????????????? ???? ???????? ?????? ?????? ???????????????? ???? ?????? ?????????? ??????????????.????????????????? ?????? ?????????????? ???????????????? ???? ?????? ???????? ???? ????????????????????????, ???????? ?????????? ???? ???????????????? ????????????????. ???? ???? ????????????????????, ?? ?????????????? ???????? ?????????? ???? ???????????????????????? ?????? ???????? ?????????????????????? ?????????????????? ???? ???? ?????????? ?????????? ???? ???????????? ????????????????????????.


???????????????? ??????????????: ?????? ???????????????? ???????? by Hector Garcia-Molina , ?????????????? ??. ????????????, and Jennifer Widom, published by Pearson

Written by three renowned computer science professors, the book covers all aspects of database systems, from the basics of database design and SQL queries to more advanced topics such as transactions, concurrency control, and distributed databases.

I am often surprised by the lack of knowledge on this essential subject of many developers and by the under exploitation of the power of the relational model.


???????????????? ????????????????: ???????????????????? ?????? ???????????????? (Third Edition) by ?????????? ??. ??????????, ?????????????? ?????? ??????, ???????????? ??. ????????????, ???????? ????????????, ???????????? ??????????????, ?????????? ??. ??????????, and ???????? ????????????, published by ??????????????-????????????.

A seminal work in the field of computer graphics.

This extensively revised edition offers a comprehensive overview of the fundamental concepts, techniques, and applications of computer graphics.

Covering a wide range of topics including geometric modeling, rendering, image processing, and visualization, this book serves as an invaluable resource for both students and professionals in the field.

With its clear explanations, numerous illustrations, and practical examples, it provides readers with a solid understanding of the principles underlying computer graphics technology.


?????????????????????? ???? ??????????????????????, by ???????????????? ??????????????????, published by O'Reilly .

Masters as ?????????????? ??. ?????????? (??????????), ???????????? ??. ???????????????????? (??????), ???????????? ??????, ?????????? ????????????????????, ?????? ?????????? ?????????????????? (??????), ?????????????? ?????????????? ?????? ???????? ?????????????? (????????????????????), ???????????? ???????????????????? (??++), ???????????????? ?????????? (????????????), ???????? ?????? ?????? ?????? ???????? (??????????????????-??), ?????????? ???????????? ??????????, ???????? ??????????, ???????????? ????????????, ?????? ???????? ???????????? (??????????????), ?????????? ?????? ???????????? (????????????), ?????????? ?????????????? (????????)… talking about the creation of their language: exciting.





Russell Smiley ???

?? Platform Engineering Advisor ?? A painless transition from costly legacy clickops to automated software delivery | DevOps Strategy | Software Delivery Architect | Founder

4 个月

A couple of new items to add to my wishlist!

回复

Stéphane, c'est une excellente liste, merci !

回复
Paul Ducklin

I’m a Cybersecurity Expert who explains even complex technical stuff in plain English - no jargon!

7 个月

That picture... it's not Borges's 'La biblioteca de Babel', I hope?

Elfried da Silva

__Software Engineer__

7 个月

J'ajouterais Programming Pearls de Jon Bentley

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了