আপনি কেন আপনার ওয়েব অ্যাপ্লিকেশনগুলির জন্য সি ব্যবহার করবেন না?


101

আমি আজ সকালে জি-ডাব্লু জুড়ে আসার সময় কয়েকটি ভিন্ন ভিন্ন ওয়েব সার্ভারগুলিতে নজর রেখেছিলাম । আমি যেমন বুঝতে পেরেছি, এটি সি তে লিখিত একটি ওয়েব সার্ভার এবং আপনার সি / সি / তে আপনার ওয়েবসাইট / ওয়েব অ্যাপস লিখে এটি ব্যবহার করতে হবে জি-ডাব্লু-ওয়ান সাইটের পরামর্শ অনুসারে একটি স্পষ্ট সুবিধা হ'ল গতি।

যাইহোক, ফোরামে, জি-ডাব্লুএইচএএন এর নির্মাতা কেন ওয়েব ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য সি ব্যবহার করবেন না তা জিজ্ঞাসা করলেন এবং এটি কঠিন হওয়া ব্যতীত আমি একটি কারণও ভাবতে পারি না (যাইহোক, আমার ক্ষেত্রে সি তে আসে আমি নবাগত)। এই ভাষাগুলিতে বিকাশ করা সহজ হওয়ার বাইরে আমরা সকলেই পিএইচপি, পাইথন, রুবি ইত্যাদি ব্যবহার করার আরও কারণ থাকতে হবে। আমি এটি একটি ভাল কারণ হিসাবে দেখছি না।

সুতরাং আমি এটি আপনার কাছে রেখেছি: আপনি আপনার ওয়েব অ্যাপ্লিকেশনগুলির জন্য সি ব্যবহার করবেন না কেন?


34
কেন আমরা চুলা ব্যবহার করি এবং আমাদের খাবার সরাসরি আগুন দিয়ে রান্না করি না? হাঁটতে বা বাইক ব্যবহার করা আরও বেশি স্বাস্থ্যকর হলেও আমরা গাড়ি কেন ব্যবহার করব? কেন ... আমি যেতে পারলাম ...
ফেলিক্স ক্লিং

16
@ ফেলিক্স - যেমনটি আমি বলেছি, এটি কঠিন হওয়া ছাড়াও অন্য কারণগুলির নাম দিন। যা বোঝায় যে আমি সচেতন যে অন্যান্য ভাষাগুলি বিমূর্ত অসুবিধায় বিদ্যমান।
আব্বাস

15
সত্যই সি-ডিফিল্ট হিসাবে বিবেচনা করা হয়নি।
ডিভে

10
@ ডেভিড লাইভলি আপনি যদি 'সি'টিকে উদ্দেশ্যমূলকভাবে সমাধান করতে ব্যর্থ হন তবে তা সত্যিই মজাদার। ভাল হয়েছে :)
পাংক্রকবুদ্ধিহলি

11
@ মিঃমিস্টারম্যান কাউকে সেই জায়গাটি দেখতে কেবল চার মাস সময় নিয়েছিলেন। =)
থ্রিডিভে

উত্তর:


79

এটি একটি সি প্রোগ্রাম সঠিক ও সুরক্ষিত হতে অনেক বড় যত্ন নেয়। সেই যত্নের অর্থ হ'ল আপনার প্রোগ্রামগুলি লিখতে সত্যই ভাল লোক থাকা দরকার। তার মানে আপনি বেশি দাম দিন।

এছাড়াও, সি নেট হিসাবে কার্যকারিতার বিশাল একক মানক গ্রন্থাগার থেকে অঙ্কন করার সুবিধা নেই (এবং অন্যান্য বড় ওয়েব কেন্দ্রিক প্ল্যাটফর্ম) রয়েছে। সুতরাং আপনাকে হয় উপাদানগুলি কিনতে হবে, বা ইন্টারপ সম্পাদন করতে হবে, বা আপনার নিজস্ব কার্যকারিতা রোল করতে হবে যা আরও একটি "বিনামূল্যে" আসে, আমরা পিএইচপি বা সি # বা রুবি বা যেকোনো কিছু "ওয়েবকেন্দ্রিক" ভাষা বলতে পারি। তার মানে আপনি বেশি দাম দিন।

এগুলি সমস্তকে যুক্ত করুন যে একক থ্রেডযুক্ত গণনা গতি ওয়েবে তেমন গুরুত্বপূর্ণ নয়। আপনার যদি আরও স্কেলেবিলিটি প্রয়োজন হয় তবে বেশিরভাগ সংস্থাগুলি অর্থনৈতিকভাবে সমস্যার দিকে আরও বেশি ছুঁড়ে ফেলতে পারে এবং ভাল হতে পারে। এটি অবশ্যই সবার জন্য সত্য নয়। আমি কল্পনা করতে পারি যে গুগলের ইঞ্জিনের মূলটি কেবল গতির জন্য নয়, বিদ্যুতের ব্যয়ে সত্যিকারের অর্থ সঞ্চয় করার জন্য সি বা একই জাতীয় ভাষায় লেখা হয়েছে।


48
বাহ, লাইব্রেরির কারণে সি এর বিরুদ্ধে .NET এর পক্ষে যুক্তি ? অবশ্যই, stdlib ছোট, তবে সিতে আমাদের কয়েক দশক ধরে গ্রন্থাগার রয়েছে (অনেকগুলি মুক্ত-উত্স)।
কেন

3
আমি মনে করি না যে তিনি .NET- র পক্ষে বিশেষভাবে বিতর্ক করছেন, আমার মনে হয় তিনি কেবলমাত্র এখানে ভাষাগুলি রয়েছে যা প্রচুর সমন্বিত গ্রন্থাগার রয়েছে। আমি নিশ্চিত যে সি এর বোঝা আছে কিন্তু সত্য কথা বলতে আমি কোনও ধরণের রেপো জুড়ে আসিনি যা এগুলিকে এক জায়গায় বা তাদের প্যাকেজগুলিতে সংগ্রহ করে।
Abs

16
@ কেন স্ট্রিং ম্যানিপুলেশন সত্যিই একটি সাধারণ ওয়েব-অ্যাপ্লিকেশন কাজ। সি লাইব্রেরিগুলি এর জন্য বিদ্যমান, তবে সেগুলি [একটি উচ্চ স্তরের ভাষা চয়ন করুন] এর লাইব্রেরির মতো প্রায় অসংখ্য বা ব্যবহারযোগ্য নয়।
অ্যান্ড্রেস জান ট্যাক

23
@ কেন: যখন আপনার একক, ভাল সমর্থিত কার্যক্ষমতার তুলনায় ছোট লাইব্রেরিগুলির আধিক্য রয়েছে যা বৈশিষ্ট্য সেট, লাইসেন্সিং এবং সমর্থনগুলিতে ব্যাপকভাবে পৃথক রয়েছে তখন একটি মহাবিশ্ব রয়েছে।
ডেভ মার্কেল

49

হাম ...

দেখে মনে হচ্ছে এই আলোচনায় আমি কিছুটা দেরি করেছি - তবে আমি এখন এটি আবিষ্কার করেছি। এবং এত ইনপুট জন্য আমি আপনারা সবাইকে কৃতজ্ঞ।

আমি জি-ওয়ান-র লেখক, এটি স্পষ্ট করে দেয় যে আমি বিষয়টি নিয়ে গুরুত্ব সহকারে কাজ করেছি: জি-ওয়ান অন্যান্য সমস্ত ওয়েব সার্ভার (কোনও প্রসেসিং নেই) এবং অন্যান্য সমস্ত ওয়েব অ্যাপ্লিকেশন সার্ভারের (আপনি যে কোনও প্রক্রিয়া কল্পনা করতে পারেন) এর চেয়ে উভয়ই দ্রুত ।

হ্যাঁ, এএনএসআই সি আরও শক্তিশালী সিপিইউ সহ আরও স্ট্যাটিক বিষয়বস্তু প্রক্রিয়াকরণও সম্ভব করে তুলেছে (এএনএসআই সি কেবল গতিশীল বিষয়বস্তুগুলি উড়ানোর বিষয়ে নয়)।

