鱼C论坛

 找回密码
 立即注册
查看: 4129|回复: 31

[吹水] 论如何学习一门编程语言--零基础小白篇

[复制链接]
发表于 2019-1-23 18:58:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 heidern0612 于 2019-2-18 17:35 编辑


仅以此文献给所有在黎明之前的黑夜中痛苦、迷茫、彷惶前进的零基础新人们。




所谓的零基础爱好者,指的是没有系统学习过、基本根本没有学习过编制程序所需要的机器与操作系统原理方面的知识,但是有至少高中程度的数学修养和逻辑推理能力。

其实高中数学修养不太重要,最多会导致你一看见数学题就头大(比如我,数学题饶了我吧 ),但是正常的逻辑思维要有。

啥是逻辑思维呢?请自行百度IQ测试题或找一套教师或公务员的综合素质测试做一波,一般情况下,只要不是先天遗传,智商大家都差不多。



                               
登录/注册后可看大图

                               
登录/注册后可看大图


1、搞清楚为什么要做一名程序猿

目标决定方法,如果是想转行做程序员或者想开发出自己心仪的功能,那还是老老实实把基础概念搞清楚。

系统的学一门语言一个平台,虽然风口来时只会点皮毛也能唬住一些外行、混到一个不错的收入,但即使熬过去了,有这样心态的人也很难有长远的发展,风口总是会过去的,一直在程序员底层混着,不会比其它行业愉快的。

不过,也未必要把四大基础课程(计算机原理、数据结构与算法、操作系统原理、编译原理)都深入学完才算有基础概念了,基础不好的程序员刚工作时,挺容易陷进这个坑里。

这些东西迟早是要补回来的,不过开始只要有个最粗略的概念也够干活的了。

严格说来,系统学习与快速出活的矛盾是一个永远需要面对的问题,需要根据具体情况和个人兴趣找到适当的平衡点。

在碰到问题时,作为深入系统的学习的契机是很好的,假以时日就会变得非常专业。

总是解决过眼前需求就算,出活比较快,但是对个人的长期发展是很不利的,因为水平总是很浅。



                               
登录/注册后可看大图

                               
登录/注册后可看大图


2、保持初心,每天进步


实际上人每天的意志力和肌肉耐力一样,都是有限的。当你一下子给自己太多的压力,每天学的不可开交,一两天可能不明显,时间长了肯定会放弃。

太多的人新的一年斗志满满,给自己定下了各种目标,细化到每天,结果最后都“无疾而终”。

对于没有基础的初学者来说,学习编程最重要的是保持初心和相对轻松的学习环境,不要给自己太大的压力,建议每天能学一到两小时即可,当然某些人意志力天生强大不算。

关于意志力方面,网络上的书太多了(例:《哈佛凌晨四点半》),随便找几本给自己打鸡血了解下。

P.S:瑜伽和冥想也是不错的放松和锻炼意志力的方法,当然我还有本书叫《少林绝学易筋经》。


当初怎么想起来学编程的呢?是想把自己理想里的网站、移动 App 或者工具应用做出来,还是要求解专业方向上的问题,或者完成一个游戏、制作一个交互动画效果,还是别的什么。

学习时,编程语言的诸多规定要记,开发平台的许多细节要熟悉,上手时debug的各种没头绪,如果陷到里边又没有搞出什么成果,太容易上演从入门到放弃。

时时记得自己是为什么来学习编程的,学会一点,就用一用,明明白白感受到每天进步一点点,坚持下来的概率就大很多了。



我见过论坛很多同学都问,“学多久才能学好?”,“我学了一个月越学越不能理解老师后面的课”或者“老师后面越讲越难”,诸如此类的帖子。

请问,你见过哪些个新学编程的新人,只用了一个月甚至两个月就掌握了一门语言的?

除非这个人已经掌握了三到四门其他的语言,触类旁通,再学新语言的速度会加快(甚至有大神只用几个星期就掌握一门新语言的)。

但零基础的话,还是脚踏实地的以年为单位慢慢学吧,把一门编程语言的细节都学透了,会是一个漫长的征程。

