从Java、C、Ruby、JS等的HelloWorld领略它们的不同

编程语言分类
从不同的角度,编程语言有几种不同的分类方式。根据“需不需要事先声明变量类型”可以将程序设计语言分为:Dynamic Typed Language(动态编程语言)和 Statical Typed Language;根据“会不会隐性自动转换型别”,又可以将编程语言分为:Strong Typeing Language(强类型语言)和 Weak Typeing Language(弱类型语言),如下图:
编程语言类型

从HelloWorld领略几种编程语言的不同
以下列出主流几种语言的实现的那著名的HelloWorld:
Java:

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

c:

#include <stdio.h>
int main(void){
    printf("Hello,World!");
    return 0;
}

Ruby:

puts "Hello,World!"

Python:

print("Hello,World!")

JavaScript:

console.log("Hello,World!");

首先,不用考虑其他,直观上来看,Ruby、Python、JS所用的代码都是非常短;不知道你们是什么感觉,我的感觉是一个字:爽!当然这个爽字,不是意味着Ruby、Python、js比Java、C牛叉,它们还是有它们各自的优势,而且我是最反感“语言大战”的,本身语言就是用来解决问题了,什么样的问题适合选用什么语言来解决,什么样的功能选用什么样的语言来实现,这都是针对特定问题的,所以,那种一棒子打死某一种语言的做法,或者说认为自己最擅长的语言就是这个世界里面最牛逼的语言的想法,我觉得就两个字:幼稚!
其实,看上面的几个“HelloWorld”程序,我觉得第一眼的感觉就是最好的感觉,也是最真实的感觉——简单;Ruby、Python、JS的创作者们在设计它们的时候,都有一个理念:让它们不要那么复杂,越简单越好;而且是更多地从人的角度出发,让编程者用起来更“人性化”——为什么总要求我们站在计算机的角度思考问题,计算机是为人类的服务的嘛(为什么总是考虑性能问题,效率问题??O(∩_∩)O~)

当然从这个“Hello,World!”还不足以说明一切,还不能从深层次地角度说明它们的不同以及各自的优势,这篇文章仅仅是起到抛砖引玉的作用,让大家从直观上稍微感受下它们各自的魅力;至于深究它们,还是留给语言学家们!

另附Ruby、Python官网:
Ruby官网文档
Python官方文档

猜你喜欢

转载自blog.csdn.net/nieyinyin/article/details/45172567