header image

20种不同语言的“Hello, World!”

一时蛋疼,就发了这么篇文章。当然,如下代码仅仅只是代码,要运行还得编译,或配置运行环境等一大堆事情要做。

下面的代码只是这些语言中的其中一种方法,只要你愿意,每种语言都可以给出成千上万种不同代码。不过我们还是静静地来感受一下简单之美吧!

根据TIOBE最新的程序语言排名(2010年11月)来整理。

1、Java

作为长期占据榜首的语言,最近的地位却不太稳固,应该和Oracle收购Sun有关吧。

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, World!");
  }
}

2、C

谁说不支持面向对象就落后?C语言的地位说明了这一点!

#include <stdio.h>

int main(void)
{
  printf("Hello, World!\n");
  return 0;
}

3、C++

作为从C语言发展过来的,其实上面C的代码也完全能够在C++下工作,不过还是来点C++风格的吧。

#include <iostream>

int main(void)
{
  std::cout << "Hello, World!" << std::endl;
  return 0;
}

4、PHP

PHP简单却强大,成为动态网站编程当之无愧的首选。

<?php
echo "Hello, World!";
?>

5、C

有没有感觉下面的代码似曾相识?以和Java差不多的理念创造出来的语言,风格相似也能理解。

public class HelloWorld {
  public static void Main() {
    System.Console.WriteLine("Hello, World!");
  }
}

6、Python

脚本语言的代码就是简单(比如前面的PHP),但是简单不代表低能,这个排名说明了一切。下面的代码中,第一行的“/path/to/python”要改成Python解释器的实际地址。

#!/path/to/python
print "Hello, World!"

7、(Visual) Basic

作为一种面向初学者的语言,Basic确实很“Basic”,不过这恐怕也是Basic能有如此地位的原因吧。Basic版本众多,下面是Visual Basic 6的代码。

Private Sub Form_Load()
  MsgBox("Hello, World!")
End Sub

8、Objective-C

作为苹果的编程语言,Objective-C这两年的突然崛起和苹果iPhone的巨大成功脱不了干系。Objective-C是基于C的,所以C的那段代码依然可以工作,但是这样有点太无聊了,我们换种玩法。

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  NSLog(@"Hello, World!");
  [pool drain];
  return 0;
}

9、Perl

和Python一样是脚本语言,所以这段超级简单的代码也是完全一样的,只是开始的解释器地址有所区别。当然,更深入的话会有更多不同,但这不是这篇文章的意图。

#!/path/to/perl
print "Hello, World!\n";

10、Ruby

日本人开发的一种纯粹的面向对象的脚本语言,这段代码和Python与Perl的也是大同小异,当然,开头的解释器地址也得改一下。

#!/path/to/ruby
puts "Hello, World!"

11、JavaScript

作为一种脚本语言,如今的JavaScript在网页中可谓如日中天,比如AJAX技术中的J就是JavaScript。JavaScript用浏览器就可以执行,操作的是网页的DOM对象。

document.println("Hello, World!");

12、Delphi

Delphi是从Pascal发展来的,下面的代码就是在Pascal代码上加了点东西而已。

Program HelloWorld;
{$APPTYPE CONSOLE}
begin
  WriteLn ('Hello, World!');
end.

13、Lisp

这是一种函数式编程语言(将计算机的运算视为函数的计算),主要用在人工智能上。

(show "Hello, World!")

14、Transact-SQL

这是一种数据库操作语言,自然也就没有“Hello, World!”的代码了。当然,如果你愿意,你可以把“Hello, World!”放到数据库中再取出来。

15、Pascal

Pascal语言曾经是很常见的计算机结构化编程的教学语言(现在常见的是C),不过今天还能有这个排名,说明影响是很巨大的。

Program HelloWorld(output);
begin
  writeln('Hello, World!')
end.

16、Ada

这种语言源于美国军方的一个计划,旨在整合美军系统中运行着上百种不同的程序设计语言编写的程序。

with Ada.Text_IO;
procedure Hello is
begin
  Ada.Text_IO.Put_Line("Hello, World!");
end Hello;

17、NXT-G

这是乐高机器人的NXT的控制语言,全称Lego Mindstorms NXT。能排到这个位置,看来玩乐高机器人的人还不少呢。因为这是个可视化的软件,可以不用写代码就在NXT机器人的显示屏上显示“Hello, World!”,所以,这里也没有代码。

18、SAS

SAS是一个统计系统,统计系统自然要输出,有输出就能实现“Hello, World!”。

options linesize=80;
title 'HelloWorld;
data helloWorldData;
  input y @@;
  datalines;
    17.9 18.4 14.1 15.8
  ;
proc means data=helloWorldData all;
  var y;
run;
quit;

19、RPG (OS/400)

这是一种应用在IBM的小型机上AS/400的语言,后面的括号表示运行的操作系统是IBM的OS/400。

D msg             S             32    inz(*blank)
D cmd             S             64

C                   eval      msg = 'Hello World'

C     msg           dsply

C                   eval      cmd = 'DLYJOB DLY(30)'
C                   call      'QCMDEXC'
C                   parm                    cmd
C                   parm      64            len              15 5

C                   eval      *inlr = *on

20、PL/SQL

这是Oracle的数据库操作语言,所以这个也没有代码。

说是20种,可是上面才有17种,也有的基本都是一样的,实在不能凑数,所以下面就补充几种吧!

Visual Basic .NET

