ในพอดคาสต์ 73โจเอลสปอลสกี้และเจฟฟ์แอทวู้ดพูดคุยกันในหมู่เรื่องอื่น ๆ "ห้าสิ่งที่ทุกคนควรเกลียดเกี่ยวกับภาษาโปรแกรมที่พวกเขาโปรดปราน":
หากคุณพอใจกับห่วงโซ่เครื่องมือปัจจุบันของคุณคุณก็ไม่จำเป็นต้องเปลี่ยน อย่างไรก็ตามหากคุณไม่สามารถเขียนห้าสิ่งที่คุณเกลียดเกี่ยวกับภาษาการเขียนโปรแกรมที่คุณชื่นชอบฉันก็เถียงว่าคุณยังไม่รู้ดีพอที่จะตัดสิน มันเป็นเรื่องดีที่จะตระหนักถึงทางเลือกและมีสุขภาพที่ดีสำหรับทุกสิ่งที่คุณใช้
ฉันถามคำถามนี้กับผู้สมัครที่ฉันสัมภาษณ์ ไม่มีใครสามารถอ้างอย่างน้อยสิ่งหนึ่งที่พวกเขาเกลียดเกี่ยวกับ C # ¹
ทำไม? คำถามนี้ยากมากขนาดไหน เป็นเพราะบริบทเครียดของการสัมภาษณ์ว่าคำถามนี้เป็นไปไม่ได้ที่จะตอบโดยผู้ให้สัมภาษณ์?
มีคำถามเกี่ยวกับคำถามนี้ซึ่งทำให้แย่สำหรับการสัมภาษณ์หรือไม่?
เห็นได้ชัดว่ามันไม่ได้หมายความว่า C # นั้นสมบูรณ์แบบ ฉันมีรายการห้าสิ่งที่ฉันเกลียดเกี่ยวกับ C #:
การขาดจำนวนตัวแปรชนิดใน generics (คล้ายกับ
params
อาร์กิวเมนต์)
Action<T>
,
Action<T1, T2>
,
Action<T1, T2, T3>
,
⁞ อย่างจริงจัง ?!
Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
การขาดการสนับสนุนหน่วยวัดเช่นใน F #
การขาดคุณสมบัติอ่านอย่างเดียว การเขียน
private readonly
เขตข้อมูลสำรองทุกครั้งที่ฉันต้องการให้คุณสมบัติอ่านอย่างเดียวน่าเบื่อการขาดคุณสมบัติที่มีค่าเริ่มต้น และใช่ฉันรู้ว่าฉันสามารถเริ่มต้นพวกเขาใน Constructor แบบไม่มีพารามิเตอร์และเรียกมันจาก Constructor อื่น ๆ ทั้งหมด แต่ฉันไม่ต้องการ
หลายมรดก ใช่มันทำให้เกิดความสับสนและคุณไม่จำเป็นต้องใช้มันในกรณีส่วนใหญ่ มันยังคงมีประโยชน์ในบางกรณี (หายากมาก) และความสับสนก็มีผลเช่นกัน (และแก้ไขใน C #) กับคลาสที่รับส่วนต่อประสานหลายอันซึ่งมีเมธอดที่มีชื่อเดียวกัน
ฉันค่อนข้างแน่ใจว่ารายการนี้ยังไม่เสร็จสมบูรณ์และมีจุดที่น่าสนใจอีกมากและโดยเฉพาะอย่างยิ่งดีกว่าของฉัน
people คนไม่กี่คนวิพากษ์วิจารณ์การชุมนุมบางอย่างใน. NET Framework หรือขาดห้องสมุดบางอย่างในกรอบหรือวิพากษ์วิจารณ์ CLR นี้ไม่นับเนื่องจากคำถามเกี่ยวกับภาษาของตัวเองและในขณะที่ฉันอาจยอมรับคำตอบเกี่ยวกับสิ่งที่เป็นลบในแกนกลางของ. NET Framework (ตัวอย่างเช่นสิ่งที่ดูเหมือนว่าไม่มีอินเทอร์เฟซทั่วไปสำหรับTryParse
ดังนั้นหาก คุณต้องการที่จะแยกสตริงเป็นหลายประเภทคุณต้องทำซ้ำตัวเองสำหรับทุกประเภท) คำตอบเกี่ยวกับ JSON หรือ WCF นอกหัวข้อทั้งหมด
Why the question “give five things you hate about C#” is so difficult to answer
เนื่องจากเป็นคำถามรายการและ mod ชั่วร้ายจะปิดเป็น "ไม่สร้างสรรค์" ก่อนที่คุณจะได้รับโอกาสตอบ ... ; P