আমি আপনার সুস্পষ্ট ২ য় প্রশ্নের শেষে কেউ কাউকে মন্তব্য করতে দেখিনি: "2: ভিবি.এনইটি কেস কোনওভাবে কোড দিয়ে কী করতে পারে তা সীমাবদ্ধ রাখলে আমার পক্ষে # # তে যাওয়ার বিষয়টি বিবেচনা করা কি যথেষ্ট বাধ্য?"
আমি আরও বিকল্প পদ্ধতির পছন্দ করি যা সি # প্রোগ্রামারকে বিকল্পগুলি সীমাবদ্ধ করার চেয়ে প্রোগ্রামারকে নির্বাচন করতে দেয়। আমি সি # এর চেয়ে বেশি পছন্দ করি তবে একক ক্ষেত্রে সংবেদনশীলতার জন্য, আমি এটি ভাষা সংবেদনশীল বলেই ভাষা শেখার কাছাকাছি মনে করি না। সমস্ত বৈশিষ্ট্যগুলি কী তা গুরুত্বপূর্ণ এবং আমি যখন সি # এবং ভিবি.এনইটি উভয়ের সুবিধাগুলি দেখি তখন আমি সি # কে বেশি পছন্দ করি। তবে আমি আপনাকে সত্যিকারের ভারসাম্য দৃষ্টিকোণ দেব, পক্ষপাতিত হ্যাঁ, কারণ আমার একটা অগ্রাধিকার আছে তবে আমি সি # এর অসুবিধাগুলি সম্পর্কেও সৎ হয়ে উঠব।
প্রথমত, উভয় ভাষারই সুবিধা এবং অসুবিধা রয়েছে। যে ভাষাগুলি আপনি অন্য একটি ভাষায় করতে পারেন না যা অন্য ভাষায় করা যায় না তা হ্রাস পাচ্ছে, ধন্যবাদ, মাইক্রোসফ্ট উভয় ভাষার উন্নতি করছে এবং তারা উভয় ভাষার প্রতিই অন্যায় পক্ষপাতিত্ব দেখায় না বলে মনে হচ্ছে।
যখন সি # প্রথম প্রকাশিত হয়েছিল, তখন ভিবিতে এর এক্সএমএল মন্তব্য নেই যা আপনি পদ্ধতিগুলির আগে রাখতে পারেন, যা আমি সি # তে পছন্দ করি। আমি VB.NET এ এটিকে ঘৃণা করি। তবে আমি কয়েক বছর ধরে দেখেছি যে অনেকগুলি বৈশিষ্ট্য যা একটি ভাষায় নেই অন্য ভাষায় যুক্ত হয়। (এমএস বিকাশকারীদের একই দল সি # এবং ভিবি উভয়ই বিকাশ করে, তাই এটি উপলব্ধি করে যে বৈশিষ্ট্যগুলি একেবারে অনুরূপ হওয়া উচিত))
তবে আপনি জিজ্ঞাসা করেছেন যে সি # এর কী কী ভিবি নেই। এখানে কিছু আমি তাৎক্ষণিকভাবে ভাবতে পারি:
1: সি # আরও সংক্ষিপ্ত এবং টাইপিং কম লাগে .. অনেক উপায়ে! এমনকি বিপরীতে দাবি করা হলেও বোকামি কথা বলতে দেখেছি, যে ভিবি টাইপিং সংরক্ষণ করে। তবে দয়া করে সেই লোকদের কথা শুনুন যারা আপনাকে বলে যে তারা উভয় ভাষা ব্যবহার করে এবং এর দ্বারা খুব কমই ব্যবহৃত হয়। আমি উভয় সি # ব্যবহার করি এবংভিবি, সি ঘরে বাসায় কারণ আমি এটি পছন্দ করি (এবং যখন আমি সি # এর সাথে কাজ করি তখন) এবং আমার সাম্প্রতিক কাজের অনুরোধ যে আমি ভিবি ব্যবহার করি এবং সি # নয়। সুতরাং আমি এখন প্রায় নিয়মিত ভিবি ব্যবহার করতে চলেছি (এখন প্রায় 10 মাসের জন্য) তবে আমার ব্যক্তিগত সাক্ষ্যতে আমি সি # কে বেশি পছন্দ করি এবং প্রকৃত টাইপিংয়ের ক্ষেত্রে ভিবি যথেষ্ট বেশি টাইপিং করছে। যে উদাহরণটি আমি পড়েছি যেখানে কেউ সত্যই ভিবি আরও সংক্ষিপ্ত বলে বলার চেষ্টা করেছিল, তার সাথে একটি 'দীর্ঘ ... সাথে উদাহরণ' দিচ্ছিল, সুতরাং ভিবিতে, আপনি কেবল '.property' ব্যবহার করতে পারেন। এটি দাবি করে বোকামি যে ভিবি কম টাইপিং প্রয়োজন। কয়েকটি জিনিস রয়েছে (এবং কেবলমাত্র এই উদাহরণ নয়) যেখানে ভিবি সংক্ষিপ্ত হয়, তবে সি # আরও সংক্ষিপ্ত হলে বাস্তবিক অনুশীলনে আরও অনেকবার থাকে।
তবে আমি বিশ্বাস করি সবচেয়ে বড় কারণ সি # আরও সংক্ষিপ্ত, এটি ভিবি'র ক্রিয়াপদ "IF / THEN" বিবৃতি। যদি বিবৃতি সাধারণ হয়। সি # তে টাইপ করার মতো কোনও 'তো' শব্দ নেই! :) এছাড়াও সমস্ত 'শেষ ...' বিবৃতি টাইপ করে যা সি # তে সাধারণত একটি বন্ধনী বন্ধনী '}' হয়। আমি দেখেছি যে কিছু লোক VB.NET- এ আরও বেশি শব্দাবলম্বন করে বলে দাবি করে এটি ভিবি'র পক্ষে একটি সুবিধা, কারণ বেশ কয়েকটি বন্ধ ব্লক স্টেটমেন্ট / চিহ্নগুলি বাসা বাঁধতে পারে এবং একে অপরের পাশে অবিলম্বে শেষ হয়ে যেতে পারে, তবে আমি বেশ একমত নই। কোনও ব্যক্তি প্রায় সবসময় অন্য প্রোগ্রামারের তুলনায় সি # বা ভিবি উভয় ক্ষেত্রেই একটি প্রোগ্রাম আরও ভাল লিখতে পারেন কারণ পরবর্তী কোড রিভিশনটি আরও ভাল ডিজাইন করা যেতে পারে। এটি 'সি # তে বিভ্রান্তিমূলক অসংখ্য বন্ধনীগুলির ক্ষেত্রে প্রযোজ্য' প্লাস যদি নেস্টেড ব্লকগুলি একই রকম হয় তবে বেশ কয়েকটি নেস্টেড আইএফ এর মতো হয়ে থাকে তবে সিবি # তে যেমন ভিবি একই সমস্যা ভোগ করে। এটি ভিবিতে কোনও লাভ নয়। এই পরিস্থিতিটি স্পষ্টতই কেন আমি মন্তব্য করতে চাই কেন আমার সমাপনী প্রতীক বা সমাপনী বিবৃতি উভয় ভাষায় যায়। হ্যাঁ, এটি করণটি আরও কার্যকর, তবে উভয় ভাষায়ই আপনার কাছে পরিষ্কার হওয়ার বিকল্প রয়েছে যা রায় ভিত্তিক, পরিস্থিতিগত নির্দিষ্ট ক্ষেত্রে গুরুত্বপূর্ণ। আমি মনে করি কোডের স্পষ্টতা বেশ গুরুত্বপূর্ণ।
2: ভিবিতে মাল্টি-লাইন মন্তব্য নেই। আমি যখন ভিবির সাথে কাজ করেছি তখন আমার আপত্তি নেই। তারপরে আমি কয়েকটি সি-স্টাইলের ভাষায় গিয়েছিলাম। এখন আমি বেশিরভাগ কাজে VB.NET ব্যবহার করে ফিরে এসেছি এবং আমি সেগুলি মিস করছি। এটি কেবল এমন কিছু যা আপনাকে সুবিধাজনক মনে হয় এবং তারপরে হারাতে হয়। :(
3: ভিবি'র 'অ্যান্ডালসো' এবং 'ওরেলস' বরং সমস্ত টাইপ করতে বিরক্ত করছে যখন সি # এ কেবল'&& 'এবং' || 'হয়। আবার, কম টাইপিং। ভিবি এবং সি # উভয় ক্ষেত্রেই আমার কোডটিতে এটি বিরল নয়। কার্যকারিতার জন্য যদি কিছু হয় না তবে 'ওআর' বনাম 'অরেলস' কম্পিউটারের জন্য 'ওরিলস' দ্রুত ছাড়া কিছু যায় আসে না, সুতরাং যদি কোনও প্রোগ্রামার কেবল 'বা' এবং 'এবং' ভিবিতে ব্যবহার করে, তবে এটি এর জন্য কম অনুকূল কোড তৈরি করে কোড স্পষ্টতা পছন্দ করে এমন কেউ। 'অর' এর থেকে স্কিম করা 'বা' আরও সহজ।
4: সি # তে কোড বসানোর ক্ষেত্রে আরও নমনীয়তা। যখন কোনও লাইন দীর্ঘ হয় এবং আপনি পরের লাইনে এটি মোড়ানো করতে চান, আমি ভিবি.এনইটি'র আমার কোডটির 'নিয়ন্ত্রণ' পুনরায় সমন্বয় ঘৃণা করি। সি # এটি একটু চেষ্টা করে তবে আমি এটি সি # তে আরও দরকারী বলে মনে করি, যেখানে ভিবিতে এটি অনেক বেশি নিয়ন্ত্রণ করছে। তবে এটি ভিবি.এনইটি আইডিই বনাম সি # আইডিই ভাষাটির চেয়ে বেশি। তবে আমি জানি না আপনি আইডিই পার্থক্য ছাড়াই ভাষা বৈশিষ্ট্য উভয়ই বা বিশুদ্ধভাবে চান কিনা।
৫: আমি যেটি সত্যিই মিস করছি তা সি # তে কোডের একটি নতুন ব্লক তৈরি করছে, কোনও পদ্ধতিতে আমার অনেক কিছু ঘটতে পারে এবং আমি কোডের একটি খুব ছোট ব্লকে একটি ভেরিয়েবল ঘোষণা করতে চাই তবে সেই ব্লকের বাইরে যে ভেরিয়েবলটি ঘোষিত না করে তা করতে চাই না want পুরো পদ্ধতি। সি # তে আমরা '{' দিয়ে একটি নতুন ব্লক তৈরি করতে পারি এবং এটি '}' দিয়ে শেষ করতে পারি। ভিবিতে এর মতো কোনও বৈশিষ্ট্য নেই তবে এটি নিকটতম মিলটি একটি শর্তহীন 'যদি সত্য হয় তবে' এবং 'শেষ হলে' ব্লক। (2 অক্ষর সি # বনাম 18 অক্ষর VB.NET সমতুল্য নোট করুন ... আরও ভিবিতে টাইপ করুন))
6: স্ব বৃদ্ধি এবং হ্রাস অপারেটরদের: ++ এবং - হিসাবে myVariable++
বা ++myVariable
বা সমমানের হ্রাস সংস্করণ। এটা খুব কাজে আসে ... কখনও কখনও। আমি আসল কোডের একটি উদাহরণ দিচ্ছি যখন আমি সি # টি খুব মিস করি:
// C#:
while (txt.Length > x)
{
thisChar = txt[x];
if (charsAllowedWithoutLimit.Contains(thisChar)) { ++x; }
else if (allowLettersWithoutLimit && char.IsLetter(thisChar)) { ++x; }
else if ((x2 = charsAllowedWithLimit.IndexOf(thisChar)) >= 0)
{
++x; if (++usedCountA[x2] > charAllowedLimit[x2]) { break; }
}
else { break; }
}
' VB.NET:
While (txt.Length > x)
thisChar = txt(x)
If (charsAllowedWithoutLimit.Contains(thisChar)) Then
x += 1
ElseIf (allowLettersWithoutLimit AndAlso Char.IsLetter(thisChar)) Then
x += 1
Else
x2 = charsAllowedWithLimit.IndexOf(thisChar)
If (x2 >= 0) Then
x += 1
usedCountA(x2) += 1S
If usedCountA(x2) > charAllowedLimit(x2) Then Exit While
Else
Exit While
End If
End If
End While
এবং কেবল একটি খুব ভাল উদাহরণ দেওয়ার জন্য যেখানে সি # বিধি দেয়, এটি ব্যক্তিগতভাবে আমি সম্প্রতি লিখেছি এমন আরও কোড:
// C#
public static bool IsNotWithin(this Byte v, Byte v1, Byte v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this SByte v, SByte v1, SByte v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this Int16 v, Int16 v1, Int16 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this Int32 v, Int32 v1, Int32 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this Int64 v, Int64 v1, Int64 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this UInt16 v, UInt16 v1, UInt16 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this UInt32 v, UInt32 v1, UInt32 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this UInt64 v, UInt64 v1, UInt64 v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsNotWithin(this Decimal v, Decimal v1, Decimal v2) { return (v1 > v && v < v2) || (v2 < v && v > v1); }
public static bool IsWithin(this Byte v, Byte v1, Byte v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this SByte v, SByte v1, SByte v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this Int16 v, Int16 v1, Int16 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this Int32 v, Int32 v1, Int32 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this Int64 v, Int64 v1, Int64 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this UInt16 v, UInt16 v1, UInt16 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this UInt32 v, UInt32 v1, UInt32 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this UInt64 v, UInt64 v1, UInt64 v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
public static bool IsWithin(this Decimal v, Decimal v1, Decimal v2) { return (v1 <= v && v <= v2) || (v2 <= v && v <= v1); }
' And the VB equivalent is a mess! Here goes:
<Extension()>
Public Function IsNotWithin(v As Byte, value1 As Byte, value2 As Byte) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsNotWithin(v As SByte, value1 As SByte, value2 As SByte) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsNotWithin(v As Int16, value1 As Int16, value2 As Int16) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
' the % suffix means 'As Integer' in VB.
<Extension()>
Public Function IsNotWithin(v%, value1%, value2%) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
' the & suffix means 'As Long' in VB.
<Extension()>
Public Function IsNotWithin(v&, value1&, value2&) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsNotWithin(v As UInt16, value1 As UInt16, value2 As UInt16) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsNotWithin(v As UInt32, value1 As UInt32, value2 As UInt32) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsNotWithin(v As UInt64, value1 As UInt64, value2 As UInt64) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
' the @ suffix means 'As Decimal' in VB.
<Extension()>
Public Function IsNotWithin(v@, value1@, value2@) As Boolean
Return (value1 > v AndAlso v < value2) OrElse (value2 < v AndAlso v > value1)
End Function
<Extension()>
Public Function IsWithin(v As Byte, value1 As Byte, value2 As Byte) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
<Extension()>
Public Function IsWithin(v As SByte, value1 As SByte, value2 As SByte) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
<Extension()>
Public Function IsWithin(v As Int16, value1 As Int16, value2 As Int16) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
' the % suffix means 'As Integer' in VB.
<Extension()>
Public Function IsWithin(v%, value1%, value2%) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
' the & suffix means 'As Long' in VB.
<Extension()>
Public Function IsWithin(v&, value1&, value2&) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
<Extension()>
Public Function IsWithin(v As UInt16, value1 As UInt16, value2 As UInt16) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
<Extension()>
Public Function IsWithin(v As UInt32, value1 As UInt32, value2 As UInt32) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
<Extension()>
Public Function IsWithin(v As UInt64, value1 As UInt64, value2 As UInt64) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
' the @ suffix means 'As Decimal' in VB.
<Extension()>
Public Function IsWithin(v@, value1@, value2@) As Boolean
Return (value1 <= v AndAlso v <= value2) OrElse (value2 <= v AndAlso v <= value1)
End Function
সম্ভবত এটি সিউর আরও সংক্ষিপ্ততর প্রমাণ। তবে সমস্ত প্রোগ্রামার সংক্ষিপ্ততার মতো নয়। কেউ কেউ "যদি <বি তারপর ..." পড়তে পছন্দ করেন কারণ এটি তাদের মানুষের ভাষার চেয়ে বেশি স্বাভাবিক। এবং এটি ঠিক আছে। পছন্দগুলি ঠিক আছে। আমার জন্য, হাত প্রচেষ্টা একটি বিষয়কে আমি মূল্যবান বলে মনে করি এবং আমি মনে করি যে কেউ তাদের পছন্দসই চিহ্নগুলিতে চিন্তা করতে অভ্যস্ত হতে পারে, কারণ "যদি" এবং "তবে" একটি বর্ণমালার প্রতীক, এবং সি # এর "যদি (শর্ত) বিবৃতি;" বাক্য গঠনটিও প্রতীক। একটি অপরটির চেয়ে নন-প্রোগ্রামার সিনট্যাক্সের খুব কাছাকাছি is আমি সংক্ষিপ্ত এক পছন্দ।
আমি আরও মনে করি যে স্ট্রিং বিরক্তিকর নয় বরং ভেরিবির অক্ষরে অক্ষরের পরিবর্তে 'সি' ব্যবহার করা উচিত। আমি আরও অনেক কিছু দিয়ে সি # এর সংক্ষিপ্ততা পছন্দ করি। যখন কোনও পদ্ধতিতে অক্ষরটির আক্ষরিক প্রয়োজন হয়, আপনার একটি অক্ষরের দৈর্ঘ্য সহ স্ট্রিং নয় এমন অক্ষর সরবরাহ করা প্রয়োজন, তাই কখনও কখনও আপনি ":"c
সি # তে থাকা অবস্থায় ভিবিতে বাধ্য হতে বাধ্য হন ':'
। আমি মনে করি এটি নিট-বাছাই করছে।
পরিষ্কার করা, আমি সেখানে আমি পদ্ধতি কল পরে খালি প্রথম বন্ধনী করা, হচ্ছে না মত ভিবি করতে চান সুবিধা আছে বলবে Dim nameUpper$ = name.ToUpperInvariant
যেখানে C # এর খালি প্রথম বন্ধনী প্রয়োজন: string nameUpper = name.ToUpperInvariant()
। বা দ্বিগুণ যে এটিও ছাঁটাইয়ের মতো: Dim nameUpper$ = name.Trim.ToUpperInvariant
বনাম string nameUpper = name.Trim().ToUpperInvariant()
। আমি কীভাবে সবেমাত্র ব্যবহার করেছি তার ভিবি সংক্ষিপ্ত ব্যবহার পছন্দ করি like$
উপরে এটি 'এস্ট্র স্ট্রিং' ম্লান করার জন্য করেছি যেখানে সি # এর শর্টকাট নেই। স্ট্রিং, ইন্টিজার, লং, ডেসিমাল, সিঙ্গল এবং ডাবল টাইপের জন্য ভিবিতে সেই শর্টকাট রয়েছে তবে অসুবিধাটি হ'ল এটি কম স্পষ্ট, সুতরাং আমি এটি সাবধানতার সাথে ব্যবহার করি। তবে তবুও, আমি সংক্ষিপ্ত কোড পছন্দ করি।
ঠিক আছে, এটি এই পাকা প্রোগ্রামার থেকে কিছুটা থট, এবং আমি বিবেচনা করি, এটি আমার # ভি বনাম ভিবি'র প্রোগ্রামিং 'সাক্ষ্য'। আমার মতে উভয়ই ভাল ভাষা। তবে হ্যাঁ, আমি এখনও সি # তে বেশি পছন্দ করি।
PS যেহেতু আমি আমার জীবনের বেশিরভাগ প্রোগ্রামের পরিকল্পনা করি, তাই আমি এমনকি সবচেয়ে দক্ষ কীবোর্ডটি ব্যবহার করে টাইপ করতে শিখেছি: ডিভোরাক কীবোর্ড, যা কিওয়ার্টি কীবোর্ডের চেয়ে ইংরেজি টাইপ করতে প্রায় 1/3 প্রচেষ্টা লাগে। এটা দেখ. হতে পারে আপনি খুব স্যুইচ করতে চান। ;) এটি আমার টাইপিংকে 67% সহজ করে দিয়েছে! :) আমি কাউকে বাক্সের বাইরে চিন্তা করতে এবং আপনার কাজের আরও দক্ষতার মূল্যায়ন করতে উত্সাহিত করি। ডিভোরাক সরলীকৃত কীবোর্ড লেআউট এবং সি # আমার জন্য এটি করেছে done :)
পিএসএস আমি কিওয়ার্টি কীবোর্ড লেআউটের বিপরীতে ডিভোরাক এবং সি # মেট্রিকের সাথে এমিরিয়াল পরিমাপের সাথে তুলনা করব। ডিভোরাক, মেট্রিক এবং সি # কেবল 'পরিষ্কার'। BUT VB আসলে খুব বেশি পিছিয়ে নেই। তবে এটি 'ও' বনাম 'অরেলস', এবং 'আইআইএফ ()' এর মতো পুরানো ভিবি 6 কোড এবং প্রাক। নেট কোডের সাথে পশ্চাদপটে সামঞ্জস্য হওয়ার প্রয়োজন থেকে ভুগছে।
আমি একটি সাবধানতা দিয়ে শেষ। দয়া করে আরও বিচক্ষণ হোন যে লোকেরা সত্যই জানেন না যে তারা কী সম্পর্কে কথা বলছেন। ভিবি এবং সি # উভয়ের বিপরীতে সমস্ত কনস এর অর্ধেক নয়যে কোনও সমস্যা নেই এবং লোকেরা এখনও ভাষাতে এখনও কী অসুবিধাগুলি বিদ্যমান তা সম্পর্কে তাদের অজানা সম্পর্কে পোস্ট করে। আমি সবচেয়ে ভাল উদাহরণটি যা ভাবতে পারি তা হ'ল ভিবিতে ট্রিপল অ্যাডোস্ট্রোফ বা সি # তে ট্রিপল স্ল্যাশ মন্তব্য প্রতীক ব্যবহারের পদ্ধতির জন্য এক্সএমএল মন্তব্যগুলি। তবে দয়া করে নিজের জন্য বিবেচনা করুন যে কোনও ব্যক্তি অজ্ঞতা থেকে বা অভিজ্ঞতা থেকে কথা বলছেন কিনা। ব্যক্তিগত সাক্ষ্যদানের অর্থ তারা তাদের বাস্তব অভিজ্ঞতা থেকে জানে। এবং কারওর মধ্যে এটির প্রচুর অভিজ্ঞতা থাকার পরে, আপনার কানটি বন্ধ করে দিন। সি # এবং ভিবি উভয় ক্ষেত্রেই আমার 10 বছরেরও বেশি অভিজ্ঞতা রয়েছে। এবং এটি এটিকে ফোটায়: উভয়ই ভাল ভাষা। এবং সর্বাধিক পার্থক্যগুলি, আপনি পড়ার কোডের 5 মিনিটের মধ্যে অবিলম্বে দেখতে পাবেন। তবে হ্যাঁ, অন্যান্য বৈশিষ্ট্যগুলি প্রতিবন্ধকতা খুঁজে পেতে কয়েক বছর সময় নিতে পারে। এবং একটি প্রতিবন্ধী যা আমি সচেতন (সি # তে), আমি করতে পারি ' এমনকি এমন বাস্তব জীবনের পরিস্থিতি সম্পর্কেও ভাবুন না যেখানে এটি কার্যকর হবে। সুতরাং সম্ভবত এটি সব পরে একটি প্রতিবন্ধক না।
শুভ কোডিং!