千万别惹程序员
酷壳好久没有发娱乐性质的技术文章了,搞得气氛有点严肃了,考虑到程序员们都是比较严肃和容易较真的类书呆子的群体,所以,需要更新一个有娱乐性质的文章了。正好最近看到了两个比较有趣的图,在新浪微博上都得到了比较不错的反响,因此,更新到酷壳上来。
如果编程语言是一种刀
下面这个图是把编程语言看做是一种刀,那么会是什么样的。这个图我个人感觉很有意思。
对于这个图,最好不要解释,意会就好。不过,我却有点想不解风情,忍不住想解释一下。
C++,C,Pascal 都是瑞士军刀,说明是用来做细活的工具。C语言的刀上有个USB,说明是可以做硬件操作的。C++的刀是什么都有,说明C++是一种功能繁多的语言。(图中C++的那把瑞士军刀很强大,不要以为其是虚构的,这把刀是真实存在的,叫Wenger巨人刀,http://www.wenger.ch/giant-knife-wenger-swiss-army-knife (这个网页上有个Youtube视频,可以爬墙去看),淘宝上有卖的,价格在1万4左右。)
Java/C#是一把塑料餐刀,这说明,Java和C#语言是带虚拟机的,而且其语法和使用并不像C++ ...
BT雷人的程序语言(大全)
还记得以前本站的BT雷人的程序语言吗?除了那几个Brainfuck,LOLCODE和WhiteSpace,我以为这些是比较BT的语言,但是自从这两天我在网上看到一些(见文章最后的参考一节),我发现我错了,这个世界上,只有更变态,没有最变态。不相,你看看下面这些,简直变态到了极致啊。(下面的语言变态不分排名)
目录
Befunge
Ook!
TMMLPTEALPAITAFNFAL
INTERCAL
HQ9++
PerlYuYan
参考:
Befunge
第一个变态语言Befunge。维基上面说——这门语言由Chris Pressey在1993年创造,本意为设计一种为难编译器的语言……结果马上出现了一批编译器。Befunge的代码是二维的。它用 < > v ^ 这四个符号来控制一个指针在代码中移动,指针经过一个字符或数字则把它压入一个栈,四则运算符号的功能就是弹出栈顶两个元素进行计算后把结果压回去。用 _ 和 | 来表示有条件的方向选择:当栈顶元素为0时向右(上)走,否则向左(下)走。& 和 ...
一段Javascript的代码
我们先看一段Javascript的代码,如下所示:(你能看出来这是干什么的?)
[javascript]($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+
($$=($_=!”+$)[_/_]+$_[+$])])()[__[_/_]+__
[_+~$]+$_[_]+$$](_/_)[/javascript]
这段代码来自BlackHat DC 2011((黑帽安全大会,全世界最大两个黑客大会之一,另一个是Defcon)中的一个叫Ryan Barnett黑客做的XSS Street-Fight!的演讲(XSS是Web上比较经典的跨站式攻击,操作起来也有些复杂),一共69页,基本上都是一些比较枯燥的Javascript,不过这段代码挺有意思的,如果上面这段代码换个样子:
[javascript]($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+
($$=($_=!”+$)[_/_]+$_[+$])])()[__[_/_]+__
[_+~$]+$_[_]+$$](document.cookie)[/ja ...
新手该学哪门编程语言
在某个论坛上看到有人在问——“Which programming language should I learn first?”,看到了下面的这个回答,有点意思。
Depends.
To program in an expressive and powerful language: Python
To get a website up quickly: PHP
To mingle with programmers who call themselves “rockstars”: Ruby.
To really learn to program: C.
To achieve enlightenment: Scheme.
To feel depressed: SQL
To drop a chromosome: Microsoft Visual Basic
To get a guaranteed, mediocre, but well paying job writing financial applications in a cubicl ...
程序员眼中的编程语言
下图是一个搞笑的图片——程序员眼中的编程语言。
图片的横轴是编程语言。
纵轴是各语言的程序员、粉丝、信徒。
中间的各个小图片则是,粉丝眼中的编程语言的形象。
比如说,
第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。
其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统》
SQL的Where语句
某DBA在查看自己的数库日志的时候,看到了数据库服务器上出现了很多很怪异的SQL的Where条件语句,是下面这个样子:(所有的where语句前都有了一个叫“1=1”的子条件)呵呵。
要理解这个事情的原因其实并不难。只要你是一个编写数据库的程序员,你就会知道——动态生成where后的条件的“麻烦”,那就是条件的“分隔”-and或or。下面听我慢慢说来。
我们知道,大多数的查询表单都需要用户输出一堆查询条件,然后我们的程序在后台要把这些子条件用and组合起来。于是,把and加在各个条件的中间就成为了一件“难事”,因为你的程序需要判断:
如果没有条件的话,则不需要where
如果只有一个条件的话,不需要and.
如果有多个条件的话,
如果and是持续加在每个条件后面的话,那么就要判断是否是最后一个条件,因为最后一个不能加and.
同样,如果and是要加在每个条件前面的话,你就需要判断是否是第一个,如果是,那就不加。
真是TMD太烦了,所以,编程“大拿”引入了“1=1”条件语句。于是,编程的难度大幅度下降,你可以用单一的方式来处理这若干的查询子条件了。 ...
Javascript程序员嘴最脏??
请看下图,我在Google Code上,针对每个程序语言都搜索了一下“fuck”一词的出现文件的个数X,以及没有出现fuck一词的文件的个数Y,然后放在Excel里求了一下百分比(X/(X+Y) * 100%),做了一个图。结果,JavaScript语言中出现的次数高达0.56%,名列全部语言之首,然后是Perl,C 和 PHP。(对于Javascript程序员的这种行为可以理解,因为IE,因为浏览器嘛,我就不多说了)
相关的数据表格如下:
(全文完)
编程语言汽车
以前酷壳发布过《操作系统航空公司》戏谑了一下如果操作系统是航空公司会怎么样的一种情况。现在,我们来YY一下编程语言,如果编程语言是汽车,又会怎么样?
Ada 这是一辆坦克。一个很厚重但很丑的坦克,从不会崩溃。如果你告诉别人你正在驾驶Ada,别人会狂笑不已。但是,你会开着一辆跑车去打战吗?[from Amit Dubey]
汇编语言 只是一个祼露在外的引擎。你不得不自己去造车,并向其提供汽油,但你在驾车时要小心,因为他会像一只从地狱放出来的蝙蝠一样。其实,对于汇编语言,你自己才是车。[From “Subterfug” off digg.com:]
Basic 是一辆很简单的车,对于一些短途的交通比如去一些超市商店,他是很有用的。以前这是一个对初学者很流行的车,然而,近来它蜕变成脚本,而更新的车型被抛光以应对长途旅程,但那也只是新瓶装旧酒。[from Przemyslaw Wrzos]
C 是一辆赛车,它的速度是令人难以想象的快,可惜的是它每50公里就会损毁一次。
Cobol &nb ...
BT雷人的程序语言
这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请大家用“最虔诚的态度”来阅读本文。
目录
BF语言介绍
BF解释器
Hello World
其它另类语言
BF语言介绍
Brainfuck,是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于“绿王八”的原因,这种语言有时被称为brainf**k或brainf***,甚至被简称为BF。这种 语言,是一种按照“Turing complete(完整图灵机)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作都由这八种符号的组合来完成。
BF基于一个简单的机器模型,除了八 ...