语言是什么? 比较erlang 和 scala时候产生的疑问

今天在图书馆翻了几本书《scala编程》,《scala程序设计(java 虚拟机多核编程实战)》和《Erlang编程语言》。突然产生了迷惑,什么是面向对象语言,什么是函数式语言,什么是动态语言什么又是静态语言...

回想起研究生阶段还上过“程序设计语言原理” 貌似就是讲到这些东西...

没办法 了,只要查查,整理了一些资料

 

静态语言和动态语言

http://www.iteye.com/topic/33971

静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求. 
动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 
强类型语言是一旦变量的类型被确定,就不能转化的语言。实际上所谓的貌似转化,都是通过中间变量来达到,原本的变量的类型肯定是没有变化的。 
弱类型语言则反之,一个变量的类型是由其应用上下文确定的。比如语言直接支持字符串和整数可以直接用 + 号搞定。当然,在支持运算符重载的强类型语言中也能通过外部实现的方式在形式上做到这一点,不过这个是完全不一样的内涵 
通常的说,java/python都算是强类型的,而VB/Perl/C都是弱类型的. 

程序设计泛型

http://zh.wikipedia.org/wiki/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%8C%83%E5%9E%8B

 

你可能感兴趣的:(编程,scala,python,erlang,vb)