আপনার ব্যবহৃত আইডিই থেকে সি # উন্নয়ন কার্যকরভাবে অবিচ্ছেদ্য?


41

আমি একজন পাইথন প্রোগ্রামার সি # শিখছি যিনি দুশ্চিন্তা বন্ধ করার চেষ্টা করছেন এবং সিটিকে অজস্র পাইথনের সাথে তুলনা না করে বরং এটি কেবল তার জন্যই ভালবাসুন।

আমি এক পর্যায়ে ধরা পড়েছি: জিনিসগুলি যেখানে সংজ্ঞায়িত করা হয়েছে সে সম্পর্কে স্পষ্ট সাক্ষীর অভাব, যা এই স্ট্যাক ওভারফ্লো প্রশ্নে বিস্তারিত রয়েছে । সংক্ষেপে: সি # তে, using fooকী কী নামগুলি পাওয়া যাচ্ছে fooসেগুলি আপনাকে জানায় না , যা from foo import *পাইথনের সাথে সাদৃশ্যপূর্ণ - এমন একটি রূপ যা পাইথনের কোডিং সংস্কৃতিতে আরও স্পষ্ট পদ্ধতির পরিবর্তে অন্তর্নিহিত হওয়ার জন্য নিরুৎসাহিত হয় from foo import bar

আমি বরং সি # প্রোগ্রামারদের এই পয়েন্টের স্ট্যাক ওভারফ্লো উত্তরগুলি দ্বারা হতবাক হয়ে গিয়েছিলাম, যা বাস্তবে এই স্পষ্টত সাক্ষীর অভাবটি কোনও বিষয় নয় কারণ আপনার আইডিইতে (সম্ভবত ভিজ্যুয়াল স্টুডিও) আপনি কেবল একটি নামের উপর ঝাঁকুনি দিয়ে বলতে পারেন এবং সিস্টেমটি যেখানে নামটি আসছে উদাহরণ:

এখন, তত্ত্বের মধ্যে আমি বুঝতে পেরেছি এর অর্থ যখন আপনি কোনও পাঠ্য সম্পাদকের সাথে সন্ধান করছেন তখন সি # তে প্রকারগুলি কোথা থেকে আসে তা আপনি বলতে পারবেন না ... তবে বাস্তবে, আমি এটি কোনও সমস্যা বলে মনে করি না। আপনি আসলে কত ঘন ঘন কোডটি দেখছেন এবং ভিজুয়াল স্টুডিও ব্যবহার করতে পারবেন না?

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

যা আমাকে এখানে আমার প্রশ্নের দিকে নিয়ে যায়: আপনি যে আইডিই ব্যবহার করেন সে থেকে সি # উন্নয়ন কার্যকরভাবে অবিচ্ছেদ্য?


7
পাইথন একটি গতিশীল ভাষা, সি # স্ট্যাটিকালি টাইপ করা (জাভা এর মতো), সুতরাং আপনার মধ্যে কোড কোড কীভাবে করা যায় তা খুব আলাদা।
ওবেদের

6
@Oded: using MyType = MyNamespace.MyType;?
pdr

4
পাইথনে এটি কী রকম তা আমি জানি না, তবে সি # তে আপনি সর্বদা global::সেখান থেকে শুরু করে কাজ শুরু করতে পারেন । usingএমন কিছু উপলভ্য করে না যা আগে ছিল না; এটি কেবল অ্যাক্সেসকে সহজ করে তোলে (যেমন কোনও নির্দিষ্ট শ্রেণি ব্যবহারের জন্য কম টাইপ করা প্রয়োজন)।
একটি সিভিএন

