先简要介绍一下自己的情况。
我目前所从事的行业基本上和IT不沾边,是搞军品科研(具体内容不便透露)的。
但我在自己行业里主要是从事软件开发工作。
硕士毕业已经7年,搞软件属于半路出家,并非计算机科班出身。起初学编程,是为了项目的需要,当初自己硬着头皮用了大概半年左右时间,啃了C++ Primer Accelerate C++ Effective C++等几本经典的书,熬过了入门的阶段,后来做项目的过程中,一直都在用VC6编译器,WindowsAPI和MFC用的非常多,也做过数据库方面(但很浅),写过一些较为简单的类(通用性考虑得不多,主要是为自己服务),做过一些dll,关于C++的模版几乎很少用到。也就是说,我是从C++直接开始的,刚开始没有一点C的基础,后来为了兼容,也为了能读懂C代码,回头又补了一些C的知识(很快,毕竟语言是相通的)。
到目前为止,软件方面已经干了快4年,写过的程序超过30000行肯定没问题。也许是自己在学生时期数学基础比较好的原因,编程倒也不是太吃力,也越干越爱上这行,有时候为了解决一个问题,可以冥思苦想到忘记吃饭睡觉的地步,解决之后,有种特别兴奋的感觉。所以我很认同搞软件的常说的一句话,一天是程序员,终生是程序员。
随着自己对软件开发的兴趣越来越浓,逐渐暴露出一些问题,主要是计算机专业的很多基础,我没有。因此目前,想再深入一步,感觉特别吃力。举个例子,搞了四年软件,才发现计算机原理、汇编、数据结构、离散数学等知识,对搞计算机的人来说有多重要。
我想请问过来人,目前有没有较好的办法系统的来补一下计算机的基础知识,我毕竟没有大量的时间用来学习,更不可能脱产。希望过来人给推荐一些好的书籍和资料和学习方法。自己真的想再上一个层次。