সি # আসলে একটি বহুমুখী ভাষা?


20

সি # (এবং সাধারণভাবে নেট প্ল্যাটফর্ম) দেখে মনে হচ্ছে এটি মাল্টি-টার্গেটিং অ্যাপ্লিকেশনগুলির পক্ষে একটি ভাল বিকল্প হয়ে উঠেছে:

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

  • এর অর্থ কি এই যে সি # সর্বাধিক জনপ্রিয় প্ল্যাটফর্মগুলি: ডেস্কটপ, ওয়েব এবং মোবাইলকে লক্ষ্য করার জন্য একটি ভাল ভাষা হয়ে উঠছে?

  • লক্ষ্য প্ল্যাটফর্মগুলির (স্থানীয় সি, জাভা ইত্যাদি) "স্থানীয়" ভাষা ব্যবহার করা কি আরও ভাল Is
  • এটি কি কেবল ধোঁয়ার পর্দা এবং কেবল বিপণনের ভাষা?

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

[সম্পাদনা] আমি এমন একটি সংস্থায় এসি # বিকাশকারী যা প্রচুর পরিমাণে সি # ব্যবহার করে। সে কারণেই আমি আমার সংস্থায় লক্ষ্য প্ল্যাটফর্মের পরিধি বাড়ানোর পরিকল্পনায় সি # এর কথা বলেছি।

উত্তর:


12

হ্যাঁ, সাধারণভাবে, .NET ফ্রেমওয়ার্ক অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত যা ডিভাইসের বিস্তৃত পরিসীমা লক্ষ্য করে। তবে এটি নেট। এর কাছে অনন্য নয়; জাভা যে অনেক আগে ছিল। মনে রাখা জিনিসটি হ'ল কোনও নির্দিষ্ট প্ল্যাটফর্মের জন্য নেটিভ সরঞ্জামগুলির সত্যিকারের বিকল্প নেই ।

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

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

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

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


9
".NET দিয়ে আপনি যে ম্যাক অ্যাপ্লিকেশনগুলি তৈরি করেন তা কখনই দেশীয় ম্যাক ওএস এক্স অ্যাপ্লিকেশনগুলির মতো দেখাবে না ..."। আমি আপনাকে মনোম্যাকের সাথে পরিচয় করিয়ে দেব: mono-project.com/MonoMac

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

7
@ কোডি গ্রে: মনোম্যাক স্থানীয় দেখায় এবং কাজ করে কারণ এটি কোনও ক্রস প্ল্যাটফর্মের এপিআই নয়, তবে এর পরিবর্তে মূলত অন্তর্নিহিত কোকো এপিআইকে মোড়ানো। এটি স্থানীয় দেখায় এবং কাজ করে কারণ এটি স্থানীয়।

1
@ কোডি গ্রে: মোনোম্যাক হ'ল ম্যাকের কাছে মোনো টাচ আইওএসের কাছে। আপনি নেটিভ অ্যাপ্লিকেশন লিখতে পারেন, আপনি কেবল ওবজে-সি এর পরিবর্তে সি # ব্যবহার করেন। এটি "উইনফর্মগুলি বা জিটিকে ম্যাকের উপরে ভাল দেখাচ্ছে" নয়।

2
কেবল উপরের কথোপকথনটি সম্পর্কে চিপ-ইন করতে চেয়েছিলাম যেহেতু আমি এমন একটি সিস্টেম তৈরির ঠিক মাঝখানে আছি যা আইপ্যাড এবং উইন্ডোজ ফোন, এএসপি.নেট এমভিসি 3 এবং এনটি সার্ভিসেস একটি রোবোটিক্স নিয়ন্ত্রণ ব্যবস্থার সাথে ইন্টারফেস করছে। উপরের দিকে কোডি উল্লিখিত হিসাবে মনো, মনোোড্রয়েড, মনো টাচ ইত্যাদি হ'ল সি # তে কোড লেখার একটি উপায় যা আপনাকে সি # এর পাওয়ার এবং NET ফ্রেমওয়ার্ক (লিনক সহ) ব্যবহার করার সুযোগ দেয় যদিও আপনার অবিচ্ছিন্ন অ্যাক্সেস উপভোগ করে নির্বাচিত প্ল্যাটফর্মের "নেটিভ" এপিআই এর ... যদিও বেশিরভাগ নেটিভ সি / সি ++ / ওবিজেসি কোডের অন্তর্নিহিত অনেকগুলি মেমরি পরিচালনার সমস্যাগুলি এড়ানো হয়।
রিচার্ড টার্নার

6

মাইক্রোসফ্ট .NET হ'ল সরকারী সিএলআর, ডিএলআর, বিসিএল, সিএলআই এবং সিএলএস বাস্তবায়ন। অন্যান্য সংস্থাগুলি, গোষ্ঠীগুলি, সম্প্রদায়গুলি বা ওয়ার্কগ্রুপগুলি মাইক্রোসফ্টের সাথে এমনভাবে যুক্ত নয় যেগুলিতে সর্বশেষ ফ্রেমওয়ার্ক এবং ভাষার সংস্করণটির 1: 1 প্রয়োগ করা যেতে পারে।

মূলত, কোন কংক্রিট প্রকল্পে আপনি কোন ভাষা এবং কাঠামোর বৈশিষ্ট্যগুলি উপকার করতে চান তা পর্যালোচনা করতে হবে এবং চেক করে নিন যে এগুলি বেসরকারী। নেট বাস্তবায়নে উপস্থিত রয়েছে কিনা।

আপনি যদি একবার সংকলন সমাধানের আশা এবং সর্বত্র বিতরণ করেন, আপনি ভুল: আপনার কেস স্টাডি করা দরকার।


এটি অনেক টিএলএর এস!
তমলিন

@ তমলিন হ্যাঁ হাাহাহাহা
মাতাস ফিডেমাইজার

এখন যে .NET এর অনেক কিছুই ওপেন সোর্স, জিনিসগুলি পরিবর্তিত হয়েছে ....
ইয়ান

@ ইয়ান শিওর .......
ম্যাটাস ফিডেমাইজার

2

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


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