คำถามที่ว่า C # หรือ Java นั้นล้ำหน้ากว่ากันหรือไม่สำหรับการอภิปราย แต่แทนที่จะมุ่งเน้นไปที่คุณสมบัติทางภาษาของสิ่งใดสิ่งหนึ่งหรืออีกอย่างหนึ่งฉันอยากจะเน้นไปที่สิ่งที่เกี่ยวข้องกับการพัฒนาภาษา ความจริงก็คือฉันไม่คิดว่าใครจะเถียงกับ: Java เก่ากว่า C #
ปัญหาเกี่ยวกับการเปลี่ยนวิธีการทำงานของภาษา:
- หากคุณทำลายความเข้ากันได้ย้อนหลังคุณจะโกรธนักพัฒนาจำนวนมาก
- หากคุณฉี่นักพัฒนาของพวกเขาพวกเขาย้ายไปยังภาษาอื่นที่สนับสนุนพวกเขาดีกว่า ดังนั้นไม่มีเหตุผลที่จะทำงานกับภาษาต่อไป
- Java ได้ทำการตัดสินใจในการออกแบบ แต่เนิ่นๆด้วยแรงกดดันที่จะทำให้ภาษาออกสู่ตลาด ความหวังคือการย้อนกลับไปเติมในช่องว่างบางส่วน การตัดสินใจเหล่านั้นยังคงทำให้เกิดภัยพิบัติทางภาษาเพราะผู้ดูแลไม่ต้องการละเมิดจุดแรก
- Java ทำให้ดินแดนใหม่เป็นจำนวนมากและพิสูจน์แล้วว่าภาษาที่รวบรวมขยะสามารถนำมาใช้อย่างจริงจังและทำได้ดีพอสำหรับคนส่วนใหญ่
- C # เข้ามาในภายหลังและเรียนรู้บทเรียนมากมายที่ Java สะดุด - ดังนั้นพวกเขาจึงสามารถหลีกเลี่ยงข้อ จำกัด ทางเทคนิคบางประการที่ Java มีเนื่องจากจุด 3
- คุณสมบัติภาษาใหม่ต้องแก้ปัญหาจริงอย่างสมเหตุสมผล คุณสมบัติบางอย่างของภาษานั้นไม่สมเหตุสมผลในบริบทของภาษาที่คุณพยายามจะเพิ่มเข้าไป นี่คือเหตุผลว่าทำไมแม้จะมีความคล้ายคลึงกัน Java และ C # จะยังคงเป็นภาษาที่แตกต่างกัน
ดังนั้น C # มีคุณสมบัติภาษามากกว่า Java หรือไม่ ฉันคิดอย่างนั้น พวกเขามีประโยชน์หรือไม่ ฉันคิดอย่างนั้น นั่นหมายความว่า C # ดีกว่าหรือโตกว่า Java หรือเปล่า ที่ฉันไม่เห็นด้วย พวกเขาแตกต่างกันธรรมดาและเรียบง่าย Java จะไม่มีคุณสมบัติทั้งหมดของ C # เนื่องจาก C # จะไม่มีคุณสมบัติทั้งหมดของ Java
หนึ่งในคุณสมบัติของ Java ความสามารถในการเขียนโปรแกรมบน Windows และปรับใช้บน Unix หรือ Mac จะไม่เกิดขึ้นโดยตรงโดยการสนับสนุนของ Microsoft คุณถามทำไม? ไม่ใช่เพราะ Microsoft เป็นสิ่งชั่วร้าย (ไม่ว่าจะเป็นจริงหรือไม่ฉันไม่สนใจจริงๆ) เป็นเพราะพวกเขาเรียนรู้บทเรียนที่ Sun ไม่เคยทำ: เขียนครั้งเดียวทำงานได้ทุกที่ที่มีระบบปฏิบัติการและฮาร์ดแวร์ หากคุณสนใจที่จะทำเงินจากการขายระบบปฏิบัติการของคุณคุณไม่ต้องการทำให้มันสลับไปมาเล็กน้อยและยังมีแอปพลิเคชันทำงานอยู่ หากคุณทำเช่นนั้นคุณจะไม่สามารถทำกำไรได้จากระบบปฏิบัติการเพราะมีตัวเลือกที่ถูกกว่าเสมอ