প্রোগ্রামিংয়ে 'পোর্টিং' শব্দের ব্যবহার সম্পর্কে প্রশ্ন


11

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

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


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

উত্তর:


15

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

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

লোকেরা যখন বলে যে জাভা প্রোগ্রামগুলি আরও "পোর্টেবল" হয়, তার অর্থ তারা বিভিন্ন মেশিন এবং অপারেটিং সিস্টেমের সাথে সামঞ্জস্যপূর্ণ করতে কম অতিরিক্ত কাজ নেয়।


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

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

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

@ জেরি আমি 5 বছরের জন্য জে 2 এমই গেমগুলি প্রোগ্রাম করেছিলাম। যখন আমি শেষ করছিলাম, আমরা একটি গেমের ৮০ সংস্করণ করছিলাম - প্রতিটি প্ল্যাটফর্মের আলাদা পারফরম্যান্স, বাগগুলি ইত্যাদি রয়েছে সমাধান? তারা প্ল্যাটফর্মগুলির জন্য মান তৈরি করেনি, তারা J2ME অ্যাপ্লিকেশনগুলির জন্য স্ট্যান্ডার্ডাইজড টেস্টিং তৈরি করেছে। কখনও না.
সুলতান

2

এক অপারেটিং সিস্টেমের মধ্যে সফ্টওয়্যার পোর্ট করতে পারেন। প্রসেসরের আর্কিটেকচারের মধ্যে একটি সফ্টওয়্যার পোর্ট করতে পারে। বড় আকারের প্ল্যাটফর্মের পরিবর্তনগুলি (অ্যাপলের পিপিসি -> x86 সুইচ, বা উইন্ডোজ এক্সপি -> উইন্ডোজ ভিস্তা / 7/8) যখন আমি সাধারণত "পোর্টিং" এর সাথে যুক্ত থাকি সেগুলির কিছু কার্যক্রম সম্পাদনের প্রয়োজন হতে পারে। আমি প্রোগ্রামিং ভাষাগুলি স্যুইচিংকে "পোর্টিং" বলে বিবেচনা করব না। সম্পূর্ণ পুনরায় লেখার মতো like

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


0

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


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

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