哼...
看来我在讨论中有点晚了-但是我现在才发现它。我非常感谢大家的投入。
我是G-WAN的作者,这清楚表明我已经认真从事此工作:G-WAN的速度比所有其他Web服务器(无处理)和所有其他Web应用程序服务器(您可以想象的任何处理)都快。
是的,ANSI C还可以使用功能更弱的CPU处理更多的静态内容(ANSI C不仅涉及动态内容的飞行)。
顺便说一句,G-WAN使用C脚本(不需要C编译器和链接器),因此不存在编译/链接周期/延迟。
在将G-WAN与.NET Java和PHP进行比较的过程中,我用所有4种语言编写了类似的应用程序:http : //gwan.ch/source/
而且,令我沮丧的是,现代脚本语言并不容易使用。
一项工作特别令人沮丧的是,拼命搜索将完成您想做的“神奇” API调用。
考虑一下如何做“成千上万”:
C#
String.Format("{0:n}"...
爪哇
new DecimalFormat("0.00"); ...
的PHP
number_format($amount, 2); ...
ANSI C
sprintf("%'.2f", amount);
“ ...”表示必须进行一些预配置或后处理。ANSI C显然更易于使用和记住。
当PHP具有超过5900个API调用(不远处的C#和Java)时,找到合适的 API调用本身就是一个挑战。浪费时间查找(然后查找实现本机 API调用的严重程度),在下次需要它时需要学习它的时间,所有这些时间都使您失去了解决应用程序所需的时间问题。
我已经读过(上面),PHP比ANSI C更简洁?为什么然后使用"//:: this is a comment ::"
而不是"// this is a comment"
?为什么会有如此愚蠢的“上千个”语法?
另一个通常的论点是Java等提供了对Web应用程序的专用调用。
我找不到任何可以用Java逃脱HTML的东西,所以我写了它的版本:
// all litteral strings provided by a client must be escaped this way
// if you inject them into an HTML page
public static String escape_html(String Name) {
int len = Name.length();
StringBuffer sb = new StringBuffer(len);
boolean lastWasBlankChar = false;
int c;
for(int i=0; i<len; i++) {
c = Name.charAt(i);
if(c == ' ') sb.append(" "); else
if(c == '"') sb.append("""); else
if(c == '&') sb.append("&"); else
if(c == '<') sb.append("<"); else
if(c == '>') sb.append(">"); else
if(c == '\n') sb.append("<br/>"); else {
c = c&0xffff; // unicode
if(c < 32 || c > 127) {
sb.append("&#");
sb.append(new Integer(c).toString());
sb.append(';');
} else
sb.append(c);
}
}
return sb.toString();
//szName = sb.toString();
}
您是否真的相信ANSI C中的相同代码会更复杂?不,这将既简单又快捷。
Java(源自C)要求程序员将多行字符串与“ +”链接
。C#(源自C)要求程序员将多行字符串与“ +”链接
。PHP(源自C)要求程序员用'。'链接多行字符串。
ANSI C现在没有这个完全愚蠢(过时)的要求。
那么,现代语言是否宣称了如此明显的进步?我还在寻找。
真诚的
皮埃尔。