একটি সফটওয়্যার একটি ইঞ্জিন তৈরি করে কি? [বন্ধ]


39

বর্ণনাকারী 'ইঞ্জিন' প্রচুর পরিমাণে ছুঁড়ে ফেলা হয়: গ্রাফিক্স ইঞ্জিন, রেজেক্সেক্স ইঞ্জিন, এআই ইঞ্জিন ইত্যাদি software ডিজাইন, ইনপুট / আউটপুট, উদ্দেশ্য, আকার?


62
বিপণন বিভাগ।
ওলেড

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

2
ইঞ্জিনটি হ'ল চাকাগুলিকে আমি পুনরায়
সজ্জিত

@ ফ্লেক্সো, তাই - একটি লাইব্রেরি?
ভোরাক

উত্তর:


33

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

একটি আসল বিশ্ব ব্যবহার করতে, CS101 উপমা, একটি ইঞ্জিন ঠিক একটি গাড়ির ইঞ্জিনের মতো। এটি দুটি ইনপুট লাগে, বায়ু এবং গ্যাস। এরপরে এটি তাদের একটি চেম্বারে চলে যায়, এরপরে আর্কি ওয়েল্ডিংয়ের ক্ষুদ্রতম ব্যবহারের জন্য বিদ্যুৎ ব্যবহার করা হয়। স্টাফ তারপর বিস্ফোরিত। এটি দুটি আউটপুট উত্পাদন করে, নিষ্কাশন এবং একটি চাপ তরঙ্গ যা পিস্টনকে চালিত করে। বাকিগুলি বিভিন্ন ড্রাইভ শ্যাফ্ট এবং এর মাধ্যমে হুইল মোশনে স্থানান্তরিত হয়। সুতরাং ইঞ্জিন ইঞ্জিন এবং গাড়ি নিজেই শেল। আপনি একটি ভিন্ন ইঞ্জিনের জন্য একটি গাড়ির ইঞ্জিন ব্যবহার করতে পারেন, বলে বিদ্যুতের জন্য জেনারেটর চালনা করতে বা শস্য পিষে মিলের জন্য। যদি ইঞ্জিনের মধ্যে লেপ থাকে এবং ইথানল বা বায়োডিজেলের মতো জিনিসগুলি হ্যান্ডেল করতে পারে তবে আপনি বিভিন্ন ইনপুট ব্যবহার করতে পারেন।

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


9
সুতরাং ড্রাইভারটি এমন একটি সরঞ্জাম যা ইঞ্জিন নিয়ন্ত্রণ করে এবং শেলটি ক্র্যাশ করে?
মাইকজে-ইউকে

আমি আপনার উত্তরটি সত্যিই পছন্দ করেছি এবং বেনিফিট করেছি তবে আমার মনে হয় এই প্রশ্নটি এখন কীভাবে এই সফটওয়্যার / সফ্টওয়্যারকে একটি লাইব্রেরি বা এপিআই বা ইঞ্জিন বলা উচিত? আপনি যদি এর জন্য ব্যাখ্যা যোগ করতে পারেন তবে এটির সঠিক উত্তর হবে
আলী

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

6

ইঞ্জিনের সংজ্ঞা হল

বিশেষ্য / əenjən / 
ইঞ্জিন, বহুবচন

  1. চলমান অংশগুলির সাথে একটি মেশিন যা শক্তিকে গতিতে রূপান্তর করে

  2. এমন একটি জিনিস যা কোনও নির্দিষ্ট প্রক্রিয়ার এজেন্ট বা যন্ত্র

# 1 হ'ল engineসফটওয়্যার অর্থে সিনথেটিক সমীকরণ যা এর ফলে কিছু ঘটেছিল। 3 ডি গ্রাফিক্স ইঞ্জিন, ইনপুট নেয় এবং এটিকে স্ক্রিনে গতিতে রূপান্তর করে। একটি রেজেক্স ইঞ্জিন ইনপুট নেয় এবং এগুলিকে আলাদা আউটপুটে রূপান্তর করে।

# 2 বাক্যটি পরিবর্তনের ইঞ্জিনটি ব্যবহার করার মতো । এই অর্থসূচকটি সফ্টওয়্যারটিতেও প্রয়োগ করা যেতে পারে।

