关于Scala的前景

关于Scala的前景

 
近些年,基于JVM语言的发展风起云涌,Scala语言尤为抢眼。我们不妨从以下几个方面来介绍下Scala语言的发展前景: Scala语言的起源 Scala语言源自瑞士洛桑联邦理工学院,由奥德...

  近些年,基于JVM语言的发展风起云涌, Scala语言尤为抢眼。我们不妨从以下几个方面来介绍下Scala语言的发展前景:

  Scala语言的起源

  Scala语言源自瑞士洛桑联邦理工学院,由奥德斯基教授2001年带领小组致力于Scala语言、标准库和编译器的开发。这里透露一个小花絮,奥德斯基教授创建Scala语言的一个主要原因是不满Java语言相对复杂的语法。

  Scala语言的发展现状

  Scala语言最直接的好处是兼容Java,这就意味着可以无缝使用所有Java的类库和框架。Scala程序会被编译成JVM可执行的字节码。Scala虽然是静态语言,但Scala支持函数式编程和类型推断(Type Inference),它的哲学是结合面向对象和面向过程并保证代码的简洁。

  Scala语言在生产环境和公司的普及度非常高:

  1. Linkedin

    Linkedin公司把高吞吐量的分布式发布订阅消息系统Kafka捐给Apache基金,该系统完全由Scala语言开发。

  2. Twitter

    Twitter为了性能考虑,将部分现有用Ruby On Rails实现的系统,迁移到了Scala

  3. 英国卫报

    英国卫报为了提高开发效率,已经从Java切换到Scala,详情请见InfoQ相关新闻

  使用Scala的公司非常多,详情见Scala in the Enterprise列表。//如下英文部分

  与此同时,Scala语言也有强大的社区作为后盾,Scala官方网站为不同的角色(初学者、有经验者、专家)提供了学习资源分享、邮件列表订阅、加入google groups、加入开放项目等方式,使得每个人都可以共享Scala的信息并将所学知识回馈到社区中去。

  业界专家对Scala的评价

  Java之父James Gosling在一个社区会议上,有人问James Gosling,除了Java,你还使用哪些构建在JVM上的语言?

  James回答:Scala

  Groovy创始人James Strachan于2009年James Strachan就在博客上写道,如果我早点看介绍Scala的那本书,就不会创立Groovy这门语言了(大家应该知道,Groovy也是门优秀的构建在JVM上的语言)

  Scala语言的优雅和简洁,大家可以通过官方网站的例子一一体会。

  其他JVM语言的发展现状

  1. Groovy: 语法简单,开发者可以更快的学习该语言,并且非常适合开发DSL(领域特定语言)。SpringSource运维Groovy的发展,让人对Groovy充满希望。
  2. JRuby: JRuby是面向Ruby的解释程序,该程序可以实现对Java类的交互。由于Sun公司JRuby的开发人员因为不知道甲骨文是否支持JRuby而选择了跳槽,这让JRuby的发展非常的不确定。
  3. Jython: Jython是纯Python语法的Java实现,Jython可以极大减少代码量。Jython的发展比较曲折,负责开发Jython的人员经常更换,甚至出现开发放缓的情况。后来终于得到Sun公司(已被Oracle收购)的支持,开发进度稳步增长,我们将拭目以待。

  Scala语言学习&&展望

  Scala开发工具非常成熟,初学者可以轻松学习Scala

  1. Eclipse插件的形式:Scala IDE v2.0已经发布

    Scala官网推荐的工具

  2. 独立IDE:评价最高的Scala IDE,IntelliJ IDEA

    社区版已经可以集成Scala插件。

  Scala语言的发展路线可以总结为两点:

  第一,Scala语言旨在成为最为普及的JVM语言(这点已经做到),并不断完善语言特性加强语言的生产力。

  第二,Scala语言会涉足其他非JVM平台,使得非Java程序员也可以体验Scala的优雅,比如Scala已经可以在.Net上运行。

  相信Scala语言会在未来给我们不断的惊喜!

 

 

Scala in the Enterprise
Created by admin on 2009-06-12. Updated: 2012-01-19, 21:34
The Scala programming language is used by many companies to develop commercial software and production systems; please find below some notable examples. Your company can also benefit from using Scala, just like LinkedIn, EDFT, Twitter, Novell, the Guardian, Xebia, Xerox, FourSquare, Sony, Siemens, Thatcham, OPower, GridGain, AppJet, Reaktor and many others.

Scala is being used by many more organisations and steadily moving into mainstream business critical applications. Scala's use has grown by a factor of 10 over the last year and it has matured into a solid production language.

