흠 ...
이 토론에서 조금 늦어 보이지만 방금 발견했습니다. 많은 의견을 보내 주신 모든 분들께 감사드립니다.
저는 G-WAN의 저자입니다. G-WAN은 다른 모든 웹 서버 (처리 없음) 와 다른 모든 웹 애플리케이션 서버 (상상할 수있는 모든 처리)보다 빠릅니다 .
예, ANSI C는 또한 덜 강력한 CPU로 더 많은 정적 콘텐츠를 처리 할 수있게했습니다 (ANSI C는 동적 콘텐츠를 날리는 것만이 아닙니다).
그런데 G-WAN은 C 스크립트 (C 컴파일러 및 링커 필요 없음)를 사용하므로 컴파일 / 링크주기 / 지연이 존재하지 않습니다.
G-WAN을 .NET Java 및 PHP와 비교하는 과정에서 유사한 응용 프로그램을 4 개 언어로 모두 작성했습니다. http://gwan.ch/source/
그리고 실망스럽게도 현대 스크립팅 언어는 사용하기가 쉽지 않았습니다 .
특히 실망스러운 작업 중 하나는 원하는 작업을 수행 할 '마법의'API 호출 을 필사적으로 검색 하는 것입니다.
다음에서 '꽤 수천'을 수행하는 방법에 대해 생각해보십시오.
씨#
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 등이 웹 응용 프로그램에 대한 전용 호출을 제공한다는 것입니다.
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의 동일한 코드가 더 복잡 할 것이라고 정말로 믿습니까? 아니요, 훨씬 더 간단 하고 빠릅니다.
(C 유래의) 자바되는 요구 는 '+'로 링크 멀티 라인 스트링 프로그래머
된다 (C로부터 유도 된) C 번호 요구 는 '+'로 링크 멀티 라인 스트링 프로그래머
(C로부터 유래) PHP 것은 필요 프로그래머 여러 줄 문자열을 '.'로 연결
ANSI C에는 이제 완전히 어리석은 (구식) 요구 사항이 없습니다.
그렇다면 현대 언어가 주장하는 명백한 진전이 있었습니까? 나는 아직도 그것을 찾고있다.
진정으로,
피에르.