漫画:编程是文科还是理科?

测试人必看!正交表与Allpairs工具对比:如何选择最适合你的组合测试方案? 本文深入对比了正交表、PICT与Allpairs三种主流组合测试方案,帮助测试人员根据项目场景做出最佳选择。文章分析了各自的核心原理、优劣势及适用场景,特别强调了在涉及复杂约束时PICT工具的强大功能,并提供了从原理学习到CI/CD集成的实战选型指南。 阅读详情

前言:本文转载自微信公众号“梦见”, 作者是玻璃猫, 文章提出的观点很有趣, 欢迎大家讨论。

编程究竟是文科还是理科?

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

640?wx_fmt=jpeg



然而,情况真的如此吗?

让我们先来看看一个程序员故事,或许里面有着你我的影子。



学习编程的小灰



多年以前,工科出身的小灰打算学习编程

640?wx_fmt=jpeg

学习编程的头一个月,小灰如鱼得水

640?wx_fmt=jpeg

学习编程三个月,小灰略有疑惑

640?wx_fmt=jpeg


求职和初入职场,海量的知识扑面而来

640?wx_fmt=jpeg


工作若干年,小灰又将面临新的挑战


640?wx_fmt=jpeg

工作之余,小灰回想起自己编程道路上的得与失,不禁感慨道:


640?wx_fmt=jpeg

文科还是理科?

若要评判编程是文科还是理科,我们需要首先明确一下文科与理科的各自特征。


文科:以知识和经验总结为主,例如历史学、法学



640?wx_fmt=jpeg

理科:以计算和逻辑推理为主,例如数学



640?wx_fmt=jpeg

当然,绝大多数学科都不是纯粹的文科和理科,而是两者均有涉及。其中有些学科更偏重文科,但也具有少量理科成分,例如地理学。



640?wx_fmt=jpeg


也有部分学科更偏重理科,但具有少量文科成分,例如化学、生物学。



640?wx_fmt=jpeg


对于这些“混合型”学科,我们往往依照其侧重点,来划分文理科。因而毫无疑问,地理学属于文科,生物学属于理科。


那么,对于“编程”这样一门学科,究竟是文科成分占主导,还是理科成分占主导呢?让我们来做一些具体分析。


编程中的理科部分:


1.基本逻辑


640?wx_fmt=jpeg

这里的基本逻辑,指的是编程中所涉及的各种基本逻辑元素,比如程序中的循环控制、条件控制逻辑,比如数据库中的SQL查询逻辑,比如多线程的同步异步逻辑。


诚然,逻辑是学习编程的基石,但逻辑绝不会成为一个程序员从初级走向高级的门槛。因为这些逻辑的学习成本真的不高,只要方法得当,一个十二三岁的普通孩子也可以轻松掌握。


2.算法


640?wx_fmt=jpeg

如果说基本逻辑仅仅是入门的基础,那么算法就是理科编程的真正难点。可是,对于绝大多数人程序员来说,如果不是专门从事算法研究,不是ACM竞赛的参赛者,那么算法对他来说仅仅是一个大致原理的理解,仅仅是一个API的调用。算法很重要,但是相对于其他能力,算法又显得不那么关键。


编程中的文科部分:


1.知识


640?wx_fmt=jpeg

知识是一个广义的概念。在编程这个领域,知识可以是某种语言规则,比如Java中final类不能被继承;知识也可以是某个底层原理,比如Mysql中Myisam引擎的索引数据文件分离;知识也可以是某种设计原则,比如面向对象的开放封闭原则,比如系统设计的CAP原则。


或许有人会说,编程当中的知识不需要像文科那样死记硬背,最重要的是“理解”。可是,理解与记忆原本就是密不可分的,不去记忆,谈何理解?历史事件需要理解,法律法规也需要理解,但历史学与法学,并未因此而脱离“文科”这一属性。


2.经验总结


640?wx_fmt=jpeg

如果说编程知识是一条一条清晰的文字,那么编程经验则显得抽象而模糊,很难直接用语言表达。


深厚的编程经验可以让你写出可扩展性更强的代码,可以让你快速定位出线上的bug,也可以让你设计出高可用的系统。知识由书本得来,经验则是在一次次的采坑中逐渐总结和积累获得。可以说,经验的作用还在知识之上。

