english

计算机语言知识结构

手头有一大摊书和资料,必须清理一下大脑了。给每本书分一下级,发现每种语言要讲的东西抽象出来都差不多,索性也理出个知识结构来,便于查阅和对比。总共分了六层,层数越高知识难度越大。在每一层,我只是简单地堆积些关键词。其中,每一个关键词里面都包含了丰富和有深度的内容,值得研究研究。

有一些关键词所在的位置也表达了一些我的想法,比如在最顶层的性能调优,牵涉的知识面最广,硬盘IO、网络状况、虚拟机设置、源码编写、软件布署…都可能出现问题。事实证明,这一方面的人才也最短缺和迫切。

在第5层Framework中的J2EE,我更愿意把它看做是一种框架。除了一些超大型银行和企业会用到J2EE高级特性,一般的应用都是用的Hibernate甚至是自行编写的数据持久层,它们发挥的都是相类似的作用。

把IDE放在第4层,也有我的道理。选用一个合适的IDE、合适的插件、工具集成的一起,整个项目组能在这个基础上顺利地进行合作开发,也是很需要深入研究的课题。在一个不成熟的项目组里,如果IDE不断换来换去,或是存在某种致命的缺陷,很容易导致项目的延误。我这里所说的IDE不仅是指Eclipse、Visual Studio这些,还有开发用数据库、代码历史管理工具、代码Review工具、用例测试工具、log日志分析工具、部署工具、项目管理工具等等。

第3层Extension除了考验程序员的知识全面性,也更多反映了某种语言的扩展能力,拥有很强扩展能力的语言也往往越流行。当然,在这一方面更多时候我们只需要在身边放一本参考指南:)

 

    6th, Top:

  • VM, compiler
  • Performance Tuning
    ——————————————————————————————
    5th, High Level:
  • Algorithms
  • DesignPattern(Singleton, Observer, Producer, Consumer, Adapter, MVC, Command, Strategy, Composite)
  • Framework(J2EE,Struts,Spring,Hibernate,Zend,CakePHP…)
    ——————————————————————————————
    4th, IDE:
  • debug
  • unittest
  • team
  • SCM
    ——————————————————————————————
    3rd, Extension:
  • Log
  • Error handle
  • Math
  • RE
  • IO(Stream, Serializing, Buffer, Channel, Compression) -> Filesystem
  • Network(Socket,Mail,FTP, News, LDAP)
  • MultiMedia(Image,Sound,Movie)
  • Serial,Parallel
  • GUI(AWT,Swing,2D,3D)
  • Internationalization, Localization
  • Database(Connection, Query, Result, RowSet, Transaction)
  • XML(DOM, SAX, DTD, XPath, XInclude, Validate, XSL/XSLT, WebService[RPC,SOAP], Data Binding, XLink, XPointer, Schema)
  • Distributed(RMI)
  • Thread(Safe, Priority, Synchrony,Notification, Atomic, ThreadGroup, ThreadPool, Time)
  • Invoke Other Language/Native
  • CGI(WebServer, AppServer, Cookie, Session, Embed, Authentication, Request, Response, Header, Tag, MVC, ORM, Template)
  • Security(Encryption,Decryption,SSL,GPG)
    ——————————————————————————————
    2nd, Feature:
  • DataStructure(list,map,stack,iterator,tree, queue, vector, dictionary, table, bitset, properties, Enum)
  • OO(Polymorphism, Override, Inheritance, Clone) (instanceof, compare, serialize, toString) (Nested, Member, Method, Constructor, Destructor, Finalize, This, Instance, Static, Abstract, Interface, Casting, Final, Anonymous, Reflection, Generics)
    ——————————————————————————————
    1st, Syntax:
  • Variable
  • Operator
  • Keyword
  • Datatype(number,boolean, character, array,date,string)
  • Control Flow(if else, while for, break, continue, case, return, assert)
  • Comment, Doc(Annotation)
  • Function(Reuse)
  • import, include

分享: Fanfou Misterwong-CN QQ Bookmark Baidu Bookmark del.icio.us Digg Google

相关文章

Leave a Comment