程序员学习过程的几个困惑?( Windows、Mac、Linux 的背影)
- 技术交流
- 2024-10-26 00:35:02
做程序员这几年来,接触了不少要学习编程的小伙伴,经常提到的问题是XXX 语言怎么入门、如何学好编程语言等问题。这里我总结了初学者的一些困惑与大家分享。
1、如何入门?在学习编程第一天,大部分人会想我该如何去学习,需要看什么书?
对于刚入门的程序员,不管是科班出身还是非科班出生,我建议你可以先买一本 《XXX 从入门到精通》 类型的书(找好评多的),最好还能搭配视频,视频与书结合着看,从软件环境安装到执行出第一个 "Hello World!"。。
可能有些小伙伴也在一些论坛听一些老鸟告诉你需要买个《XXX 编程思想》,这种书很好,是 XXX 语言的圣经,但个人认为这并不适合初学者,这种书简直初学者的噩梦,很容易浇灭你的学习热情。
当然 《XXX 从入门到精通》 这种书也只适合入门,入门后就可以烧了,要想精通还是建议认真研习下 《XXX 编程思想》。
书上的案例建议自己一个个字母敲下来自己去测试执行,开始虽然慢,但这是你必须要经历的过程,千万别 ctrl+c、ctrl+v。
2、碰到问题如何解决?学习编程语言会碰到各种各样奇怪的问题,初学者最有可能碰到的是语法格式的错误,例如:
结束语句分号忘记写了、漏了反括号、缺少空格,等等。关键字,变量名写错了,例如 $runoob 写成了 $runob,String 写成 Strng。判断相等两个等号(==)写成一个(=),有的还不能使用两个等号(==)判断是否相等。赋值类型不匹配,整数类型使用了字符串赋值。格式缩进不一致(python)。……以上这类错误在初学者非常常见,如果是语法错误,一般 IDE 都会有很好的提示功能,你根据提示修改即可,但大家平时还是要细心些,培养好的编程习惯。
而有些错误在执行后才会提示,一堆英文提示,单个字母都认识,拼起来一个都不认识,这时候很多人就手足无措了,不该怎么办,其实这时候大家不要慌,要淡定,这些都是纸老虎,只要你认真去看,英文看不懂借助翻译工具 Google 、百度翻译下,是很容易理解错误内容的。
比如以下这个例子:
……failed to open stream: No such file or directory in ……如果你看的懂其实意思很明白了,文件没找到,如果你看不懂,丢到 Google 翻译后为:
......未能打开流:没有这样的文件或目录......这会明白了吧,然后你看看代码中包含的哪个文件不对,修改为正确的文件名或文件路径就能解决了。
如果中文还看不懂,我就懵逼了……
总结下就是编码要认真细心,注意格式,不要丢三落四,使用好的 IDE 协助培养良好编程习惯,遇到错误认真看,看不懂用翻译工具翻译再看。
3、我该去哪找人提问交流?如果我们已经认真看了错误提示,还不懂的如何解决问题时,这是建议你使用以下几种途径解决:
搜索引擎(百度、Google、Bing等)上检索你的问题与需求,看看是否有人碰到与你一样的问题。技术论坛上提问如: 百度知道、CSDN、V2EX 等。不过个人不推荐这个这个要等人来回答,效率太低,而且不一定是你想要的。QQ 群,找到你学习语言的活跃 QQ 群,群内提问,如果有人回答最好,没人的话建议看下群内成员的活跃度,直接发信息给几个活跃的,如果他们不是他忙应该会帮你解决。最好的也是最直接的就是问你身边的技术高手,他一句话也许就能给你点透。平时我们也要多收藏好的技术文章,如:CSDN、博客园、讯客、简书、infoq、51cto、知乎等。多看看前辈的经验和案例,自己也去测试测试。这些对大家的积累是很有帮助的。
4、英文重要吗?学习编程需要英文很好吗?不需要。
英文能力重不重要?非常重要。
虽然现在很多中文的技术文档、博客、论坛也很多,不懂英文也是能学会一门编程语言。但是你要明白很多编程语言的官方文档,源码注释都是英文的,很多前沿的技术也是英文的。不去阅读英文的文档很多精髓无法领会,翻译的有些也是不准确的。
此外,还有最重要一点是很多错误提示也是英文的,你英文能力好,可以直接明白提示内容,如果不懂你还得拿翻译工具翻译。
很多问题的解决方案你百度的结果可能是:呵呵……,但你如果能使用英文描述下来,再把这描述内容往Google(需要梯子)框框一丢,第一个搜索结果 80% 是你需要的答案。
所以非常建议大家学好编程语言里常用的一些英文术语,如果你英文差就借助错翻译工具去阅读,久而久之,你会体会到他的好处的。
例如:debug => 调试 ,debugger => 调试器 ,abstract => 抽象的 abstract base class => (ABC)抽象基类 ,abstract class => 抽象类 ,import => 导入 ,include => 包含 ,array =>数组 ,command line => 命令行 ,comment => 注释 ,commit => 提交 ,compatible => 兼容 ,compiler => 编译器 ,component => 组件 , array => 数组 ,thread => 多线程 ,multi-thread => 多线程 , 等等
更多可查看:编程中常见英文术语。
5、总结与分享总结我想对大家是最难的,就像上学的时候让你们一天写一篇日记,基本没几个人能坚持下来。
但学习编程过程中,我还是建议大伙平时要多总结自己走过的坑,记录自己的学习过程,不要求一天一篇,但最好在 3~5 天有个对自己过去的学习有个总结与反思,特别是可以记录规范性文档及程序脚本,比如:
XXX 语言编码规范XXX 语言逻辑判断方式php 获取当前 URL正则表达式匹配邮箱、电话号码树状结构的递归代码中文乱码解决方案数据库连接代码封装……我相信这些功能大家在编程中绝对不会只写一次、两次,会非常频繁的使用,所以这些东西大家可以总结出来,写在自己的云笔记上(有道云、印象笔记)。
最后是分享,如果你有好的问题解决方案,或者你认为你的方法是天下第一,可以分享出来,包括各个博客平台。
这里推荐大家在学习过程把自己的学习笔记分享到讯客上,讯客已开通笔记功能(需要注册),首次分享需要发送笔记到管理员邮箱(429240967@qq.com)。
通过审核会给你邀请码注册,以后就能在我们平台上自己记录笔记了。笔记的内容要求简单明了,不能偏离对应的文章的内容,使用 一句简单的描述+一段简单的代码 的方式。如下图所示:
程序员学习过程的几个困惑?( Windows、Mac、Linux 的背影)由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“程序员学习过程的几个困惑?( Windows、Mac、Linux 的背影)”