总结起来,在逻辑、算法、知识、经验四个方面,绝大多数程序员花费几个月的时间掌握了编程的基本逻辑,却需要花费五年甚至更长的时间来学习大量编程知识,总结编程经验。算法虽然学习成本很高,但因为过于“专业化”,而居于次要地位。



640?wx_fmt=jpeg


由此可见,编程虽然有着一定的理科元素,但更多的特征仍旧偏向文科,足以把整体定位成文科。


如何学好这门文科?


无论编程的真面目是文是理,作为一个程序员,我们都需要热爱自己的职业。算法和设计思想是天马行空的艺术,项目研发则是脚下泥泞坎坷的道路。做好程序员,最重要的是踏实和耐心,希望各位亲们都能一步一个脚印,走出属于自己的路。

(完)

你看到的只是冰山一角, 更多精彩文章,参见《码农翻身2016文章精华》

有心得想和大家分享? 欢迎投稿 ! 我的联系方式:微信:liuxinlehan  QQ: 3340792577

0?wx_fmt=jpeg

公众号:码农翻身

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。


YOLO项目部署:从Python脚本到Docker容器的企业级交付全流程 YOLO模型企业级Docker部署方案 核心挑战 环境一致性:解决"本地能跑,服务器崩掉"问题 可扩展性:支持单实例到多实例扩展 稳定性:确保99.9%可用性 部署流程 项目改造:模块化代码,分离配置 Docker镜像:支持CPU/GPU环境 API服务:封装推理逻辑 监控告警:实现自动化运维 技术方案 需求 解决方案 环境一致性 Docker镜像+依赖冻结 可扩展性 K8s+负载均衡 稳定性 健康检查+自动重启 项目结构 模块化代码组织 外部化配置管理 精确依赖版本控制 摘要重点:通过 阅读详情

相关推荐

Isaacgym使用操作指南

Isaac Gym 是一个强大的仿真工具,特别适合那些需要进行大规模并行仿真和训练的机器人和强化学习任务。通过 GPU 加速、深度学习集成和丰富的物理仿真能力,Isaac Gym 能够显著提高仿真和训练效率,是机器人学和 AI 研究中的一大利器。

Tony Wey的博客 1万+

计算机编程专业是文科还是理科,我编程水平比大多计算机专业的强,但我是学文科的。...

我编程水平比计算机专业大部分人强,但我是学文科的。一群新的网络新闻专业的ddmm们又来了~一脸困惑的来问,到底怎么看待文理的关系。偶的观点是,一定要精通理,然后再搞文的。最近我总被5q.com的ajax的神奇效果吸引,也开始了ajax的学习过程。照例,偶是属于.net平台的,忽然发现了ms推出了atlas这个宝贝~让偶很短时间内也能让我的网站具备ajax的用户体验了。成就感很大很大滴~~偶将永远不...

weixin_36116366的博客 1120

基于TI MSPM0的PS2双轴按键摇杆模块ADC+GPIO驱动移植实战

本文详细介绍了在TI MSPM0微控制器上驱动PS2双轴按键摇杆模块的完整实战流程。通过SysConfig图形化工具配置ADC与GPIO引脚,并编写了包含ADC采样、按键检测及数据处理的驱动代码,实现了对摇杆X/Y轴模拟量及按键数字量的稳定读取,为嵌入式控制项目提供了可直接移植的解决方案。

weixin_42465140的博客 85

我讲个事情哈,编程其实是文科

简述:大家普遍的观点就是编程序是理科,因为就拿学校里来说吧,计算机和软件专业招录的都是理科生,并且获取的要么是理学学位要么是工学位,而且什么算法、数据结构、逻辑还有离散,这些都是数学哇,但是本文的观点就与众不同,作者认为编程其实是文科,这样想想也有道理,毕竟编程思想都可以上升到哲学的高度...你说对不? 编程究竟是文科还是理科? 还用问?编程当然是理...

weixin_34194379的博客 601

Obsidian+Zotero文献管理终极指南:如何把PDF批注自动同步到笔记库