5
"অনেক পাইথন প্রোগ্রামার কোডাইজিংয়ের ক্ষেত্রে টেক্সট এডিটর পদ্ধতির পছন্দ করেন, সাব্লাইম টেক্সট 2 বা ভিএম এর মতো কিছু ব্যবহার করে, যেখানে কোড সম্পর্কিত সমস্ত কিছু রয়েছে, প্লাস কমান্ড লাইন সরঞ্জাম এবং ফোল্ডার এবং ফাইলগুলির সরাসরি অ্যাক্সেস এবং কারসাজি।" - যা আমার কাছে মারাত্মকভাবে অদক্ষ বলে মনে হচ্ছে। আইডিই হ'ল একটি সরঞ্জাম যা আপনাকে আরও উত্পাদনশীল হতে সহায়তা করে। নিশ্চিত যে আপনি হাতুড়ি এবং হাতের সাহায্যে একটি ঘর তৈরি করতে পারেন এবং গাছগুলি নিজেই কেটে ফেলতে পারেন, তবে আমি মনে করি আপনি কিছু পাওয়ার সরঞ্জাম এবং কিছু প্রাক-কাটা কাঠ কিনে এর চেয়ে আরও দ্রুত সময় কাটাতে চান।
অ্যান্ডি

2
@ অ্যান্ডি - আমি দেখতে পাচ্ছি এটি সেভাবে শোনাচ্ছে। তবে এই পাঠ্য সম্পাদকগুলি আসলে খুব শক্তিশালী, এক টন টুলিং এবং প্রোগ্রামার দক্ষতার বৈশিষ্ট্য সরবরাহ করে। আইডিই (এবং নির্দিষ্ট ভাষা / প্রোগ্রামিং সংস্কৃতিগুলির জন্য কম-বেশি উপযুক্ত হতে পারে) এর চেয়ে এই সরঞ্জামগুলি এবং বৈশিষ্ট্যগুলি পাওয়ার ও এটি ব্যবহারের একদম আলাদা উপায়।
ঘোপার 21

উত্তর:


26

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

অন্যদিকে, আপনি যে ভাষাটি শিখেন না কেন, শুরুতে কমান্ড লাইনটি ব্যবহার করার পরামর্শ দেওয়া হয়, যাতে এটি কীভাবে কাজ করে তা আপনি আরও ভাল করে বুঝতে পারবেন। সি # এটি ব্যতিক্রম নয়।

আপনার ব্যবহৃত আইডিই থেকে সি # উন্নয়ন কার্যকরভাবে অবিচ্ছেদ্য?

তাত্ত্বিকভাবে না, তবে ব্যবহারিকভাবে হ্যাঁ। পাঠ্য সম্পাদক এবং কমান্ড লাইন ব্যবহার করে সি # তে লেখা সম্ভব, তবে আপনার যদি ভিজ্যুয়াল স্টুডিও থাকে তবে আপনি এটি কখনও করবেন না। আসলে খুব কম প্রোগ্রামাররা কমান্ড লাইন থেকে সি # কোড কার্যকর করেছে।

বিটিডাব্লু যদি আপনি অসুবিধা বোধ করেন using fooতবে কোনও প্রকার ব্যবহার করার সময় আপনি পুরো পথটি ব্যবহার করতে পারেন।


9
শার্পডেلف এবং মনো-ডেভেলফ ভিজ্যুয়াল স্টুডিওর বিকল্প আইডিই।
ওডে

@ ওহে, আমি এগুলি কখনও ব্যবহার করি নি তবে একবার দেখার জন্য এটি আকর্ষণীয়। ধন্যবাদ))
সুপারম

ধন্যবাদ সুপারএম - আপনি কি ভিসুয়াল স্টুডিওকে এতটা অপরিহার্য করে তোলে এমন বৈশিষ্ট্যগুলির স্বাদ দিতে পারেন? আমি জানি এটা খুব ভাল কোড সমাপ্তি আছে, কিন্তু আর কি? এটি কি সি-এর জন্য গ্রহণের মতো কম-বেশি, নাকি সি # বিকাশকারীরা নির্ভর করে এটি সম্পর্কে আরও কিছু নির্দিষ্ট?
ঘোপার 21