Scala long term support both in research and commercial terms is now assured. EPFL will continue to fund programming language research that so often results in features for Scala and the Scala team recently won an ERC 5 year grant for 2.3 million Euros, nearly doubling the group size, to tackle the multi-core "Parallel Programming Challenge" using Scala as the basis. On the commercial front Scala Solutions, a well financed company, has been founded to provide essential commercial support service directly and through a world-wide network of Partners. This covers such things as Scala Training Courses, consulting, Scala development tools and Certified Builds for old versions of Scala.

 

LinkedIn

 

The LinkedIn Web site was launched in 2003 and is now the largest professional networking site in the world with more than 65 million members, representing 200 countries and executives from every Fortune 500 company.

Chris Conrad, Engineering Manager, a part of the Search, Network and Analytics team at LinkedIn presented Scala based Norbert at ScalaDays 2010. Chris works on the LinkedIn Social Graph represented by some 65+ million nodes, 680+ million edges and 250+ million request per day and he describes LinkedIns experiences with Scala here. In this interview by InfoQ Alejandro Crosa, Chris Conrad and Jay Kreps describe the overall architecture and how they benefit from Scala. 

 

Électricité de France Trading

 

Électricité de France (EDF) is the largest French energy company. EDF Trading (EDFT) is the subsidiary of EDF that operates on the energy market: when the energy markets were liberalized, power became a tradable commodity, and it became possible to buy and sell future capacity just like other financial instruments. More in general, EDFT operates "to source, supply, transport, store, blend, and convert physical commodities across the wholesale energy markets".

Over the past few years their development team, including Alex McGuire, and Lee Momtahan have replaced a substancial part of their 300,000 lines of Java code for energy derivatives trading and pricing with Scala code. EDFT has seen a significant increase in development productivity and much improved interfaces for their users, the Power traders.

In an interview with Alex McGuire he says, that in this mission critical business application, Scala plays an important part in the implementation and is impressed by Scala. Alex, a mathematician and former options trader, has over 15 years of development experience creating financial trading applications. Alex has left EDFT and is now running his own company providing scala consulting to financial and trading organisations.

Lee Momtahan says, "We're using Scala for real work in a business critical situation and there is a lot of money at stake if we get it wrong. There are risks, but we have had no problems [with Scala]. For me, a developer working at the coal face, the productivity improvements are massive." Lee presented at the Commercial Users of Functional Programming meeting, CUFP 2009 in Edinburgh, You can find a summary of his talk here, his slides here and a video of the actual presentation here.

 

Twitter

 

Twitter provides an extremely popular real-time messaging service, which allows friends, family, and co-workers to stay in touch. Some 70 million people tweet worldwide.

Alex Payne, API Lead at Twitter, gave a fascinating presentation at Web 2.0 Expo San Francisco, 01 April 2009 about why Twitter uses Scala. He explains why they like the language, how they have gained performance with it and the difficulties they encountered on the way. You may like to take a look at his presentation slides or read reports on the talk by: Kate Greene from Technology Review, Nicole Ferraro from Internet Evolution, or Cade Metz from The Register.

Robey Pointer at Twitter has moved their main message queue from Ruby to Scala for improved performance. He explains the concepts behind the Twitter Kestrel project on his live journal and the more concise 1500 lines of Scala code can be seen as open source project here.

Bill Venners from Artima, had the opportunity to talk to three of the Twitter developers, Steve Jenson, Alex Payne and Robey Pointer. They have created and upgraded one of the fastest growing social messaging services in the world. You can learn what they think of Scala, how they use it, and understand about some of the benefits they have gained from their move.

 

Novell

 

Novell recently announced Pulse, an exciting and much anticipated cloud-based, real-time collaboration platform for the enterprise. It provides a collaboration environment that is secure and draws on the best of instant messaging, document sharing, social connections, real-time co-editing and enterprise controls. At Pulses heart beats Lift 1.0, a Scala based WebFramework that has been used to provide all of the web services for the project.

Daniel Spiewak,Developer and member of the "breakout" team that developed Pulse, talks about the project here.

A very professional Pulse demo was given at Novell BrainShare 2010 or more can be learnt about the product and service on the Pulse web pages.

 
 

The Guardian

 

On the 20th May the Guardian announced that their "Open Platform", an API to access the vast repository of Guardian media with over a million articles, video clips, photographs and audio tracks, was "open for business". With 36 million people making regular use of the repository, the Open Platform was created to service the rapidly growing demand and provide a high performance interface for media application developers. Over 2000 of them registered to use the API and 200 application products built to use it during the Beta evaluation phase. This exciting API was implemented in Scala using Lucene/Solr for media storage.

Graham Tackley, the Web Platform Development Team Lead for the guardian.co.uk explains here, how they were able to cut indexing times from 20 hours to one and the presentation here describes the success they had moving from Java to Scala.

 

Xebia

 

