সি ++ কেন সর্বশেষতম গতিশীল ভাষাগুলির উপর ভারী জিইউআই অ্যাপ্লিকেশন তৈরি করতে এখনও পছন্দ করে? [বন্ধ]


46

আমি দেখতে পাচ্ছি যে ভারী জিইউআই সামগ্রী অন্তর্ভুক্ত করা বেশিরভাগ অ্যাপ্লিকেশনগুলি সাধারণত সি ++ এ বিকাশ করা হয়। বেশিরভাগ গেমস / ব্রাউজারগুলি সি ++ এ কোডেড থাকে।

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

এবং আমি আরও জানতে চাই, জিইউআই প্রক্রিয়াজাতকরণের আরও ভাল গতির জন্য এটি সি ++ তে দায়বদ্ধ কী? অন্যদিকে অন্যান্য সর্বশেষ ভাষার অভাব কি এটি?


22
আপনি যদি ভাবেন যে জাভা একটি 'গতিশীল' ভাষা, তবে আপনি এই প্রসঙ্গে এই শব্দটির অর্থ কী তা নিয়ে আপনি গভীর বিভ্রান্ত।
মাইক বারানজাক

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

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

15
... মূলত তহবিল শুকিয়ে স্ব-প্রকল্পের অনাহারে। সেলফ ভিএম ইঞ্জিনিয়াররা যখন হতাশার কারণে সূর্যকে ছাড়েন, তারা দ্রুত লংভিউ নামে একটি ছোট্টালক স্টার্টআপ দ্বারা সজ্জিত হন (তাদের সর্বাধিক পণ্য হিসাবে পরিচিত, স্মলটালকের জন্য একটি alচ্ছিক স্ট্যাটিক টাইপ সিস্টেম: স্ট্রংটাল্ক)। লংভিউ জানত যে তারা কখনই স্মলটালকের জন্য স্ট্যাটিক টাইপিং বিক্রয় করতে পারবে না, তাই তারা ভেবেছিল যে তারা বরং গ্রহের সবচেয়ে দ্রুতগতিতে ছোট ছোট টাল বিক্রি করবে এবং তারপরে স্ট্রংটালককে প্যাকেজে ট্রান্স হর্স জাতীয় খেলায় অন্তর্ভুক্ত করবে। তারা এও বুঝতে পেরেছিল যে শীতল কিছুই নয় ...
জার্গ ডব্লু মিত্তাগ

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

উত্তর:


58

