当前位置: 首页 > news >正文

最快的捷径就是脚踏实地

今天无意间看到标题上的这句话,心中有深深的感触!

从上周末开始恢复健身跑步,现在已经坚持一周了,自己能感到有明显的变化,一开始跑5圈腿都酸的不行,现在已经可以跑十圈了,而且腿都没什么感觉了。

编程也是这样,最近读了《你必须知道的495个C语言问题》和《程序员修炼之道》,虽然有些问题还是很难理解,但是我相信假以时日一定可以明白的。

明天准备将自己阅读的难点和重点做下总结,温故知新。

从去年开始自己就按照知乎上萧井陌大大的编程之路开始阅读,无奈基础薄弱,寒假前借的书依旧是没读完就还了回去,深深的罪恶感!今天将他专栏的文章又好好读了一遍,明白了戒骄戒躁,切忌求快!

比如自己最近读了《浪潮之巅》就十分向往去硅谷,可是现在的实力太不济,属于好高骛远;还有自己最近阅读了一本数据库概念方面的书籍,自己就想用C写一个关系型数据库,可是发现自己还缺少很多知识。

下面复制了专栏里关于启蒙的过程!

启蒙

「学编程应该学哪门语言?」这经常是初学者问的第一个问题,但这是一个错误的问题,你最先考虑的问题应该是「哪些东西构成了编程学习的基础」?

编程知识的金字塔底部有三个关键的部分:

  • 算法思想:例如怎样找出一组数中最大的那个数?首先你得有一个 maxSoFar 变量,之后对于每个数…
  • 语法:我怎样用某种编程语言表达这些算法,让计算机能够理解。
  • 系统基础:为什么 while(1) 时线程永远无法结束?为什么 int *foo() { int x = 0; return &x; } 是不可行的?

启蒙阶段的初学者若选择C语言作为第一门语言会很困难并且枯燥,这是因为他们被迫要同时学习这三个部分,在能做出东西前要花费很多时间。

因此,为了尽量最小化「语法」与「系统基础」这两部分,建议使用 Python 作为学习的第一门语言,虽然Python对初学者很友好,但这并不意味着它只是一个「玩具」,在大型项目中你也能见到它强大而灵活的身影。熟悉Python后,学习C语言是便是一个不错的选择了:学习C语言会帮助你以靠近底层的视角思考问题,并且在后期帮助你理解操作系统层级的一些原理,如果你只想成为一个普通(平庸)的开发者你可以不学习它。

下面给出了一个可供参考的启蒙阶段导引,完成后你会在头脑中构建起一个整体框架,帮助你进行自顶向下的探索。

  1. 完成 Codecademy 的 Python 部分。这只是热身部分,尽快完成它,因为你永远只是在浏览器里,你不会学到如何搭建开发环境。在 Codecademy 这类的编程学习网站学到的那点儿东西,哪怕你只想做一个小的不能再小的项目,你都不知道该从哪儿开始。
  2. 完成 MIT 计算机导论课(如果你英语不过关:麻省理工学院公开课:计算机科学及编程导论)。MOOC 是学习编程的一个有效途径。虽然该课程的教学语言为Python,但作为一门优秀的导论课,它强调学习计算机科学领域里的重要概念和范式,而不仅仅是教你特定的语言。如果你不是科班生,这能让你在自学时开阔眼界;课程内容:计算概念,python编程语言,一些简单的数据结构与算法,测试与调试。支线任务:完成《Python核心编程 》
  3.   完成 Harvard CS50 (如果你英语不过关:完成哈佛大学公开课:计算机科学    cs50  。同样是导论课,但这门课与MIT的导论课互补。教学语言涉及 C, PHP,  JavaScript + SQL, HTML + CSS,内容的广度与深度十分合理,还能够了解到最新的  一些科技成果,可以很好激发学习计算机的兴趣。支线任务:
  • 阅读《编码的奥秘》
  • 完成《C语言编程》
  • [可选] 如果你的目标是成为一名 Hacker:阅读 Hacker's Delight

里面说的很中肯!如果自己早点看到一定会少走的弯路,不过就跟自己没有进入计算机专业一样,另一条路有其他的风景;但是如果学了计算机专业,自己说不定就不想成为程序员了哈!

跟跑步要有明确的目标和坚持一样,编程也需要制定计划以及自己很好的执行力!

所以在这里规划下日程安排:

每天早上7.30起床,8点出门到教室。

除了计算机网络的课程需要认真听,其余时间好好看自己的目标读物。

早上安排大概3个小时阅读。

中午吃完饭1点看公开课mooc视频到3点。(戒掉午休)

下午3点健身到4点。

4点半吃完饭准备敲代码。

敲到10点20晚点名。

去跑步到11点半(两跑一休)

后面的时间用来总结一天的学习,坚持写技术日志!

12点半睡觉!(戴耳塞增加自己睡眠效率)

PS:手机只看博客和知乎。拒绝睡前玩手机。

每天保持充沛的睡眠7小时,大概要看3小时书,看2小时教学视频,敲5小时代码,1个小时总结学习。剩余6小时自由安排。

PPS:明天先把《你必须知道的495个C语言问题》读完,好好听计算机网络的课程,把数据库设计的章节看完。

转载于:https://www.cnblogs.com/hadesonly/p/4440508.html

相关文章:

  • 大闸蟹的 O O 第三单元日子——中测与强测的惨烈修罗场
  • Ant 简易教程
  • 你真的了解16.6ms刷新机制吗?
  • MongoDB基础笔记
  • 职位相关的名词解释汇总,逐步更新
  • 我理解的原型模式
  • BZOJ-1497 最大获利
  • 【原创】如何写一个框架:步骤(上)
  • 深入理解JS执行上下文的点点滴滴
  • MySQL索引原理及慢查询优化,了解一下?
  • [BZOJ 3282] Tree 【LCT】
  • npm script 一见钟情
  • 团队项目之典型用户
  • C++笔记(1)——Anniversary
  • 【第43题】【062题库】2019年OCP认证062考试新题
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • crontab执行失败的多种原因
  • Debian下无root权限使用Python访问Oracle
  • MYSQL 的 IF 函数
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 程序员最讨厌的9句话,你可有补充?
  • 盘点那些不知名却常用的 Git 操作
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 我从编程教室毕业
  • 学习Vue.js的五个小例子
  • 《天龙八部3D》Unity技术方案揭秘
  • 正则表达式-基础知识Review
  • ​MySQL主从复制一致性检测
  • #if 1...#endif
  • #pragma预处理命令
  • (007)XHTML文档之标题——h1~h6
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (原創) 物件導向與老子思想 (OO)
  • .bat批处理出现中文乱码的情况
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net core使用ef 6
  • .NET 直连SAP HANA数据库
  • .net分布式压力测试工具(Beetle.DT)
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • [Android]使用Retrofit进行网络请求
  • [BZOJ] 2044: 三维导弹拦截
  • [EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
  • [Golang] go-kit 介绍和使用 (微服务实现工具)
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [Linux_IMX6ULL驱动开发]-基础驱动
  • [MICROSAR Adaptive] --- autosar官方文档阅读建议
  • [NISACTF 2022]join-us
  • [P4V]Perforce(P4V)使用教程