本文详细介绍了如何通过Obsidian与Zotero的深度集成,实现PDF批注自动同步到笔记库的高效工作流。从工具链配置、批注同步机制到工作流优化,帮助研究者构建智能文献管理系统,提升学术研究效率。特别适合需要处理大量文献的学者和科研人员。

weixin_29306571的博客 596

GPT大模型在数学建模中的实战应用:从思路启发到代码生成

数学建模是将现实问题抽象为数学问题并求解的核心方法,其关键在于通过合理的假设与简化,构建可计算的数学模型。传统建模依赖MATLAB等工具进行推演试错,而大语言模型的出现革新了这一范式。GPT等模型通过理解自然语言、辅助逻辑推理与代码生成,能有效提升建模效率与质量,在问题解析、模型构建、算法实现等环节提供关键支持。本文聚焦GPT在数学建模中的具体应用,涵盖赛题解读、模型推导、代码生成与结果分析,并结合实战案例,探讨如何将其作为“副驾驶”融入建模全流程,实现人机协同的智能化建模。

weixin_29061465的博客 325

数据库索引篇总结归纳:B-(B tree),B+ 两篇通俗易懂的好文(漫画版)

基础文章: 最左前缀原则 关于mysql最左前缀原则 索引: 漫画:什么是B-树? 漫画:什么是 B+ 树? 浅谈算法和数据结构: 十 平衡查找树之B树 (很推荐) MySQL索引背后的数据结构及算法原理(2011年写的文章, 作者耗时1个月) ...

张小凡 425

产品路线图的三种模型(RICE/MoSCoW/Kano),教你如何对需求进行优先级排序

RICE/MoSCoW/Kano三种模型,教你如何对需求进行优先级排序。 也许你会让业务提供一份ROI,记得前不久参加过一场立项会评审,一位很有意思的小产品在会上讲不清楚ROI,评审们要求会后重新梳理,小产品表达不要为难业务方干一些他们不擅长的事了。这个看似笑话的经历,背后隐藏着价值判断已经流于形式。 也许你会要求业务方直接给出需求优先级列表,把任务分为P0到P5,这样的划分除了按需求本质的优先级还同时考虑了开发资源、开发难度等问题。毫不夸张地说,我曾经拿到一张全是P0级别的需求清单,如果一切任务都是高

wenyusuran的专栏 5547

漫画:编程其实是文科

编程究竟是文科还是理科?还用问?编程当然是理科喽!或许很多人会不屑地回答。然而,情况真的如此吗?让我们先来看看一个程序员故事,或许里面有着你我的影子。学习编程的小灰多年以...

Rookie 209

