从卓越工程角度看微软中国开发团队的成长
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
- .NET,
作者 Jonathan Allen译者 朱永光 发布于 2007年11月21日 上午7时50分
通用语言规范(Common Language Specification,CLS)确保任何具有一致性的.NET语言能访问被其他语言创建的函数库。这意味着命令式的语言,如VB和C#,能调用主要为F#创建的函数化函数库。实际上,许多都能直接地转换为C#代码。
Dustin Campbell通过演示一个能被大量简化的C#表达式是如何地简单来说明这种方式。它以如下代码开始:
int[] a = new int[20];
for (int x = 0; x < a.Length; x++)
a[x] = x + 1;
如果写成F#即是:
let a = Array.init 20 (fun x -> x + 1)
不使用特殊的代码技巧,F#代码可以表述为(以一种更声明化的方式),“创建一个有20个元素的数组,并使用这个函数初始化每个元素。”F#版本一个有趣的特性是数组的类型不需要声明。因为编译成能推断传递到函数的结果(fun x -> x + 1)将会是整数,“a”必须是一个整数数组。
对我来说,这代码是那样的优美。另外,这是声明式的而非命令式;它描述什么将被完成而不是明确地规定将如何完成。
当我看到如此简练的代码,我立刻开始试图想找到F#中的那些方面,有助提高我日常工作中的C#代码的书写效率。
Dustin继续展示了一个C#函数,允许使用这样的语法。
var a = ArrayEx.Create(20, x => x + 1);
需要提醒的是这样的技术在VB中同样可以工作。
查看英文原文:http://www.infoq.com/news/2007/11/Functional-CSharp
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。
本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。
人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。
在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。
没有回复
回复