想咨询一下关于大一软件工程学生,看完了谭浩强的书,越看越迷茫,感觉并没什么用,什么大程序都不会编,我该怎么办?的问题,大家能帮助我解答一下吗
谭浩强你们也敢不屑,他可是我国计算机教育的开山者与奠基人。他写了150多本计算机教材,可说著作等身。试问中国哪所大学没用过他们教材!当然,他的教材有些地方很有些晦涩难懂,这并非是他的问题,而是计算机语言及其编程本身,就是一个逻辑性非常强,却又可以非常灵活的东西,正所谓100个程序员写同一个程序,会有100种解决方案。谭浩强的教材在计算机学科领域中的地位,就如同李瀚逊的教材在电路学科领域,钱学森的自动控制在自动化学科领域中一样,都是基础中的基础。
看了一些评论,我都不知道这些人是不是从前软件工作的,简直瞎说,作为一个过来人,推荐你在学校核心抓2本书,算法+数据结构,因为这是核心,无论你是c也好,java也好,这只是一门语言,用来实现你的算法加数据结构的,至于你所谓的大程序,操作系统层面你别想了,一般人搞不定,你最多了解下理论就行了,从事软件以后工作最多的方向1.应用程序开发 这个最简单,实现功能为主2中间价系统开发,这个要求较高3算法工程师,要求很高,没一定学历你搞不定 大部分工程师都是从事的1,比如java,python等,你也可以选择一个语言深入学习,c和c++的就业面太窄,不建议,可以做个入门
看他的书发晕是正常的,因为大多数中国教授不在乎你看不看的懂,在乎的是教材是不是更“学术”,公式里没希腊字母都不好意思跟人打招呼,介绍计算机语言你很快看明白了咋显示教授的水平?天可怜见发明C语言的大神看他的书估计也怀疑他到底讲的是不是C语言。。。上网看Arduino的教程,软硬件一起学,先明白了基本硬件,再去明白软件怎么控制硬件的,这样你才能真正学懂C语言。。。
那是基础 是根本
大程序从来都不是书里看的
应该是自己实际编码编的
自己定个基本功能 一点点扩充
实际去做,是学习编程的最好方式
软件工程是一门集成技术,不是只学会编程就能完成。一般是一个团队,关键是组织协作。所以,掌握结构式程序设计语音是关键工具。
但是,不代表你掌握了程序设计方法就会设计出实用的软件,尤其是大型应用软件。
但是如果你想要求自己能独立设计软件,必须深入细致地进行程序设计锻炼,至少要有写成5000~10000行以上的实用软件的能力。例如你能否编写一个字处理软件,如果可以,就说明你掌握了屏幕读写修改技术,掌握了屏幕区块和窗口处理方法,掌握了磁盘访问和文件处理方法等等。
如果你再继续编写图形处理方法,设计出屏幕着色,再继续编写图形画线,各种曲线生成方法等等你就可能对字处理软件了如指掌。只有自己亲自开发过应用软件的人才算真正掌握了程序设计语音。教科书只能给你讲述基本的程序语言知识,缺少程序设计方法的指导,因而就可能在实际开发软件时摸不着头脑。
实际的应用软件都是模块化的集成,当你掌握了模块化、结构化的软件程序设计技巧后,你在应用程序设计中才能得心应手。
对于大型复杂的应用软件,有时还需要掌握各种计算机硬件接口的编程,掌握汇编语言的编写方法。这时。不懂硬件接口和硬件控制也是不行的。
所以,我认为,学习软件工程的人,也必须学习硬件,要软硬兼施才能得心应手地开发,不能只重视软件技术不重视硬件知识。
谭浩强的书,特别是清华大学出版社出的书,我感觉讲的最清晰、透彻了,章节、层次由浅入深,易学易懂。从初学者角度来说是再适合不过了。不信你找一本同样内容的电子工业出版社出的书,你学一下试试,我敢肯定你学不下去。个人观点。
别听一些人乱说,谭浩强的书真的很棒。
大多数学校会拿c作为第一门编程语言来教学,学习c有三层意义。
第一,c是最简单的高级编程语言,也是功能最强大的语言,现在流行的语言多数都有他的基因,作为入门来说,一举多得。
第二,c是直接跟硬件沟通的语言,几乎是现在IT行业的基石。学习c的过程中能更好的理解计算机的运行机制,做单片机,嵌入式的可以直接拿来就业。
第三,c最大的使用场景是系统编程。虽说c语言能直接操纵硬件,但并不代表你能操纵硬件。因为os不相信你的水平,把你隔离了。你只能通过os代为操纵硬件,这个代理叫做 system call (具体请参考 《unix 高级程序设计》)。
你才大一,知识面不够广可以慢慢学,别拿谭浩强来给你背锅。
风华正茂
2022-11-02