小编Osc*_*Ryz的帖子

为什么Java在这里比C运行得更快?

灵感来自这个问题,

现在仅对具有> 10k rep的用户可见

我想出了以下代码:

$cat loop.c 
int main( int argc, char ** argv ) 
{
    int i = 0;
    while( i++ < 2147483647 );
}

$cc -o loop loop.c  

$ time ./loop
real 0m11.161s
user 0m10.393s
sys 0m0.012s


$cat Loop.java 
class Loop {
    public static void main( String [] args ) { 
        int i = 0;
        while( i++ < 2147483647 );
    }
}

$javac Loop.java 

$time java  Loop  
real 0m4.578s
user 0m3.980s
sys 0m0.048s
Run Code Online (Sandbox Code Playgroud)

为什么Java版本的运行速度比C版快3倍?我在这里缺少什么?

这是在Ubuntu 9.04上运行的: …

c java performance

8
推荐指数
5
解决办法
1813
查看次数

为什么编程语言不允许标识符中的空格?

这似乎是一个愚蠢的问题,但我仍然不知道答案.

为什么编程语言不允许名称中的空格(例如方法名称)?

我理解它是为了促进(允许)解析,并且在某些时候,如果允许空格则不可能解析任何东西.

如今我们如此习惯于规范不是看空间.

例如:

 object.saveData( data );
 object.save_data( data )
 object.SaveData( data );
 [object saveData:data];
Run Code Online (Sandbox Code Playgroud)

等等

可以写成:

 object.save data( data )  // looks ugly, but that's the "nature" way.
Run Code Online (Sandbox Code Playgroud)

如果只是用于分析,我猜的标识可能是之间.(当然,程序语言将无法使用它,因为没有"" 但OO呢..

我不知道如果解析是唯一的原因,如果是,这是多么重要的(我认为这将是,这将是不可能做到这一点,否则,除非所有的编程语言的设计者只是......忘了选项)

编辑

我对标识符一般都很好(因为fortran示例)是个坏主意.缩小到OO语言,特别是方法,我没有看到(我不是说没有)这是为什么它应该是这样的原因.毕竟可以使用.和第一个(.

忘记saveData方法,考虑这个:

key.ToString().StartsWith("TextBox")
Run Code Online (Sandbox Code Playgroud)

如:

key.to string().starts with("textbox");
Run Code Online (Sandbox Code Playgroud)

language-agnostic language-design

7
推荐指数
5
解决办法
1773
查看次数

网站在Flash中完全编写(或显示).这不是个好主意吗?

从这条推文:http://twitter.com/azaaza/status/6508524118 我到达一个完全用Flash制作的网站(至少是前端).

alt text http://img704.imageshack.us/img704/3116/screenshotvz.png

它看起来很棒,它本来可以用HTML + Ajax编写,但我想(因为我不太了解我自己)他们的网站所有者感觉更舒服Flash并认为它会更容易(再一次,我猜这个当您有数千个飞行时间使用闪光灯时会发生)

从状态栏判断,似乎大多数图像和文本都是动态下载的(否则flash文件太重了)

问题(S):

什么类型的webapps应该考虑在flash中的所有前端?

它会更容易吗?是/否,只有你吮吸HTML + Ajax但你擅长Flash?

这适合每个人吗?

什么时候不应该使用?

我想这是一个额外的好处是你没有IE + FF + Opera + Chrome + Safari兼容性问题

这会是webapps前端的下一个编程模型吗?

flash frontend

7
推荐指数
5
解决办法
787
查看次数

将JavaScript添加到Tapestry应用程序的方法是什么?

我从使用Tapestry构建的现有webapp开始.

我无法弄清楚我需要的Javascript放在哪里.

基本上这个应用程序有一个页面将数据捕获到文本区域,我想包含一个javascript库来处理该文本区域.

将JavaScript添加到Tapestry应用程序的方法是什么?任何样本或链接将非常感激.

洲!:)

javascript java tapestry web-applications

7
推荐指数
1
解决办法
2381
查看次数

Ruby Regex:拒绝整个单词

我知道在Regex中,你可以拒绝符号列表,例如[^abc].在我输入的中间看到一个完整的单词时,我想拒绝.

更确切地说,我想拒绝"打印<除了"所有">"以外的任何东西.几个例子:

print all - match
frokenfooster - no match
print all nomnom - no match
print bollocks - no match
print allpies - no match
Run Code Online (Sandbox Code Playgroud)

ruby regex

7
推荐指数
1
解决办法
4231
查看次数

使用Scala'对象'继承

我有这个Java代码:

class Super {
    public static void foo() { bar(); }
    public static void bar() { out.println("BAR");}

    public static void main(String[] args) {
        foo();
    }
}
class Sub extends Super {
    public static void bar() { out.println("bar"); }
}
Run Code Online (Sandbox Code Playgroud)

我想看看它在Scala中做了什么,但似乎无法找到如何编写等效的.这就是我所拥有的:

object Super  {
  def foo() { bar() }
  def bar() { println("BAR")}
  def main( args : Array[String]) {
    foo()
  }
}
object Sub extends Super {
  override def bar() { println("bar")}
}
Run Code Online (Sandbox Code Playgroud)

但是没有编译.是因为对象不能继承?

java scala object

7
推荐指数
1
解决办法
6779
查看次数

code.google.com中使用的内联编辑和格式如何工作?

最近,code.google.com添加了编辑文件的功能,语法突出显示了它!

像这样

根据我的理解,他们在iframe添加了textarea,其中textarea是您在内容中输入的内容,iframe显示格式.textarea向上移动(如-10000像素或其他东西),因此它是不可见的.

我没有得到的是他们如何设法使iframe内容像textarea一样.例如,如果您复制并粘贴一堆代码,则会立即对其进行格式化.

这很有趣.任何人都可以解释一下这是如何工作的?

javascript google-code

7
推荐指数
1
解决办法
1839
查看次数

语法错误:意外的分号或换行符,期待}

