سؤال المقابلة حول أوجه التشابه/الاختلاف في C# وVB.net [مغلق]

StackOverflow https://stackoverflow.com/questions/14775

  •  08-06-2019
  •  | 
  •  

سؤال

لقد عملت كمطور VB.net منذ عدة سنوات ولكني أتقدم حاليًا بطلبات إلى عدد قليل من الشركات التي تستخدم C#.لقد قيل لي أن إحدى الشركات على الأقل لا تريد مطوري VB.net.

لقد كنت أبحث عبر الإنترنت محاولًا العثور على اختلافات حقيقية بين الاثنين وطلبت من موقع crackoverflow.الاختلافات الرئيسية الوحيدة هي بعض الاختلافات في بناء الجملة والتي تعتبر تافهة بالنسبة لي لأنني أيضًا مطور Java.

ما هو الرد الجيد على أحد القائمين على المقابلة عندما يخبرني أنهم يبحثون عن مطور C# - أو أسئلة مماثلة؟

هل كانت مفيدة؟

المحلول

لقد اضطررت إلى إجراء مقابلات مع أشخاص لشغل عدد قليل من وظائف C#، وهذه هي نصيحتي العامة لمطوري VB.Net الذين يجرون مقابلات للحصول على منصب C#:

  • تأكد من أنك كنت تستخدم VB.Net.يبدو هذا واضحًا ولكنه ليس كذلك على ما يبدو (في تجربتي).
  • حاول تقديم نموذج التعليمات البرمجية، إن أمكن.لقد رأيت بعض VB.Net (و C#) الرهيبة التي كتبها مبرمجو VB الذين يبدو أنهم لم يتعلموا الكثير أثناء الانتقال إلى .Net.
  • كن قادرًا على الكتابة بلغة C# أثناء المقابلة، إذا طلب منك ذلك.أعلم أنه لا توجد اختلافات حقيقية كثيرة بين الاثنين، لكنني لا أريد أن أدفع لك مقابل تعلم بناء الجملة الجديد.

لسؤالك المحدد:لقد طرحت هذا النوع من الأسئلة من قبل وما أردت أن أسمع عنه هو كيف كان النظام الأساسي وإطار العمل متماثلين.إذا كان ذلك ممكنًا، تحدث عن جمع البيانات المهملة، وIDisposable، والنهائيات، ومخاطر كتل التعليمات البرمجية غير الآمنة، والمكدس مقابل الكومة، وما إلى ذلك.كل أنواع الأشياء لإظهار أنك تفهم حقًا تعقيدات إطار عمل .Net.سواء كان ذلك صحيحًا أم خطأ، فإن تراث VB يجلب معه توقعًا لعدم فهم البرمجة ذات المستوى الأدنى والنوافذ بشكل عام (وهو أمر مثير للسخرية، حيث أن مطور C++ سيكون لديه مطور C# ...وما إلى ذلك وهلم جرا).

وأخيرًا، فإن كيفية تأطير تجربتك يمكن أن تحدث فرقًا كبيرًا.إذا وضعت نفسك كمطور .Net، بدلاً من VB.Net أو C#، فقد لا يدخل المزاح الغبي والديني الزائف في المحادثة.يتطلب هذا بالطبع أن تكون على دراية بكل من VB.Net وC# في وقت المقابلة، ولكن هذه سياسة جيدة بغض النظر.

حقيقة الأمر هي أنه إذا وجدت أن الشخص الذي يجري المقابلة معك يستبعدك لمجرد أنك كنت تعمل سابقًا على التطوير في VB.Net، فمن المحتمل ألا يكون هذا هو المكان الذي ترغب في العمل فيه على أي حال.

نصائح أخرى

بعض الاختلافات (التي هي أكثر جوهرية من النحوية) التي تلفت انتباهي بشكل مناسب في بعض الأحيان:

  • ليس لدى VB.NET مفوضون مجهولون
  • كتل التعليمات البرمجية غير الآمنة ليست في VB.NET

أنا أحب لغة C# حتى الموت، لكني أحسد المعلمات الاختيارية لـ VB.NET.أتمتة المكاتب في C# مؤلمة جدًا جدًا.

أعتقد أن الحقيقة ستظهر في هذا:

أنا مطور برامج، وبناء جملة اللغة هو الجزء الأخير من اللغز.من خلال توظيفي، ستحصل على شخص يتمتع بخبرة واضحة في حل المشكلات والمنطق.لدي خبرة في بيئة .NET وCLR ومكدس Windows المرتبط، بما في ذلك SQL وWindows server.لا أعرف بناء جملة C#، لكنني معتاد على النهج الموجه للكائنات، ولن أواجه أي مشكلة في الوصول إلى السرعة الكاملة في النقاط الدقيقة في بناء الجملة في غضون أسبوعين.يمكنك أن ترى من هذه الأمثلة على الكود الخاص بي أنني مطور ذو خبرة، وأؤكد لك أن الانتقال سيكون سلسًا.لقد بدأت بالفعل في تعلم اللغة، ولم أواجه أي مشاكل حتى الآن.

@DAC - يتمتع VB الآن (في ‎.net3.5) بدعم لامداس:

Function(x) x.ToString()

في إحدى المقابلات، أود أن أقول إن فهم CLR وما يفعله الكود حقًا هو المهم، وأنك سعيد بالبرمجة في أي منهما (على افتراض أنك كذلك).

أنا أيضًا متخصص في C# حتى الموت ولكن الاختلافات لا تقتصر على بناء الجملة.هناك أماكن يفوز فيها VB

  1. المعلمات الاختيارية
  2. ملزمة متأخرة

قد يكون العمل مع COM من C# أمرًا محبطًا للغاية.(وهذا لا يعني مستحيل!)

بصدق؟إذا كنت أحد مطوري Java أيضًا، فسأقوم بذلك.بشكل عام، يترك مطور Java الذي يتمتع ببعض الخبرة في .NET انطباعًا أفضل من مطور VB الذي يتمتع بخبرة في Java.إذا كان بإمكانك الإجابة على الأسئلة المتعلقة بالفرق بين .NET وJava، فيجب أن تكون في حالة جيدة.

أنصحك أيضًا بتعلم بناء جملة C# في أسرع وقت ممكن.إذا كنت من ذوي الخبرة في التعامل مع VB وJava، فلن يستغرق الأمر وقتًا طويلاً.

يواجه الكثير من المطورين مشكلات مع VB والأشخاص الذين يستخدمونه.سواء كان ذلك صحيحًا أم لا، فسيتعين عليك التعامل مع هذا الواقع.

كلاهما VB أو C# يختلفان في بناء الجملة فقط ولكن إذا كنت تطبق طريقة المنطق فهي نفسها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top