আমি সেই লোকদের মধ্যে যারা সি ++ জিইউআই অ্যাপস লিখি (বেশিরভাগ উইন্ডোর জন্য) for Qt সহ, সুনির্দিষ্ট হতে। আমার কারণ:

  • আমি সি ++ পছন্দ করি। আমি একজন ফ্রিল্যান্সার এবং সাধারণত আমি আমার সরঞ্জামগুলি বেছে নিতে পারি (ভাগ্যবান আমার!)
  • পরিচালিত পরিবেশে আপনার যখন বেশিরভাগ অব্যবস্থাপনাবিহীন কোড ব্যবহার করা প্রয়োজন (সি # তে দীর্ঘ উইন্ডোপিআইএনপিআই ঘোষণা, যে কেউ?)
  • কম নির্ভরতা যা আরও সহজেই মোতায়েন করা হয়
  • সবকিছুর উপর আরও নিয়ন্ত্রণ
  • আরআইআইআই (বনাম জিসি)। এমনকি যদি আমি এর সাথে বরাদ্দ করি তবে আমি newখুব কমই deleteস্পষ্টভাবে কিছু পাই কারণ আমি স্মার্ট পয়েন্টার বা QObjectশ্রেণিবদ্ধতা ব্যবহার করি ।
  • সি ++ আজকাল খুব রোমাঞ্চকর, আমি নতুন স্ট্যান্ডার্ডকে পুরোপুরি সমর্থন করার জন্য কোনও সংকলকের অপেক্ষা করতে পারি না।
  • গতি (কেবলমাত্র তালিকার শেষের দিকে। আমি জানি এটি জিআইআই নিজেই পক্ষে গুরুত্বপূর্ণ নয়, তবে এটি দ্রুততর হতে থাকে কারণ সি ++ প্রোগ্রামগুলি ওভারহেড থেকে ভোগেন না যে রানটাইম, বাইট কোড জেআইটি-সংকলন এবং অনুরূপ প্রযুক্তি যুক্ত করে কার্যক্রম.)

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


11
ব্যক্তিগত পছন্দকে বাদ দিয়ে +1 গতি অবশ্যই এখানে শীর্ষ কারণ। তবে, আমি পছন্দ করি "সি ++ এই দিনগুলিতে খুব রোমাঞ্চকর"। মোকাবেলার প্রশ্নোত্তর প্রশ্নকর্তা , @ না Tamás Szelei: নতুন ধারনা, পারাদিগ্ম্স, প্রযুক্তি, পণ্য কিন্তু সর্বশেষ এবং সর্বশ্রেষ্ঠ সঙ্গে দ্রুত নিশ্চিত, কম্পিউটিং পরিবর্তন একটি পুণ্য নয়। সি ++ অল্প সময়ের জন্য ছিল এবং এর অর্থ এটি পুরানো নয়, বরং এটি নতুন প্রযুক্তির তুলনায় একটি দীর্ঘ প্রমাণিত ট্র্যাক রেকর্ড রয়েছে। আসল স্ট্রাস্ট্রাপের পাঠ্য (উদ্ভাবকের বই) ভারী যাচ্ছে তবে সেখানে অন্যদের হাতে বেশ কয়েকটি সুন্দর বই রয়েছে - উদাহরণস্বরূপ oreilly.com দেখুন।
থেরোবাইওয়ান

1
@ টার্নাস আমি মনে করি "সর্বদা দ্রুত হবে" কিছুটা সংকীর্ণ / লেখক, তবে ডাউনভোটের পক্ষে ওয়ারেন্ট দেওয়ার পক্ষে যথেষ্ট নয় ...
সর্বোচ্চ

2
অজানা সমর্থন হিসাবে: আমি সি ++ এবং জাভাস্ক্রিপ্ট ব্যবহার করে উইন্ডোজটিতে উল্লেখযোগ্য আকারের জিইউআই তৈরি করতে বিভিন্ন প্রকল্পের সাথে জড়িত হয়েছি। আমি সি ++ এবং জাভাস্ক্রিপ্টে বিভিন্ন গেম কনসোল প্রকল্পেও জড়িত ছিলাম। উভয় ক্ষেত্রেই জাভাস্ক্রিপ্টের সাথে উল্লেখযোগ্যভাবে আরও গতি এবং মেমরির সমস্যা ছিল।
রোবট

2
পার্টিতে দেরীতে, তবে আপনি কি "কম / সহজেই প্রয়োগযোগ্য নির্ভরতা" বিস্তারিতভাবে বর্ণনা করতে পারেন?
weberc2

2
আমি 20 বছরেরও বেশি সময় ধরে সি ++ ব্যবহার করছি। 11, 14 এবং 17 এর পরে অনেকগুলি নতুন এবং দুর্দান্ত বৈশিষ্ট্য যুক্ত করা হয়েছে You আপনি প্রায় স্ক্রিপ্টিং ভাষা হিসাবে সি ++ ব্যবহার করতে পারেন এবং দ্রুত গতির সুবিধা পেতে পারেন। আমি যখন বিআইজি ডেটা নিয়ে কাজ করি তখন আমাকে প্রায় সি ++ ব্যবহার করতে হবে কারণ অন্য কোনও ভাষা 10-1000 ধীর হয়ে যাবে।
কেমিন ঝো

32

কারণ গতির বিষয়।

  • গেমগুলি মূল কাজের জন্য সি ++ ব্যবহার করে, যেখানে পারফরম্যান্স গুরুত্বপূর্ণ। স্ক্রিপ্টিং কার্যগুলির জন্য তারা গতিময় ভাষা ব্যবহার করে যেখানে নমনীয়তা গুরুত্বপূর্ণ।

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

  • ব্রাউজারগুলিও দ্রুত হওয়া দরকার। সর্বোপরি এগুলি এক ধরণের গৌণ OS are অন্যদিকে, আপনি তর্ক করতে পারেন যে ফায়ারফক্সের বড় অংশগুলি আসলে জাভাস্ক্রিপ্টের "লিখিত", কারণ মোজিলা কাঠামোটি জাভাস্ক্রিপ্টের উপর নির্ভর করে বলে মনে হয়।

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


1
+1 সেরা উত্তর: সি ++ ব্যবহারের শীর্ষ কারণ হিসাবে গতিটি করা খাঁটিভাবে। এমনকি মাইক্রোসফ্ট নিজেও স্বীকার করে যে সি # এবং ভিজ্যুয়াল বেসিকের তুলনায় সি ++ পারফরম্যান্সের জন্য সেরা - তাদের ভিজ্যুয়াল স্টুডিও পৃষ্ঠাগুলিতে এটি দেখুন। খুব নিকটবর্তী দ্বিতীয়টি হ'ল বহনযোগ্যতা - যদি আপনি ক্রু প্ল্যাটফর্ম লাইব্রেরি যেমন Qt ব্যবহার করেন। সর্বোত্তম উত্তর কারণ এটি বিষয়গত না করে উদ্দেশ্য।
therobyouknow

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

5
ভিজ্যুয়াল স্টুডিও গুই (ক্রোম) সি # এবং ডাব্লুপিএফ-তে (vs2010 থেকে) লেখা আছে। সলিউশন এক্সপ্লোরার, বিল্ড সিস্টেম, কোড ব্রাউজার এবং টুলবক্স উইনফর্মগুলির সাথে সি # / সি ++ এ লেখা আছে। সংকলকটি সি ++ তে লেখা আছে।
মার্টিন বেকেট

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

@ মার্টিনবা: আমি লক্ষ করেছি যে সি # এবং ভিবি (রোজলিন) এর বর্তমান সংকলক সি # তে লেখা আছে।
jmoreno

17

আপনি যে জিইউআই অ্যাপ্লিকেশনগুলি সি ++ তে লিখিত দেখতে পান তা সাধারণত উত্তরাধিকারগত কারণে হয়। পাইথন (Qt বা Gtk সহ) জিইউআই অ্যাপ্লিকেশনগুলির জন্য খুব কার্যকর, যেমনটি আপনি যদি উইন্ডোজ ঘরে কাজ করেন তবে সি # হয়। নতুন কিছু শুরু করার সময়, প্লাম্বিংয়ের কাজটি করতে হবে না বলেই হয় সি ++ এর দিকে খুব বেশি পছন্দ করা হয়।


5
বিদ্যমান কোড +1 গুরুত্বপূর্ণ। নতুন প্রোগ্রামগুলি বিকাশ করার সময় স্ক্র্যাচ থেকে সম্পূর্ণ শুরু করা বিরল

7
কীভাবে Qt এর সাথে পাইথন ব্যবহার করা সিউটি ++ এর সাথে আরও ভাল? আমি যদি আজ একটি নতুন প্রকল্প শুরু করতে চাই, আমি এখনও জিইউআইয়ের জন্য সি ++ ব্যবহার করব। কারণ: ক) এটি আমি জানি, খ) এটি কাজটি ভালভাবে করে। কেবলমাত্র সি ++ এর প্রায় সময় হয়ে গেছে কারণ এটি "পুরানো" হয় না।
TZHX

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