屈原说过“路漫漫其修远兮,吾将上下而求索”,学编程和减肥、健身一样,从来都不是一蹴而就的。


当然,你并不需要成为人肉编译器或解释器才能运用它,学会流程控制语句和基本的程序结构算是入门了(参考猜数字小游戏),之后就可以开始给自己的项目添砖加瓦了。

这样比较能保持长久的热情。有很多同学抱着谭浩强版《C语言程序设计》学编程,基本上都从入门到放弃了。

固然可能有书写得不好的因素,但缺少目标性和迫不及待也是一个很关键的因素。




                               
登录/注册后可看大图

                               
登录/注册后可看大图


3、语言本身如何入门

对初学者,首先要贯彻小步前进、勤动手练习的原则,起码要有一定的计算机基础,不要连怎么安装基础的python环境和配置系统环境都不会,那就不是学习,而是给自己添麻烦了。

有的同学甚至不明白什么叫控制面板就开始要学各种语言,逛论坛起码要懂得如何发代码,不要贴一大堆QQ截图甚至拿手机拍照,那就很不程序员了

建议零基础的爱好者尽量选择解释型语言学起,用好的集成开发环境( IDE )工作,比如学习 Windows 应用开发用 Visual Studio,学习 PHP 考虑 Zend Studio 或者 PHPStorm,学 web 开发的 WebStorm/Sublime/Visual Studio Code 等。

小步前进就是每步不要学太多东西,练习编写尽可能简单的程序。

除了个别天赋异禀的,假如你上来就想写个实用大程序给自己挖坑,出了问题都不知道从哪下手解决,那么还是老老实实从 hello world 开始逐渐写长一点的程序才是正道。




                               
登录/注册后可看大图

                               
登录/注册后可看大图


4、如何提高自己的兴趣

语言选择是由学习的目的决定的,比如做 Android 应用开发就得学 Java ,iOS 则是 Objective-C 或者 Swift,做网页当然是 JavaScript,大数据考虑 Python 或者 R,做游戏 C/C++,所以并不一定由得自己。

对于零基础的爱好者,随大流才是明智的,听说 Rust 好或者 haskell 牛就去学,基本上是找虐。

程序语言的流行情况随便在哪个社区论坛逛逛都很容易知道,搞不清楚可以参考 知乎 。

如果只有泛泛的兴趣,我现在一律推荐学 JavaScript或python,纯考虑语言的话 python 其实更好,学习起来简单,能尽快上手写东西才是好语言,不过 JavaScript 拿来做页面效果,比较容易有成就感,环境依赖也比较小。

另外,对于泛兴趣的学习者,强烈推荐大家从小游戏开始写起,逐渐过渡到小单机游戏(俄罗斯方块、坦克大战、飞机大战、贪吃蛇等),随后再去考虑自己要选择哪一方面。

最近几年大数据分析和网页爬虫比较火,建议大家最终都过渡到这一方面上去。




                               
登录/注册后可看大图

                               
登录/注册后可看大图


5、克服自己眼高手低的坏习惯

编程是个手艺活,手熟是一切的基础,所以抱着一本书或者一套视频啃完是非常不可取的,学一点就要写写练手的程序。

视频教程特别具有欺骗性,看佳宇老师行云流水地演示,对着暂停的屏幕自己抄一遍顺利出了正确结果,就以为自己也会了,关上视频看看?自己还记得多少呢?

自己出个题目写一下试试?立即就发现记忆里缺很多细节。所以拿新学的知识写练习程序是学会编程的唯一途径

对于心急的初学者,学到能够自己不查书写出在字符串数组里找到输入的字符串,基本就有足够的表达能力去书写所需要的逻辑了。

另外,有句话很出名,叫:Dont,t Repeat Youself,不要只是简单的复制和粘贴别人的代码,自己能切切实实的写出程序来,才叫掌握了。


语言入门之后,就可以试着写点自己感兴趣的东西,语言肯定还不够熟,所以手边准备一本语言参考书随时备查吧。

要自己写点东西,难免碰到一大堆平台、系统相关的背景知识,有时间找本入门本书或者课程系统学一下基本概念最好。

