我为什么讨厌某些读后感

(为宏扬我天朝传统文化,灭洋人之威风,我们还是讲母语吧。本文尽量采用国产文字和序号书写。扬我天威,赞我中华!哈里路亚!)

在发牢骚之前,让我先引用一句某人说过的话:“使用例子会增加鲜活感……对于非理性的人,用例子能够加强说理”(self-citation,参考中国教授们的SCI造假)

所以,本文要以某人的读后感为例来进行说理:
http://yishan.cc/blogs/xin/archive/2008/11/16/i{1,3}.aspx
(为了屏蔽小白,URL使用了正则表达式;共计三篇对《梦断代码》的读后感)

仔细研究例子中的三篇文章,尝试提取作者的主要观点,我们不难发现,作者从自身经验出发,强调了两面性的事物的某一方面,并用它来作为出发点,去分析《梦断代码》中的例子。用俗话说,就是将“反正话儿”拆开,只说其中的一面。

例如:
甲) 《读后感1》中对"驱动力"和"责任"的怀疑是有些道理的,但这样会给人造成一种错误印象:在这么基本的问题上都有重大漏洞,这种模式怎么可能会走得通 呢?其实这种方式在某些情况下是走得通的,人们需要问的,其实应该是这样一个问题:目前这种模式走得通的概率多大?——如果你很想要得到一个“非黑即白” 的回答,那么对不起,它将是没有答案的。如果有人声称可以回答,那么他一定是一个骗子!
当然,作为感想,不应该为这种错误印象负责任,毕竟人家只是在发感想嘛!但我们也不能忽略它会给别人带来的的后果,是吧?

乙) 《读后感3》中关于设计应该"完美与否"的倾向性很明显。读过文章后应该很容易赞同作者。但是,这样的说法过于笼统,无法指导实践:"完美与否"是指局部 的还是整体的?是指长期的还是短期的?什么样才算“完美”?"完美与否"与“项目成功与否”没有严格的因果律?它是否需要和许多其它的因素共同起作用?这 样子简单地在事后进行归因,找到的是因果关系么?“完美与否”对于“项目成功与否”之间是什么关系?充分么?必要么?
如果你认定二者有关系(相关),你会不会为了项目成功的目的,而去实施“完美/不完美”这一指标?(我又不由地想起了“大炼钢铁赶超英美”)


