zoukankan      html  css  js  c++  java
  • 程序的形式,应该仅仅反映它所要解决的问题。

    阮一峰翻译的《lisp为什么这么先进》最后一段话非常有感触。

    程序的形式,应该仅仅反映它所要解决的问题。代码中其他任何外加的形式,都是一个信号,(至少对我来说)表明我对问题的抽象还不够深。

    我是这样来理解的,假如我想在一堆数据里检索某一个字符是否存在。

    应该怎么写呢?

    if(search(string,text)==ture)

    print "yes"

    else

    print "no"

    可是马上问题升级了,这个对象在内存中吗?

    假如在磁盘的文件系统中,我是否应该先fopen一下。

    可是这一堆数据我分开存放了,不是存放在一个文件中。

    再假如,我是在一个数据中心,这一堆数据,其实是放在不同的机器上。

    这些机器使用不同的处理器,不同的操作系统。fuucck。

    我该怎么办?用网络通信吗(感谢网络其实已经屏蔽了相当多的东西。)?把数据复制过来,然后检索,还是远程过程调用,指示这台机器进行检索,然后将结果返回。

    假如你最后解决问题了,你会发现代码会越来越庞大,而这些庞大的代码其实在做无关的事情,这些代码没有直接反映我想要解决的问题,仅仅是搭建了我想要解决问题所不得不搭建的平台。

    但是mapreduce解决了这一切,有了mapreduce架构,你仍然可以写只和问题相关的代码。

    数据放在一个分布式文件系统中,job将启动不同的task来做这件事情,它控制任务的自动负载均衡。

    程序的形式,应该仅仅反映它所要解决的问题。代码中其他任何外加的形式,都是一个信号,(至少对我来说)表明我对问题的抽象还不够深。

    太对了。

  • 相关阅读:
    elinput 金额校验
    使用PHPExcel实现Excel文件的导入和导出(模板导出) (转载自用)
    Scrapy 轻松定制网络爬虫
    在线学习(Online Learning)
    AdaBoost ,online Adaboost
    斯坦福飞鱼滑翔装置完胜跳跃机器人
    机器学习中的集成学习方法(一)理论
    Boosting, Online Boosting,adaboost
    struts.xml配置方法
    java实现单向链表
  • 原文地址:https://www.cnblogs.com/likeyiyy/p/3289335.html
Copyright © 2011-2022 走看看