Daniel Stori 发布的文章

这篇漫画生动的描绘了不同时期不同编程语言的“战争”。

COBOL 是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,功能强大,但缺点是语法繁杂,代码冗长(看它肥的)。而 Java 当时还是个弱小的新生事物。

后来,Java 慢慢发展壮大了,内存吃的越来越多了(都和 COBOL 一样又高又肥了),当 Java 准备再去打一架的时候,COBOL 提醒他注意身后想打他们两个的三个小娃娃(Scala、Kotlin、Go)。

长江后浪推前浪。编程语言的发展很快,不停的会有功能更强的新“轮子”出现在我们眼前。而我们则需了解各个语言的优缺点,与时俱进地看待它们。


via: http://turnoff.us/geek/programming-languages-battle/

作者:Daniel Stori 译者:ItsLucas 点评:ItsLucas 校对:Bestony 合成:Bestony

本文由 LCTT 原创编译,Linux中国 荣誉推出

作者巧妙地指出了函数式编程 不可变 immultable 的特点。当你需要改变一个对象的属性的时候……嗯,销毁了再创建一个就是了。

这里的老板想来份变量(改变全局变量的值),而所谓 副作用 side effect ,指的是在这种编程范式下,函数内部与外部互动可能会产生运算以外的其他结果,或导致程序出现不可预料的行为。

或许,事件驱动的编程范式会好一点……?


via: http://turnoff.us/geek/functional-world/

作者:Daniel Stori 译者&点评:ItsLucas 校对&合成 :Bestony

本文由 LCTT 原创编译,Linux中国 荣誉推出

#!S

这是我第一次遇到无法翻译的漫画。

#! 是 Unix/Linux 里面用于指示脚本解释器的特定语法,位于脚本中的第一行,以 #! 开头,接着是该脚本的解释器,通常是 /bin/bash/usr/bin/python 之类。

关于 #! 其英文名称为“shebang”,其中的“she” 来源于 “#”的发音 “sharp”,“bang”来源于“!”,故如此命名。

Linux 中国翻译组核心成员 GOLinux 提议将此专有名称翻译为“释伴”。

回到这幅漫画,作者的原意可能是:我!你!他! ,以此类推,然后是她(she)! 即 #!S。(附注:感谢万能的网友指出我没看懂的部分。)


via: http://turnoff.us/geek/shebang/

作者:Daniel Stori 点评:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

depressed-developer-17

测试覆盖 Testing coverage ,指测试系统覆盖被测试系统的程度,一项给定测试或一组测试对某个给定系统或构件的所有指定测试用例进行处理所达到的程度。 如果在写代码的人仅为可运行而编码,那么在后边会出现一系列的连锁反应,任何没有经过真构思之后书写的代码,都会带来巨大的维护成本吧。昨天 (2017.09.05) 刚刚读到一篇 为什么你的前段工作经验不值钱,不同的人对这里边的那个题的考虑程度是不同的。但我们在每次开始编码之前,都应该以 “代码可用 - 代码健壮 - 代码可靠 - 对需求的宽容” 为规格来约束自己。


译者简介:

GHLandy —— 生活中所有欢乐与苦闷都应藏在心中,有些事儿注定无人知晓,自己也无从说起。


via: http://turnoff.us/geek/the-depressed-developer-17/

作者:Daniel Stori 译者:GHLandy 校对:wxy 合成:GHLandy 点评:GHLandy

本文由 LCTT 原创编译,Linux中国 荣誉推出

who-killed-mysql

LAMP 架构,指 Linux + Apache + MySQL + PHP 组合构成的一个完整的 Web 服务架构。这是一个经典而有点过时的架构,适合于小型的 Web 服务。

在这里 MySQL 意外被 SIGKILL 杀死了,没有留下任何遗言和痕迹(日志)。


via: http://turnoff.us/geek/who-killed-mysql/

作者:Daniel Stori 译者:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出