যাইহোক, জি-ডাব্লু সি স্ক্রিপ্ট ব্যবহার করে (কোনও সি সংকলক এবং লিঙ্কারের প্রয়োজন নেই) তাই সংকলন / লিঙ্কিং চক্র / বিলম্বের অস্তিত্ব নেই।

জি-ডাব্লিউএন ও জাভা এবং পিএইচপি এর সাথে তুলনা করার প্রক্রিয়ায়, আমি সমস্ত 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("&#32;");  else
          if(c == '"')  sb.append("&quot;"); else
          if(c == '&')  sb.append("&amp;");  else
          if(c == '<')  sb.append("&lt;");   else
          if(c == '>')  sb.append("&gt;");   else
          if(c == '\n') sb.append("&lt;br/&gt;"); 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 থেকে উদ্ভূত) করা হয় প্রয়োজন একটি + সাথে লিঙ্ক বহু-লাইন স্ট্রিং প্রোগ্রামারদের
পিএইচপি (গ থেকে প্রাপ্ত) করা হয় প্রয়োজন প্রোগ্রামারদের এক 'এর সাথে বহু-লাইন স্ট্রিংগুলি যুক্ত করুন।

এএনএসআই সি এর এখন সম্পূর্ণ বোকা (অপ্রচলিত) প্রয়োজনীয়তা নেই।

সুতরাং, আধুনিক ভাষাগুলির দ্বারা দাবি করা এতটা সুস্পষ্ট অগ্রগতি কি ছিল? আমি এখনও এটি খুঁজছি

বিনীত,

পিয়ের।


10
আমি বেশ কয়েক হাজার অতিরিক্ত প্রক্রিয়াকরণ সম্পর্কে আপনার মন্তব্যটি বেশ বুঝতে পারি না; সি # এর জন্য আপনি পিছু ছাড়লেন , amount), পিএইচপি ঠিক তেমন ঠিক আছে, এবং আপনার এএনএসআই সি উদাহরণের জন্য আরও দুটি যুক্তি (বাফার এবং বাফার দৈর্ঘ্য) প্রয়োজন। জাভার উল্লেখযোগ্য ব্যতিক্রম সহ, আপনার উদাহরণটি বিপরীত বিষয়টিকে প্রমাণিত করে বলে মনে হচ্ছে। অতিরিক্তভাবে, আমি এর //:: comment ::আগে সিনট্যাক্সটি আগে কখনও দেখিনি ; পিএইচপি অবশ্যই এটি প্রয়োজন হয় না।
icttoofay

1
আপনার সাথে সত্য কথা বলতে, অন্যান্য সমস্ত বিকল্প এএনএসআই সি এর চেয়ে অনেক সুন্দর দেখায়, যা "স্পষ্টভাবে ব্যবহার করা এবং মনে রাখা সহজ" [sic]।
জারোদ মোসেন

জি-ডাব্লু এনজিআইএনএক্সের সাথে কীভাবে তুলনা করে যদি উভয় সিতে লেখা থাকে?
m4l490n

47

একই কারণে আমরা বেশিরভাগ প্রোগ্রামিংয়ের জন্য সি ব্যবহার করি না। সুবিধাগুলি (যা বেশিরভাগই পারফরম্যান্স হয়) ব্যয়কে ছাড়িয়ে যায় না (বিকাশের সময়, স্বয়ংক্রিয় মেমরি পরিচালনার অভাব, বাফার ওভারফ্লোগুলি থেকে স্বয়ংক্রিয় সুরক্ষার অভাব, সম্পাদনা এবং পরীক্ষার স্তরগুলির মধ্যে একটি সংকলন পর্যায়ে থাকা ইত্যাদি)।


10
একই জিনিস টাইপ করা ছিল এবং আপনি আমাকে এটি মারধর। আমি কেবল এটি যুক্ত করতে চাই যে ওয়েবসাইটগুলি দূষিত আচরণ থেকে রক্ষা করা চ্যালেঞ্জ হিসাবে যথেষ্ট, আমাদের মেমরি পরিচালনা, পয়েন্টার ইত্যাদির অপব্যবহার থেকে সম্ভাব্য আক্রমণ ভেক্টর যুক্ত করার দরকার নেই
রব অ্যালেন

@ জর্দান: আমি অনুভব করি যে আপনি সি তে কোনও ওয়েব প্রোগ্রামিং করেন নি। আপনি যা বলছেন তা ওয়েব প্রোগ্রামিং কীভাবে হয় তার মডেলের সাথে খাপ খায় না।

2
নিশ্চিত হয়েই এটি ধরে নিচ্ছেন যে ইউআরএল বা ফর্ম ইনপুট দ্বারা আপনার ওয়েবসাইটের ব্যবহারকারীর মিথস্ক্রিয়াটির কোনও স্থান রয়েছে। সেই ডেটা সার্ভারের কাছে হস্তান্তরিত হয়ে গেলে, সঠিকভাবে মেমরি বরাদ্দ করার বিষয়টি নিশ্চিত করার জন্য এটি প্রোগ্রামারটির হাতে। জি-ওয়ান এর ক্যোয়ারী প্যারামিটারগুলির আশেপাশে কিছু বিমূর্ততা রয়েছে তবে এটি আপনাকে সম্পূর্ণরূপে সংরক্ষণ করবে না। আমি বলছি না যে সঠিকভাবে সম্পন্ন হয়েছে, সি ওয়েব প্রোগ্রামিং নিরাপদ এবং দ্রুত হতে পারে না, তবে কঠোর ত্রুটিগুলির পক্ষে এটি আরও সংবেদনশীল।
জর্দান

3
দীর্ঘশ্বাস @ কিনোপিকো: আপনি যদি জানেন না যে বাফার ওভারফ্লো কী, আপনি সি তে কোডিং করবেন না n 'নফ বলেছিল। আরও তথ্যের জন্য: Safecoding.cert.org/confluence/display/seccode/…
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

29

বেশিরভাগ নেটওয়ার্ক অ্যাপ্লিকেশন, বিশেষত ওয়েব সার্ভারগুলি "I / O আবদ্ধ" - অর্থাত নেটওয়ার্ক এটি গ্রহণ করতে পারে তার চেয়ে অনেক দ্রুত ডেটা পাম্প করতে সক্ষম। অতএব এমন কিছু যা অত্যন্ত সিপিইউ দক্ষ, এটি একটি বিশাল জয় নয়, অন্যদিকে স্কেলযোগ্য এবং রক্ষণাবেক্ষণযোগ্য। সুতরাং সি এর ত্রুটিগুলি গ্রহণ করার কোনও কারণ নেই এবং জাভা,। নেট, পাইথন, পার্ল বা অন্যান্য ভাষার মতো পরিচালিত পরিবেশের সুবিধাগুলি হারাতে হবে।


1
সি যদিও টন দ্রুত।

14
আমি যদি জাভা বা পার্ল (এবং আমি পারি) দিয়ে নেটওয়ার্ক পাইপটি পূরণ করতে পারি তবে সি দ্রুততর হয় তা অপ্রাসঙ্গিক।
পল টমবলিন

