কেন জা # এর তুলনায় সি # এর আরও অনেক বৈশিষ্ট্য রয়েছে? [বন্ধ]


14

দয়া করে মনে রাখবেন এটি জাভা বনাম সি # আর্গুমেন্ট নয়। আমি কোন জাভা প্রোগ্রামার, কোনও সি # অভিজ্ঞতাবিহীন, কৌতূহলের বাইরে জিজ্ঞাসা করছি।

আমি সি # তে কিছু পঠন করেছি এবং মনে হচ্ছে এটি জাভার চেয়ে অনেক বেশি বৈশিষ্ট্যযুক্ত। উদাহরণ কয়েকটি:

  • অনুমান টাইপ করুন।
  • dynamic শব্দ।
  • প্রতিনিধিদের।
  • .চ্ছিক পরামিতি।
  • ল্যাম্বদা এবং লিনকিউ (এগুলি কী তা আসলে আমার কোনও ধারণা নেই)।
  • বৈশিষ্ট্য।

তবে জাভাতে আসলে সি # তে থাকা কোনও বৈশিষ্ট্য নেই।

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


2
@ পেট্রিক - এটি কি কোনও বৈশিষ্ট্য - বা বাস্তবায়নের বিশদ?
পিট

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

4
কারণ সি # পরে এসেছিল এবং প্রাথমিকভাবে জাভাটির একটি নির্মম চটি ছিল, এবং তারপরে যা কিছু ছিল তা সার্থক হিসাবে প্রমাণিত করার সুযোগ পেয়েছিল, যখন জাভা খুব কঠোরভাবে পিছিয়ে পড়া সামঞ্জস্যের লক্ষ্যে বাধা পেয়েছিল।
কিলিয়ান পাথ

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

4
@ কিলিয়ানফথ: আসলে, সি # প্রথমে জাফির মতো দেখতে আবার লিখেছিলেন ডেলফির ব্যাটান রিপ অফ was মাইক্রোসফ্ট এমনকি বেলল্যান্ড থেকে দূরে ডেলফি প্রকল্পের স্থপতিটিকে এটি তৈরির জন্য পোচ করেছে।
ম্যাসন হুইলারের

উত্তর:


22

বিভিন্ন কারণে:

  1. সি # জাভা এর পরে এসেছিল; সংস্করণ 1 জাভা 1.4 এর একটি অস্পষ্ট চাবিকাঠি ছিল, তাই এটি জাভা যে মুহূর্তে সবকিছু ছিল।
  2. কিন্তু তখন সি # জাভার চেয়ে অনেক দ্রুত বিকাশ লাভ করেছিল, কারণ এটি ছিল একটি আকর্ষণীয় নতুন প্ল্যাটফর্ম (এবং এতে টার্বো পাস্কেলের জনক আন্ডারস হিজলসবার্গে একেবারে উজ্জ্বল ড্রাইভার ছিলেন)। এটি তাদের জাভাতে থাকা সমস্ত ভুল এড়াতে সক্ষম করেছিল যা স্পষ্ট হয়ে উঠেছে, এবং জাভা চিকিত্সকরা তাদের যা ইচ্ছা করেছিলেন তা যুক্ত করে।
  3. এদিকে, জাভা খুব কঠোর পশ্চাদপটে সামঞ্জস্যতার লক্ষ্য এবং বিকাশের কিছুটা ধীর গতিতে বাধাগ্রস্ত হয়েছিল, কারণ এটি 95% নন-জেনিয়াসের স্ট্যান্ডার্ড, এন্টারপ্রাইজ, নির্ভরযোগ্য, অ-বিস্মিত সমাধান হিসাবে খ্যাতি অর্জনের জন্য মরিয়া চেষ্টা করেছিল প্রোগ্রামারদের। এতে তারা সফল হয়েছিল, সম্ভবত কিছুটা ভাল।

ফলস্বরূপ যে জাভা এখন একটি বৈশিষ্ট্য ব্যবধান একটি বিট আছে। ভবিষ্যতের জন্য এটির বিশাল পরিকল্পনা রয়েছে তবে যথারীতি এই ধরণের জিনিসটির সাথে পরিকল্পনার চেয়ে সবকিছু কিছুটা বেশি সময় নেয়।


7
আমি নিশ্চিত নই যে আমি এর সাথে একমত। আমি বলতে চাইছি এটি সত্য, তবে আমার সন্দেহ যে সূর্যের পতনের আশেপাশের রাজনীতির সাথে এর কারণটির আরও যোগ রয়েছে suspect জাভাতে মূলত 5+ বছর বা তার বেশি সময় ছিল যেখানে কোনও সংগঠন / নেতৃত্ব ছিল না - সুতরাং কোনও নতুন বৈশিষ্ট্য ছিল না।
টেলাস্টিন

7
সি # 1 এর মান ধরণের ছিল। জাভা এর কিছু কখনও হবে না। সুতরাং কেবল একটি "অস্পষ্ট রাইপ অফ" নয়।
ডেন

