鱼C论坛

 找回密码
 立即注册
查看: 2579|回复: 14

[技术交流] 请问大家对文中的编程学习有什么想法

[复制链接]
发表于 2019-8-2 17:54:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
昨天我在逛帖子的时候,看到这么一段话,

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程!
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步Debug版对应汇编一行!
单步Debug版对应汇编千行不如单步Release版对应汇编一行!
不会单步Release版对应汇编?在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有,然后在IDE中运行。(一般人我不告诉他!)

单步类的实例“构造”或“复制”或“作为函数参数”或“作为函数返回值返回”或“参加各种运算”或“退出作用域”的语句对应的汇编代码几步后,就会来到该类的“构造函数”或“复制构造函数”或“运算符重载”或“析构函数”对应的C/C++源代码处。

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。




想请问一下大家,你们赞成文章中的观点吗?
特别是,编程的学习流程,计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
和 他的这一观点:“单步源代码千行不如单步Debug版对应汇编一行!”
请问大家有什么见解呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-2 18:33:32 | 显示全部楼层
本帖最后由 jackz007 于 2019-8-2 18:34 编辑

      学习汇编必须要精通至少一门高级语言(本人 BASICA),否则,根本无法学习和理解汇编指令和各种编程要素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 19:02:48 | 显示全部楼层
每个人都有不同的学习路线,我不赞成这篇文章的学习路线
还有,你用眼睛盯着代码看是很难看出问题的,debug很重要
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-8-2 20:22:27 | 显示全部楼层
感谢楼上两位朋友发表见解~
我个人对编程路线的理解
数学、英语要扎实,其次是408(数据结构、操作系统、计算机网络、计算机组成原理)也要学得好,因为编程离不开电脑硬件、操作系统和网络,
接下来C语言至少要入门,因为我感觉C语言像是编程语言的根基,学会C语言,其他像C++ C#这些也能快速入门,而理解了C#对学习java也会有所帮助
我自己是学C#的,学校教JAVA,总觉得C#在语法上和java很像,因为我对java应用理解不深,所以在应用方面C#和java我就不敢妄下定论了。。。
但是汇编,就我目前看到资料,基本上都是不建议学汇编,所以我对文章中学习路线出现汇编语言很感兴趣,更想知道为什么他会更建议我们用汇编的方式进行调试

所以发了这个帖子,想跟大家讨论一下编程的学习路线和汇编在编程中的重要性有几何。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-2 20:24:53 | 显示全部楼层
人造人 发表于 2019-8-2 19:02
每个人都有不同的学习路线,我不赞成这篇文章的学习路线
还有,你用眼睛盯着代码看是很难看出问题的,debu ...

谢谢你的回复
我看了你的回复,我非常赞同你关于调试的观点
同时有个问题想请教一下
请问你的编程学习路线是什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-2 20:28:34 | 显示全部楼层
jackz007 发表于 2019-8-2 18:33
学习汇编必须要精通至少一门高级语言(本人 BASICA),否则,根本无法学习和理解汇编指令和各种编程 ...

感谢你的回复~
你的观点让我了解了学习汇编的一个步骤~
我有个问题想向你请教下
请问你认为的编程要素是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 20:35:20 | 显示全部楼层
SKY_DOR/cy 发表于 2019-8-2 20:28
感谢你的回复~
你的观点让我了解了学习汇编的一个步骤~
我有个问题想向你请教下

          常量、变量、数据类型、算术表达式、逻辑表达式、条件执行、循环、函数、作用域等等。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-2 20:36:10 | 显示全部楼层
jackz007 发表于 2019-8-2 20:35
常量、变量、数据类型、算术表达式、逻辑表达式、条件执行、循环、函数、作用域等等。

好的,谢谢你的解答~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 21:37:32 | 显示全部楼层
SKY_DOR/cy 发表于 2019-8-2 20:24
谢谢你的回复
我看了你的回复,我非常赞同你关于调试的观点
同时有个问题想请教一下

首先是C语言,然后是汇编语言
C++、python、java这3个不是一个完了又一个,而是同时开始
先开始C++,一段时间后C++还没有学完就暂停C++开始python,一段时间后暂停python开始java,一段时间后暂停java开始python,暂停python开始C++,暂停C++开始java,等等
这3个没有固定的顺序,因为这3个是不同的语言,依赖关系不是很明显

学C++的时候用到了数据结构与算法,有时候暂停C++不是去到python,也不是java,而是数据结构与算法

C语言->汇编语言->C++->java->python->java->C++->数据结构与算法->C++->java->python->C++->数据结构与算法->C++->嵌入式->linux操作系统->...->操作系统
现在还是操作系统

可以看到,第一个是C语言,第二个是汇编语言,之后不再有固定顺序,按照依赖关系去学
例如学C++的时候用到了数据结构与算法
另外一些时候不是因为依赖关系,就是因为兴趣,我学一段时间C++后累了,暂停C++去学java,java也累了的时候可以返回C++或者开python,又或者去数据结构与算法,完全因为兴趣,就是这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-2 21:40:05 | 显示全部楼层
汇编语言很重要,可以大幅度增加你调试程序的能力,因为你可以站在cpu的角度看问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-2 22:38:01 | 显示全部楼层
人造人 发表于 2019-8-2 21:37
首先是C语言,然后是汇编语言
C++、python、java这3个不是一个完了又一个,而是同时开始
先开始C++,一 ...

谢谢你分享的学习路线~
我也说下自己的路线吧
我现在是C语言 -> 数据结构(C++) -> C++(数据结构) -> 操作系统 -> 计算机组成原理 -> 计算机网络
中间穿插数学、英语

因为据我了解工作多用C++,C语言的入门也临近尾声,所以我现在纠结是要先学C++还是数据结构
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-2 22:38:46 | 显示全部楼层
人造人 发表于 2019-8-2 21:40
汇编语言很重要,可以大幅度增加你调试程序的能力,因为你可以站在cpu的角度看问题

那我是不是可以在适当的时候了解(仅仅是了解)下Windows X86的汇编呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 22:46:30 | 显示全部楼层
SKY_DOR/cy 发表于 2019-8-2 22:38
那我是不是可以在适当的时候了解(仅仅是了解)下Windows X86的汇编呢

嗯,win32汇编语言和8086汇编语言都要学
为了debug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-2 22:48:10 | 显示全部楼层
SKY_DOR/cy 发表于 2019-8-2 22:38
谢谢你分享的学习路线~
我也说下自己的路线吧
我现在是C语言 -> 数据结构(C++) -> C++(数据结构) -> 操 ...

无所谓,先学C++也行,先学数据结构与算法也行,可以随意选,看兴趣
等遇到依赖关系的时候再根据依赖关系学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-22 09:05:51 | 显示全部楼层
人造人 发表于 2019-8-2 22:48
无所谓,先学C++也行,先学数据结构与算法也行,可以随意选,看兴趣
等遇到依赖关系的时候再根据依赖关 ...

好的,谢谢指点~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 01:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表