1
কিনোপিকো, আপনি কি বলছেন যে আপনার কাছে ইবে (জাভা), স্ট্যাক ওভারফ্লো (সি # /। নেট), গুগল বা উচ্চ স্তরের ভাষায় লিখিত এক মিলিয়ন উচ্চ ব্যবহৃত ওয়েব সাইটগুলির তুলনায় একটি বড় পাইপ, আরও পৃষ্ঠা হিট এবং আরও বেশি ডেটা রয়েছে ?
পল টমলিন

1
@ পল টম্বলিন: ওয়েব অ্যাপ্লিকেশনটির উদ্দেশ্য নেটওয়ার্ক পাইপ পূরণ করা নয়, তবে কিছু প্রক্রিয়াজাতকরণ করা। আপনার যদি কেবল কিছু পাঠ্য এবং চিত্র পরিবেশন করতে হয় তবে আপনার স্ট্যাটিক এইচটিএমএল পৃষ্ঠাগুলি ব্যবহার করা উচিত যা উন্নত কর্মক্ষমতা দেয়। বেশিরভাগ ক্ষেত্রে, স্থির পৃষ্ঠাগুলি ক্যাশে থেকে পরিবেশন করা হয়, তাই আপনার সার্ভারকে কিছুই করার দরকার নেই। ওটিওএইচ, যখন প্রসেসিংয়ের প্রয়োজন হয়, এটি ভালভাবে বাধা হতে পারে (যদিও আরও সাধারণভাবে ডিস্কটি বাধা হয়)।
পাওলিএল

4
আপনার মনে রাখতে হবে যে ওয়েব অ্যাপ্লিকেশনগুলি হ'ল "সার্ভার-স্ট্যাক" এর একটি ভগ্নাংশ যা ব্যবহারকারীর অনুরোধগুলি পরিচালনা করে এবং পারফরম্যান্স-সমালোচনামূলক কোনও অংশ নয়। অন্যান্য অংশ রয়েছে - ওএস কার্নেল (সাধারণত সিতে লেখা হয়), ফাইল সিস্টেম (সি), ওয়েব সার্ভার (সাধারণত সি), ভাষা দোভাষী (সি), ডাটাবেস (সাধারণত সি বা সি ++)। ওয়েব অ্যাপ্লিকেশনটি কেবলমাত্র একটি অংশ থেকে অন্য অংশে ডেটা পাস করে, এটিতে কিছু বেসিক অপারেশন প্রয়োগ করে এবং এর কার্য সম্পাদন মোটেই গুরুত্বপূর্ণ নয়।
el.pescado

15

সি স্ট্রিংগুলি পরিচালনা করার জন্য কোনও সুবিধাজনক ভাষা নয়।

সি # এর সাথে তুলনা করুন:

string foo = "foo";
string bar = "bar";
string foobar = foo + bar;

সংশ্লিষ্ট সি:

const char* foo = "foo";
const char* bar = "bar";
char* foobar = (char*)malloc(strlen(foo)+strlen(bar)+1);
strcpy(foobar, foo);
strcat(foobar, foo);
//todo: worry about when/where the foobar memory
//which was allocated by malloc will be freed

4
পিএইচপি কোনওভাবেই ইউনিকোড হ্যান্ডেল করে না, তবে এটি ওয়েব-ওরিয়েন্টেড ভাষা খুব জনপ্রিয়।
el.pescado

12
সুতরাং আমাদের সি ++ ব্যবহার করা উচিত, যেমন এটি সি হিসাবে একই পারফরম্যান্স সম্পর্কে পায়, তবে আপনার সি # উদাহরণকে কবজির মতো সংকলন করে?
tstenner

2
স্ট্রিং ম্যানিপুলেশন হিসাবে - ওয়েব অ্যাপ্লিকেশন সাধারণত কেবল আউটপুট স্ট্রিং করে, সুতরাং সি এর printfকাজটি করা উচিত।
el.pescado

5
সি রানটাইম লাইব্রেরি ফাংশনের মাধ্যমে মাল্টিবাইট এবং ইউনিকোড ঠিকঠাক পরিচালনা করে। আরআরএনপিপি ইত্যাদির মতো নিরাপদ ফাংশনগুলি ব্যবহার করা এটি বেশ সুরক্ষিত করে তোলে।
justinhj

2
অথবা আপনি asprintf (& foobar, "% s% s", foo, বার) ব্যবহার করতে পারেন;
প্যাট্রিক লরিও

11

যদি অসুবিধা এবং জটিলতা মোটেও সমস্যা না হত (হা!), তবে আমি সি তে থামতাম না আমি x86 অ্যাসেম্বলি লিখতাম। বহু বছর পরে আমি এমন কোনও ওয়েব সার্ভার ব্যবহার করেছি যা x86 ছিল না এবং এটি প্রতিদিন কম এবং কম দেখায়।

সি ব্যবহারের জন্য (সমাবেশের পরিবর্তে বা উচ্চ-স্তরের কিছু) পরামর্শ দেওয়া হয় যে সি প্রোগ্রামার দক্ষতা এবং কম্পিউটার দক্ষতার মিষ্টি জায়গা spot

আমি যে প্রোগ্রামগুলি লিখি, এটির ক্ষেত্রে এটি নয়: সি আমি যে ধরণের প্রোগ্রাম লিখতে চাই তার সাথে একটি দুর্বল মিল, এবং কেবল একটি শালীন ম্যাক্রো এসেম্বলারের উপর এর সুবিধাগুলি তাত্পর্যপূর্ণ নয়। আমি এই মুহুর্তে যে প্রোগ্রামটি লিখছি তা আমার পছন্দের এইচএলএল তেমন শক্ত নয়, তবে সমাবেশ বা সি এর মধ্যে এর জটিলতা এত বেশি হবে যে এটি কখনই শেষ হবে না। আমি স্বীকার করি যে পর্যাপ্ত সময় সহ যথেষ্ট স্মার্ট প্রোগ্রামার এটি সমাবেশ বা সি তে দ্রুত চালিত করতে পারে তবে আমি সেই প্রোগ্রামার নই।


7
  • এটি অনিরাপদ
  • এটা পড়া কঠিন
  • এটি বজায় রাখা শক্ত, একটি দৈর্ঘ্যের ক্রম বিকাশের সময় ধীর
  • আপনার বেশিরভাগ ওয়েব স্টাফ সম্ভবত I / O আবদ্ধ, তাই স্পিডআপ করা কোনও বিষয় নয়, বিশেষত যখন আপনি জাভা বা সি # এর মতো দ্রুত ভাষা ব্যবহার করেন

2
"জাভা বা সি # এর মতো দ্রুত ভাষার অর্থ কী?
রবিএস

3
@ কিনোপিকো: গতিশীল ভাষাগুলিতে কী দুর্বলতা রয়েছে? যখন কোনও নুব প্রোগ্রামার স্পষ্টভাবে বলে যে সে evalএবং পিএইচপি এর মাধ্যমে স্বেচ্ছাসেবক কোড কার্যকর করতে চায় include? দয়া করে, সি / সি ++ এ আপনি যে বিবৃতি দেন না যে আপনি স্বেচ্ছাচারিত কোড কার্যকর করতে চান, এটি ঠিক করে। evalকোনও বাগ নয়, এটি প্রোগ্রামারের অভিপ্রায়। সি / সি ++ এ, যে কোনও ত্রুটি রিমোট কোড প্রয়োগের দিকে নিয়ে যায়, গতিশীল ভাষাগুলিতে, যদি কিছু বোকা লোক গণ্ডগোল না করে তবে এই ক্ষেত্রে হবে না eval
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

1
"এবং আপনি কী করছেন তার উপর নির্ভর করে সি / সি ++ এর চেয়ে দ্রুত বা দ্রুত" সম্ভবত আপনি জাভা এবং সি # উভয়ের সাথেই একটি পরিচালিত মেমরির পরিবেশ নিয়ে কাজ করছেন যা উচ্চ ট্র্যাফিকের পরিস্থিতিতে বেশিরভাগ ক্ষেত্রে একটি অপূর্ণতা হয়ে উঠতে পারে।
রবএস

5
"এবং সি অবশ্যই কোনও গতিময় ভাষার মতো সুরক্ষার মতো দুর্বলতা নেই" এটি আমার বন্ধু সম্পূর্ণ বোকা। কেন এই মন্তব্যে 3 টি আপগেট রয়েছে?
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

2
@ কিনপিকো: আসলে, আপনি এটি কোথাও ব্যাখ্যা করতে পারবেন না। এর কোন ব্যাখ্যা নেই। যে কোনও গতিশীল ভাষার চেয়ে সিতে অনেক বড় সমস্যা রয়েছে। গতিশীল ভাষায় সবচেয়ে খারাপ যেটি ঘটতে পারে তা হ'ল "অ্যাট্রিবিউট পাওয়া যায়নি, হুপ ডি ডু"।
L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳

7

আমি জানি এই প্রশ্নের ইতিমধ্যে মৃত্যুর জবাব দেওয়া হয়েছে, তবে এখনও পর্যন্ত 2 টি বিষয় উল্লেখ করা হয়নি যা কোনও প্রোগ্রামিং দৃষ্টান্তে সাফল্যের পক্ষে অসাধারণ গুরুত্বপূর্ণ এবং বিশেষত ওয়েব বিকাশে যেখানে আপনি প্রচুর লোক পান যা অগত্যা প্রোগ্রামার নয়, কোড নিয়ে কাজ করছি।

  1. জড়িত, দরকারী সম্প্রদায়, ওরফে লোকেরা যা ইতিমধ্যে আমার সমস্যার সমাধান করেছে। গুগলের কাছে নুবিদের এমনকি নুবিদের পক্ষেও এটি খুব সহজ যে তারা পিএইচপি-তে "শিরোনাম ইতিমধ্যে প্রেরণ করা" ত্রুটিগুলি পাচ্ছে কেননা, সেই তথ্য সম্ভবত দৃশ্যে নতুন যে কাঠামো বা ভাষার জন্য উপলব্ধ নয়, বা অন্যথায় নেই সমালোচনামূলক ভর.
  2. ফ্রেমওয়ার্কস, যাতে বেশিরভাগ প্রোগ্রামাররা ব্যবসায়ের সমস্যাগুলি সমাধান করতে এবং একসাথে হ্যাকিং কোডটি না পেতে পারে।

যদি আমার কাছে একটি সমালোচনামূলক অ্যাপ্লিকেশন থাকে যার জন্য চূড়ান্ত পারফরম্যান্সের প্রয়োজন হয়, আমি সি ব্যবহার করতাম তবে এটি লিখতে এত বেশি সময় লাগত যে আমি কখনই বাজারে উঠতে পারব না। # 1 বা # 2 না হওয়া পর্যন্ত এটি ব্যবহার করা আমার পক্ষে সম্ভব নয়।


6

সি অনেকগুলি উদ্দেশ্যে বেশ নিম্ন স্তরের ভাষা: নন-ওওপি, প্রচুর ম্যানুয়াল রিসোর্স ম্যানেজমেন্ট।

ওয়েবের জন্য সি ব্যবহারের সীমিত ব্যবহার রয়েছে, উদাহরণস্বরূপ ক্লোন । এটি বেশিরভাগ স্বল্প সংস্থান এম্বেড থাকা অ্যাপ্লিকেশন ক্ষেত্রে ব্যবহৃত হয়।

তবে CppCMS এর মতো সি ++ ওয়েব ফ্রেমওয়ার্ক রয়েছে যা উচ্চ কার্যকারিতা ওয়েব অ্যাপ্লিকেশন বিকাশের জন্য ব্যবহৃত হয়।

সি ++ আপনাকে বড় অ্যাপ্লিকেশন মোতায়েন ও বিকাশের জন্য আরও ভাল বিকল্পটি দিচ্ছে যা আপনি ঠিক কীভাবে করছেন তাতে উচ্চ বিমূর্ততা এবং সূক্ষ্ম দানযুক্ত অ্যাক্সেস উপভোগ করতে দেয়।

পারফরম্যান্স এবং রিসোর্সের ব্যবহার সময়-প্রতি-বাজার এবং বিকাশের ব্যয়ের জন্য যখন সাধারণত ওয়েব ডেভলপমেন্ট জাভা, পাইথন বা পিএইচপি এর মতো ভাষার জন্য ভাল ওয়েব ফ্রেমওয়ার্ক ব্যবহার করে ততক্ষণে আপনি সেগুলি ব্যবহার করুন them এছাড়াও সাধারণত সি ++ এর জন্য কম বেতনের প্রোগ্রামার কম থাকে তবে একই বেতনের জন্য জাভা / পি * ভাষাগুলি রয়েছে।

সুতরাং এটি অগ্রাধিকারের প্রশ্ন, এছাড়াও সি ++ ওয়েব বিকাশের জন্য পিএইচপি / পাইথন / পার্ল বা জাভার জন্য কম সরঞ্জাম রয়েছে।


2
আকর্ষণীয়, আমি সিপিসিএমএস সম্পর্কে সি ++ তে লেখা একটি নিম্ন স্তরের ওয়েব কাঠামো সম্পর্কে জানতাম না। সি এবং ওয়েব ভাষার মাঝে বসে উভয় বিশ্বের সেরা হতে পারে।
Abs

এটি এখন নিম্ন স্তরের কাঠামো, এটি এমভিসি ওয়েব ফ্রেমওয়ার্ক যা খুব দ্রুত।
আরটিওম

দুঃখিত, আমি কেবল এমন কোনও বিষয়কে উল্লেখ করি যা কোনও ওয়েব ভাষা নিম্ন স্তরের হিসাবে নয়। যদিও এটি একটি এমভিসি ওয়েব কাঠামো হিসাবে আমি বুঝতে পারি।
Abs

"ওয়েব ভাষা" বলে কোনও জিনিস নেই, সম্ভবত কেবলমাত্র পিএইচপিকে ওয়েব বলা যেতে পারে জাভা, পাইথন, পার্ল, রুবি এবং সি # সহ অন্যান্য সমস্ত ভাষা হ'ল সাধারণ উদ্দেশ্যে ভাষা যা ওয়েবে ব্যবহৃত হয়।
আরটিওম

1
ঠিক আছে যদি আমরা এর মতো নির্দিষ্ট হতে চাই তবে সাধারণ উদ্দেশ্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো কোনও জিনিস নেই। এখানে কেবলমাত্র কার্যপ্রণালী, কাঠামোগত, অবজেক্ট-ওরিয়েন্টেড, কার্যকরী ... ইত্যাদি ...
Abs

5

@ জোয়েরি সেব্রেচটস

FUD ক্রিয়াকলাপ:

পিএইচপি, পাইথন এবং এ জাতীয় সমস্যাগুলিতে হার্ডওয়্যার নিক্ষেপ করে স্কেল আপ করা সহজ।

ভাল, আসলে না। তারা মোটেও উল্লম্বভাবে স্কেল করে না এবং অনুভূমিকভাবে খুব খারাপভাবে স্কেল করে না। দেখুন: http://gwan.ch/en_scalability.html যেখানে এটি ব্যাখ্যা করা হয়েছে যে খারাপ-অভিনয়কারীদের তুলনায় কতটা সমস্যা রয়েছে।

ধরুন পিএইচপি-তে একটি অ্যাপ্লিকেশন বিকাশের জন্য এটির জন্য একজন ব্যক্তির 1 বছরের প্রচেষ্টার ব্যয় হয়েছে এবং এটি সিতে এটি করতে তাদের 3 বছর ব্যয় হয় (যেহেতু সি একই জিনিস করতে আরও বেশি প্রচেষ্টা প্রয়োজন)।

আবার ভুল. যদি পিএইচপি লাইব্রেরিগুলি সিটিতে লেখা থাকে তবে তারা সি-থেকে সরাসরি ব্যবহারযোগ্য, আপনি যে 'অনন্য উত্পাদনশীলতা' দাবি করছেন তা পিএইচপি'র কাছে রয়েছে।

তার মানে সি কোডটির হ্রাসকৃত হার্ডওয়্যারকে আকর্ষণীয় হওয়ার জন্য 2 বছরের মূল্য মজুরি উপস্থাপন করতে হবে। অনুশীলনে যা (প্রায়) কখনই ঘটে না।

খাঁটি এফইউডি (উপরের উত্তরটি দেখুন)।

ফেসবুকের স্কেল এত বড় যে হার্ডওয়্যারটি যত্ন নেওয়ার জন্য যথেষ্ট বড় ব্যয়। সে কারণেই তারা হিপহপ তৈরি করেছে, যা পিএইচপি কে সি ++ এ সংহত করে। এটি উভয় বিশ্বের সেরাটি নিয়ে আসে: পিএইচপি-তে প্রোগ্রামিংয়ের সরলতা এবং সি ++ এর কাঁচা পারফরম্যান্স। ফেসবুকটি এখনও পিএইচপিতে বিকাশযুক্ত, তবে আপনি যখন এটি ব্যবহার করেন তখন এটি সমস্ত নেটিভ কোড।

হিপহপ পিএইচপি এর চেয়ে অনেক দ্রুত, তাতে কোনও সন্দেহ নেই। তবে আপনি যদি হিপহপকে একটি সরল-সি প্রয়োগের সাথে তুলনা করেন তবে আপনার ওভারহেডের দুটি স্তর রয়েছে:

  • পিএইচপি থেকে সি ++ ইন্টারফেস (যা স্ফীত সি ++ গ্রন্থাগার ব্যবহার করে);
  • সি ++ নিজেই ফুলে যায় (যা প্লেইন সি এর তুলনায় সি ++ 2-10 গুণ কম করে দেয়)।

প্লাস, হিপহপকে ক্লুলেস অদক্ষ একাডেমিক মোডে লেখা হয়েছে (কোনও বাস্তব-বিশ্বের বাস্তবতা থেকে বিচ্ছিন্ন)। নিশ্চিত, এটি পিএইচপি কোডারকে প্রভাবিত করতে পারে তবে একটি এম্বেডেড প্রোগ্রামারকে এই কোডটি দেখায় এবং সে ফেসবুকের জন্য দুঃখিত হবে।

"যে ভাষাতে সমস্ত কিছু নেই সেগুলি প্রোগ্রামের চেয়ে কিছু প্রোগ্রাম করার চেয়ে আসলে সহজ" - ডেনিস এম রিচি itch

(বেশিরভাগ) প্রোগ্রামিং ল্যাংগুয়েজ-এন্ড-ইউজারদের থেকে আলাদা, ডেনিস বিষয়টি সম্পর্কে কয়েকটি বিষয় জানতেন, মনে হয়।


3
(1) এত ব্যক্তিগতভাবে জিনিস গ্রহণ করবেন না, আমি আপনার পণ্যটি বিচ্ছিন্ন করতে বাইরে ছিলাম কারণ আমি এমনকি আপনার পণ্যটিও জানতাম না। (২) আপনি জি-ওয়ানের সাথে ধারণার একটি আকর্ষণীয় প্রমাণ তৈরি করেছেন, তবে আমি আশা করি যে আমি যদি অপেক্ষা না করে এবং বাস্তব-জগতের ওয়েব অ্যাপ্লিকেশনগুলি ব্যবহার না করা অবধি না দেখি তবে আপনি আমাকে ক্ষমা করবেন এবং কেবল কয়েকটি সিনথেটিক মানদণ্ড নয়। (3) আপনি অনুভূমিক স্কেলিং সম্পর্কে ফেসবুকের অভিযোগকে ভুলভাবে চিহ্নিত করেছেন, কারণ তাদের সমস্যাটি মেমকেচে এবং ডাটাবেস মাল্টি-কোর পারফরম্যান্সের সাথে, রিয়েল-ওয়ার্ল্ড ওয়েব অ্যাপ্লিকেশনগুলির এক বাধা, যা জি-ওয়ান সমাধান করতে সহায়তা করে না। (4) হিপহপ আপনার কোড অবদানকে আমি নিশ্চিত welcome
জোয়েরি সেব্রেচটস

1
উত্পাদনশীলতার ইস্যুতে কথা বলছি। আমি এর আগে সি-তে ওয়েব অ্যাপ্লিকেশন লিখেছি, অনেক চাঁদ আগে, এবং সেই সময় পিএইচপি-র চেয়ে একই কাজ করার জন্য আরও লাইনগুলির প্রয়োজন ছিল, যখন ক্র্যাশ / লিক বিভিন্ন ধরণের বাগের ঝুঁকির বেশি ছিল। (আমি এই ধরণের বাগগুলিতে কেবল "গড়" আছি, যা বলতে হয় যে আমি সেগুলি এখনই লিখেছি)) আমি আমার অভিজ্ঞতার ভিত্তিতে আমার রায়টি অবধি নির্ভর করি যতক্ষণ না আমি সত্যিকারের অ্যাপ্লিকেশনগুলি দেখায় যা অন্যথায় প্রদর্শিত হয় না (যেমন ওয়ার্ডপ্রেস পোর্ট সি এর সাথে কোডের অনেক বেশি লাইন প্রয়োজন হয় না)।
জোয়েরি সেব্রেচটস