1
@ টেলাস্টিন - আমি মনে করি এটি এখানে একমাত্র সবচেয়ে গুরুত্বপূর্ণ কারণ। বিশেষত যখন আপনি "যোগ করেন এবং তারপরে আপনি ওরাকল দ্বারা অধিগ্রহণ করেন" সূর্য ধসের শেষে।
ওয়াইয়াট বার্নেট

7
@ ডেনের সাথে একমত আমি মনে করি সি # দ্রুত বিকাশের সবচেয়ে বড় কারণ (এবং সঠিক দিকে) অ্যান্ডারস হেলসবার্গের নেতৃত্ব। তিনি এবং তাঁর দল অন্যান্য ভাষাগুলির সেরা বৈশিষ্ট্য যুক্ত করেছেন এবং এগুলিকে সি # তে নির্বিঘ্নে সংহত করতে সক্ষম হয়েছেন। ফলাফলটি হ'ল সি # এর বিশৃঙ্খলা বা অগোছালো অনুভূতি ছাড়াই খুব ঝরঝরে ভাষার বৈশিষ্ট্য রয়েছে।
ডেভিড কার্কল্যান্ড

1
@ ওয়েসলিওয়াইজার - "ভবিষ্যতে হয়ত থাকতে পারে" এ আপগ্রেড করা হয়েছে।
ডেন

4

কিলিয়ান জবাবটি আমি যুক্ত করব যে জাভা এবং সি # এর মধ্যে একটি বড় পার্থক্য হ'ল সি # ডিজাইনাররা কেবল ভাষাই নয়, মানক আইডিইও নিয়ন্ত্রণ করে।

আইডিইগুলি যথাযথভাবে সমর্থন না করে তবে এক্সটেনশন পদ্ধতি এবং আংশিক শ্রেণীর মতো কিছু যুক্ত করা বিকাশ / নিয়ন্ত্রণ সংস্করণে দুঃস্বপ্ন হতে পারে।

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

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

আমাকে ভুল মনে করবেন না, আমি মনে করি সি # বেশ কয়েকটি উল্লেখযোগ্য উদ্ভাবন চালু করেছে এবং আমি আশা করি যে কোনও একদিন ওরাকল বড় মনিবেরা উঠে পড়বেন এবং এর মধ্যে কয়েকটি অন্তর্ভুক্ত করার জন্য একটি সত্য "জাভা 2" চালু করবেন, তবে এই ফাঁকটি আপনার মতো সুস্পষ্ট নয় প্রশ্ন পয়েন্ট।


2
একটি সাধারণ সম্পত্তির সংজ্ঞা (ডিক্লেয়ারেশন + গেট / সেট + হোয়াইট স্পেস) জন্য প্রয়োজনীয় নয়টি লাইন দ্রুত "কয়েক" এর চেয়ে বেশি যুক্ত হয়।
কেভিন ক্লিন

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

3
এগুলি লেখার সময় নয়। আপনি আকর্ষণীয় অংশগুলিতে যাওয়ার সময় বারবার এবং বার বার এগুলি পড়ার এবং উপেক্ষা করার সময়।
কেভিন ক্লাইন 21

@ কেভিঙ্কলাইন আমি সম্মত, এটি পরিমিত পাঠযোগ্যতা এবং কোডটি পরিষ্কার। এই কারণেই আমি ইভেন্টস এর মতো জিনিসগুলিকে গুরুত্ব দিয়ে থাকি, যা কেবলমাত্র একটি অন্তর্নির্মিত পর্যবেক্ষক প্যাটার্ন, তবে জিনিসগুলি খুব ক্লিনার থ্যাব তৈরি করে যদি আপনি নিজেই এগুলি লিখতে চান
আভিভ কোহান

@ অভিভকোহান জিনিসটি হ'ল "বিল্ট ইন" মূল অংশ। আপনি সমাবেশ গতিশীল প্রেরণ থাকতে পারে, আপনি সি উচ্চতর ক্রম ফাংশন থাকতে পারে, আপনি থাকতে পারে প্রতি একক ভাষা বৈশিষ্ট্য হল , যেহেতু কিছু সময়ে, এটা এখনও আপনার x86- CPU- র উপর সঞ্চালিত হয় স্পষ্টত - সম্ভব সমাবেশ হবে। আপনাকে সি # তে কমান্ড প্যাটার্নটি খুব কমই প্রয়োগ করা দরকার, কারণ আপনার প্রতিনিধি রয়েছে। পর্যবেক্ষক এবং ইভেন্টগুলি এবং আরও অনেকের সাথে একই। জাভাতে কিছু সময়ের জন্য বেনামে পদ্ধতি ছিল তবে আপনাকে পুরো বেনামি ধরণের তৈরি করতে হয়েছিল । এই সমস্ত জিনিস খুব ছোট, তবে তারা যোগ করে।
লুয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.