2
@ ঘোপার 21: আমি প্রস্তাব দিচ্ছি যে এটি ইক্লিপিজের তুলনায় ইক্লিপিজের তুলনায় আরও তুলনীয় (বিশেষত যখন আপনি পুনঃশির্পণকারীকে অন্তর্ভুক্ত করবেন) ব্যতীত। NET বিশ্বে সম্প্রদায় প্লাগইনগুলি সাধারণত ভিজ্যুয়াল স্টুডিওর জন্য লেখা হয়।
pdr

5
+1: আমি একমত, আপনি নোটপ্যাড দিয়ে কমান্ড লাইনে কোড লিখতে পারলে, ভিএস বা শার্প ডেভলপমেন্টটি টেবিলে নিয়ে আসা সরঞ্জামটি উপেক্ষা করার জন্য আপনি বোকা হয়ে উঠবেন।
বাইনারি ওয়ারিয়ার

33

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

এটি আপনার কোড বোঝার কোনও প্রশ্ন নয় : পর্যাপ্ত সময় দেওয়ার পরে আপনি সর্বদা একটি বেসিক পাঠ্য সম্পাদক বা এমনকি একটি মুদ্রণ আওতায় সঠিক পরিবর্তনশীলটি সনাক্ত করতে পারেন। কোডটি যতদূর বোঝা যায়, আইডিই নির্ভরতা একেবারেই বিদ্যমান নেই।

আপনার রেফারেন্সগুলি দক্ষতার সাথে সন্ধান করা সম্পূর্ণ ভিন্ন বিষয়: আমি সি # এবং সি ++ উভয়ের জন্য ভিজুয়াল স্টুডিওতে ঘোষণার পয়েন্টগুলি যেমন পছন্দ করি ঠিক তেমনই আমি অ্যালিপসে জাভা ভেরিয়েবলের ব্যবহারগুলি সন্ধান করার ক্ষমতা পছন্দ করি। আমি নিজেই ঘোষণার পয়েন্টগুলি ম্যানুয়ালি খুঁজতে চেয়ে আমার কোডিংয়ে ব্যয় করতে পছন্দ করি। এটি গণিত করার মতোই: আমি এক টুকরো কাগজে মাল্টিডিজিট সংখ্যাগুলি গুণ করতে পারি তবে আমি নিজেকে এক বা দুই মিনিট বাঁচাতে ক্যালকুলেটর ব্যবহার করতে পছন্দ করি।

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

কৌশলগুলি আপনাকে সেই সমালোচনামূলক আকার বাড়াতে দেয় যেখানে আইডিই দরকারী হয়ে ওঠে। উদাহরণস্বরূপ, আপনি একটি নামকরণের কনভেনশন অনুসরণ করতে পারেন (হাঙ্গেরিয়ান নামগুলি কিছু সময় সি ++ বিশ্বে বড় ছিল, বিশেষত উইন্ডোজ অনুশীলনকারীদের মধ্যে)। আর একটি সাধারণ কৌশল হ'ল this.প্রসঙ্গ যেখানে এমন যোগ্যতার প্রয়োজন হয় না তার সাথেও যোগ্যতার উদাহরণের পরিবর্তনশীল ।

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


1
আমার সম্ভবত "দ্রুত কোড পড়ুন" বলা উচিত ছিল ... আমার কাছে একই উত্স ফাইলে সমস্ত তথ্যসূত্র না থাকা এবং পরিবর্তে those তথ্যসূত্রগুলি সনাক্ত করার জন্য সরঞ্জামগুলি ব্যবহার করা আমার পক্ষে একটি মানসিক পরিবর্তন।
ঘোপার 21