কীভাবে কিছু "উল্লম্বভাবে স্কেল হয় না"? আপনার অর্থ কি দ্রুত সিঙ্গল কোর পারফরম্যান্স এবং দ্রুত মেমরির পারফরম্যান্স থেকে উপকার হয় না?
রাকলাইস

5

এই ভাষাগুলিতে বিকাশ করা সহজ হওয়ার বাইরে আমরা সবাই পিএইচপি, পাইথন, রুবি ইত্যাদি ব্যবহার করার আরও কারণ থাকতে হবে

এটি সম্পূর্ণ কারণ এবং একমাত্র প্রয়োজনীয়। এটির অনেকগুলি সুবিধা রয়েছে যার মধ্যে প্রধান সময়টি বাজারে আসা। আপনি যদি সি ব্যবহার করে দুই মাসের পরিবর্তে পিএইচপি ব্যবহার করে এক মাসে আপনার ওয়েব অ্যাপ্লিকেশনটি অনলাইনে পেতে পারেন তবে আপনি কেবল জয়ী হতে পারেন। আপনি যদি সি ব্যবহার করে দুই সপ্তাহের পরিবর্তে রুবে অন রেল ব্যবহার করে এক সপ্তাহে একটি নতুন বৈশিষ্ট্য যুক্ত করতে পারেন তবে আপনি জিতবেন। আপনি যদি সি ব্যবহার করে দুদিনের পরিবর্তে পাইথন ব্যবহার করে কোনও দিনে কোনও বাগ ঠিক করতে পারেন তবে আপনি আরও একবার জিতে পারবেন। যদি আপনি এমন কোনও বৈশিষ্ট্য যুক্ত করতে পারেন যে আপনি X ভাষাটি ব্যবহার করছেন যা আপনার প্রতিযোগীরা মোটামুটি যুক্ত করতে পারেন না কারণ তারা Y ভাষা ব্যবহার করছেন এবং তাদের উত্সের সীমাবদ্ধতার কারণে সেই ভাষায় এটি খুব শক্ত। তবে আপনি অবশ্যই জিতবেন।

