如何零基础入门编程

时间:2018-04-28 17:05 责任编辑:韶华网网络程序部
         所谓的零基础,指的是没有系统学习过、基本或根本没有学习过编制程序所需要的机器与操作系统原理方面的知识,但是有至少高中程度的数学修养和逻辑推理能力。
 
         对于没有基础的初学者来说,学习编程最重要的是保持初心。当初怎么想起来学编程的呢?是想把自己理想里的网站、移动 App 或者工具应用做出来,还是要求解专业方向上的问题,或者完成一个游戏、制作一个交互动画效果,还是别的什么。学习时,编程语言的诸多规定要记,开发平台的许多细节要熟悉,上手时debug的各种没头绪,如果陷到里边又没有搞出什么成果,太容易上演从入门到放弃。时时记得自己是为什么来学习编程的,学会一点,就用一用,明明白白感受到每天进步一点点,坚持下来的概率就大很多了。
把一门编程语言的细节都学透了,会是一个漫长的征程,你并不需要成为人肉编译器或解释器才能运用它,学会流程控制语句和基本的程序结构算是入门了,之后就可以开始给自己的项目添砖加瓦了。这样比较能保持长久的热情。学习编程最重要的是目的性,明确牢记自己的目的。使自己在过程中不容易放弃。

      语言选择是由学习的目的决定的,比如做 Android 应用开发就得学 Java ,iOS 则是 Objective-C 或者 Swift,做网页当然是 JavaScript,大数据考虑 Python 或者 R,做游戏 C/C++,所以并不一定由得自己。对于零基础的爱好者,随大流才是明智的,听说 Rust 好或者 haskell牛就去学,基本上是找虐。程序语言的流行情况随便在哪个社区论坛逛逛都很容易知道,搞不清楚可以参考TIOBE 。如果只有泛泛的兴趣,我现在一律推荐学 JavaScript,纯考虑语言的话 Java 其实更好,学习起来简单,能尽快上手写东西才是好语言,不过 JavaScript 拿来做页面效果,比较容易有成就感,环境依赖也比较小。

       小步前进就是每步不要学太多东西,练习编写尽可能简单的程序;除了个别天赋异禀的,上来就写个实用大程序那是给自己挖坑,出了问题都不知道从哪下手解决,老老实实从 hello world 开始逐渐写长一点的程序才是正道。

        编程是个手艺活,手熟是一切的基础,所以抱着一本书或者一套视频啃完是非常不可取的,学一点就要写写练手的程序。视频教程特别具有欺骗性,看老师行云流水地演示,对着暂停的屏幕自己抄一遍顺利出了正确结果,就以为自己也会了;关上视频看还记得多少?自己出个题目写一下试试?立即就发现记忆里缺很多细节。所以哪新学的语言元素写练习程序是学会编程的唯一途径。对于心急的初学者,学到能够自己不查书写出在字符串数组里找到输入的字符串,基本就有足够的表达能力去书写所需要的逻辑了。

         语言入门之后,就可以试着写点自己感兴趣的东西,语言肯定还不够熟,所以手边准备一本语言参考书随时备查吧。要自己写点东西,难免碰到一大堆平台、系统相关的背景知识,有时间找本入门本书或者课程系统学一下基本概念最好,比如 O’Reilly 的 up and running 系列就挺好,Lynda 有很多编程方面的入门视频非常适合建感性认识。有条件报个短期培训班也是不错的,未必培训班能讲得多好,有人带的话,入门比自己乱撞还是容易点儿。

         刚开始实际写程序,必然各种出错,碰到问题不要怕,要学会看出错信息,看不明白拿着完整的出错信息去网上查,问别人的时候尽可能提供详细的信息,尽最大努力不要让别人猜,这样得到帮助的可能性会大很多。顺便说一声,查技术问题还是 Google 比较好使。
直接上网查你想要实现的代码抄过来用可能也不错。最后就是要多交朋友,身边有高手可以请教是最好的,到网上论坛里混个脸熟也是不错的,国内的 csdn、v2ex、segmentfault 都不错.
          总结一下,学编程是为了解决问题,把你的问题分解细化,让它一步一步驱动你的学习过程,学起来就没那么难啦。

 
 来源:知乎
著作权归作者所有
编辑:孙乐川;
(责任编辑:韶华网网络程序部)