5
এমন নয় যে আমি thisআইডিসিঙ্ক্রেটিকালি ব্যবহার করতে বেছে নিতে পারি না - তবে কোডিং কোনও বিচ্ছিন্ন শিল্প নয় এবং আমি মনে করি কোনও কোডিং সংস্কৃতির নিয়মগুলি অনুসরণ করা (বা কমপক্ষে শুরু করা) - এটি পাইথনের সাথে "পাইথোনিক" হওয়া এবং সি # এর সাথে সমতুল্য "সি # উপায়" যাই হোক না কেন। এবং এখানে উত্তর এবং মন্তব্যগুলি থেকে এটি স্পষ্ট যে ভিজ্যুয়াল স্টুডিওর মতো একটি ভাল আইডিই ব্যবহার করা "সি # ওয়ে" (যদি এটি সঠিকভাবে রাখার সঠিক উপায় হয়) এর কেন্দ্রীয়।
ঘোপার 21

3
@ ঘোপার 21 আপনি যে বিষয়টি সি # দিয়ে চালিয়ে যাবেন তা হ'ল এটি নয় যে আপনি এটি আইডিই ছাড়া লিখতে পারবেন না, তবে সি # কোডের সিংহভাগ আইডিইতে লেখা হয়েছিল এবং সমস্ত বিকাশকারীরা সেই আইডিই ব্যবহার করে। ইন্টেলিজেন্সের সাথে মিলিত এই বাস্তবতা বিকাশকারীদের গুগল মেমরির জালে পড়ার কারণ হিসাবে অধ্যয়নগুলি হফিংটনপস্ট.কম / ২০১1 / ২০১/ / ১৫ সম্পর্কে কথা বলেছে "" গবেষণার ফলাফল অনুসারে, গুগলের বিশাল ওয়েব সূচীতে অ্যাক্সেস প্রাপ্ত লোকদের সম্ভাবনা কম থাকে যখন অনুরোধ করা হয়েছিল তখন একটি বাস্তবতার কথা স্মরণ করুন; তবে, তারা কোথায় এবং কীভাবে সেই সত্যটি অনলাইনে সনাক্ত করবেন তা তারা মনে রাখবেন "
জিমি হোফা

2
@ ঘোপার 21 আমি এই মেমরির ফাঁদটি খারাপ বলছি না , এটি বেশিরভাগের জন্য অত্যন্ত বর্ধনশীল উত্পাদনশীলতার উত্স, কারণ কেবলমাত্র দীর্ঘ দিনের স্মৃতিভুক্ত ব্যক্তিরা যখন তারা কাজ করেছিলেন পুরো এপিআই মুখস্থ করতে পারে তখন তারা সত্যই এটি সম্পর্কে অভিযোগ করে। আমি কেবল এটিকে নির্দেশ করছি কারণ এই সত্যটি সরাসরি আপনার # সি কোড এবং সি # বিকাশের শৈলী এবং সংস্কৃতি প্রভাবিত করে।
জিমি হোফা

1
আমি কখনই বায়োস / নিম্ন স্তরের ডস এপিআইতে পুরোপুরি নেমে যাইনি; তবে আমার প্রথম ভাষা / পরিবেশটি ছিল বোরল্যান্ড টার্বোপ্যাসাল; এবং আমি সম্ভবত ভাষা / স্ট্যান্ডার্ড লাইব্রেরির 90% এক পর্যায়ে মুখস্থ করেছিলাম। ওও সম্পর্কে কী ধারণা করা হয়েছিল তা নির্ধারণ করতে সম্পূর্ণ ব্যর্থতার সাথে সম্পর্কিত প্রাথমিক ব্যতিক্রমগুলি।
ড্যান নীলি

8

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

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

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

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

শক্তিশালী আইডিই ছাড়াই সি # বিকাশ করা (ভিএস এর মতো) আপনার হাতে ইতিমধ্যে পেরেকের শীর্ষ স্থান থাকলে হাতে নখের হাতুড়ি দেওয়ার মতো - আপনার এটি করার প্রয়োজন এমন অদ্ভুত সময় থাকতে পারে, তবে পেশাদাররা কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করে ।

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

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

