Frederick P. Brooks很早就在他的《人月神话》里说了,软件开发没有银弹。因为软件开发要解决的问题有两种:accidental difficulties和
actually difficult,前者可以通过技术和工具来消除,而后者却是没有办法消除的。
到目前为止,计算机语言已经发展了这么几代
- Assemblers
- Algebraic languages (including Fortran)
- Structured languages (Algol-60 and C)
- Declarative languages (including SQL)
- Memory-managed languages (including Lisp, VB, and Java)
之前我都以为Java应该是划归OOP类的,没有想到这里用的却是memory-managed language。不过想想,似乎很真是那么回事。
早些时候曾经看了几页《Beyond Java》的,今天突然看到Joel on Software的书评,才想起自己早忘了这事了。好些人都推荐过这本书,比如Don Box就说什么时候也能有一本《Beyond C#》才好。