分享

作为一个Java工程师,我为啥要会算法?

 孤独一兵 2016-09-26

很多Java工程师会产生这个疑问,我工作中只用到了Java基础 + SSH 框架,我为啥要看算法,要看《数学之美》这些类似的东西?

一个最为直接、常见的说法是:算法是前人总结好的解决问题的方法,你可以从中学习到解决问题的方法。

我不这么认为,因为在Java开发中确实很少会用到,常见的排序、查找,甚至背包、顶堆都有实现,我们用的只是接口。Java程序员不需要学习这些算法, 因为不会遇到这些问题,只要把Java相关联的知识学好,就能做好一名Java程序员了。

事实是这样的吗?

我们可以思考这个问题,不同级别的程序员是怎么分级的呢?呵呵,当然现在是靠工作年头分级的(开个玩笑)。越是高级的程序员越是要解决业务相关问题,而这些是考验大家的思维能力,而算法、数学恰恰是训练、提升这些思维能力的。

我们来了解一下数学(对程序员来说是最为直接的各种算法)的美。

1. 简洁性是数学之美的核心,这个最为典型的是二进制,两个符号的组合包罗万象。

2. 抽象性,数学把问题抽象成符号表达,然后用公式、符号、代码解决问题

3. 逻辑性

是的,这些就是数学带给人们的能力。而Java程序员的工作中,除了编写代买之外,更多的是思考和解决各种各样的业务问题,把这些问题抽象、逻辑严密、用最简洁的代码实现。

复杂的自然界中所有的一切,数学家都可以用自己简单的数字公式或语言高度抽象出来。他们以其简洁的形式,从一组简洁明了的公理、概念出发,进行精确计算、严谨推理,就可抽象推论出各种令人惊叹的定理或公式,使人们洞察到数学的内在和谐、严谨、逻辑和秩序性。计算机的代码简单得只有0和1,却可编写出无数深奥无比的程序软件......

“世事纷繁,加减乘除算尽;宇宙广大,点线面体包完。”言简意核,归纳人世百态、宇宙万物。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多