阅读更多

9顶
0踩

非技术

原创新闻 TIOBE排行榜:Scala超过Groovy&Erlang

2008-10-22 10:25 by 见习编辑 Eastsun 评论(12) 有11143人浏览
  刚刚看到cryolite童鞋的Erlang的未来(2008),所以我也忍不住想八卦一下:根据TIOBE Programming Community Index for October 2008的数据,Scala的排名已经超过Groovy与Erlang。
  
  另外,根据Nabble邮件列表上Martin Odersky大大发布的消息Looking for god names of sequence construction functions,他准备着手重写Scala的collection库。这是个好消息,目前Scala的基础库存在着一些问题,比如命名方式不统一,缺少docs,还有一些API的实现存在性能问题。有Martin Odersky出手,相信这些会得到改善。
  下面是10月份语言排行榜的前20名:
9
0
评论 共 12 条 请登录后发表评论
12 楼 philix 2010-11-05 21:29
williamy 写道
我在想一个问题,我学了Java,何必再学一个Scala,于是我放弃了Scala

就是就是
11 楼 ray_linn 2008-10-23 12:41
就比powershell高一位...powershell可算是小弟弟啊
10 楼 wu2004 2008-10-23 08:50
java ,c,php,我读喜欢。
9 楼 Eastsun 2008-10-22 22:13
cryolite 写道

我记得有一次erlang还进了top40,难道记错啦

没记错,只不过下降了而已
8 楼 cryolite 2008-10-22 22:00
我记得有一次erlang还进了top40,难道记错啦
7 楼 Venus 2008-10-22 16:28
眼看着Perl就要给Python超过了
6 楼 Eastsun 2008-10-22 15:36
小白·菜 写道
scala本身不就是函数式的吗?

我说过Scala不是函数式的吗?
只是说相对Lisp等函数式语言,它没那么pure Functional 罢了
5 楼 williamy 2008-10-22 15:07
我在想一个问题,我学了Java,何必再学一个Scala,于是我放弃了Scala
4 楼 KKFC 2008-10-22 12:00
小白·菜 写道

Eastsun 写道呵呵,对于像我这种习惯了OO的人来说,我更喜欢Scala这种带有有明显OO风格的语言;而不喜欢Lisp/Haskell之类“更纯”的函数式语言。Clojure应该算Lisp的一种方言,也有很多人很看好它:Is Clojure the next big thing?不过就现在看来,Clojure的影响力比Scala还是有一定差距但Scala现在最大的问题是不够稳定,很多特性还在快速发展中scala本身不就是函数式的吗?

一个大杂烩 js 全搞定 ,拿来教学不错,实践就要靠大牛的那些东东了,
3 楼 小白·菜 2008-10-22 11:23
Eastsun 写道

呵呵,对于像我这种习惯了OO的人来说,我更喜欢Scala这种带有有明显OO风格的语言;而不喜欢Lisp/Haskell之类“更纯”的函数式语言。Clojure应该算Lisp的一种方言,也有很多人很看好它:Is Clojure the next big thing?不过就现在看来,Clojure的影响力比Scala还是有一定差距但Scala现在最大的问题是不够稳定,很多特性还在快速发展中