অনেক প্রোগ্রামার যারা কোডিংয়ের জন্য একটি পাঠ্য সম্পাদকের পছন্দ পছন্দ করেন তারা স্ট্যাটিকালি টাইপ করা ভাষাগুলি (যেমন সি # এবং জাভা) থেকে তেমন লাভ করেন না এবং তারা পাইথন এবং জাভাস্ক্রিপ্টের মতো গতিশীলদের কাছে লেগে থাকলে আরও ভাল হতে পারে।

আমি মনে করি:

  • ডায়নামিক ভাষাগুলি হালকা ওজনের সরঞ্জামগুলিতে মামলা করে (হেভিওয়েট আইডিই এখানে কম সুবিধা দেয়)
  • স্ট্যাটিক ভাষাগুলি শক্তিশালী আইডিইগুলিতে মামলা করে (সরঞ্জামগুলি নমনীয়তার মূল্যে কোডটির সাথে সহায়তা করতে পারে)

বিপরীত উক্তির জন্য +1।
fbmd

5

আপনার প্রশ্নের উত্তর দেওয়ার জন্য: যদিও এটি ধীরে ধীরে পরিবর্তিত হচ্ছে, মাইক্রোসফ্ট বিকাশের পরিবেশটি মূলত একচেটিয়া হয়েছে

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


যাইহোক, এটি যুক্তিযুক্ত হতে পারে যে পাইথন হ'ল নিজস্ব একরঙাও, যা কোডিং শৈলীতে ও পদ্ধতির ক্ষেত্রে "পাইথোনিক" হিসাবে বিবেচিত এবং তার কাজ করার একটি স্পষ্ট সঠিক উপায় থাকার ভাষার মূল নকশার নীতিকে দৃ strong়ভাবে অনুসরণ করে। আমি মনে করি এই অর্থে প্রোগ্রামিং একচেটিয়াগুলি খুব ভাল হতে পারে, কারণ এটি একটি সুসংগত সম্প্রদায় এবং ভাগ করার যোগ্য কোড তৈরি করে। এটি ঠিক (খুব খারাপ? এবং / বা আমার মনকে প্রসারিত করার সুযোগ?) যে পাইথন এবং সি # সংস্কৃতি এতই আলাদা ... আলাদা!
ঘোপার 21

2
@ ঘোপার 21 এটি পাইথন সম্পর্কে খুব ভাল বিষয়। আমি মনে করি এমএস এর সংস্করণ "এটির একটি একক, সুস্পষ্ট উপায় হওয়া উচিত" আইডিইয়ের পছন্দ পর্যন্ত প্রসারিত :)
ড্যানিয়েল বি

4

একটির জন্য, সি # পাইথন নয় .. বিভিন্ন ডিজাইনের পদ্ধতি রয়েছে।

এখন, আপনার প্রশ্নের উত্তর দিতে, আপনার পাইথন-এস্কু বিবৃতি ব্যবহার করে ব্যবহার করা সম্পূর্ণভাবে সম্ভব।

using FooBar=MyName.Foo.FooBar; 

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

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


4

কেউ এখানে নীচে পড়তে বিরক্ত করে ??

আমি সংক্ষেপে বলেছি যে ব্যাপকভাবে জটিল IDE কার্যকারিতা অপরিহার্য এবং এটি কোনও দিন পরাক্রমী VimNess এর জেনে রূপান্তরিত হবে (হওয়া উচিত) ....

আমাদের সফ্টওয়্যারটি প্রায় 2M LOC এর 129 টি প্রকল্প। .NET কাঠামোর বিশালতায় যুক্ত করুন এবং এগুলি দিয়ে আমি যা বলতে পারি তা হ'ল আইডিই গুরুত্বপূর্ণ, এই থ্রেডের প্রশ্নের প্রেরণাগুলি ছাড়িয়ে।

কোড বেস মধ্যে অন্তর্দৃষ্টি

সময়কাল। আমরা যে ধরণের বৈশিষ্ট্যের কথা বলছি তা আপনি জানেন; আমি যে ধরণের কোড বেস ব্যবহার করি তার সাথে তার সুবিধাটি অপরিহার্য এবং অপরিহার্য হয়ে ওঠে except

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