【定位模块算法】amcl(蒙特卡洛)粒子滤波定位算法(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)amcl定位框架介绍(2)amcl定位框架组成(1)ROS-TF坐标转换树【ROS的工具】(2)robot_pose_ekf扩展卡尔曼位姿估计算法(3)定位amcl自适应蒙特卡洛定位,adaptive monte carlo localizaion**(3)amcl定位节点的订阅与发布(4)amcl定位功能包用法(1)编写amcl节点相关的launch(amcl_omni.l

qq_35635374的博客 4403

RK3399驱动开发 | 19 - 阿美林7寸mipi屏幕调试(基于linux4.4.194内核)

NULL

Mculover666的博客(嵌入式) 2666

文科生转码?转行学Python等成为新趋势?

文科生转码?转行学Python等成为新趋势?

Java_bx的博客 388

在 SAP ABAP 里可靠地对接 FTP 服务器:从连接、命令到传输与排错的完整实战

本文详细介绍了在SAP ABAP中实现FTP文件交换的完整技术方案。文章首先解析了FTP协议的双连接特性(控制连接与数据连接),强调保持控制连接的重要性。随后详细说明了ABAP中FTP操作的四步标准流程:建立连接(包含HTTP_SCRAMBLE加密)、执行命令、断开连接和关闭RFC通道。文章提供了实战案例代码,演示如何将FTP文件复制到应用服务器再读取进内表处理,特别指出后台作业与前台操作的关键差异。最后总结了常见错误排查要点,包括连接模型、路径设置和资源释放等问题。全文通过SAP标准函数模块的调用顺序、典

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 311

艺术编程-技术之声第9期

艺术编程-技术之声第9期技术未来:1.摩拜CEO:失败了,就当做公益吧 2.关爱脸盲,人人有责 3.如何买到一辆适合车震的二手车?技术之声: 1.ASM: 一个低调成功者的自述 2. 聊聊Java 平台上的非Java语言 3. 如何实现超高并发的无锁缓存? 4. 【死磕Java并发】—–Java内存模型之分析volatile 5. 理解本真的REST架构风格本周推荐-与君共勉: 1

IT小生 505

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

学Python还是Java, 7张漫画带你全面分析

TIOBE 2020 年 6 月份的编程语言排行榜已经出来了。这个号称江湖兵器谱排行榜,每个月都会出炉一次,前十名几乎没有变化。C语言已经蝉联了2个月的第一,而Java和Python依然...

cainiao_python的博客 607

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

学Python还是Java, 几张漫画带你全面分析

之前我的文章中已经说过了,2020年10月的编程语言,Python 排名逼近第二。 https://blog.youkuaiyun.com/qq_38887171/article/details/109010424 ava和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手。但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻了解: 1.运行速度 Java是静态语言静态编译的,速度上要比Python快的很多,而Pyt.

qq_38887171的博客 247

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

c语言转java_学Python还是Java, 7张漫画带你全面分析

TIOBE 2020 年 6 月份的编程语言排行榜已经出来了。这个号称江湖兵器谱排行榜,每个月都会出炉一次,前十名几乎没有变化。C语言已经蝉联了2个月的第一,而Java和Python依然是老二和老三,市场热度常见不减。C语言的第一跟全球5G时代的到来,万物互联,工业智能化有关,因为底层的代码全部都是C语言编写,部分会用C++,一起来看一下榜单:而Java和Python两门语言都是目前非常...

weixin_42468562的博客 110

学Python还是Java, 7张漫画带你全面分析!

TIOBE 2020 年 6 月份的编程语言排行榜已经出来了。这个号称江湖兵器谱排行榜,每个月都会出炉一次,前十名几乎没有变化。C语言已经蝉联了2个月的第一,而Java和Python依然是老二和老三,市场热度常见不减。 C语言的第一跟全球5G时代的到来,万物互联,工业智能化有关,因为底层的代码全部都是C语言编写,部分会用C++,一起来看一下榜单: 而Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手。但是对于初学者来说,非常困惑,因为时间和精力..

爬遍所有网站 268

c语言转java_学 Python 还是 Java, 7张漫画带你全面分析

点击上方“小猿学Python”,选择“置顶公众号”TIOBE 2020 年 6 月份的编程语言排行榜已经出来了。这个号称江湖兵器谱排行榜,每个月都会出炉一次,前十名几乎没有变化。C语言已经蝉联了2个月的第一,而Java和Python依然是老二和老三,市场热度常见不减。C语言的第一跟全球5G时代的到来,万物互联,工业智能化有关,因为底层的代码全部都是C语言编写,部分会用C++,一起来看一...

weixin_28954623的博客 115

元旦限时特惠,耳机、书籍等大降价

今天是12月31日离2020年仅有不到一天的时间你们的2019年目标都实现了吗?在这一年你写了多少行代码改了多少个bug呢?2020年的愿望是否也是希望自己写的代码bug能少一些?小编的...

程序人生的博客 1057

女性网络安全从业者生存指南:从入门到领导力

《女性网络安全从业者生存指南》为女性从业者提供了从入门到领导力的实用建议。数据显示,网络安全领域女性占比仅18%,管理岗不足10%,但女性在合规审计、隐私保护等方向表现更优。文章提出三大阶段策略:入门阶段选择女性友好方向(如合规审计、隐私保护),避开技术门槛高的领域;进阶阶段通过沟通能力、细节管理和参与女性专属赛事建立差异化优势;领导力阶段发挥柔性管理特长,建立行业影响力。指南包含真实案例、资源工具与避坑技巧,强调发挥女性优势而非对抗偏见,为不同阶段的女性从业者提供可落地的职业发展方案。

2401_84205765的博客 1150
上一篇: Java帝国之JMS的诞生
下一篇: 张大胖和单元测试
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值