Xebia, a highly successful international IT consultancy and project development organization, sees a bright future in Scala. With an annual turnover exceeding 20M$, Xebia now has an organisation of over 180 professionals focussed on Enterprise Java technology, Agile development methods and outsourcing services. They are often regarded as the defacto standard for Scrum and are seen as a leader in the Agile methodology. Guido Schoonheim, CTO talked at QCon London 2009 on how Xebia achieves "hyperperformance", 5 times the industry average, with Fully Distributed Scrum.

Urs Peter, senior consultant at Xebia says: "More and more companies are looking for simple and concise solutions. Scala not only offers them an improvement in productivity but is also cost effective as companies can still use their existing middle-ware and infrastructure," and that "Scala enables developers to stay very close to the business logic and thus omit various meta blocks. This results in neatness and a structure that is easy to maintain."

 

Xerox

 

XMPie is a business unit of Xerox Corporation offering a full range of software solutions for variable-data publishing including the award-winning product PersonalEffect. The Xerox ICE project, used XMPie and Scala to improve the Xerox (UK) customer experience. The ICE project provides a full cross-media invitation experience for visitors to the Xerox UK showrooms.

In an interview, Timothy Perrett, Technical Specialist for XMPie Europe, Middle East and Africa, the project leader, explains the background to the project, its benefits and his impressions of using Scala at Xerox.

 

FourSquare

 

Foursquare is a fast growing service that back in July 2009 both the Washington Post and Mashable were tipping as a potential "breakout hit" or "next Twitter". Foursquare provides a cross between a friend-finder, a social city-guide and a game that rewards you for doing interesting things. It aims to keep you up with the places your friends go, and encourage you to discover new places and explore your neighborhood. Ever more people are enjoying the discovery experience.

With a rapidly growing base of hundreds of thousands of users Harry Heymann at Foursquare decided to move all the services to Scala/Lift based servers.

Recently he announced to the Lift community that this high profile, heavy duty web server application had successfully ported to the Scala/Lift web framework. He explained that the conversion took a surprisingly short time, just 3 months. The Foursquare website, a mobile website (m.foursquare.com) and a simple(but growing!) REST api (api.foursquare.com) all now run on Lift. Harry says that they found Lift's view-first architecture well suited to interactive, AJAX-infused pages and an easy transition to make.

He say of the Scala/Lift community, "they've built a really great framework, and I look forward to using it and seeing it grow for many years to come."

 

Sony

 

Sony Pictures Imageworks is a proven industry leader in the creation of award-winning character animation and is renowned for expertise in the highly specialized work of creating photo-real CG characters. Imageworks is also where Sony Pictures Animation has made its all-CG animated features.

Recognizing the value of the Open Source Software products that they have used, are entering into the same spirit by releasing five of their own projects as Open Source. One of these, Scala Migrations, is a library that manages updates, rollbacks and changes to data base schemas.

"The Scala Migrations library is written in Scala and makes use of the clean Scala language to write easy to understand migrations, which are also written in Scala. Scala Migrations provides a database abstraction layer that allows migrations to target any supported database vendor."

The source code is available here.

 

Siemens

 

Siemens boosts productivity with ESME. On March 4, 2009, Siemens announced the availability of Enterprise Social Messaging Experiment (ESME), an application based on the Lift WebFramework and Scala. ESME is an Open Source tool designed by Siemens IT Solutions and Services together with SAP Community specialists. The product is aimed at boosting productivity in enterprises with efficient social networks. Richard Hirsch, project manager for ESME at Siemens says "ESME helps to build communities and thus fosters efficient, company-wide communication between employees".

Darren Hague, SAP Mentor and ESME team lead briefly explains here why the team chose Lift and Scala as the basis of this application. You can learn more about the project background and the teams technical architectural decisions here. You may like to try a version of the ESME user interface here or see the Siemens desktop implementation here.

In an interview Vassil Dichev, one of the community of programmers dedicated to developing ESME, talks about his experiences with Scala.

 

Thatcham

 

Thatcham Motor Insurance Repair Research Centre provides data to vehicle manufacturers with the aim of containing or reducing the cost of motor insurance claims, whilst maintaining safety and quality standards. They research efficient, safe, cost effective repair of vehicles, and work with manufacturers to influence the design of new vehicles.

Ross McDonald, Web Technologies Lead Architect, explains in his article why the company moved to Scala for both their research work and their Web site. He summarises their experience by saying "With Scala we can simply do more with less code, and we can do it better."

 

OPOWER

 

OPOWER is an energy efficiency and Smart Grid software company that helps utilities meet their efficiency goals through effective customer engagement. OPOWER uses cutting edge software, combined with behavioral science and patent-pending energy usage algorithms to deliver actionable insights about energy usage to millions of homes across the country.