4
আমি C ++ জানি এমন কারও জন্য Q + এর সাথে Qt এর পরিবর্তে পাইকিউটি ব্যবহারের কোনও সুবিধা দেখতে পাচ্ছি না।
বেঞ্জামিনবি

13
সি ++ কেবলমাত্র কাজ করারও সম্ভাবনা রয়েছে। পাইথনের সাহায্যে আপনাকে ব্যবহার করতে হবে যে ব্যবহারকারী পাইথনের কোন সংস্করণটি ইনস্টল করেছে বা এটি বান্ডিল করার বিষয়ে চিন্তা করতে হবে। "মেমোরি যত্নের জন্য" এতটা কাজ করার দরকার নেই যতক্ষণ না আপনি বোকা ত্রুটি করেন। আমি মনে করি প্রচুর লোকেরা "মেমরি ম্যানেজমেন্ট" কে সি ++ এর সাথে কাজ করার ক্ষেত্রে একটি বড় বাধা হিসাবে দেয় আসলে এটি কতটা তফাৎ করে তা না জেনে।
TZHX

16

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

প্রকল্পটি পর্যায়ক্রমে শুরু করার জন্য আমি অনেক প্রমাণ শুনেছি যে। নেট হ'ল উপায়, তবে একবার এটি চয়ন হয়ে গেলে, তারা সর্বদা একটি ভারী ludিলে হয়ে গেছে।

