鱼C论坛

 找回密码
 立即注册
查看: 1590|回复: 5

[吹水] 编程其实是文科

[复制链接]
发表于 2017-2-27 21:00:00 | 显示全部楼层 |阅读模式

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

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

x
编程究竟是文科还是理科?
还用问?编程当然是理科喽!或许很多人会不屑地回答。

                                              fbbfc48618eb370cc81a6a960ee297d3.jpeg
然而,情况真的如此吗?
让我们先来看看一个程序员故事,或许里面有着你我的影子。
学习编程的小灰
多年以前,工科出身的小灰打算学习编程
e0ed9f793baee677cc40dfd4d1a061b1.jpeg
学习编程的头一个月,小灰如鱼得水
a5392441ac56e025c05262f1f11ca04c.jpeg
学习编程三个月,小灰略有疑惑
2027114bd308a84007533e0bf028f56c.jpeg
求职和初入职场,海量的知识扑面而来
f21f67048f88f6f8035f381876ad6894.jpeg
工作若干年,小灰又将面临新的挑战
52f6b4d9458169dbb756525da1712cfc.jpeg
工作之余,小灰回想起自己编程道路上的得与失,不禁感慨道:
79c1e7e871e21d8d0da72a8338750889.jpeg
文科还是理科?
若要评判编程是文科还是理科,我们需要首先明确一下文科与理科的各自特征。
文科:以知识和经验总结为主,例如历史学、法学
27e150cf7231679a15db48df1639b6c7.jpeg
理科:以计算和逻辑推理为主,例如数学
55cb612932695ed6b1a66d7e827df9af.jpeg
当然,绝大多数学科都不是纯粹的文科和理科,而是两者均有涉及。其中有些学科更偏重文科,但也具有少量理科成分,例如地理学。
9c85ed808a9108d9386910179990d906.jpeg
也有部分学科更偏重理科,但具有少量文科成分,例如化学、生物学。
43313af88188bed8eb3480b8e3a22925.jpeg
对于这些“混合型”学科,我们往往依照其侧重点,来划分文理科。因而毫无疑问,地理学属于文科,生物学属于理科。
那么,对于“编程”这样一门学科,究竟是文科成分占主导,还是理科成分占主导呢?让我们来做一些具体分析。
编程中的理科部分:
1.基本逻辑
95e7ca7ceb22504340aa4dccc3006558.jpeg
这里的基本逻辑,指的是编程中所涉及的各种基本逻辑元素,比如程序中的循环控制、条件控制逻辑,比如数据库中的SQL查询逻辑,比如多线程的同步异步逻辑。
诚然,逻辑是学习编程的基石,但逻辑绝不会成为一个程序员从初级走向高级的门槛。因为这些逻辑的学习成本真的不高,只要方法得当,一个十二三岁的普通孩子也可以轻松掌握。
2.算法
900d619ee0357f033da254fe17c615b8.jpeg
如果说基本逻辑仅仅是入门的基础,那么算法就是理科编程的真正难点。可是,对于绝大多数人程序员来说,如果不是专门从事算法研究,不是ACM竞
赛的参赛者,那么算法对他来说仅仅是一个大致原理的理解,仅仅是一个API的调用。算法很重要,但是相对于其他能力,算法又显得不那么关键。
编程中的文科部分:
1.知识
df0af7566d12fb17bd182f14a054a373.jpeg
知识是一个广义的概念。在编程这个领域,知识可以是某种语言规则,比如Java中final类不能被继承;知识也可以是某个底层原理,比如Mysql中Myisam引擎的索引数据文件分离;知识也可以是某种设计原则,比如面向对象的开放封闭原则,比如系统设计的CAP原则。
或许有人会说,编程当中的知识不需要像文科那样死记硬背,最重要的是“理解”。可是,理解与记忆原本就是密不可分的,不去记忆,谈何理解?历史事件需要理解,法律法规也需要理解,但历史学与法学,并未因此而脱离“文科”这一属性。
2.经验总结
a276d25da8450cae916fe0e10ad431b7.jpeg
如果说编程知识是一条一条清晰的文字,那么编程经验则显得抽象而模糊,很难直接用语言表达。
深厚的编程经验可以让你写出可扩展性更强的代码,可以让你快速定位出线上的bug,也可以让你设计出高可用的系统。知识由书本得来,经验则是在一次次的采坑中逐渐总结和积累获得。可以说,经验的作用还在知识之上。
总结起来,在逻辑、算法、知识、经验四个方面,绝大多数程序员花费几个月的时间掌握了编程的基本逻辑,却需要花费五年甚至更长的时间来学习大量编程知识,总结编程经验。算法虽然学习成本很高,但因为过于“专业化”,而居于次要地位。
b1d8ac19f469d6edd236be36f49a60c5.jpeg
由此可见,编程虽然有着一定的理科元素,但更多的特征仍旧偏向文科,足以把整体定位成文科。
如何学好这门文科?
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2鱼币 +10 收起 理由
小树 + 5 感谢楼主无私奉献!
alltolove + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2017-2-27 21:49:58 | 显示全部楼层
还真是,编程需要的英语也属于文科
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-28 03:54:36 | 显示全部楼层
有道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-1 11:13:41 From FishC Mobile | 显示全部楼层
我信了,怪不得我学的很差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 19:56:03 | 显示全部楼层
哈哈  好逗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-23 14:59:52 | 显示全部楼层
我觉得  主要还是看学习能力 跟什么学科关系其实也不大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-20 17:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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