এবং "জয়" এর অর্থ আসলে আপনি হারাবেন না। আপনার প্রতিযোগীরা তাদের সাইটগুলি বিকাশের জন্য উচ্চ-স্তরের ভাষা এবং ফ্রেমওয়ার্ক ব্যবহার করছেন, সুতরাং আপনি সি ব্যবহার করেন, আপনি সি ব্যবহার করেন এমন অন্যান্য লোকের সাথে প্রতিযোগিতা করছেন না, আপনি সি প্রতিযোগিতা করার জন্য অন্যান্য লোকদের বিরুদ্ধে হারাচ্ছেন, কেবল প্রতিযোগিতা করার জন্য, আপনার কাছে অনুরূপ স্তরের বিমূর্ততা সহ সরঞ্জামগুলি ব্যবহার করতে।

যদি পারফরম্যান্স কোনও সমস্যা হয়ে দাঁড়ায়, আপনি আপনার সাইটের ধীর অংশগুলি আরও ভাল-সম্পাদনকারী ভাষায় পুনরায় লিখতে পারেন। অথবা আপনি এটিতে আরও হার্ডওয়্যার নিক্ষেপ করতে পারেন। প্রকৃতপক্ষে, একটি পারফরম্যান্স সমস্যা হ'ল আমরা যাকে "" থাকতে খুব ভাল সমস্যা "বলি - এর অর্থ আপনি ইতিমধ্যে সফল হয়েছেন। তবে আপনার সাইটের প্রাথমিক কার্যকারিতা বিকাশের জন্য আরও বেশি সময় ব্যয় করা খুব কমই একটি বিকল্প। এটি সি তে লিখলে এটি দ্রুত চালিত হবে অকাল অপ্টিমাইজেশন, যা নুথ আমাদের জানিয়েছেন, সমস্ত মন্দের মূল।

