求推荐,非科班出身的程序员需要看哪些书

神马程序员 2010-11-01 01:22:30
如题,本人是电子信息专业的,只在学校里学习了高数,C语言,java,自学了sql,零星的看过数据结构;
工作了一段时间,发现自己真的差距很大,根本的表现在代码的规范性上,面向对象上,逻辑思路上,具体表现在自己的软件基础差,算法水平很差,数据结构都不怎么懂,写出来的代码能用,但是很不规范,可看性太差,不好扩展.
我想着,还年轻,想从根本上补充自己的不足,在网上搜索了,发现一般大学计算机系的课程有这么多,"高数,线性代数,计算机图形学,计算机组成原理,数据结构,编译学,SQL...",那就麻烦各位大大,帮忙推荐一款课程吧,我现在什么都没有,就是有时间,谢谢!
...全文
366 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfx1987 2010-11-09
  • 打赏
  • 举报
回复
学习了
码农CGGG 2010-11-03
  • 打赏
  • 举报
回复
我是计算机专业毕业的。
我的看法是计算机和非计算机毕业在从事软件N年后,一般来说基本上水平会大同小异。参加工作初期的导致水平差别的主要原因可能会在以下几门课程:

1。 软件工程
2。 面向对象程序设计(我大学有专门这门课)
3。 数据结构

然后工作一段时间后,会需要补一点进阶段的,比如 设计模式、XXXX语言圣经级教材

然后再加强内功,回来从整个学科角度系统的来补 组成原理、体系结构、计算机网络。以及接触经典书籍如算法大全等。

当然,根据实际工作情况,会有调整。
比如你做C/S架构下的通信的可能需要先学习一下计算机网络,做嵌入式需要了解操作系统等等……
神马程序员 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 rcfalcon 的回复:]
我是计算机专业毕业的。
我的看法是计算机和非计算机毕业在从事软件N年后,一般来说基本上水平会大同小异。参加工作初期的导致水平差别的主要原因可能会在以下几门课程:

1。 软件工程
2。 面向对象程序设计(我大学有专门这门课)
3。 数据结构

然后工作一段时间后,会需要补一点进阶段的,比如 设计模式、XXXX语言圣经级教材

然后再加强内功,回来从整个学科角度系统的来补 组成原理……
[/Quote]感谢这位童鞋,你说的对我帮助太大了
神马程序员 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 subfate 的回复:]
说实话,对于程序员来讲,很多基础的东西还是要懂的,比如地址空间,程序进行机制,操作系统,组成原理——这些虽然不会体现在你的代码中,但能影响你的思维。
软件工程比较抽象,我当初上课的时候基本没意思其重要性,不过也能混过考试,现在有点意识到了,正在学习中。
至于编程语言,有很多,每种又不一样,但都有相应的资料可以深入学习,比如C,就是《C专家编程》《C指针》。。。。。等等。
说到代码规范,网上有……
[/Quote]谢谢,受用了
神马程序员 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 dragonwarrior01 的回复:]
引用 7 楼 jrdlsz 的回复:
非计算机专业搞软件的太多了
我是自动化专业毕业,现在做网游客户端,跨度算不算大?
事在人为,我是生物工程的,现在开发游戏服务端,学的是OpenGL,跨度说大也不大。
[/Quote]能留下点什么经验之谈嘛
神马程序员 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 leer168 的回复:]
全民IT啊
[/Quote]未必吧,我知道很多人计算机系毕业后,转行了
leer168 2010-11-02
  • 打赏
  • 举报
回复
全民IT啊
dragonwarrior01 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jrdlsz 的回复:]
非计算机专业搞软件的太多了
我是自动化专业毕业,现在做网游客户端,跨度算不算大?
[/Quote]事在人为,我是生物工程的,现在开发游戏服务端,学的是OpenGL,跨度说大也不大。
gisupc 2010-11-02
  • 打赏
  • 举报
回复
我也想知道操作系统、数据结构、计算机网络等等那些是编程学习的时候,必须要深入了解的?我也是非计算机专业从事软件开发的人员。求指点
神马程序员 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jrdlsz 的回复:]
非计算机专业搞软件的太多了
我是自动化专业毕业,现在做网游客户端,跨度算不算大?
[/Quote]这位前辈,给推荐下,或者传授点经验吧,3Q!
jrdlsz 2010-11-02
  • 打赏
  • 举报
回复
非计算机专业搞软件的太多了
我是自动化专业毕业,现在做网游客户端,跨度算不算大?
李迟 2010-11-01
  • 打赏
  • 举报
回复
说实话,对于程序员来讲,很多基础的东西还是要懂的,比如地址空间,程序进行机制,操作系统,组成原理——这些虽然不会体现在你的代码中,但能影响你的思维。
软件工程比较抽象,我当初上课的时候基本没意思其重要性,不过也能混过考试,现在有点意识到了,正在学习中。
至于编程语言,有很多,每种又不一样,但都有相应的资料可以深入学习,比如C,就是《C专家编程》《C指针》。。。。。等等。
说到代码规范,网上有很多资料讲怎么写代码的,林锐那本书就不错。不过,最终还是要形成自己的编程习惯的。
还有,在动手写程序之前,要做一些必要的工作,要考虑到整个系统(项目)的需求、所涉及技术,适用性,。。。(再说就是软件工程的事情),不要一上来就打开IDE,开始写代码,最好画一下系统的框图,有什么功能,等等。

至于你说的那些图形学、SQL等等课程,这要看你的方向,对那些感兴趣的可以深入学习。——比如我,图形学的东西基本忘完了,数据库就记得什么范式,什么模式,还有查询语句。

写那么多,有点乱。

祝楼主好运。
神马程序员 2010-11-01
  • 打赏
  • 举报
回复
楼上各位的思想怎么如此僵化
猴头 2010-11-01
  • 打赏
  • 举报
回复
楼主事电子信息专业的本科生????为什么要改编程的行业啊???这个行业很乱,我感觉,学好自己的专业也好找工作啊
  • 打赏
  • 举报
回复
bs楼上的
楼主别听他的!
微笑明明 2010-11-01
  • 打赏
  • 举报
回复
不是本科还是不要搞软件了,你搞不过那些本科生研究生的,基本不一样的

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