8月编程语言榜:.Net前景如何?

 Nemerle是一种多范型语言(面向对象和函数式),完全支持编译器宏(后来更多的是Lisp的变种,而不是C++),以及许多其他的东西。Nemerla与Visual Studio 2010里发布的F#不同,后者是纯函数式语言。

    Tiobe近日公布了2009年8月的编程语言排行榜本期榜单中有Objective-CHE第一次进入前二十名并取代之前的Lua,而Java、C、C++依然以绝对优势占据前三甲的位置.本期我们将重点关注微软的.NET平台,以及新近推出的F#、Small Basic语言.
    很多人将C#认为是微软对Java的反击,我们从C#语言的继承体系,以及一些特性中可以看出,C#语言综合了C、C++和Java的优点。C# 看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET平台的主力。51CTO注意到尽管微软发布过J++,但还是不如C#对Java的威胁大。
    在Visual Studio 2010 Beta1发布后,C#关注度像是被注入强心剂一样持续上升。更多的特性支持, 是广大开发人员支持C#的动力。比如51CTO曾报道过的Visual Studio 2010中使用C# 4.0的动态类型,这一动态类型的新特性包括:1、支持动态查找;2、同时支持命名参数和可选参数;3、增强的COM互操作特性;4、支持方差。从这里面 可以看到很多Javascript、Python这些动态语言的影子。虽然C#越来越偏离静态语言的道路,但从另一个角度来说,这些特性也都是为了提高程 序员的生产力。


    Visual Basic从诞生之日起就注定成为一门合适的入门语言,简单易学使Visual Basic成为很多程序员的第一门语言。微软也很乐意将更多的新东西带入Visual Basic,最新的Visual Basic 2010新特性包括:数组初始值设定项、集合初始值设定项、内联Lambda表达式、自动实现属性、泛化、No-PIA部署、与Python的集成、并行 计算扩展等。不过目前来看,Visual Basic正处在一个十字路口,需要更多的新技术来支持它继续前行。

    尽管微软Visual Studio 2010将加强对C++的支持,但是一向作为Visual Studio缺省语言的Visual Basic,还是会作为微软的主力语言得到推崇。相信随着Visual Studio 2010正式版的到来,更方便的Visual Basic会更好的提高程序员的工作效率。 F#是微软发布的一款函数编程语言。功能编程语言将计算看作是数学函数的赋值,数学特性使得它对需要大量使用数学符号的领域的专业人士颇有吸引 力。微软更允许F#运行在CLR之上,51CTO认为这也标志着微软将F#列为Visual Studio 2010上的“一等公民”。

    作为今后.NET平台的支柱,微软希望F#能被用来构建应用程序的核心,并且在呈现层与C#、Visual Basic合力打造完美的应用程序。从这里可以看出微软全方位做大.NET平台的决心。尽管F#在本期的榜单中排名并不显眼,相信明年Visual Studio 2010正式版发布后,榜单前排一定有F#的位子。

  M语言,这种新编程语言是微软新Oslo发展和面向服务策略的一部分,在保持文本(textual)和特定领域(domaiN-specific)的同时,还整合了来自XAML的特性。

    Spec#是C#的一个扩展,支持许多契约(contract)属性,如非Null类型系统,前置和后置条件,循环常量(loop invariant)和对象常量等。这个扩展将终结Null引用异常。

    Nemerle是一种多范型语言(面向对象和函数式),完全支持编译器宏(后来更多的是Lisp的变种,而不是C++),以及许多其他的东西。Nemerla与Visual Studio 2010里发布的F#不同,后者是纯函数式语言。

    Small Basic,一款针对儿童的免费编程语言。不像Scratch和Alice,这款工具属于“无编码”环境,本质上讲是一个简略版本的BASIC语言。

    Axum语言曾经叫做Maestro,它的目标是提供一个.NET环境下的并行编程模型,支持隔离、actor和消息传递。此语言借鉴了很多Erlang语言的元素,不过拥有类似C#的语法。

    从Visual Basic到C#,我们不止看到微软编程语言的发展路径,也看到整个IT项目需求及技术的起伏发展,在51CTO.com与Windows教父 Jeffrey Richter一次关于程序语言发展的对话中,他提到编程语言最初的目的是为了让人可以控制机器,从机器语言、汇编语言直到现在的高级语言和运行在虚拟机 上具有更多面向对象和动态特性的语言,编程语言最初的目的一直没有改变,只是我们现在可以利用高级语言(比如C#)更加方便、轻松的开发我们的应用来控制 机器。他认为,未来的编程语言将会让开发人员更轻松的控制机器,高度的自动化和智能化将是未来编程语言发展的方向。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 在Oracle中,计算两个timestamp之间的时间差可以通过以下方法实现: 1. 使用时间差函数:可以使用“extract”函数获取两个时间戳之间的差值,例如: ``` SELECT EXTRACT(DAY FROM (timestamp2 - timestamp1)) AS day_diff, EXTRACT(HOUR FROM (timestamp2 - timestamp1)) AS hour_diff, EXTRACT(MINUTE FROM (timestamp2 - timestamp1)) AS minute_diff, EXTRACT(SECOND FROM (timestamp2 - timestamp1)) AS second_diff FROM my_table; ``` 这将返回两个时间戳之间的天数、小时数、分钟数和秒数之间的差值。 2. 使用日期函数:也可以使用日期函数如“NUMTODSINTERVAL”和“NUMTOYMINTERVAL”函数来计算两个时间戳之间的差值,例如: ``` SELECT NUMTODSINTERVAL(timestamp2 - timestamp1, 'SECOND') AS diff FROM my_table; ``` 这将返回两个时间戳之间的差值,以秒为单位。 注意,在Oracle中,时间戳之间的差值将被表示为INTERVAL DAY TO SECOND或INTERVAL YEAR TO MONTH数据类型。 ### 回答2: 在Oracle中计算timestamp的时间差,可以使用函数来实现。以下是一种常见的方法: 1. 首先,使用TIMESTAMP类型的两个字段相减,可以得到它们之间的时间差,单位为天。 例如,如果有两个字段ts1和ts2,可以使用以下语句获取它们之间的时间差: ```sql SELECT ts2 - ts1 FROM table_name; ``` 2. 如果想获取具体的小时、分钟或秒数的时间差,可以使用EXTRACT函数来提取相应的时间部分。 以下是使用EXTRACT函数计算小时差的示例: ```sql SELECT EXTRACT(HOUR FROM (ts2 - ts1)) FROM table_name; ``` 3. 另外,如果需要获得更加精确的时间差,可以使用Oracle提供的INTERVAL数据类型。可以直接使用INTERVAL关键字来计算两个时间之间的时间差。 以下是计算两个timestamp类型字段之间时间差,并以月为单位显示的示例: ```sql SELECT ts2 - ts1 MONTH FROM table_name; ``` 通过使用上述方法之一,就可以在Oracle中计算timestamp的时间差。注意,在计算时间差时,要确保timestamp字段的有效性和正确格式。 ### 回答3: 在Oracle中,我们可以使用两个方法来计算timestamp的时间差。 第一种方法是使用TIMESTAMPDIFF函数。这个函数可以计算两个timestamp之间的差异,并返回以设定的时间单位表示的差异值。例如,我们可以使用以下语句计算两个timestamp之间的差异: SELECT TIMESTAMPDIFF(SECOND, t1, t2) AS 时间差 FROM 表名; 这将返回t1和t2之间的时间差,以秒为单位。 另一种方法是使用EXTRACT函数。这个函数可以从timestamp中提取日期或时间部分,并进行计算。我们可以使用以下语句来计算两个timestamp之间的差异: SELECT EXTRACT(DAY FROM (t2 - t1)) AS 天差, EXTRACT(HOUR FROM (t2 - t1)) AS 小时差, EXTRACT(MINUTE FROM (t2 - t1)) AS 分钟差, EXTRACT(SECOND FROM (t2 - t1)) AS 秒差 FROM 表名; 这将返回两个timestamp之间的天、小时、分钟和秒的差异。 无论是使用TIMESTAMPDIFF函数还是EXTRACT函数,我们都可以根据需要选择不同的时间单位来计算时间差。这些函数都可以有效地计算timestamp之间的时间差,以便我们可以在Oracle中进行时间相关的计算和操作。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值