কীভাবে ব্যাখ্যা করবেন যে সমস্ত ওএসের জন্য সার্বজনীন ক্রস-প্ল্যাটফর্ম সি ++ কোড এবং শিপিং পণ্যগুলি লেখা এত সহজ নয়?


15

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

  • আমরা একটি লোভী কর্পোরেশন
  • আমাদের সমস্ত প্রযুক্তি বিশেষজ্ঞরা বুদ্ধিমান বোকা

আমাদের গড় পণ্য হ'ল সি ++ কোডের 3 মিলিয়ন লাইনের মতো।

আমার এবং আমার সহকর্মীদের বিশ্লেষণটি নিম্নলিখিত:

  • ক্রস প্ল্যাটফর্ম সি ++ কোড লেখা এত সহজ নয়
  • প্রচুর বিতরণ প্যাকেজ প্রস্তুত করা এবং লিনাক্সের সমস্ত বিস্তৃত সংস্করণগুলির জন্য এগুলি বজায় রাখতে সময় লাগে
  • আমাদের অনুমান যে লিনাক্সের বাজারটি সমস্ত ব্যবহারকারীর 5-15% এর মতো কিছু এবং সেই ব্যবহারকারীরা সম্ভবত আমাদের প্রচেষ্টার জন্য অর্থ দিতে চাইবেন না

এটি যখন প্রকাশিত হবে তখন আবার প্রতিক্রিয়াটি হ'ল আমরা লোভী বঞ্চিত বোকা এবং যখন সবকিছু ঠিকঠাক করা হয় তখন এগুলি সহজ এবং বেদাহীন।

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


3
WINE কে টার্গেট করে কেন এটি ঘোষণা করা হচ্ছে না?
বুটিলি

1
@ বাটলি: এটি ইতিমধ্যে WINE এ কাজ করে তবে WINE ঠিক নয় , আপনি দেখুন।
শার্পথুথ

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

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

3
নিন্দুকেরা নিন্দা করবেই. ফোরামগুলিতে হুইনারের একমাত্র প্রতিক্রিয়া হ'ল হয় (ক) এগুলি উপেক্ষা করুন, বা (খ) তাদের কাছে যেতে হবে এবং তাদের মুখের উপর বর্গক্ষেত্র করুন। (ক) সাধারণত অনেক বেশি ব্যবহারিক।
টম অ্যান্ডারসন

উত্তর:


8

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

আপনি ঠিক বলেছেন, অবশ্যই সেই স্কেলের এক্স-প্ল্যাটফর্ম সফ্টওয়্যার তৈরি করা কোনও সাধারণ বিষয় নয়। বিশেষত যখন আপনি এমন কোনও সংস্থা নন যেখানে বেশ কয়েক ডজন বিকাশকারী এবং মিলিয়ন ব্যবহারকারী রয়েছে। এবং এটি কেবল প্রযুক্তিগত সীমাবদ্ধতা নয়। এটি ব্যয় বেনিফিট সম্পর্কে সমস্ত। হ্যাঁ, আপনি পরের বছর লিনাক্সে অ্যাপ্লিকেশনটি পোর্ট করতে ব্যয় করতে পারেন (যদিও আপনি লক্ষ্য করেছেন যে এটি ইতিমধ্যে WINE তে চালানো সম্ভব)। অবশ্যই, বিকাশের সময়টি নিখরচায় আসে না। এবং শেষ পর্যন্ত, আপনি সম্ভবত নেট হবেঅতিরিক্ত 5-15% ব্যবহারকারী (আপনার অনুমানের ভিত্তিতে)। অথবা আপনি একই অর্থ / প্রচেষ্টা নিতে পারেন, এবং এটি একটি নতুন সংস্করণ হিসাবে আপনার উইন্ডোজ বিকাশে ফোকাস করতে পারেন, বা এগুলি সমস্ত বিপণনে রেখে দিতে পারেন এবং আপনার ব্যবহারকারীর ভিত্তিতে 50% যুক্ত করতে পারেন। স্মার্ট চয়েসের মতো কোন শব্দ? (স্পষ্টতই সংখ্যাগুলি আপনার সংস্থায় কাস্টমাইজ করা দরকার, এবং চূড়ান্ত ফলাফলটি পোর্টিংয়ের পক্ষে হতে পারে)।

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


16

এখানে দুটি বিষয় বিবেচনা করার জন্য আমার মনে হয়:

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

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

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

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


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

10

অ্যাডোব, তুমি?

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

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


প্রচুর সংস্থাগুলি কেবল বাইনারি বিতরণ করতে চায়, তাই .tar.gz পদ্ধতিটি সম্ভবত শেষ।
ডেভিড থর্নলি

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

5

ক্রস প্ল্যাটফর্ম সি ++ কোড লেখা এত সহজ নয়

পুরোপুরি বিপরীত. যখন আপনি ক্রস-প্ল্যাটফর্মের কাজের পরিকল্পনা করেন এবং আপনি যে প্ল্যাটফর্ম-নির্দিষ্ট API গুলি ব্যবহার করেন তার বিমূর্ততা সরবরাহ করেন, আপনার কোডের সিংহভাগ ইতিমধ্যে ক্রস প্ল্যাটফর্ম। আপনি যদি ইতিমধ্যে বুস্ট বা কিউটি বা এনএসপিআরের মতো জনপ্রিয় লাইব্রেরি ব্যবহার করেন তবে আপনি ইতিমধ্যে একটি কার্যক্রমে ক্রস প্ল্যাটফর্ম তৈরির খুব কাছাকাছি রয়েছেন।

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

সহজ উপায় হ'ল প্রায়শই কেবল একটি "ইউটিলিটি" শ্রেণি লেখা এবং আপনার প্ল্যাটফর্ম-নির্দিষ্ট স্টাফের ভিতরে টস করা। এটি "সহজ এবং বেদাহীন" নয়, তবে আপনি যা ভাবেন তার চেয়ে কম শক্ত।

প্রচুর বিতরণ প্যাকেজ প্রস্তুত করা এবং লিনাক্সের সমস্ত বিস্তৃত সংস্করণগুলির জন্য এগুলি বজায় রাখতে সময় লাগে

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

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

আমাদের অনুমান যে লিনাক্সের বাজারটি সমস্ত ব্যবহারকারীর 5-15% এর মতো কিছু এবং সেই ব্যবহারকারীরা সম্ভবত আমাদের প্রচেষ্টার জন্য অর্থ দিতে চাইবেন না

অন্য একটি দুর্ভাগ্যজনক এবং খুব ভুল ধারণা।

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

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


4

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


1

আপনি যদি এনভিডিয়া হয়ে কাজ করেন ...

Godশ্বরের ভালবাসার জন্য, এটি স্তন্যপান করুন এবং ইতিমধ্যে কিছু শালীন ড্রাইভার লিখুন।

অন্যথায়, আপনি যদি নিয়মিত ব্যবসায়িক অ্যাপ্লিকেশন করছেন, ভবিষ্যতে সি # তে চালানোর প্রকল্পগুলি লক্ষ্য করুন।

মনো .NET 3.5 অবধি পুরোপুরি অনুগত এবং উইনফর্ম জিওআই ব্যবহার করতে পারে। আপনার কেবলমাত্র মডিউলগুলির জন্য নজর রাখা দরকার ওএস নির্দিষ্ট সেগুলি তবে সেগুলি খুব কম এবং এর মধ্যে।

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