হাম ...
দেখে মনে হচ্ছে এই আলোচনায় আমি কিছুটা দেরি করেছি - তবে আমি এখন এটি আবিষ্কার করেছি। এবং এত ইনপুট জন্য আমি আপনারা সবাইকে কৃতজ্ঞ।
আমি জি-ওয়ান-র লেখক, এটি স্পষ্ট করে দেয় যে আমি বিষয়টি নিয়ে গুরুত্ব সহকারে কাজ করেছি: জি-ওয়ান অন্যান্য সমস্ত ওয়েব সার্ভার (কোনও প্রসেসিং নেই) এবং অন্যান্য সমস্ত ওয়েব অ্যাপ্লিকেশন সার্ভারের (আপনি যে কোনও প্রক্রিয়া কল্পনা করতে পারেন) এর চেয়ে উভয়ই দ্রুত ।
হ্যাঁ, এএনএসআই সি আরও শক্তিশালী সিপিইউ সহ আরও স্ট্যাটিক বিষয়বস্তু প্রক্রিয়াকরণও সম্ভব করে তুলেছে (এএনএসআই সি কেবল গতিশীল বিষয়বস্তুগুলি উড়ানোর বিষয়ে নয়)।
যাইহোক, জি-ডাব্লু সি স্ক্রিপ্ট ব্যবহার করে (কোনও সি সংকলক এবং লিঙ্কারের প্রয়োজন নেই) তাই সংকলন / লিঙ্কিং চক্র / বিলম্বের অস্তিত্ব নেই।
জি-ডাব্লিউএন ও জাভা এবং পিএইচপি এর সাথে তুলনা করার প্রক্রিয়ায়, আমি সমস্ত 4 টি ভাষায় অনুরূপ অ্যাপ্লিকেশন লিখেছি : http://gwan.ch/source/
এবং, আমার হতাশার জন্য, আধুনিক স্ক্রিপ্টিং ভাষাগুলি ব্যবহার করা সহজ ছিল না ।
কাজ যা বিশেষত হতাশাজনক এক অংশ হয় নিদারুণভাবে অনুসন্ধান 'জাদু' API কল যে কি আপনি কি করতে চান কি করতে হবে না।
এতে কীভাবে 'সুন্দর হাজার হাজার' করবেন তা চিন্তা করুন:
সি শার্প
String.Format("{0:n}"...
জাভা
new DecimalFormat("0.00"); ...
পিএইচপি
number_format($amount, 2); ...
এএনএসআই সি
sprintf("%'.2f", amount);
"..." এর অর্থ হল কিছু প্রাক-কনফিগারেশন, বা পোস্ট প্রসেসিং প্রয়োজনীয়। এএনএসআই সি স্পষ্টভাবে ব্যবহার করা এবং মনে রাখা সহজ।
যখন পিএইচপি-তে 5900 এরও বেশি এপিআই কল রয়েছে (সি # এবং জাভা খুব বেশি দূরে নয়), সঠিক এপিআই কলটি খুঁজে পাওয়া নিজের পক্ষে একটি চ্যালেঞ্জ। এটি খুঁজে পেতে সময় নষ্ট করা (এবং তারপরে নেটিভ এপিআই কলটি কতটা খারাপভাবে প্রয়োগ করা হয়েছে তা অনুসন্ধান করার জন্য), পরবর্তী সময় যখন আপনার প্রয়োজন হবে তখন এটি হর্ট করে শেখার সময়, আপনার আবেদনটি সমাধানের জন্য প্রয়োজনীয় সময় থেকে এই সমস্ত সময় আপনাকে বঞ্চিত করছে সমস্যা।
আমি (উপরে) পড়েছি যে পিএইচপি এএনএসআই সি এর চেয়ে আরও সংক্ষিপ্ত? "//:: this is a comment ::"
তার চেয়ে কেন ব্যবহার করবেন "// this is a comment"
? এত নির্বোধ জটিল 'সুন্দর হাজার' সিনট্যাক্স কেন?
অন্যান্য সাধারণ যুক্তিটি হ'ল জাভা এবং এর মতো ওয়েব অ্যাপ্লিকেশনগুলির জন্য ডেডিকেটেড কল সরবরাহ করা হয়।
আমি জাভাতে এইচটিএমএল এড়াতে কোনও কিছুই খুঁজে পাচ্ছিলাম না তাই আমি আমার সংস্করণটি এটি লিখেছিলাম:
// 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();
}
আপনি কি সত্যিই বিশ্বাস করেন যে এএনএসআই সিতে একই কোডটি আরও জটিল হবে? না, এটি উভয়ই অত্যন্ত সহজ এবং দ্রুত হবে।
জাভা (C থেকে উদ্ভূত) করা হয় প্রয়োজন সঙ্গে একটি + 'লিঙ্কটি বহু-লাইন স্ট্রিং প্রোগ্রামারদের
সি # (C থেকে উদ্ভূত) করা হয় প্রয়োজন একটি + সাথে লিঙ্ক বহু-লাইন স্ট্রিং প্রোগ্রামারদের
পিএইচপি (গ থেকে প্রাপ্ত) করা হয় প্রয়োজন প্রোগ্রামারদের এক 'এর সাথে বহু-লাইন স্ট্রিংগুলি যুক্ত করুন।
এএনএসআই সি এর এখন সম্পূর্ণ বোকা (অপ্রচলিত) প্রয়োজনীয়তা নেই।
সুতরাং, আধুনিক ভাষাগুলির দ্বারা দাবি করা এতটা সুস্পষ্ট অগ্রগতি কি ছিল? আমি এখনও এটি খুঁজছি
বিনীত,
পিয়ের।