突然又回想到这个话题,学编程,为什么英语和数学对其大有裨益。

有些道理,的确是亲身体会过后才能有深刻的认识。因此,阅历,眼界,思维等等,都是在不断地思考与实践中变得更好,慢慢的就会发现,自然二字非常重要。

不同的人对这个道理的阐述不同,但几乎可以确定的是,自然规律不因为我们的主观意志而改变。以足够长远的角度来看,从不同的地方出发,最终一定会向着同一个方向前进。例如生命从诞生走向死亡,事物的发展总是在经历着大同小异的生命周期。客观的对待现实,就能发现规律。

拿编程来说。程序其实像一种语言,人类用这种语言和机器对话,让机器能够完成各种精妙复杂的运算,能够为我们完成工作。到今天,虽然发展不过100多年,但由于凝聚着人类现代文明智慧的结晶,已经是一个集大成者。这个时代是多么伟大,我们能够轻松的从互联网上获取知识,开源文化记录了软件层面从无到有,再到飞速发展的全部过程。无论是古老的系统内核,还是最先进的云服务,每个人都能轻松的获取那些代码。

但并不是每个人都能像Linus一样,创造一个时代。计算机领域非常显著的一个特点就是,人力在机器面前的渺小。技术差距无法用人数和时间来弥补,一百个平庸的程序员工作一个月所做出来的产品,可能被一个架构师一周的成果秒杀。这毫不夸张。计算机会把思想和技术上的优势几何倍的放大。

如果说编程的本质是解决问题,那么这种能力的提高必然关系到许多方面。刚开始要处理的问题,复杂度低,数据量小,没什么精度要求,不用考虑问题本身以外的其他地方。但随着问题逐渐变得复杂,深入和多样化,每一个点上都会变得值得深究,很多地方需要以不同的标准重新考虑。在这个过程中,技术得到发展,其难度也随之上升。

得益于时代的红利,如今一个程序员并不需要多少数学和英语能力就能生存下去。最基础的编程通过调用和简单的逻辑就能完成,大量的API让一些复杂的东西也能轻松的用几行代码实现。看起来很美好,其实并非如此。如果只有这样的能力,那么太容易被代替了。甚至于,已经有机器开始代替我们做这些搬砖的工作。

人的价值取决于其的不可代替性。如果你懂英语,你本身就已经理解了代码的一半。在此基础上,你还能免费接触到最好的文档,最好的社区,以及最好的书籍和搜索引擎。这意味着在学习和实践的道路上,你几乎可以找到所有问题的答案,可以避免绝大多数坑,这种效率跟不懂英语的人完全不在一个水平上。长期以往,在思想和方法上也会有质的差距。而数学,对世间万物的本质抽象,以及它所附带的数理逻辑与思维,其实就是解决问题的能力最核心的东西。

《原则》里说,越接近事物的本质,就越容易实现目标。如果我们不断的迭代自己对于编程的理解,不断优化自己的思想与方法,坚持实践,从积累中反思,建立良好的循环,能力的提升应该是自然而然的。

当然,编程只是一种能力,或者说特种知识。虽然可以大讲特讲,但在人生之中不过也是一叶扁舟罢了。

转载于:https://www.cnblogs.com/NeroSong/p/9171388.html

编程随想——从基础开始,顺其自然相关推荐

  1. java新手的通病_编程随想:Java新手的通病 PDF 下载

    编程随想:Java新手的通病 PDF 下载 下载地址: 提取码:onyi 相关截图: 主要内容: 其实很早以前就想写这样一个文章,可惜当时我没有 Blog,所以到现在才写下来.最近几年,随着 Java ...

  2. 虚幻引擎C++编程游戏开发基础

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:23.8 GB |时长:44h 59m ...

  3. java内存栅栏_内存屏障(Memory Barriers/Fences) - 并发编程中最基础的一项技术

    我们经常都听到并发编程,但很多人都被其高大上的感觉迷惑而停留在知道听说这一层面,下面我们就来讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见 ...

  4. python快速编程入门课后程序题答案-Python编程从零基础到项目实战 完整PPT+习题答案...

    Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...

  5. linux网络编程二:基础socket, bind, listen, accept, connect

    linux网络编程二:基础socket, bind, listen, accept, connect 1. 创建socket #include <sys/types.h>     #inc ...

  6. ubuntu下C编程,编译基础( 转)

    buntu下C编程,编译基础 C 编程中相关文件后缀 .a 静态库 (archive) .c C源代码(需要编译预处理) .h C源代码头文件 .i C源代码(不需编译预处理) .o 对象文件 .s ...

  7. Linux系统编程25:基础IO之亲自实现一个动静态库

    本文接:Linux系统编程24:基础IO之在Linux下深刻理解C语言中的动静态库以及头文件和库的关系 文章目录 A:说明 B:实现静态库 C:实现动态库 A:说明 前面说过,库其实就是头文件和和.a ...

  8. 多媒体方面的应用程序java_Java编程之多媒体基础

    图像图形都介绍了,下面就让我们一起看看Java多媒体基础方面的知识吧,如果想要制作出好看的多媒体软件,还需要对本节内容进行研究与学习哦! Java编程之多媒体基础重点: Java程序播放幻灯片和动画, ...

  9. 数学对编程思想的帮助_学编程需要什么基础?

    程序员薪酬高.工作环境好,是很多同学向往的职业,让很多非计算机专业的同学羡慕不已.非计算机专业难道就不能成为程序员了吗? 学编程需要什么基础? 1.数学基础 从计算机发展和应用的历史来看计算机的数学模 ...

最新文章

  1. 源码分析-Activity的启动流程
  2. DUMP3 企业级电商项目
  3. 金蝶kis商贸采购单商品代码_金蝶KIS商贸版流程
  4. C/C++学习笔记:算法知识之平衡树学习笔记,收藏一波吧!
  5. python3 字典合并_python3字典合并怎么做?
  6. C++ 捕获程序异常奔溃minidump
  7. CAD椭圆怎么画?CAD椭圆绘制步骤
  8. python工资一般多少p-我会p图,月薪5000,兼职1.5w...
  9. php模板生成pdf,PHP生成PDF
  10. 世界杯运营:时隔2年,这个教科书般的Push,看完依然泪奔
  11. 这几个拍图读字软件你见过吗?附赠使用方法
  12. boost 普通用户读取SYSTEM创建的共享内存
  13. 淡季累库,黑色短期高位震荡看待(20210104).PDF
  14. VSCODE 全局搜索失效
  15. mysql中的unix_timestamp函数
  16. 论文笔记——扩散卷积循环神经网络进行交通预测
  17. 一个例程学会使用——模糊逻辑工具箱
  18. Windows系统自带的DOS窗口
  19. [xiaoyi和你飞]博弈基础 ——[AB]
  20. 「微信群合影2.3.0」- 新增高清头像

热门文章

  1. ATM-简单SQL查询
  2. 英文好词好句[论文向]
  3. ipad手写笔什么牌子好?最好用的电容笔
  4. Newtonsoft.Json.JsonSerializationException:“Error converting value ****(Could not cast or convert *)
  5. 【Linux 基础入门】(十三)Linux 进程概念
  6. 产品设计体会(7020)不做没理想的咸鱼“人要是没有理想,和咸鱼有什么区
  7. 【深度学习】VGG-16网络结构
  8. 简单回归模型:普通最小二乘法OLS(一)
  9. java开发中JDBC连接MySQL
  10. Day 21 集合框架(3)