Dave Copeland, an engineering lead at OPOWER, recognised the efficiency benefits Scala could bring to the company.

However, the OPOWER developers are a very successful JAVA shop and rightfully cautious about adopting a new language. In his presentation at ScalaDays 2010 he explained how he chose to introduced Scala in a controlled low risk way by simplifying the creation of the company's Web site test suite using Scala. Based on their experience he suggests ways in which development groups can reduce their learning curve to more rapidly reap the benefits of bringing Scala into the development culture.

 

GridGain

 

GridGain, founder and CEO - Nikita Ivanov, has the vision of making a product that will make grid computing an everyday tool for the enterprise application developer. GridGain has already become popular among many commercial users and this capability to use it so simply with Scala will make it even more accessible.

 

You can see a short, get you started, example in Nikita's tutorial article "A Scala-based DSL for Cloud Computing" on his blog. Or you may like to see his presentation on GridGain or see how it can be used, for example, with the JBOSS cache for map-reduce applications. Gridgain has shown how easy Cloud computing in Scala has become.

 

AppJet

 

Appjet was recently acquired by Google to boost the development of Wave. AppJet developed the highly successful EtherPad and its underlying AppJet web framework using Scala. EtherPad is the only web-based word processor that allows people to work together in really real-time. You can see how Scala has contributed to the project by looking at the source code now made available as an Open Source Project. The acquistition recognizes their success, much deserved by the design and delivery of a product their customers enjoy. See their customer testimonials here.

 

Reaktor

 

Reaktor is a Finnish software company, employing 150 people, providing software development and software development consulting services to many of the large Finnish companies. Their software services are mostly targeted at Finnish market although the products are often deployed around the world and used by millions of people.

The cornerstones of the company are unparalleled technological expertise, the best experts in the field, high quality products and services and the drive to always succeed. Reaktor, an exciting and progressive company, was ranked the best workplace in Finland and number two in Europe in 2009. At Reaktor, people always come first.

In the last two years developers at Reaktor have become enthusiastic about Scala, started introducing the language into new development projects and now recommend the technology to their customers.

In one case, Scala was chosen as a solution for a mobile game logic DSL, in a system now deployed around the world. The top level Scala script bundled together more fundamental elements. The resulting package has been used more extensively since.

In another, Scala was used to implement a Web based home security system. Scala's xml API was particularly effective for interacting with a third party provided xml-over-http service.

According to Hannu Terävä, Chief Technology Officer, "Ultimately the client decides what technologies we use; I believe that we will see more and more Scala projects in the future."

 

Others

We have received many reports about Scala in the enterprise, in particular we heard news about EBay, LinkedIn and Office Depot adopting Scala as well; we are in the process of obtaining more information.

Meanwhile, please find below some of the Scala deployments we heard about; we are unable to verify all of them at this time, but we will update the list as we receive more precise information.

Scala is also being used in the scientific publishing group Nature, for building various restful APIs. The contact is Peter Kovac, who also reports that some of their new online products are also going to be Scala-based. http://www.nature.com/
 
Scala is reportedly used in Managed Gaming Solutions Plc's high-availability system for national lotteries, the Jetbet™ Platform. Developed in collaboration with Reaktor. Their website: http://www.mgscorporation.com/. (Reported by Jakub Järvenpää)
 
Triental, a wealth management company, based in Uppsala, Sweden, also uses Scala. Contact: Jonas Bonér, Triental AB, http://www.triental.com/
  
Scala is in use at Sygneca; it was used on a number of projects, including several for the UK government over the last three years. They reportedly have further Scala use cases in the private sector. Contact: Jon Pretty, Sygneca, http://www.sygneca.com/
 
AD Holdings (CCTV systems) also uses Scala. Contact: Ricky Clarkson. http://www.ad-group.co.uk/
 
The company SAIC (government contracting in the USA) is using Scala on a project to provide a RESTful and XML-RPC API. Contact: Michael Fogus, SAIC, http://www.saic.com/
 
A French company based in Paris, Mimesis Republic, is using Scala to develop a new MMO. Contact: Stephane Le Dorze, Technical Director, Mimesic Republic, http://www.mimesis-republic.com
 
WattzOn, http://www.wattzon.com/, a social energy auditing site, is entirely coded in Scala. WattzOn is a joint effort of Synthesis Studios, a technology design firm in Boston, Massachusetts, US, http://www.synthesisstudios.com/, and Makani Power, Alameda, California, http://www.makanipower.com/home.html. Contact: Raffi Krikorian
 
You can use Scala to make software development more efficient in your company, just like Twitter, Siemens, and the other companies above have done. If you have already started developing Scala software for your company, and you would like to let us know more, please just send us a quick message.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值