Những chương trình không làm cổng, nhưng mã nguồn. Mặc dù vậy, cách mà một trình biên dịch dịch một chương trình vào hướng dẫn của máy là không xác định chính xác, ngay cả đối với tiêu chuẩn Ràng buộc Tên: binding2 Cảng loại: Định dạng: văn bản Giao thông vận tải: SMTP | Epilogue If men could learn from history what lessons it might teach us But passion and party blind our eyes and the light which experience gives is a lantern on the stem which shines only on the waves behind us Samuel Taylor Coleridge Recollections The world of computing changes all the time and the pace seems to accelerate. Programmers must cope with new languages new tools new systems and of course incompatible changes to old ones. Programs are bigger interfaces are more complicated deadlines are shorter. But there are some constants some points of stability where lessons and insight from the past can help with the future. The underlying themes in this book are based on these lasting concepts. Simplicity and are first and most important since almost everything else follows from them. Do the simplest thing that works. Choose the simplest algorithm that is likely to be fast enough and the simplest data structure that will do the job combine them with clean clear code. Don t complicate them unless performance measurements show that more engineering is necessary. Interfaces should be lean and spare at least until there is compelling evidence that the benefits outweigh the added complexity. Generality often goes hand in hand with simplicity for it may make possible solving a problem once and for all rather than over and over again for individual cases. It is often the right approach to portability as well find the single general solution that works on each system instead of magnifying the differences between systems. Evolution comes next. It is not possible to create a perfect program the first time. The insight necessary to find the right solution comes only with a combination of thought and experience pure introspection will not produce a good system nor will pure hacking. Reactions from users count heavily here a cycle of prototyping experiment. user feedback and further refinement is most effective. Programs we build for 247 248 EPILOGUE ourselves often do not .