.NET架构是微软鼓捣的类似Java的半编译、半解释型平台架构,C#也是属于.NET架构的,Delphi也有.NET架构的版本。VB借助.NET又一次焕发了生机。下面的代码来自于MSDN

Module Hello
  Sub Main()
    MsgBox("Hello, World!") ' Display message on computer screen.
  End Sub
End Module

Go

这是Google鼓捣出来的语言,下面的代码来自于Go语言的官网

package main

import "fmt"

func main() {
  fmt.Println("Hello, 世界")
}

HTML

这也算?当然,HTML也是一种不折不扣的语言啊!下面只用了最基本的html元素。

<html>
<head>
<title>Hello, World!</title>
</head>
<body>
Hello, World!
</body>
</html>

当然这20种只是众多语言中的很小的一部分,如果你还想了解其他语言的话,可以看看这个[Hello World大全](http://www.roesler-ac.de/wolfram/hello.htm” target=”_blank),总共有441种编程语言(除此之外还有64种人类语言),保证你看得酸爽痛快!

Ubuntu下安装Firefox、Chrome和Opera测试版

firefox-logo firefox-minefiled-logo

Ubuntu自带的就是Firefox,但是想要使用最用到最新的测试版还是得去Mozilla网站上下载(到http://nightly.mozilla.org可以下载每日构建(Nightly Build)版本)。可是从Mozilla网站上下载到的是编译好的二进制文件压缩包,而不是deb软件包。难道只能自己编译?其实,在Lauchpad(Ubuntu的出品公司Canonical建立的开源托管站点)上可以找到Mozilla的每日构建的PPA更新源,只要在Ubuntu的软件源(系统——系统管理——软件源)的“其他软件”里添加ppa:ubuntu-mozilla-daily/ppa,或者在终端中执行如下命令就可以了。

sudo apt-add-repository ppa:ubuntu-mozilla-daily/ppa

随后就可以在软件包中找到firefox-4,就可以用上最新的Firefox测试版了(因为是每日构建,所以比公开发布的beta版本要高,而且基本每天都有更新)。当然,这样做也有缺点,就是系统自带的Firefox(软件包:firefox)也会被替换成每日构建的测试版,不过并不影响使用。

google-chrome-logo chromium-logo

Chrome有三大分支stable、beta、dev,分别是正式发布的稳定版、公开的测试版以及每周更新的开发版,此外还有开源的Chromium。最新的技术首先会在Chromium上,然后是dev,随后经过beta,最后才出现在stable上。从Google Chrome的官方页面http://www.google.com/chrome/下载到的都是stable,如果想体验beta、dev的需要另外下载,可是下载地址是在http
://www.chromium.org
上,而这个网站又由于众所周知无法访问。不过Google却很体贴,我们只要安装stable的Chrome,在软件源里都会添加Google Chrome的更新源,而这个源是有另外两个分支的Chrome的,软件包的名称分别是google-chrome-beta(beta分支)和google-chrome-unstable(dev分支),当然也有开源的Chromium(软件包chromium-browser),我们只要直接安装就可以了。

opera-logo

Opera是来自挪威的浏览器,以其快速的浏览体验、简洁美观的界面以及对W3C标准的完美支持著称。Opera的测试版获取就简单多了,访问Opera的官方网站http://www.opera.com/browser/next/就可以下载到最新测试版的Opera,不光有二进制文件的压缩包,也有deb、rpm等软件包,下载之后安装就行了。

蒂法与小镜COSPLAY

分别是あいらCOS的蒂法和神田翠COS的柊镜。

《Dragon Crisis!》沿用广播剧豪华声优阵容

[cref dragon-crisis-tv-anime-announced 之前说过的]由城崎火也撰写、亚方逸树插画的轻小说《Dragon Crisis!》(ドラゴンクライシス!,台译《Dragon Crisis ~龙之界点~》)官网现在开放了。

官网上同时公布了STAFF和CAST,以及将在明年1月的冬季番播出。声优令人惊喜得沿用了广播剧的豪华阵容,这下冬季番又多值得期待一点了!

STAFF

  • 原作:城崎火也(集英社スーパーダッシュ文庫刊)
  • イラスト:亜方逸樹
  • 監督:橘秀樹
  • シリーズ構成:倉田英之
  • キャラクターデザイン:石浜真史
  • プロップデザイン:森崎貞
  • 美術監督:伊東和宏
  • 色彩設計:もちだたけし
  • 撮影監督:下崎昭
  • 3Dディレクター:濱村敏郎
  • 特殊効果:上原将一
  • 編集:松村正宏
  • 音響監督:はたしょう二
  • 音楽:宮崎誠
  • アニメーション制作:スタジオディーン

CAST

  • ローズ:釘宮理恵
  • 如月竜司:下野紘
  • 七尾英理子:ゆかな
  • 江藤実咲:仁後真耶子
  • マルガ:堀江由衣
  • アイ:いのくちゆか

官方网站

http://dragoncrisis.jp/

日本鬼子的逆袭

再次验证了小日本的“[cref everything-can-be-made-moe 万物皆可萌]”。本来“日本鬼子”是骂他们的,结果他们把这个作为人物名字给同人化了(了解点日本文化的都知道“子”结尾的是女性名字),这真是让国人情何以堪!

“日本鬼子”读作ひのもと おにこ(hinomoto oniko)不过“ひのもと”写成汉字应该是“日の本”吧(这个称呼在乳王之刃里出现过),算了,不懂日语……

希望世界和平!