请允许我卑鄙地揣测一下:如果有一个人的文章,能让读者看过后,在心底里自以为了解到事情的本质了。那么,许多人就会捧着它大声叫好。因为它让人有一种"终 于明白事情运行机理"的成就感(参见网站:http://www.howstuffworks.com/)。因为这样就能够让自己显得很 niubility;特别是对于有些人,对事情有些感性认识,但没有完全搞懂,或没有亲自体验过或体验不多。这些人在读过这类文章后会觉得自己"终于彻底 明白了!",这种情况就觉得niubility的二次方,就更为叹服这篇文章,二次方的叹服。(如果一个人懂得了这么多东西,是不是有助于在性别选择中成 功?)

人们喜欢并乐于传播这样的文章(或讲演/畅销书):在这样的文章中,作者将成功(或失败)的原因总结趋于简单化,如:"我之所以成功(或失败),是因为重视(或忽视)了人才"。

再比如:系统之所以成功,是遵循了完美设计原则/不完美设计原则。
又比如:系统之所以成功,是因为从始至终落实了人员的责任。

啊!对!你可能注意到了“完美”和“责任”这几个字眼,也可能想到了我要说什么——是的,那三篇读后感就是有这种功效。它加工了原作者提供的二手信息,将它向着几个简单的Yea/Nay的方向归因,如完美/责任/交流等。
根 据信息论,我们知道:除非作者在各方各面都是100%正确,否则,这样的三手信息的熵就将大为减少。根据max-entropy principle,在没有能够成功得到检验之前,我们还是不进行这种归因为好(参见Renaissance Technologies的成功:http://en.wikipedia.org/wiki/Renaissance_Technologies)再来 想像一下这样的情景:你读完了《梦断代码》,并为之感到困惑,正在寻找答案的时候看到了这样的读后感,外加一大票追捧的评论。这个时候的你,很容易就会无 条件赞同了。(从众啊从众)

Dreaming In Code的作者没有去从某个角度出发去罗列事实,也没有想借Chandler的整个事件证明自己的某种看法,他只是在叙述他了解的、目击的事情。如果我们 善意地猜测,可以这样认为:作者知道这样复杂的一件事情不是能够那样简单地归结出原因的。甚至事情的成败还未最终定论(参见原书的author's note)……但是他的这种苦心被一些人直接无视了,他们仍旧在这本书的基础上得出结论,并且乐于推广这些靠不住的结论。我曾经推荐这本书给许多人,有些 人读过后跟我说:哦,不就是Chandler么,其实我很早就知道这个项目,它之所以失败,是因为……布拉布拉……

对这些洋文的布拉布拉,我要说的是两个字:啊——呸——!


参考资料:
《两三个月前的国家地理杂志》

<think>好的,我现在需要帮助用户解决他的问题。他目前是大一下学期,学校在教Java,但他对数学不太感兴趣。他之前问过关于选择Python还是Java的问题,现在可能需要更具体的建议,尤其是在他当前的情况下如何调整学习路径。 首先,我需要理解他的核心需求。他可能对编程感兴趣,但学校的Java课程让他感到困惑,或者觉得Java与数学关联较大,而他对数学不感兴趣。因此,他想知道是否应该继续学习Java,或者转向其他更适合他兴趣的方向,比如Python,或者其他不需要强数学背景的领域。 接下来,我要考虑他的背景。作为大一学生,他刚开始接触编程,可能对编程的整体概念和应用领域还不清楚。学校教Java,可能课程设计偏向于计算机科学的基础,如面向对象编程,但Java在企业应用、后端开发等领域确实应用广泛。然而,如果他对数学不感兴趣,可能需要避开那些需要大量数学知识的领域,比如数据科学、机器学习或算法研究。 然后,我需要分析Java和Python在不同领域的数学需求。例如,Java常用于企业级应用、安卓开发,这些领域虽然可能需要逻辑思维,但数学要求相对较低。而Python在数据分析、人工智能等领域应用广泛,但这些领域通常需要统计学、线性代数等数学知识。因此,如果他真的不喜欢数学,可能需要避开这些方向,即使使用Python。 另外,用户可能担心继续学习Java是否会涉及大量数学内容。需要明确的是,Java本身作为编程语言,其基础语法和面向对象编程并不需要高深的数学,更多是逻辑和结构设计。但某些应用领域,如游戏开发(涉及物理引擎)、金融系统(涉及算法交易)可能会需要数学,但这些属于特定领域,并非Java本身的要求。 接下来,我需要考虑如何为他规划学习路径,结合他的兴趣(不喜欢数学)和学校课程(Java)。可能的建议包括: 1. **利用学校Java课程打好编程基础**:虽然对数学不感兴趣,但Java作为一门静态类型语言,可以帮助建立扎实的编程基础,理解面向对象的概念,这对未来学习其他语言也有帮助。 2. **探索Java的应用领域**:引导他了解Java在不需要强数学背景的领域的应用,如Web开发(Spring框架)、安卓应用开发、企业级系统等。这些领域更注重逻辑设计和业务理解,而非数学理论。 3. **结合兴趣选择方向**:如果他喜欢前端开发,可以学习JavaScript、HTML/CSS,与Java后端结合;如果对移动应用感兴趣,可以转向安卓开发(使用Java/Kotlin);或者转向自动化测试、DevOps等方向,这些对数学要求较低。 4. **补充学习其他技能**:例如,学习数据库管理(SQL)、版本控制(Git)、软件开发流程(Agile)等,这些都是编程相关的实用技能,不涉及复杂数学。 5. **明确职业路径**:帮助他了解不同职业道路的数学需求,避免进入需要高数学的领域,选择更偏重逻辑和业务实现的职位。 同时,需要关注他可能存在的误解。例如,认为编程必须涉及大量数学,其实很多编程工作更注重解决问题、逻辑思维和代码结构,数学只是工具之一,并不是所有领域都需要。 最后,要提供鼓励和支持,帮助他建立信心,说明即使数学不好,也可以通过其他途径在编程领域找到适合自己的位置,并给出具体的学习资源和步骤建议。</think>好的!根据你的情况(**大一下学期、学校教Java、对数学兴趣较低**),我会从**学习策略优化、方向选择、实战项目**三个层面给出具体方案。以下是经过修正的可行路径: --- ### 一、学习策略优化(针对数学回避) **核心原则**:**用工程思维替代数学推导** Java开发中真正需要高等数学的场景其实有限,关键要避开特定领域。参考公式: $$ \text{Java开发数学需求度} = \frac{\text{算法复杂度}}{\text{业务逻辑复杂度}} \times \text{领域系数} $$ #### 避坑指南: 1. **绕过高数密集区**: - ❌ 避免:图形学开发(需线性代数)、量化金融(需概率统计) - ✅ 选择:企业信息系统(如OA系统)、安卓应用开发(基础功能) 2. **工具替代计算**: - 用现成库处理数学问题,例如: ```java // 代替手写排序算法 → 直接用Collections.sort() List<Integer> list = Arrays.asList(5,3,7); Collections.sort(list); // 时间复杂度O(n log n)由JDK内部实现 ``` 3. **聚焦逻辑构建**: - 重点训练`if-else`/`switch`条件分支设计 - 强化`面向对象`的封装思维(如设计`User`类管理属性) --- ### 二、方向选择矩阵(数学需求低+Java技术栈) 根据**岗位数学关联度**和**Java技术深度**,推荐以下发展路径: | 方向 | 所需Java技能 | 数学需求举例 | 薪资参考(应届) | |---------------------|----------------------------------|----------------------------------|------------------| | **企业级开发** | Spring Boot, MyBatis | 最多涉及金额计算(加减乘除) | 8-12K(二线) | | **安卓基础开发** | Android SDK, XML布局 | UI尺寸适配(比例换算) | 7-10K | | **测试开发** | JUnit, Selenium | 无需复杂计算 | 9-15K | | **DevOps** | Jenkins, Docker | 仅需基础算术做资源分配 | 10-18K | --- ### 三、实战项目推荐(零高等数学) #### 项目1:**校园二手交易系统**(练手级) - **技术栈**: ```java // 核心类示例 class Item { private String name; // 商品名称 private double price; // 价格(仅需基本数据类型) // Getter/Setter方法 → 无数学逻辑 } ``` - **亮点**: - 使用`JavaFX`做图形界面(避免复杂数学计算) - 用`文件存储`代替数据库(简化数据持久化) #### 项目2:**智能宿舍管理系统**(进阶) - **关键技术点**: - 基于`Spring Boot`开发REST API - 用`角色权限控制`实现不同用户功能(如学生/宿管) - **数学规避技巧**: - 用电量统计 → 直接调用硬件API获取读数 - 考勤计算 → 使用现成的日期处理类(如`LocalDateTime`) --- ### 四、学习路线调整(以Java为主轴) #### 阶段1:基础巩固(本学期剩余时间) - **聚焦重点**: - 理解`面向对象`三大特性(封装、继承、多态) - 掌握集合框架(`ArrayList`、`HashMap`的增删改查) - **教材替代方案**: - 用《Head First Java》代替传统教材 → 通过具象案例理解概念 #### 阶段2:方向突破(大二学年) 1. **选择企业开发路线**: - 学习`Spring Boot`框架(官方文档+尚硅谷免费视频) - 开发一个`图书馆管理系统`(避免涉及复杂算法) 2. **选择安卓路线**: - 用`Android Studio`制作课程表App - 重点练习`RecyclerView`列表控件和`Intent`跳转 --- ### 五、数学替代技能培养 即使不擅长数学,以下技能可提升竞争力: 1. **文档能力**: - 学习用`Markdown`编写技术文档(如GitHub README) - 案例:为你的Java项目写清晰的用户手册 2. **调试能力**: - 掌握`断点调试`技巧(在IntelliJ IDEA中练习) - 学会阅读`异常堆栈信息`(如NullPointerException定位) 3. **工具链整合**: - 用`Maven`管理项目依赖 - 配置`Git`进行版本控制(学会解决代码冲突) --- ### 六、验证指标 每阶段完成后检查以下成果: - ✅ 能独立完成`200行以内`的Java程序(无需涉及复杂算法) - ✅ 会用`Spring Boot`创建含3个API接口的Web服务 - ✅ 可部署简单安卓App到手机(APK文件安装运行) 如果需要具体某个方向的**资源清单**(如免数学的Java学习视频合集),可以告诉我你选择的细分领域,我会提供定制化资料包!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值