এছাড়াও, সি ++ আজকাল বেশ নিরাপদ এবং ব্যবহার করা বেশ সহজ, বিশেষত কিউটি বা ডাব্লুটিএল এর মতো ফ্রেমওয়ার্ক সহ।


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

10

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

Qt এর মতো জনপ্রিয় সি ++ জিইউআই লাইব্রেরিও নিন। বর্তমান সংস্করণে (4.7) এটি জিইউআইয়ের জন্য কিউএমএল ব্যবহার করে। কিউএমএল মূলত কিউটি বাইন্ডিং সহ জাভাস্ক্রিপ্ট।

সুতরাং সত্যিই গতিশীল ভাষা বনাম কোনও সি ++ নেই , এটি মিশ্রিত।


[হদফ ঘ]. আমি জানি যে অনেক গেম ব্যবহারকারীদের প্রসারিত করতে স্ক্রিপ্টিং ভাষা ব্যবহার করে, তবে যতদূর আমি জানি যে তাদের রিলিজ-বাইনারি-কার্যকারিতার জন্য স্ক্রিপ্টিং ভাষা ব্যবহার করে আসলে অনেকগুলি গেম নেই।
ProdigySim

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

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

উত্স ইঞ্জিন কাঠবিড়ালি স্ক্রিপ্টিং ভাষা ব্যবহার করে।
cubuspl42

6

প্রথম কারণটি হবে: (পুরানো) অভ্যাস

দ্বিতীয় কারণ: ভার্চুয়াল মেশিনগুলির উপর কম নির্ভরযোগ্যতা, সংস্থাপকগুলি যা ইনস্টল করা প্রয়োজন ইত্যাদি

এবং সি ++ তে কোড বিকাশের জন্য এখনও বেশ কয়েকটি দুর্দান্ত আইডিই রয়েছে।


1
' এখনও দুর্দান্ত আইডিই' .. আমি ভিজ্যুয়াল স্টুডিও এবং গ্রিপসটি কাটিয়া প্রান্তে যুক্তি দিচ্ছিলাম এবং দীর্ঘকাল ধরে বেশ কিছুটা হয়েছে।
জেবিআরউইলকিনসন

@ জবিআর উইলকিনসন: আমি বলিনি যে অন্য ভাষাগুলিতেও সেগুলি নেই।
রওল্ট

6

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

দ্রুত উদাহরণের জন্য এখানে দেখুন ।


2
অ্যাডোব লাইটরুম, যা মূলত ফটোশপের একটি উপসেট, লুয়াতে লেখা হয়।
জার্গ ডব্লু মিটাগ

4
@ জার্গ: এবং এর বাকীটি সি ++। প্রকৃতপক্ষে এটি সম্ভবত সেরা সংমিশ্রণ, ফাউন্ডেশনের জন্য সি ++, বাকীগুলির জন্য লুয়া (আমি এখনও নিম্ন স্তরের জিনিসগুলির জন্য সি ++ এর চেয়ে সি পছন্দ করি) C
জাভিয়ের

