zoukankan      html  css  js  c++  java
  • Hard模式学编程

    靖难:
    我一直推崇一种学习编程的方法,就是learn programming the hard way,我把它翻译为Hard模式学编程 。
    我觉得他有以下几个要领:
    1. 一开始学习的时候,要尽量去化简为繁.化简为繁的目的是去探索变化,不断的尝试以理解。比如为了理解某个循环逻辑,你应当试着去尝试改变循环变量的自增方式,打印出中间的每个临时结果,然后用纸去推导这个过程,想清楚为什么会有这样的结果。
       多去练习一些“无用”但是很繁琐的问题,比如矩阵加减乘除运算、字符串的各种变换。


    2. 当你对基本语法的理解和运用已经没有太多障碍时,试着去学习数据结构和算法,并实现他们。也许你会认为这些都是轮子,以后工作根本不会去实现他们,但是写轮子其实是最锻炼人的能力的。其次,经典数据结构和算法的思想,会对你的实际工作有很大帮助。


    3. 依赖一定的平台,去写一些有意思的东西,继续造轮子并开始造工具。写一个简单的正则表达式解析器,写一个编译器,写一个图片压缩程序,写一个简单的web server,写一个CGI程序,写一个内存分配器,你有太多的东西可以去尝试去实现,这些也可以成为你未来的竞争力,哪怕你写得很烂。


    4.学一门动态语言吧,推荐python。自从接触python后,几乎我私下所有的程序都是用python完成的,包括我自己写的一些网站、新浪微博应用、校园网论文下载代理等,都是用python完成。即使我写不出很pythonic的代码,但我依然热爱python。


    5.保持对互联网的敏感和新技术的兴趣,如果碰到热爱的,就深度就钻研下去吧。


    6.关注开源,试着去读去修改一些轻量级的开源项目。甚至可以尝试去提交代码参与进去。


    7. 开通你的github帐号,开始储备你的代码吧。同时记得记录下你的思考,写博客吧。









  • 相关阅读:
    git常用命令及常见问题解析
    如何让一个sprite绕一个点旋转,同时又可以实现指定旋转角度并慢慢停下的效果
    webpack打包,同时将ES6转为ES5,初探
    测试网站接口,nginx篇
    Phaserjs V2的state状态解析及技巧
    Phaserjs怎样用ES6开发游戏
    PIXI屏幕自适应以及强制横屏
    CSS性能优化新属性:will-change
    div,css&table布局有哪些区别
    防止js全局变量污染方法总结
  • 原文地址:https://www.cnblogs.com/gaoxiangde/p/4379874.html
Copyright © 2011-2022 走看看