Hello World起源?
“Hello, world"程序是指在计算机屏幕上输出“Hello,world”这行字符串的计算机程序,“hello, world”的中文意思是“世界,你好”。这个例程在Brian Kernighan 和Dennis M. Ritchie合著的《The C Programme Language》使用而广泛流行。因为它的简洁,实用,并包含了一个该版本的C程序首次出现在1974年Brian Kernighan所撰写的《Programming in C: A Tutorial》。
自从这一天,各种语言的书籍的开篇范例便是这个Hello World,那我们来看看目前市面上比较流行的Hello World是如何编写的呢?
普通版C语言版Hello World
printf("hello, world\n");
看完这种版本的是不是觉得相当的简单呢?那我们来看看稍微“糊杂”一点的。
如果我们用前两年比较流行的话来说,把我所知道的各种语言的Hello World可以分为:文艺青年版,普通青年版和2B青年版本。
百度百科说:广义上,凡是喜欢文化艺术的青年人,都可称作文艺青年。好了,废话不多说,来看看下面这个够不够文艺。当然他们对普通青年和2B青年通常是无视的眼光。
helloWorld.c
#define _________ }
#define ________ putchar
#define _______ main
#define _(a) ________(a);
#define ______ _______(){
#define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)
#define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
#define ____ _(0x72)_(0x6C)_(0x64)_(0x21)
#define _____ __ ___ ____ _________
#include<stdio.h>
评论:字里行间里面透露着十六进制的美,不知不觉会把你带那个文艺复兴年代,感受用各种进制语言写代码的快(痛)乐(苦)。
普通青年版的Hello World
VB版本
Module MainFrm
Sub Main()
System.Console.WriteLine("hello, world")
End Sub
End Module
Swift版本
import UIKit
print("Hello World")
Java版本
public class HelloWorld
{
public static void main(String args[])
{
System.out.println( "Hello World! \n" );
}
}
C#版本
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
System.Console.Write("Hello World");
}
}
}
PHP版本
echo "hello, world";
Python 3
print("hello, world")
评论:如果说文艺青年是我们社会上极少数人那么普通青年绝对就在你我的身边
2B青年:他们总是向往美好的事物,他们会觉得这个社会对自己有一丝不公平,但他们仍非常自信的认为是金(2)子(B)总有发光的那一刻,逆袭总会到来。在2B青年眼里,普通青年的代码太过平淡,就像一杯白开水,因此他们偶尔也会高光时刻写出如此神作,话不多说,上代码:
hello.c
main(){int i,n[]={(((1<<1)<<(1<<1)<<(1<<
1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))), (((1
<<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(
1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (1
<<(1>>1))),(((1<<1)<<(1<<1)<<(1<<1)<< (1
<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1
<<1)<<(1<<(1>>1)))),(((1<<1)<<(1<<1)<<(1
<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1
)))-((1<<1)<<(1<<(1>>1)))),(((1<<1)<< (1
<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(
1<<(1>>1)))-(1<<(1>>1))),(((1<<1)<<(1<<1
)<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1)))
-((1<<1)<<(1<<(1>>1)))),((1<<1)<< (1<<1)
<<(1<<1)),(((1<<1)<<(1<<1)<<(1<<1)<<(1<<
1))-((1<<1)<<(1<<1))-(1<<(1>>1))),(((1<<
1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1
<<1)<<(1<<(1>>1)))-(1<<(1>>1))), (((1<<1
)<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1
<<1)<<(1<<(1>>1)))+(1<<1)), (((1<<1)<< (
1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1)
<<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))),
(((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1
<<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>>
1)))), (((1<<1)<<(1<<1) <<(1<<1))+(1<<(1
>>1))),(((1<<1)<<(1<<1))+((1<<1)<< (1<<(
1>>1))) + (1<< (1>>1)))}; for(i=(1>>1);i
<(((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1
))) + (1<<1)); i++) printf("%c",n[i]); }