তবে এমনকি এই স্মার্টনেসটিও অনেক সময়। আমি প্রায়শই পুরাতন "ফাইলগুলিতে সন্ধান করুন" পাঠ্য সন্ধান ব্যবহার করি।

কোডিং সহায়তা

এখানেই আমি "যথেষ্ট!" কাঁদছি। বেশিরভাগ অস্পষ্টভাবে এক ডজন রঙের একটি স্ক্রিন পূর্ণ কল্পনা করুন, কিছু নির্দিষ্ট পরিবর্তনশীল যত্রতত্র হাইলাইট হয়েছে, ব্রেসটি হ'ল অস্পষ্টর বিষয়টিকে হতাশ করে, সর্বত্র স্কাইগলি আন্ডারলাইনিং কারণ "এটি" আমাকে সাহিত্যের কোড নয়, রশার্পার প্রসঙ্গে মেনুগুলির আইকন লিখতে চায় (আপনি কেবল এটিতে ক্লিক করুন! তারপরে বেশিরভাগ সময় তা উপেক্ষা করুন), একটি স্বাক্ষর সাহায্যের পর্দা অনুভূমিকভাবে স্ক্রিনের 2/3 বিস্তৃতভাবে উল্লম্বভাবে বেশ কয়েকটি ওভারলোডগুলি প্রদর্শন করবে, একটি পপআপ যেখানে আপনি সবেমাত্র মাউস কার্সারটি রেখে গেছেন ... আমি এমনকি আমি কোডটির & ^!% লাইন * গুলি * দেখতে পাচ্ছি না!

Vis.Stud। সংক্ষিপ্ততা পুনরুদ্ধারের জন্য একটি হেরে যাওয়া লড়াইয়ে আমি কোডিংয়ে ফোকাস করতে এবং সেটিংয়ের কয়েকশ (যদি আপনি প্রতিটি রঙিন কোডিং সেটিং এবং সেই সমস্ত প্লাগইনগুলি গণনা করেন) এর মধ্য দিয়ে যেতে না পারেন, তবে তাকে ন্যূনতমতা গ্রহণ করতে হবে। একটি " পেরেটো " কী দুর্দান্ত হবে।


1
সত্যই এখানে আপনার চিন্তার প্রশংসা করেছেন, যেমন আপনি মনে করেন যে আইডিই এবং "সাব্লাইম ভাইমনেস" উভয় জিনিসের ক্ষেত্রেই "সত্যই" পেয়েছেন। আপনারা এখানে যা বলবেন আমি তার সাথে আছি। এখানে আশা করা যায় এটি কার্যকর হবে।
ঘোপার 21

3

আপনার ব্যবহৃত আইডিই থেকে সি # উন্নয়ন কার্যকরভাবে অবিচ্ছেদ্য?

অবশ্যই না. আপনি কেন পুরো নামস্থানটি আমদানি করবেন না? ইন্টিগ্রেটেড আইডিই বা টেক্সট এডিটর ব্যবহারের পছন্দটির সাথে কোনও সম্পর্ক নেই। পুরো নামস্থানটি আমদানি করা কোড পড়া বা এটি ব্যবহার করা আরও কঠিন করে না।

মনে রাখবেন, সি # একটি টাইপিত ভাষা। আপনি যদি একই ক্লাসের বেশ কয়েকটি নেমস্পেসগুলি আমদানি করেন তবে আপনি একটি সংকলন ত্রুটি পাবেন।

আমি ব্যক্তিগতভাবে প্রকারের ঘোষণাগুলি কোনওভাবেই ব্যবহার করি না। পরিবর্তে আমি varএখানে যে কারণগুলি বর্ণনা করেছি তার পরিবর্তে আমি কীওয়ার্ডটি ব্যবহার করি: http://blog.gauffin.org/2012/08/to-var-or-not-to-var-is-tally-really-the-question/


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

