首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「译」编程艺术

自古以来,我们都对编程有一个很深误解的想法,即编程活动纯粹是技术型的,本质上说完全正确,就像大家对数学和物理的认知一样。计算机的计算是这样的,会有一个确切的结果,但是编程不是的。...我有一位艺术家和一位工程师作为父母,并且从小时候就在我的生活中获得了这些影响力,我很快就意识到编程结合了两全其美。它是建立在逻辑之上的艺术。...从那时起,我的主要和强烈的编程动机就是“无中生有”创造事物的能力,通过代码将创意带入生活。 编程艺术 我将编程视为一种艺术形式,但您知道:并非所有的艺术家都是一样的。...真正的艺术家是不同的。他们都能去创造新东西,他们为未来带来新的标准,他们把现在的环境「变」得更好,他们不恐惧危机。「复制者」会试图让他们失望,说 「如果你可以使用X或Y,为什么要创造新的东西」?...这就是具有编程艺术人的一个真实想法,他们认为这是多么有意思的事情,这样的生活才会给自己带来意想不到的惊喜。

49810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    并发编程艺术

    原子性 在本文中,原子性不是重点,它将作为并发编程中需要考虑的一部分进行介绍。...说到原子性的时候,大家应该都能想到 long 和 double,它们的值需要占用 64 位的内存空间,Java 编程语言规范中提到,对于 64 位的值的写入,可以分为两个 32 位的操作进行写入。...Java 编程语言规范同样提到,鼓励 JVM 的开发者能保证 64 位值操作的原子性,也鼓励使用者尽量使用 volatile 或使用正确的同步方式。关键词是”鼓励“。...Java 对于并发的规范约束 并发问题使得我们的代码有可能会产生各种各样的执行结果,显然这是我们不能接受的,所以 Java 编程语言规范需要规定一些基本规则,JVM 实现者会在这些规则的约束下来实现 JVM...小结 之前看过 Java8 语言规范《深入分析 java 8 编程语言规范:Threads and Locks》,本文中的很多知识是和它相关的,不过那篇直译的文章的可读性差了些,希望本文能给读者带来更多的收获

    49420

    并发编程艺术

    原子性 在本文中,原子性不是重点,它将作为并发编程中需要考虑的一部分进行介绍。...说到原子性的时候,大家应该都能想到 long 和 double,它们的值需要占用 64 位的内存空间,Java 编程语言规范中提到,对于 64 位的值的写入,可以分为两个 32 位的操作进行写入。...Java 编程语言规范同样提到,鼓励 JVM 的开发者能保证 64 位值操作的原子性,也鼓励使用者尽量使用 volatile 或使用正确的同步方式。关键词是”鼓励“。...Java 对于并发的规范约束 并发问题使得我们的代码有可能会产生各种各样的执行结果,显然这是我们不能接受的,所以 Java 编程语言规范需要规定一些基本规则,JVM 实现者会在这些规则的约束下来实现 JVM...小结 之前看过 Java8 语言规范《深入分析 java 8 编程语言规范:Threads and Locks》,本文中的很多知识是和它相关的,不过那篇直译的文章的可读性差了些,希望本文能给读者带来更多的收获

    45640

    读《R语言编程艺术

    其实这样的书可以罗列出好几本: ggplot2 数据分析与图形艺术(ggplot2 Elegant Graphics for Data Analysis) R语言实战(RinAction) R语言核心技术手册...(RinaNutshell) R语言数据科学(R for data science) 高级R语言编程指南( Advanced R) 这些书每看完一本,都会对R的特性有进一步的理解。...《R语言编程艺术》这本书是买的比较早的了,之前也泛泛地翻过,主要是对R的特点有个相对系统的理解。...我觉得第七章是这本书的核心,这也许和目前我的水平有关:开始关注函数的实现与组织。这一章探讨了编程中的控制结构以及函数的实现,环境作用域等,函数编程的基本概念。...在这一章中,我们可以体会到用R语言和会编程其实是两件事。 像编程这样的书籍,读一遍是远不够的,因为我们系要理解的不是人类语言的部分,而是非人的代码部分,不仅要理解更是要能运用。

    96110

    深度思考编程艺术

    编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。...有人问我,提高编程水平最有效的办法是什么?我想了很久,终于发现最有效的办法,其实是反反复复地修改和推敲代码。 在IU的时候,由于Dan Friedman的严格教导,我们以写出冗长复杂的代码为耻。...有些人喜欢炫耀自己写了多少多少万行的代码,仿佛代码的数量是衡量编程水平的标准。然而,如果你总是匆匆写出代码,却从来不回头去推敲,修改和提炼,其实是不可能提高编程水平的。...我觉得同样的理论适用于编程。好的程序员,他们删掉的代码,比留下来的还要多很多。如果你看见一个人写了很多代码,却没有删掉多少,那他的代码一定有很多垃圾。 就像文学作品一样,代码是不可能一蹴而就的。...有些人听说“函数式编程”是个好东西,也不理解它的真正含义,就在代码里大量使用嵌套的函数。

    49880

    防守式编程艺术

    原文地址:The Art of Defensive Programming 防守式编程艺术 为什么开发人员不编写安全代码? 我们不再在这里讨论 “干净的代码” 。...防守式编程角度一 为什么我认为防守式编程在某些项目中是一个发现这些问题的好方法? 防御不可能,因为不可能将可能发生。 对于防御性编程有很多定义,它还取决于安全性的级别和您的软件项目所需的资源级别。...防守式编程是一种防守式设计,旨在确保在意外的情况下软件的持续性功能,防守式编程实践常被用在高可用性,需要安全的地方 — 维基百科 我个人认为这种方法适合当你处理一个大的、长期的、有许多人参与的项目。...不要信任开发人员 防守式编程可以与称为防御性驾驶的东西相关。在防御驾驶中,我们假设我们周围的每个人都有可能犯错误。 所以我们必须小心别人的行为。...这些同样适用于我们的防守式编程,作为开发者,我们不应该相信其他开发者。我们也同样不应该信任我们的代码。 在许多人参与的大项目中,我们可以有许多不同的方式来编写和组织代码。

    62590

    Java并发编程艺术(一)

    并发编程的目的是为了让程序运行的更快,但是并不是启动更多的线程就能让程序更大限度地并发执行。--例如上下文切换的问题,死锁的问题,受限于软件和硬件的资源问题。...减少上下文切换的方式: 1、无锁并发编程。多线程竞争锁的时候,会引起上下文切换,尽可能避免使用锁可以减少上下文的切换:如将数据的ID按照Hash算法取模分段,不同的线程处理不同段的数据。...(释放锁失败抛异常后仍然持有锁) 资源限制 在并发编程时,程序的执行速度受限于计算机硬件资源或软件资源。...资源限制情况下进行并发编程 根据不同的资源限制调整程序的并发度。有数据库操作时,设计数据库连接数,如果Sql执行非常快,而线程数量比数据库连接数大很多,则某些线程会被阻塞,等待数据库链接。

    57310

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券