2
@ জাভিয়ার: হ্যাঁ, লাইটরুমটি মূলত ফটোশপ থেকে চিত্রের ম্যানিপুলেশন অ্যালগরিদম (যা সম্ভবত বেশিরভাগ এমএমএক্স / এসএসই সমাবেশে লেখা হয়) এবং এসকিউএলাইট 3 (যা বহনযোগ্যতার জন্য প্রাক-historicতিহাসিক এএনএসআই সিতে লেখা হয়) লুয়ার সাথে একসাথে আটকানো হয়েছিল। অ্যাডোব তাদের নিজস্ব লুয়া আইডিই বিকাশ করেছে, সম্পূর্ণ লুয়ায়। কেউ কি গ্রাফিক্স টুলকিট ব্যবহার জানেন? আফির ফটোশপটি সমস্ত আধুনিক সরঞ্জামদণ্ডগুলি অনেকটাই পূর্বাভাস দেয়, তাই এটি সম্ভবত ঘরে বসে কিছু?
জার্গ ডব্লু মিট্টাগ

4
অপরাধ না, কিন্তু যদি আপনি মনে করেন ANSI সি প্রাগৈতিহাসিক হয়, তাহলে আপনি ভুল কোড নমুনার পড়া চলেছি
জাভিয়ের

6

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


4

প্রদত্ত বেশিরভাগ কারণ প্রযুক্তিগত বা "টেবিলের উপরে" ... এখানে ব্যবসায়ের কারণ বা "টেবিলের নীচে" রয়েছে:

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

বোকা ব্যবহারকারী: কমপক্ষে পরিচালনার মনে। তারা এখনও তাদের ব্যবহারকারীদের একটি "সেটআপ.এক্সে" ডাবল ক্লিক করতে সবে সক্ষম বলে উপলব্ধি করেছে। যদি আপনি সেটআপের অংশ হিসাবে কোনও দোভাষী সংযুক্তি অন্তর্ভুক্ত করেন তবে তারা তাদের মাথা একপাশ থেকে অন্যদিকে ঝাঁকিয়ে দেবে।

পুরানো বিকাশকারী: অভিজ্ঞতার বেশিরভাগ লোক দীর্ঘকাল ধরে রয়েছেন এবং নিজেকে আপডেট করেননি। তারা সি ++ তে প্রোগ্রাম করে, নতুন ভাষায় নয়, কারণ তারা নতুন ভাষা জানে না।


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

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

4

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

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


3

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


ওহ, তারা তাদের পুরোপুরি সমর্থন করে না, কারণ তারা চায় না, বা এটি বাস্তবায়নের জন্য কোনও সময় নেই। কারণ এটি অসম্ভব।
cubuspl42

2

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

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

তবে সর্বশেষতম প্রোগ্রামিং ভাষার জন্য ফ্রেমওয়ার্কের একটি নির্দিষ্ট অভাব রয়েছে। উদাহরণস্বরূপ, পাইথনের সত্যিকার অর্থে কোনও व्यवहार्य নেটিভ জিইউআই লাইব্রেরি নেই। অবশ্যই, আপনি পাইকিউটি বা পাইজিটেক ব্যবহার করতে পারেন এবং সেগুলি ভাল কাজ করে তবে শেষ পর্যন্ত, এটি কেবলমাত্র আবার সি কোডের সাথে ইন্টারফেসিং। আবার, সি # (এবং যুক্তিযুক্ত ওবজে-সি) ব্যতিক্রম বলে মনে হচ্ছে এবং ম্যাকরুবি বা আয়রন পাইথন সেই গেমটি পরিবর্তন করতে পারে।


0

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

যদি আপনি এটি দেখুন, আনাকোন্ডা (রেডহ্যাট ইনস্টলার প্রোগ্রাম) শুরু থেকে পাইথনে লিখিত 10 বা তাই বছর ধরে প্রায় হয়েছে। অ্যানাকোন্ডা যখন নতুন ছিল তখন পাইথন এই জনপ্রিয় ছিল না।

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


1
আসলে, সেখানে Windows এর জন্য একটি বাণিজ্যিক যান কম্পাইলার যা যান লেখা আছে, তাই সেখানে হয় যান একটি স্থানে বুট-স্ট্র্যাপ কম্পাইলার। (এটা এখনও বদ্ধ বিটা, যদিও এর।)
Jörg ডব্লিউ Mittag

ওহ, আমি তখন যোগাযোগের বাইরে ছিলাম। আপনাকে বলার জন্য ধন্যবাদ :)
vpit3833

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