এগুলির দ্বারা বোঝা যায় যে আপনি যদি পাইথন বা রুবির তুলনায় উচ্চতর স্তরের বিমূর্ততার সাথে কোনও ভাষা ব্যবহার করতে পারেন তবে আপনি পাইথন বা রুবির ব্যবহারকারীদের বিরুদ্ধে জয়লাভ করতে পারেন। পল গ্রাহামের ওয়েবসাইট কীভাবে তিনি এবং তার দল এলআইএসপিকে একটি "গোপন অস্ত্র" হিসাবে ব্যবহার করেছিল ওয়েব সাইটগুলিতে বিকাশ করেছিল তা শিক্ষণীয় হতে পারে। http://www.paulgraham.com/avg.html

অবশ্যই, আপনি যদি নিজের মনোরঞ্জনের জন্য কোনও সাইট বিকাশ করছেন তবে আপনি যে ভাষায় চান তা করুন। এবং যদি আপনার সাইটটি সিপিইউ-বাউন্ডড হয় (খুব কমই কোনও হয়; সেগুলি সাধারণত I / O আবদ্ধ হয়) তবে আপনি পারেন দ্রুততম পারফরম্যান্স ভাষা ব্যবহার করুন। আপনি যদি নতুনত্ব আনতে চেষ্টা করছেন তবে আপনি খুঁজে পেতে পারেন এমন সেরা বিমূর্ততা সহ একটি উচ্চ-স্তরের ভাষা ব্যবহার করুন।


আপনি ভুলে যাচ্ছেন যে ওয়েবের মাধ্যমে হাই ভলিউম অর্ডার প্রসেসিং বিট সিতে লেখা হয়েছিল pa পলগ্রাহাম . com / avg.html এর নীচে নোটগুলি দেখুন ।
জিলস রবার্টস

4

আপনি মনে করেন সহজ হওয়া কোনও ভাল কারণ নয়। আমি মনে করি এটি একটি ভাল কারণ। আপনার যদি চূড়ান্ত পারফরম্যান্সের প্রয়োজন হয় তবে সি ঠিক আছে, তবে উত্পাদনশীলতা, রক্ষণাবেক্ষণযোগ্যতা এবং ত্রুটিগুলি হ্রাস করার জন্য অন্যান্য ভাষাগুলি কঠোর স্টাফকে দূরে সরিয়ে দেয়।


6
চূড়ান্ত পারফরম্যান্স পেতে আপনার কেবল সি নয়, চূড়ান্ত সি প্রোগ্রামারও দরকার। এবং এই ছেলেরা সাধারণত জাভা / পি * প্রোগ্রামারদের চেয়ে বেশি অর্থ চায় want
el.pescado

4

বিবেচনা করুন যে আমি কোনও ওয়েব বিকাশকারী নই তবে যাইহোক এই প্রশ্নগুলি জিজ্ঞাসা করব এবং একটি বা দুটি পয়েন্ট অফার করব।

কোন ওয়েবসাইটটি কেবল একটি ভাষায় লেখা হয়? সিরিয়াসলি এই থ্রেডটি মনে হচ্ছে একটি হাতুড়ি সমস্ত নখের সাথে ফিট করে।

যখন শেষবারের মতো কেউ সিরিয়াসলি বলেছিল যে সি জটিল ছিল? মানে আসলেই ছেলেরা আপনি আরও নিচু স্তর পেতে পারেন না। আমি এখানে সি ++ বলছি না কারণ দু'জনেই সম্মিলিতভাবে উল্লেখ করা হয়।

সি এর সুরক্ষার উদ্বেগ রয়েছে, এটিকে অস্বীকার করা যায় না তবে পিএইচপি এবং পার্ল নামক জঞ্জালগুলিতে যা দেখা যায় তার চেয়ে এগুলি কি কম? উভয় ক্ষেত্রেই একটি সুরক্ষিত ওয়েবসাইট হ'ল প্রোগ্রামার শৃঙ্খলার একটি কার্য।

কোনও ইভেন্টে মন্তব্য বন্ধ। প্রদত্ত যে কোনও ভাষা ব্যবহারের অসুবিধা হাতের সমস্যার উপর খুব নির্ভরশীল এবং বিশেষত সি ++ অভিজ্ঞ হাতে কোনও সমস্যার দ্রুত সমাধানের দিকে নিয়ে যেতে পারে।

ওয়েব সার্ভারগুলির জন্য শিল্প ব্যবহার, এটি এম্বেড করা সার্ভার / সাইটগুলিতে কেবল সাধারণ ওয়েব সার্ভারের ভাষা পছন্দ থাকে না। সুতরাং আপনি সি এর বৈকল্পিক বা সম্ভবত বেসিকের মতো কিছু ব্যবহার করে শেষ করুন। আপনার লক্ষ্যটি হ'ল ডিভাইসটির প্রয়োজনীয় কার্যকারিতা সরবরাহ করা এবং ভাষা সম্পর্কে চিন্তা করা উচিত নয়। একটি মূলধারার ওয়েব সার্ভারে বেশিরভাগ সময় উচ্চ স্তরের ভাষার সাথে তা করার উপায়। বড় লোহা থেকে দূরে সরে যান এবং আপনার প্রোগ্রামিংয়ের স্বাধীনতা দরজা ছাড়িয়ে যায়।

সঠিক লাইব্রেরিগুলি না থাকলে বেশিরভাগ ক্ষেত্রে সি-তে গ্রাউন্ডআপ ওয়েব প্রকল্প করা বোকামি হবে good ভাল মানসম্পন্ন লাইব্রেরির অভাব এখানে একটি বড় নেতিবাচক।


3

এখানে সি-তে আরও কিছু ওয়েব-সম্পর্কিত কোড লেখা রয়েছে যা ওয়েবে আপনার নিজের সি লাইব্রেরিটি তৈরি করার সময় নজর রাখার মতো:

  • সিজিসি: সিজিআই প্রোগ্রামিংয়ের জন্য একটি এএনএসআই সি লাইব্রেরি
  • cgit: গিট সংগ্রহস্থলের জন্য একটি ওয়েব ফ্রন্টএন্ড
  • ডাব্লুবক্স: এইচটিটিপি পরীক্ষার সরঞ্জাম
  • উইজেট html-parse.c
  • কার্ল কুকি.সি
  • ছাড়, ডেভিড পার্সনস এর জন গ্রুবারের মার্কডাউন পাঠ্যটি এইচটিএমএল ভাষায় রূপায়ণ করুন
  • প্রোটোথ্রেডস (এম্বেড থাকা সিস্টেমগুলির জন্য উদাহরণ), http://www.sics.se/~adam/software.html
  • প্রোটোথ্রেড, ল্যারিরুয়ানের গুগল কোড প্রকল্প
  • ইউরিপার্সার সোর্সফোর্জ প্রকল্প
  • গিথুব-এ রায়ান ডাল দ্বারা গ-এর জন্য এইচটিপি-পার্সার, http অনুরোধ / প্রতিক্রিয়া পার্সার
  • nginx
  • ...

2

ওয়েল, ওয়েব ডেভলপমেন্টটি দরকারী লাইব্রেরি (পিএইচপি দ্বারা ব্যবহৃত ধরণের) থাকার বিষয়টি বিবেচনা করে দেখেছি যে সি কীভাবে কার্যকর হবে না।

সর্বোপরি, পদ্ধতিগত যুক্তিটি একই: যদি সি, পিএইচপি, নেট বা পার্ল হয় কিনা সে জন্য কিছু করুন।

এবং সি লুপ বা পরীক্ষা লিখতে বেশি অসুবিধা হয় না কারণ এটি সি তে লেখা হয় because

বেশিরভাগ পিএইচপি লাইব্রেরি সি-তে তৈরি হয় তাই-ওয়েব-যুক্তির জন্য-সি-লাইব্রেরিগুলি এতটা বিশ্বাসযোগ্য মনে হয় না।

আমার ধারণা হ'ল সি জাভা (এসইউএন) এবং। নেট (মাইক্রোসফ্ট) এর প্রবর্তকরা ওয়েব প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে বিজ্ঞাপন দেননি কারণ তাদের গ্রহণের জন্য চাপ দেওয়ার জন্য তাদের নিজস্ব মালিকানাধীন (ভারী পেটেন্টযুক্ত) বৌদ্ধিক সম্পদ ছিল।