我有这个示例代码,我正在定义一个数组,但它不编译:

$ cat a.go
package f
func t() []int  {
    arr := [] int {
        1,
        2
    }
    return arr
}

oreyes@OREYES-WIN7 ~/code/go
$ go build a.go
# command-line-arguments
.\a.go:5: syntax error: unexpected semicolon or newline, expecting }
.\a.go:7: non-declaration statement outside function body
.\a.go:8: syntax error: unexpected }
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除换行符,它会起作用:

$ cat a.go
package f
func t() []int  {
    arr := [] int {
        1,
        2 }
    return arr
}

oreyes@OREYES-WIN7 ~/code/go
$ go build a.go
Run Code Online (Sandbox Code Playgroud)

怎么会?

arrays go

7
推荐指数
2
解决办法
2万
查看次数

如何在窗口中的git-bash中执行命令,这些窗口位于带有空格的文件夹中,即"Program Files"?

当我使用git bash时,我不时会调用一个命令$PATH(我实际上是在我身上%PATH%)但是如果命令位于一个文件夹中有空格的地方,它就无法运行.

例如,如果程序打开C:\Program Files\whatever\aCmd.exe 并且我aCmd在bash 上键入,则表示"程序"不是有效的程序等.

我所做的是将程序重新安装在没有空格的文件夹中,但最近我的同事开始离开git-gui并使用git-bash并且反复出现的问题是"我如何执行aCmd"当我告诉他们重新安装它们就像¬¬

问:如何在git-bash中执行位于带空格的文件夹中的命令?

windows cmd git-bash

7
推荐指数
1
解决办法
2万
查看次数

如何在依赖属性中获取/设置什么都不做?

我已经创建了一个这样的依赖属性:

public partial class MyControl: UserControl
{
   //...

   public static DependencyProperty XyzProperty = DependencyProperty.Register("Xyz",typeof (string),typeof (MyControl),new PropertyMetadata(default(string)));

   public string Xyz
   {
       get { return (string) GetValue(XyzProperty ); }
       set { SetValue(XyzProperty , value); }            
   }

   //...
}
Run Code Online (Sandbox Code Playgroud)

然后将它绑定到我的wpf窗口,一切正常.

当我尝试向setter 添加一些逻辑时,我注意到它没有被调用.我修改了get;设置为一个点现在它们看起来像这样:

 get{return null;}
 set{}
Run Code Online (Sandbox Code Playgroud)

它仍然有效!怎么会?GetValue/SetValue调用的用途是什么?

c# wpf dependency-properties

7
推荐指数
1
解决办法
1269
查看次数