ক্লাসটি কোথা থেকে এসেছে তা আপনি যদি না জানেন তবে সম্ভবত এটি কীভাবে কাজ করছে তা জানার জন্য এটি কোনওভাবেই সন্ধান করতে হবে। গুগল msdn <classname>করুন এবং প্রথম লিঙ্কে ক্লিক করুন। সেখানে আপনি নামস্থানও পাবেন।
jgauffin

এই পদ্ধতির সংস্কৃতিগত পার্থক্য উদাহরণ। পাইথন প্রোগ্রামাররা গুগল স্টাফ করেন না - অবশ্যই তারা করেন - এটি সম্পর্কে চিন্তা করার উপায়টি ভিন্ন।
ঘোপার 21

একটি পৃথক নোটে, সি # তে ভ্যারাইটিসটি সুন্দর সিনট্যাটিক চিনি / সংকলক শর্টকাট যা আমি কোডটি কম ভার্বোস এবং পুনরাবৃত্তি করার জন্য পছন্দ করি। কেবল ইচ্ছুক আপনি কেবল এটি অভ্যন্তরীণ পদ্ধতি নয়, সর্বত্র এটি ব্যবহার করতে পারেন।
ঘোপার 21

@ ঘোপার 21: হ্যাঁ, আমি জানি। আমার বক্তব্যটি হ'ল গুগল সূচকগুলি এমএসডিএনকে বেশ ভালভাবে দেয় এবং আপনি সরাসরি ডকুমেন্টেশনটি পেয়ে যাবেন। অতএব আপনার সত্যিকারের পুরো পথটি অন্তর্ভুক্ত করে আপনি ব্যবহার করেন এমন প্রতিটি শ্রেণীর দলিল করার দরকার নেই।
jgauffin

1

আমার বোঝাপড়াটি ছিল পাইথনে, "সবকিছুই সর্বজনীন" বা তার প্রভাবের জন্য কিছু। সি # তে, মডিউল ডিজাইনার সিদ্ধান্ত নেয় কোনটি সর্বজনীন এবং কোনটি নয়, তাই আপনি যখন কোনও কাজ করেন importআপনি কেবল সর্বজনীন এপিআই যেভাবেই পাবেন। আপনি যে পার্থক্য বর্ণনা করছেন তার কারণ এটি হতে পারে।


পাইথন এবং সি # এর মধ্যে এটি অবশ্যই একটি বড় পার্থক্য, তবে আমদানিতে কেন এই ধরনের স্পষ্টবিজ্ঞানের অভাব রয়েছে তা আমাকে বুঝতে সত্যিই সহায়তা করে না। @ পিবিআর তার মন্তব্যে যেমন উল্লেখ করেছেন, জাভা (যার মধ্যে পাবলিক / বেসরকারী পার্থক্য রয়েছে) সুস্পষ্ট আমদানির জন্য সাংস্কৃতিক পছন্দগুলিতে পাইথনের অনুরূপ।
ঘোপার 21

5
@ ঘোপার 21 - জাভা (এবং উদাহরণস্বরূপ সি ++) এর সুস্পষ্ট আমদানি পছন্দ করার একমাত্র কারণ হ'ল নাম সংঘর্ষ রোধ করা। সি #, আমদানি / টাইপ উপনাম মাধ্যমে এই সমস্যা মোকাবেলা করতে তারা ভাল হাতল যেহেতু আপনি আসলে নকশা সিদ্ধান্ত আছে আপনার সোর্স cluttering boilerplate, আমদানি একটি গুচ্ছ হচ্ছে না সুবিধার পাশাপাশি একটি নাম সংঘর্ষের।
টেলাস্টিন

1

আপনার ব্যবহৃত আইডিই থেকে সি # উন্নয়ন কার্যকরভাবে অবিচ্ছেদ্য?

আমার আগের চাকরিতে আমি বেশিরভাগ সি #, জাভাস্ক্রিপ্ট, পাওয়ারশেল, পার্ল, সি ++ এর মতো ভাষাগুলিতে কোড ভিম ব্যবহার করতাম এবং বেশ কয়েকজন বিকাশকারী একই জাতীয় কিছু করতেন। প্রকল্পটি ভিজ্যুয়াল স্টুডিওর জন্য খুব বড় ছিল।