একটি নিখরচায় (অপরিশোধিত) মান হিসাবে সি বিকাশকারীদের উপর কোনও 'লক-ইন' গ্রিপ সরবরাহ করে না ... সুতরাং, স্কুল-বিশ্ববিদ্যালয়গুলিতে তদবিরের ভারী হাতটি নিশ্চিত করা যায় যে করদাতাদের অর্থ গ্রহণের অর্থের জন্য অর্থ ব্যয় হবে make নিকৃষ্ট প্রযুক্তি ব্যক্তিগত স্বার্থ দ্বারা সমর্থিত।

যদি আইবিএম এবং মাইক্রোসফ্টের জন্য সি যথেষ্ট ভাল (তারা পিএইচপি বা। নেট এ তাদের পণ্যগুলি বিকাশ করে না) তবে শেষ ব্যবহারকারীদের পক্ষে যথেষ্ট ভাল না হয়, তবে শেষ ব্যবহারকারীরা ভাবতে পারেন যে তারা কেন এই ডাবল-স্ট্যান্ডার্ড ভোগ করার জন্য আমন্ত্রিত হয়?


1
উহহহ মাইক্রোসফট.কম এবং শেয়ারপয়েন্ট উভয়ই এএসপি.নেটে রয়েছে। বেশিরভাগ ভিজ্যুয়াল স্টুডিও 2010। নেট (ডাব্লুপিএফ) এ রয়েছে। এই বিবৃতিটি স্পষ্টতই মিথ্যা। আপনার ডিজাইনের প্রয়োজনীয়তা পূরণ করে এমন উচ্চ স্তরের ভাষা ব্যবহার করুন। ওয়েবের জন্য, এর অর্থ সি # / পাইথন / ইত্যাদি, এবং সি / সি ++ / ইত্যাদির উপাদান যেখানে পারফরম্যান্স একটি ইস্যুতে পরিণত হয় - যদিও এটি প্রায় কখনও ঘটে না।
3Dave

2

আমি একটি ওয়েব অ্যাপের জন্য সি ব্যবহার করব যদি:

  1. হোস্টিং সার্ভারের জন্য আমার ছোট বাজেট রয়েছে (ছোট ভিপিএস) এবং আমার সময়টি ব্যয়বহুল নয়।
  2. আমি ফেসবুক, টুইটার বা কারওর জন্য ব্যবহৃত সার্ভারের পরিমাণ হ্রাস করতে (হাজার হাজার মিলিয়ন ব্যবহারকারীর সাথে) কাজ করছি।
  3. আমি সি শিখতে চাই এবং আমার একটি আসল ওয়ার্ল্ড অ্যাপ্লিকেশন সন্ধান করা দরকার যেখানে আমি এটি ব্যবহার করতে পারি।
  4. আমি সি অন্যান্য স্ক্রিপ্টিং ভাষার চেয়ে অনেক ভাল জানি।
  5. আমি একটি ইকো লোক এবং আমি আমার অ্যাপ্লিকেশনটির কার্বন পদচিহ্ন হ্রাস করতে চাই।

জি-ওয়ান স্ক্রিপ্ট হিসাবে কোড চালায়, হ্যাঁ সি স্ক্রিপ্টগুলি প্লে এর মতো! ফ্রেমওয়ার্ক জাভা জন্য না। জি-ওয়ান খুব দ্রুত এবং এর একটি সহজ এপিআই রয়েছে। অন্যান্য সার্ভারগুলি এটি করতে ব্যর্থ হলে জি-ওয়ান ওয়েব অ্যাপ্লিকেশনগুলির জন্য সি / সি ++ ব্যবহার সম্ভব করে তোলে।

একটি বিষয় স্পষ্ট: আপনার সি তে একটি ওয়েবসাইট লেখার জন্য একটি ভাল প্রোগ্রামার প্রয়োজন, যে কোনও ক্রেপি বিকাশকারী স্প্যাগেটি পিএইচপি দিয়ে একটি সাইট তৈরি করতে পারে :-) সি এর জন্য ফাঁস সনাক্তকারী এবং এমনকি আবর্জনা সংগ্রহকারী রয়েছে are


2

আপনি উল্লিখিত সমস্ত ভাষাগুলি আসলে সি / ++ এ লিখিত। কেবলমাত্র পার্থক্য হ'ল সি থেকে তৈরি করা উন্নত শ্রেণি এবং গ্রন্থাগারগুলি যা এখন এই অন্যান্য দোভাষীগুলির ভাষাটি তৈরি করে। এগুলি এ কারণেই তাদের স্ক্রিপ্টিং ভাষা হিসাবে উল্লেখ করা হয়।

এটি একটি কেক বেক করার মতো ভাবুন (পিএইচপি / জেএস):

  • 2 ডিম, 1 কাপ দুধ, মাখন 2 টি লাঠি, 4 কাপ আটা, 1 কাপ চিনি, বেকিং সোডা

তবে কল্পনা করুন যে এই সমস্ত উপাদানগুলি গঠিত। (গ / ++,)

  • 17 মিলিগ্রাম সোডিয়াম বাইকার্বোনেট, 15 টি প্রোটিন, 12 টি টি ভিটেলিন মেমব্রেন, অ্যামিনো অ্যাসিড, সালফার, ... নিউট্রন কণা

সি অনেক আধুনিক ভাষার ভিত্তি। এটি সমাবেশের অধীনে দুর্দান্ত এবং প্রায় সবচেয়ে শক্তিশালী ভাষা। আপনি এটি করতে পারেন কেবল এই অন্যান্য ভাষা ইতিমধ্যে যা করেছে তার সমস্ত কোড তৈরিতে আপনাকে বিনিয়োগ করতে হবে। পর্যায় সারণী থেকে কেক তৈরির মতো।

আপনি এটি আক্ষরিক কিছু করতে পারেন তা শিখুন!


1

সি স্ট্রিং হ্যান্ডলিং ব্যবহার করে আরও সহজ করা যায়:

ডেটা প্রকার (লিবস্ল্যাকের অংশ)

লিবস্ল্যাক একটি জেনেরিক বর্ধনযোগ্য পয়েন্টার অ্যারে ডেটা টাইপ সরবরাহ করে যা তালিকা বলে, একটি জেনেরিক বর্ধনযোগ্য হ্যাশ টেবিল ডেটা টাইপ ম্যাপ এবং একটি শালীন স্ট্রিং ডেটা টাইপ যা ফাংশনগুলির স্তূপ (পার্ল থেকে অনেকগুলি উত্তোলিত) আসে। Abচ্ছিক, "বর্ধনশীল" ফ্রিলিস্টগুলির সাথে বিমূর্ত একক এবং দ্বিগুণভাবে লিঙ্কযুক্ত তালিকার ডেটা প্রকারগুলিও রয়েছে।

বা:

পরিচালিত স্ট্রিং গ্রন্থাগার (সি এর জন্য)

http://www.cert.org/secure-coding/managedstring.html


1

"ডোমাচাইন" লিখেছেন:

প্ল্যাটফর্ম নির্ভরতা: সি স্থানীয় কোডে সংকলন করা দরকার। এই কোডটি সমস্ত প্ল্যাটফর্মে চালিত হয় না। দোভাষী ভাষা (পিএইচপি এর মতো) যেখানে দোভাষী উপস্থিত থাকে সেখানে চলতে থাকে। অবশ্যই এই সমস্যাটি সমাধান হতে পারে তবে আপনি এই বিশেষ ক্ষেত্রে পিএইচপি বিকাশের সুবিধা দেখেন।

আপনি কি কখনও ভেবে দেখেছেন যে কোন ভাষায় পোর্টেবল পিএইচপি ইন্টারপ্রেটার লেখা আছে?

এএনএসআই সি।

সুতরাং, আপনি আবার এএনএসআই সি এর বহনযোগ্যতা খারিজ করার আগে নিজেকে জিজ্ঞাসা করুন কোন ভাষাতে আপনার প্রিয় প্রোগ্রামিং ভাষাটি রচিত হয়েছে ... (টিপ: প্রায় সবগুলি সি / সি ++ তে লেখা হয়েছিল)।