scala本身不就是函数式的吗?
2 楼 Eastsun 2008-10-22 10:48
呵呵,对于像我这种习惯了OO的人来说,我更喜欢Scala这种带有有明显OO风格的语言;而不喜欢Lisp/Haskell之类“更纯”的函数式语言。
Clojure应该算Lisp的一种方言,也有很多人很看好它:Is Clojure the next big thing?
不过就现在看来,Clojure的影响力比Scala还是有一定差距
但Scala现在最大的问题是不够稳定,很多特性还在快速发展中
1 楼 shxiao 2008-10-22 10:37
那clojure呢? 实在不看好scala,复杂, 难看

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C++中类对象的初始化与赋值的区别

    C++中类对象的初始化与赋值的区别 C++中对象的初始化与赋值操作符是有区别。这一点在在理解,拷贝构造函数与赋值操作符的实现上是很重要的。 在C++ (C)变量的使用原则,总是先定义后使用。而基本类型的变量的初始化和赋值几乎没有区别的。 定义一个变量的过程:定义声明   初始化.    (#之所以称之为定义声明,还有连接性性声明如extern  这种外部连接性的声明,是没有

  • 类成员初始化和赋值

    定义一个变量,就是在内存中为你定义的这个变量开辟一段内存空间,如果这个变量没有初始化,那么系统会随机给这个变量赋一个值,这个值我一般称它为"垃圾数"。 没有初始化的变量我认为它是没有意义的,是在浪费内存,就比如人刚出生的时候上帝需要给他赋予点东西,比如条件反射,比如哭,比如吮吸........这样人的意义得以体现。 对于类的成员来说,我们最好的做法就是在构造函数中对每一个类成员进行初始化。 我们来看一个简单的例子: class name { public: name(int aa, in

  • C++学习之第四天-类成员的初始化、赋值运算符函数

    一、简答题 1.当定义类时,编译器会为类自动生成哪些函数?这些函数各自都有什么特点? 定义类的时候,编译器自动给类生成默认的默认无参构造函数、拷贝构造函数、析构函数、赋值运算符函数。 解答: 1.构造函数: 1.名字与类名相同,若程序员在类中自定义了有参构造函数和拷贝构造函数,默认构造函数也得自定义。 2.实例化对象的时候自动调用,用于初始化成员数据,没有返回值,也没有返回类型。 3.可以发生构造函数重载。 2.析构函数: 1.类名前面加~,在对象销毁的时候自动调...

  • C++ Class封装的成员、属性(二)

    C++ Class

  • Java中 类和对象的初始化

    成员变量初始化方式: 成员变量为以下数据类型时,都是有默认值的,这叫默认初始化赋值: 基本数据类型:short char byte int long float double; 引用数据类型:接口 类 数组。 显示赋值,在创建成员变量时,就直接在等号右边赋上相应的值,显示赋值一般都是赋常量值: public class Person { private String name = “小明”; private int age = 23; } 代码块初始化赋值: 静态代码块初始化,只能初始化静态变量

  • 类与对象(三)--构造函数体中的赋值和初始化列表的区别

    在实践中,推荐使用初始化列表,特别是对于非静态常量成员、引用成员或具有自定义构造函数的成员。这样可以确保在进入构造函数体之前,所有成员都得到了正确的初始化。

  • class中成员变量列表初始化和函数体赋值的区别

    类中成员变量在构造函数中无论是列表初始化还是函数体赋值,其最终效果都是一样的。但是在某些具体细节和效率方面是有所差别的。 class的成员变量可以分成两类:(1)内置类型:int、char、bool等 (2)用户自定义类型class A { public: //A(int x,string str):a(x),s(str) { } A(int x,string str):{

  • 对象、声明、定义、初始化、赋值

    对象、声明、定义、初始化、赋值 声明不等于定义 初始化不等于赋值 对象:一块能储存数据,并具有某种类型的内存空间。 声明:规定了变量的名字和类型,并不申请空间。 定义:为对象分配储存空间,也可能赋予一个初始值。 double geta();//函数声明 int a//内置类型声明,并定义,初始值不确定 初始化:当对象在创建时,获取了一个特定的值,我们说这个对象被初始化了,初始化不是赋值,初始化的含义是创建对象时赋予一个初始值。 赋值:把对象的当前值擦除,用一个新的值来替代(即对象是已经存在的)。 对于内置

  • Java笔记 —— 创建对象的过程(类加载,具体的初始化赋值过程)

    package test1.demo; class Person{ String name; int age; static String nationality; public Person(){} public Person(String name,int age){ this.name = name; this.age = age; } public Person(String name,int age,Strin

  • 初始化、赋值、默认初始化、列表初始化、类内初始值、直接初始化与拷贝初始化

    文章目录初始化和赋值的区别列表初始化类数据成员 初始化和赋值的区别 初始化的含义是床关键变量时赋予其一个初始值,而赋值的含义时把对象的当前值擦除,而已一个新值来替代。 列表初始化 C++定义了初始化的好几种不同形式,通常定义一个变量并初始化的方式有以下四种: int x = 0; int x = {0}; int x{0}; int x(0); 使用花括号来初始化变量在C++11新标准中得到了全面应用。这种初始化的形式被程为列表初始化(list initialization)。现在,无论是初始化对象,

  • Struct 与 Class 的初始化赋初值(struct篇)

    ---------------------测试环境:win10_专业版_VS2017 和 win7_专业版_VC++6.0--------------------- 验证Struct 的初始化 和 赋值

  • class对象及类的初始化过程

    第十四章类型信息14.2 加载,链接,初始化 具体详细 简洁明了 Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象。 这三个步骤中,对开发人员直接可见的是Java类的加载,通过使用Java类加载器(class loader)可以在运行时刻动态的加载一个Java类;而链接和初始化则是在使用Java类之前会发生的动作。

  • vector初始化必须设置大小么_class成员初始化:从C ++ 11到C ++ 20

    使用现代C ++和标准的每个修订版,我们都可以采用更舒适的方式来初始化类的字段:静态和非静态:存在非静态数据成员初始化(来自C ++ 11)和内联变量(用于静态) C ++ 17以来的成员)。在此博客文章中,您将学习如何使用语法以及从C ++ 11到C ++ 14,C ++ 17到C ++ 20多年来的语法变化。数据成员的初始化在C ++ 11之前,如果您有一个类成员,则只能通过构造函数中的初始化...

  • C++编程语言中创建类的对象(类的初始化)的方法

    使用new关键字创建的对象会赋值给类指针,该指针用途广泛,比如作为函数返回值、函数参数等;使用new关键字创建的对象在使用完成后,必须要使用delete销毁该对象,否则会造成内存泄露(new申请的对象,只有调用到delete时才会执行析构函数);而直接使用类名创建的对象,则不需要手动销毁该对象,因为该类的析构函数会自动执行;使用new关键字创建的对象使用的是堆空间;而在局部、直接使用类名创建的对象则使用栈空间;

  • C++中对象初始化方式

    感谢原作者的辛勤劳作:https://blog.csdn.net/yang20141109/article/details/50374696 当对象在创建时获得了一个特定的值,我们说这个对象被初始化。初始化不是赋值,初始化的含义是创建变量赋予其一个初始值,而赋值的含义是把当前值擦除,而以一个新值来替代。 对象初始化可以分为默认初始化、直接初始化、拷贝初始化以及值初始化。 1,...

  • 内涵:类内初始化与初始化列表与构造函数内部赋值

    好的。首先把构造函数内部赋值剔除掉。因为:1.效率低,它的本质是赋值,不是初始化,c++内部机制事实上已经为成员变量默认初始化了,然后你又在构造函数里面赋了一次值。2.易错,对于const成员变量,初始化之后就不可以赋值了。 下面比较类内初始化和初始化列表。 相同点:1.从名字就可以看出,两者都是初始化。 不同点:1.如果对于同一个变量,两者同时出现,则以初始化列表为主。

  • C++初始化和赋值的区别

    1.C++中, 对于简单类型的赋值和初始化的区别基本可以忽略2.当涉及到类或者复杂的数据类型时,问题就变得不那么简单了,下面以一个例子来引入话题:#include <iostream>using namespace std;class Point  {  public:      Point(int a=0, int b=0):x(a), y(b){};      ~Point(){ ...

  • 初始化与赋值之间的区别

    由于在内置类型中,初始化和赋值不进行区分并不会造成很大的影响,所以让我很大程度上忽略了他们的差别。   直到C++primer中对于构造函数提出了一句话,构造函数有一个初始化部分和一个函数体,在一个构造函数中,成员的初始化是在函数体执行之前完成的,且按照它们在类中出现的顺序进行初始化。让我第一次开始思考初始化和赋值操作之间的区别。   首先我们看构造函数的两种写法   “赋值”写法:

  • C++中给类初始化与赋值的区别

    1.初始化 Bign x = 100;      //初始化 初始化时会调用构造函数。 2.赋值 Bign x; x = 100;  //赋值 赋值时会调用运算符重载函数。 3.特别注意:在运算符重载(点击参看另一篇文章)中,仅重载了赋值运算符"=",还不能进行Bign x = 100;操作,需增加两个函数: Bign(const char* num){ *thi

Global site tag (gtag.js) - Google Analytics