সফটওয়্যার enginesহ'ল ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলির চেয়ে বেশি যা নিষ্ক্রিয়ভাবে কাজ করে। সফ্টওয়্যার ইঞ্জিনগুলি ইনপুটগুলির উপর ভিত্তি করে তাদের নিজস্বভাবে কাজ করে, তারা প্যাসিভ হয় না এবং সাধারণত run loopতাদের নিজস্ব ভোল্টে প্রসেসিং করার নিজস্ব নিজস্ব থাকে।


3

আমার মতে এখন পর্যন্ত নিকটতম উত্তরটি বলেছিল যে এটি একটি বিপণনের জিনিস।

এই প্রসঙ্গে শব্দটির ব্যবহারটি কোথা থেকে এসেছে তা ভাবার চেষ্টা করি।

অবশ্যই গাড়ী বা জেট ইঞ্জিনগুলি সেভাবে বলা হয় না কারণ তারা ইনপুট নেয় এবং কিছু আউটপুট উত্পাদন করে। যদি তা হয় তবে কেবল ফাংশন নয়, জীবনের অনেকগুলি জিনিস ইঞ্জিন হবে।

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

ইঞ্জিনগুলি বিভিন্ন ধরণের শক্তি ব্যবহার করে এটিকে গতিতে পরিণত করে (অর্থাত্ একটি বিশেষ ধরণের শক্তি)।

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

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

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


1

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

প্রযুক্তিগতভাবে বলতে গেলে, এমনকি একটি গরুও এক ধরণের ইঞ্জিন। এটি ঘাস লাগে, এটি প্রক্রিয়া করে এবং দুধ সরবরাহ করে।

ভুলে যাবেন না যে ইঞ্জিন শব্দটি মেকানিকাল ইঞ্জিনিয়ারিংয়ে বেশি ব্যবহৃত হয় এবং এটি ঠিক একই রকম হয়।

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


5
"দুধ ইঞ্জিন" এর জন্য +1, আমি দই খাচ্ছিলাম এবং এটি পড়ার সময় এটিতে প্রায় দম বন্ধ হয়েছিল। ;)
হতাশ

5
আপনার সংজ্ঞা প্রতিটি ফাংশন একটি ইঞ্জিন করে তোলে।
back2dos

প্রতিটি ফাংশন তার ইনপুটগুলির ফাংশন নয়।
মাইকেল বার্গে

আমাকে একমত হতে হবে আপনার ব্যাখ্যাটি কিছুটা ঝাপসা এবং স্বেচ্ছাচারী মনে হচ্ছে।
ইয়াম মার্কোভিচ

1
প্রোগ্রামারও একটি ইঞ্জিন। এটি ইনপুটটিতে কফি নেয় এবং আউটপুট কোড দেয়।
এসএফ

1

আইএমএইচও, একটি ইঞ্জিন সাবসিস্টেম, মডিউল বা লাইব্রেরির জন্য কেবল অন্য একটি শব্দ। আইই - এক বা একাধিক উপাদান নিবিড়ভাবে নির্দিষ্ট উদ্দেশ্যে তৈরি করা হয়েছে।


2
ডাউনভোটার্স: দয়া করে বিস্তারিত বলুন। কোনও ইঞ্জিন (যেমন, কোয়াক ইঞ্জিন) একটি সাবসিস্টেম, একটি মডিউল বা একটি লাইব্রেরি স্পষ্টতই মিথ্যা নয়।
কেপলা

3
ইঞ্জিন সাধারণত সাবসিস্টেম হিসাবে প্রয়োগ করা হয়, এই শব্দটি সাধারণত "হুডের নীচে" সাবসিস্টেমের জন্য ব্যবহৃত হয়। এগুলি প্রতিশব্দ হিসাবে ব্যবহৃত হয় না।
এমআর

এই প্রশ্নের ভিত্তি হ'ল একটি ইঞ্জিন কেবল একটি সাবসিস্টেম নয়, এটি একটি বিশেষ ধরণের সাবসিস্টেম।
শেপার্ড

0

একটি ইঞ্জিন মূলত এমন একটি সফ্টওয়্যার যা কিছু তৈরি করতে বাড়ানো যায়।

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


0

আমার কাজটিতে এই শব্দটির অর্থ বোঝায় " XEngine.csসেই কোড ফাইলের অভ্যন্তরে একাধিক ক্লাস সহ বিন্যাসে একটি একক কোড ফাইল , যার সবগুলিতে স্থির পদ্ধতি ছাড়া কিছুই নেই"। আমি যতবার তাকিয়ে আছি ততবার ভিতরে কিছুটা ফেলে দিই; পাশাপাশি একটি ভিবি 6 মডিউল হতে পারে।

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

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