python方面,我个人比较推崇小甲鱼老师的python系列,或者《笨方法学python》、Python基础教材(第三版)就挺好。

有条件报个短期培训班也是不错的,未必培训班能讲得多好,但是有人带或者论坛认个大神或者师傅之类的话,入门还是要比自己乱撞容易点儿。



                               
登录/注册后可看大图

                               
登录/注册后可看大图


6、看不见阳光的日子


刚开始实际写程序,必然各种出错,碰到问题不要怕,要学会看出错信息,看不明白拿着完整的出错信息去网上查,问别人的时候尽可能提供详细的信息,尽最大努力不要让别人猜,这样得到帮助的可能性会大很多。

顺便说一声,查技术问题还是度娘比较好使,直接上网查你想要实现的代码抄过来用可能也不错。

最后就是要多交朋友,身边有高手可以请教是最好的,到网上论坛里混个脸熟也是不错的,有疑问先在论坛里搜索下,看是否自己提出的问题有类似的解答,假如没有类似的解答,然后再问问题

(论坛里现在遇到情况最多的问题就是列表推导式和贴标签的题,要么就是佳宇老师的“Baby I love You”之类的题,有时候一天可以见到三四个人问同一个问题。)

我一直很推崇一句话(忘了是谁说的),共勉给大家:“所谓坚持,不是每天朝六晚九,跟打了鸡血似的奋斗感满满,而是在前进的路上,不断的迷失自我、痛苦彷惶到否定自我,但是为了填上自己挖的坑,还是咬牙坚持走了下去。




                               
登录/注册后可看大图

                               
登录/注册后可看大图


7、利用好碎片化时间汲取营养

总结一下,学编程是为了解决问题,把你的问题分解细化,让它一步一步驱动你的学习过程,利用碎片化学习效果比你闷头读书效率要快的多。

帮别人解决问题本身也是一种不小的进步。


评分

参与人数 9荣誉 +40 鱼币 +42 贡献 +15 收起 理由
人本过客来无处 + 5 + 5 + 3 感谢楼主无私奉献!
RANNW + 5 + 5 + 3
唐周周 + 5 + 5 + 3 感谢楼主无私奉献!
jame_0000 + 2 感谢楼主无私奉献!
Gym_Rat + 5 + 5 有启发
Stubborn + 5 + 5 + 3
量子空间 + 5 + 5
人造人 + 5 + 5 + 3 鱼C有你更精彩^_^
新手·ing + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-23 19:00:35 | 显示全部楼层
真心支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 09:13:34 | 显示全部楼层
写的很中肯,谢谢`````
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 22:54:05 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-25 11:25:46 | 显示全部楼层
闲情雅致写小游戏的获得了成功  因为学习氛围比较轻松
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-27 16:16:21 | 显示全部楼层
前排手动点赞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-28 18:12:57 | 显示全部楼层
点赞楼主,心态还是太浮躁了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-29 00:34:47 | 显示全部楼层
谢谢!我刚开始学python,先来论坛做好一个心理建设
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-29 14:03:31 | 显示全部楼层
很好的一片心得文章,给迷茫的新人指引了方向。赞!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-30 13:13:58 | 显示全部楼层
给迷茫的新人指引了方向。赞!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-31 16:29:35 | 显示全部楼层
希望能学会Python,加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-2-2 15:37:22 | 显示全部楼层
嗯,一把年纪从零开始学,自己跟自己说,唯“坚持”两字!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-15 23:10:12 | 显示全部楼层
感谢老师,沉下心才是最重要的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-15 23:23:08 | 显示全部楼层
未来的发展趋势啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-16 09:47:38 | 显示全部楼层
写的真好!认真的看完了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-16 22:03:54 | 显示全部楼层
来学习打飞机小游戏比较容易上手
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-17 09:20:07 | 显示全部楼层
写得太好了,赞~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-18 14:08:58 | 显示全部楼层
指导很清晰,谢谢楼主!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-18 23:20:23 | 显示全部楼层
说的对,手艺活只有多学多练,加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-5 19:00:45 | 显示全部楼层
感谢分享,干货很多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 05:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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