এটি বলেছে যে, বেশিরভাগ সি # বিকাশকারী অনেক ছোট প্রকল্পের সাথে ডিল করেন এবং ভিএস ব্যবহার করতে বেশ খুশি are


0

এটি সি # বিকাশের একটি আকর্ষণীয় দৃশ্য। আপনি যদি আইডিই সম্পর্কে জিজ্ঞাসা করছেন তবে আপনি যা জিজ্ঞাসা করছেন তা সি # ছাড়িয়ে গেছে।

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

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

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

আছে HTH।


"এগুলি 'ব্যবহার' এবং 'আমদানি' বিবৃতি হ'ল মানব পাঠযোগ্যতার সহায়তা করার জন্য। - হ্যাঁ, এটি এখানে কাজের মূল দার্শনিক পার্থক্য। পাঠ্য স্তরে পাঠযোগ্যতা হ'ল পাইথন ডিজাইনের মূল নীতিটি key সি # এর কঠোর প্রয়োজন হয় না, তবে কার্যত ভিএসএসের মতো "পড়ার যোগ্য" হওয়ার মতো একটি ভাল আইডিইয়ের উপর নির্ভর করুন। ঘটনাচক্রে, পাইথনের "আমদানি" সিডিতে "ব্যবহারের" থেকে পৃথক, পাঠযোগ্যতার চেয়ে বেশি more
ঘোপার 21

0

আমি মনে করি historতিহাসিকভাবে উত্তরটি অনেক বেশি, হ্যাঁ - সি # বিকাশ অর্জন করা এবং ভিজ্যুয়াল স্টুডিও, জামারিন, বা শার্পডেভলের বাইরের যে কোনও ক্ষেত্রে কার্যকরভাবে চালানো খুব অপ্রিয় অভিজ্ঞতা ছিল।

তবে সম্প্রতি প্রচুর প্রকল্প উদ্ভূত হয়েছে যা এটিকে সহজ করে তোলে যেমন:

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

ইওমান এএসপি.নেট এমভিসি জেনারেটর , একটি নতুন এমভিসি প্রকল্প বুটস্ট্র্যাপ করতে সহায়তা করে (সম্ভবত অন্যান্য জেনারেটর উপস্থিত রয়েছে)।

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

পেকেটের এই অর্থটি রয়েছে যে আপনার উত্স কোডটি এটির সাথে মানিয়ে নিতে হবে - সুতরাং আপনি যদি কোনও দলে একক সদস্য হিসাবে বসে থাকেন এবং কোডিংয়ের জন্য কোনও পাঠ্য সম্পাদক ব্যবহার করতে চান এবং অন্য প্রত্যেকে ভিজ্যুয়াল স্টুডিও ব্যবহার করেন, আপনাকে সবাইকে বোঝাতে হবে অন্যথায় আপনার প্রয়োজনের সাথে সমাধানটি মানিয়ে নিতে :(

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


-1

আর না:

http://www.omnisharp.net/

ওমনিশর্প ওপেন সোর্স প্রকল্পগুলির একটি পরিবার, যার প্রতিটি লক্ষ্য রয়েছে - আপনার পছন্দের সম্পাদকটিতে দুর্দান্ত। নেট বিকাশ সক্ষম করতে enable

ক্রস প্ল্যাটফর্ম। নেট বলা মজাদার। তবে ভিজ্যুয়াল স্টুডিও এবং উইন্ডোজ ছাড়াই কারও পক্ষে নেট তৈরি করা যুক্তিসঙ্গত?

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

আমি এটি সাবাইম 3 এবং অসক্স দিয়ে পরীক্ষা করেছি

আরও নমুনা

http://blog.jonathanchannon.com/2014/11/12/csharp-first-class-citizen-sublime-text/


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