এএনএসআই সি সংকলকগুলি যে সমস্ত প্ল্যাটফর্মগুলিতে আমাকে কাজ করতে হয়েছিল সেগুলিতে উপলভ্য এবং পিএইচপি এবং এর বিশাল রানটাইমের ক্ষেত্রেও এটি ঠিক নয়।

বহনযোগ্যতা যুক্তি জন্য এত ।


2
ঠিক আছে, পিএইচপি আমার প্রিয় ভাষা নয়। আমি পিএইচপি তে এখনও কিছু কোড করি নি। আমি একজন সি এবং সি ++ প্রোগ্রামার। আমি সি এর বহনযোগ্যতা কখনই বরখাস্ত করিনি! আমি কেবল উল্লেখ করেছি, একটি বিদ্যমান ওয়েবস্পেসে পিএইচপি-স্ক্রিপ্টগুলি প্রয়োগ করার স্বাচ্ছন্দ্য। আমাকে এমন কেসটি দেখান যেখানে আপনি কমলার বাজেটের ওয়েবস্পেস পেতে পারেন যেখানে আপনার একটি সংকলক রয়েছে। হতে পারে আমি ভুল কিন্তু আমি মনে করি আপনি এই ধর্মান্ধ প্রোগ্রামারদের মধ্যে একজন যারা একটি ভাষা পছন্দ করেন তবে অন্যের সুবিধাগুলি দেখতে পাচ্ছেন না, সম্ভবত আরও উপযুক্ত ভাষার। আমি সি এবং সি ++ পছন্দ করি তবে আমি বাক্সের বাইরে ভাবতে সক্ষম।
ডোমাচাইন

0

জি-ওয়ান এর মতো, তবে কোকো / অবজেক্টিভ-সি এর জন্য বোম্বাক্স, একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক।

http://www.bombaxtic.com

অবজেক্টিভ-সি-এর কথা বলতে গিয়ে আমি ম্যাকরুবি চিহ্নিত করে প্রতিহত করতে পারি না, যা একদিন আমরা ওয়েব অ্যাপ্লিকেশনগুলি তৈরি করব সেভাবে বিপ্লব ঘটাতে পারে।


আচ্ছা ম্যাকরুবি এখন মারা গেছে।
বানজোক্যাট

0

আরেকটি বিষয় হতে পারে প্ল্যাটফর্ম নির্ভরতা। সি স্থানীয় কোড মধ্যে সংকলন করা প্রয়োজন। এই কোডটি সমস্ত প্ল্যাটফর্মে চালিত হয় না।

দোভাষী ভাষা যেখানেই দোভাষী উপস্থিত থাকে run উদাহরণস্বরূপ অনেক সরবরাহকারী তাদের সার্ভারে তবে একটি উইন্ডোজ ওএস দিয়ে পিএইচপি-ইন্টারপ্রেটার ইনস্টল করেন। আপনি যদি এখন লিনাক্স-মেশিনে বিকাশ করে থাকেন। আপনার একটি সমস্যা হয়েছে।

অবশ্যই এই সমস্যাটি সমাধান হতে পারে তবে আপনি এই বিশেষ ক্ষেত্রে পিএইচপি বিকাশের সুবিধা দেখেন।

আশা করি এটি ডোমচাইনকে ধন্যবাদ জানায়


0

পিএইচপি, পাইথন এবং এ জাতীয় সমস্যাগুলিতে হার্ডওয়্যার নিক্ষেপ করে স্কেল আপ করা সহজ।

ধরুন পিএইচপি-তে একটি অ্যাপ্লিকেশন বিকাশের জন্য এটির জন্য একজন ব্যক্তির 1 বছরের প্রচেষ্টার ব্যয় হয়েছে এবং এটি সিতে এটি করতে তাদের 3 বছর ব্যয় হয় (যেহেতু সি একই জিনিস করতে আরও বেশি প্রচেষ্টা প্রয়োজন)। তার মানে সি কোডটির হ্রাসকৃত হার্ডওয়্যারকে আকর্ষণীয় হওয়ার জন্য 2 বছরের মূল্য মজুরি উপস্থাপন করতে হবে। অনুশীলনে যা (প্রায়) কখনই ঘটে না।

প্রতিটি নিয়মের মতো, এখানেও ব্যতিক্রম রয়েছে। ফেসবুকের স্কেল এত বড় যে হার্ডওয়্যারটি যত্ন নেওয়ার জন্য যথেষ্ট বড় ব্যয়। সে কারণেই তারা হিপহপ তৈরি করেছে , যা পিএইচপি কে সি ++ এ সংহত করে। এটি উভয় বিশ্বের সেরাটি নিয়ে আসে: পিএইচপি-তে প্রোগ্রামিংয়ের সরলতা এবং সি ++ এর কাঁচা পারফরম্যান্স। ফেসবুকটি এখনও পিএইচপিতে বিকাশযুক্ত, তবে আপনি যখন এটি ব্যবহার করেন তখন এটি সমস্ত নেটিভ কোড।


0

শেষ পর্যন্ত আপনি সাইটগুলি বিকাশ করতে একেবারে যে কোনও ভাষা ব্যবহার করতে পারেন, এসেম্বেলার (সিজিআই ইত্যাদির মাধ্যমে) সহ including যদি আপনি বোঝাতে চেয়েছিলেন যে আমরা কেন একটি সংকলিত ভাষা ব্যবহার করি না, ভাল, আমরা ইতিমধ্যে। নেট, জাভা এবং অন্যান্য পেয়েছি।


0

ফলাফল অর্জন করতে আপনি যা করছেন তা আপনাকে ভালবাসতে হবে। জাভা এবং পিএইচপি এর মতো ভাষা মানুষের জীবনকে আরও সহজ করার জন্য প্রচুর প্রচেষ্টার সাথে তৈরি করা হয়েছিল। পিএইচপি বিশেষত আজ অনেক স্ব-শিক্ষিত ওয়েব প্রোগ্রামারকে উপকৃত করেছে। ওয়েব ডেভলপমেন্টের বিশ্বে এটির যে ধরণের সমর্থন রয়েছে তা আপনি দেখতে পারেন।

জাভা আইএএম নিশ্চিত আপনাকে আজকের বিশ্বে সম্ভব যে কোনও কিছুতে সহায়তা দিতে লেখা হয়েছিল। প্রচুর বইটি একটি স্পষ্ট ইঙ্গিত, এবং আপনি যদি ওয়েব ডেভলপমেন্টের জন্যও অপেক্ষা করেন তবে এটি একটি জন্তু। পাইথনের জন্য একই যায়। এগুলি so.e চমত্কার ভাষা এবং প্ল্যাটফর্ম। আশ্চর্যের কিছু নেই যে তারা বিশাল জনপ্রিয়।

আমি একজন সি ভক্ত এবং আংশিকভাবে এটি নির্দিষ্ট সীমাবদ্ধতার কারণে যা আমাকে পিএইচপি করার মতো অন্যান্য ভাষাতে নজর দেওয়া থেকে বিরত করেছিল। আমি প্রতিদিন সি লিখছি এবং প্রতিদিন আমি ই গর্বিত এবং একটি নতুন জিনিস শিখছি। এটি আমাকে খুব ভাল বোধ করে এবং সিগির মাধ্যমে ওয়েবসাইটগুলির জন্য অ্যাপ্লিকেশন লেখার সময় সি কীভাবে ডিফল্ট পছন্দ ছিল তা শিখতে শুরু করেছি। এটি অন্যান্য প্ল্যাটফর্মগুলিতে বিমূর্ত হয়ে যায় এবং আপনি যখন ডেটাবেস এবং ওয়েব পরিষেবাগুলির সাথে সম্পর্কিত ওয়েবসাইটগুলি বিকাশ করেন, তখন আপনাকে পর্দার আড়ালে কী ঘটছে তা জানতে হবে।

তবে আপনি যদি সমস্ত কিছু জানেন এবং এখনও একটি স্ক্রিপ্টিং ভাষা ব্যবহার করতে চান তবে অবশ্যই একটি বৈধ কারণ থাকতে হবে এবং এর বিপরীতে আমাদের কাউকে পরামর্শ দেওয়ার দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.