Java กับ Linux คืออะไร. NET กับ Windows หรือไม่ [ปิด]


14

Java กลายเป็นมาตรฐานอย่างแท้จริงจากการพัฒนาแอพพลิเคชั่น Linux ด้วยวิธีเดียวกัน. NET เป็นมาตรฐานสำหรับการพัฒนาแอพพลิเคชั่น Windows หรือไม่? ถ้าไม่ใช่เพราะอะไร


Linux ท้าทายมาตรฐานในหลาย ๆ ด้านเพราะเป็นชุมชนที่มีความหลากหลาย โดยส่วนตัวแล้วฉันเป็นผู้สนับสนุนใหญ่ของ mono ด้วย c # ส่วนใหญ่เป็นเพราะฉันรู้สึกสะดวกสบายกับ ide monodevelop (ใกล้กับ visual studio) มากกว่า eclipse ซึ่ง ive มักซุ่มซ่ามเป็นพิเศษ
Morgan Herlocker

17
สิ่งนี้มาจากไหน ฉันแทบจะไม่เคยเห็นแอพพลิเคชั่น Java ใน Linux เลย
tcrosley

"การพัฒนาแอปพลิเคชัน" เป็นคำศัพท์ที่กว้างมากคุณสามารถเจาะจงคำถามของคุณได้มากกว่านี้หรือไม่?
MattDavey

คำตอบ:


31

ในระยะสั้น: ไม่

ขึ้นอยู่กับแอพพลิเคชั่นที่คุณกำลังเขียน สำหรับหลาย ๆ คำตอบก็ยังคงเป็น C / C ++ เก่า (ถ้าทำให้พูดการพัฒนา Qt หรือ GTK + GUI) การพัฒนา GTK + หลายคนอาจใช้ Python + PyGTK หากทำการพัฒนาเว็บหรือบริการเว็บคุณจะเห็น Ruby, Python, PHP และ Java มากมาย


6
เพิ่งจะเพิ่มว่าแอพ Gnome จำนวนมากถูกสร้างขึ้นใน C # โดยใช้ Mono คิดว่า F-Spot และ Tomboy Notes สำหรับทั้งสองที่ปรากฏในใจก่อน
Tarka

1
@Slokun: และ Banshsee ( banshee.fm )
Pete

5
ฉันเห็นงูหลามจำนวนมากใน
ดิสทริบิวเตอร์ของ Ubuntu

1
จดหมาย Evolution ยังไม่ได้เขียนด้วย Mono หรือไม่
Nodey The Node Guy

@StevenElliottJr ไม่มันไม่ใช่ มิเกลตัดสินใจทำงานกับโมโนหลังจากประสบการณ์ของเขาเกี่ยวกับวิวัฒนาการ ความหวังของเขาคือการทำให้แอปพลิเคชันการเขียนเช่น Evolution ง่ายขึ้น Evo ยังคงเขียนเป็นภาษา C เป็นหลัก (อาจมีปลั๊กอินในหลายภาษา)
Pete

10

ฉันไม่เห็น Linux ที่มีแพลตฟอร์มการพัฒนา 'มาตรฐาน' เพราะหนึ่งในความแตกต่างที่สำคัญกับ 'ระบบนิเวศ' ของ Microsoft คือนั่นไม่ใช่แพลตฟอร์มผู้ขายรายเดียว

.NET เป็นแพลตฟอร์มมาตรฐานบน Windows เท่านั้นเนื่องจากสร้างโดย บริษัท เดียวกับที่สร้างระบบปฏิบัติการ


1
ฉันจะไม่บอกว่าเป็นเหตุผลเดียว - มันเป็นเรื่องเกี่ยวกับความจริงที่ว่า. NET 2.0 รับประกันว่าจะติดตั้งบนเครื่อง Windows ใด ๆ - หากแพลตฟอร์มของบุคคลที่สามที่ทรงพลังเท่าเทียมกันมีส่วนแบ่งตลาดเท่ากันมันจะเป็นคู่แข่ง
MattDavey

3

แม้ว่าคำตอบอาจดูเหมือนใช่สำหรับผู้ใช้ทั่วไป แต่ก็ไม่ได้เป็นการเปรียบเทียบที่ดีนัก มีภาษาคอมพิวเตอร์ต่าง ๆ มากมายที่สามารถทำงานภายใต้ Linux และ Windows ในความเป็นจริงภาษาต่าง ๆ . NET (เช่น C #) สามารถทำงานภายใต้ Linux โดยใช้ Mono นอกจากนี้ยังมีโปรแกรมมากมายที่เขียนขึ้นใน Java ที่ทำงานได้ดีภายใต้ Windows

การเปรียบเทียบที่ดีกว่าอาจเป็น Java คือ Java Run Time Engine เนื่องจาก C # เป็น. Net Framework


2

ไม่จริงแม้ว่ามันอาจจะควร (จากมุมมองของการทำให้เดสก์ทอป Linux ประสบความสำเร็จ)

ในขณะที่คุณสามารถใช้ Java บน Linux เป็นแพลตฟอร์มในลักษณะเดียวกันกับ. Net บน Windows มีความแตกต่างกันสองประการ:

  • .Net เชื่อมโยงกับแพลตฟอร์ม Windows เป็นหลัก แต่ Java สามารถพกพาได้ในทุกแพลตฟอร์ม ดังนั้น Java ไม่ใช่ "ดั้งเดิม" สำหรับ Linux
  • แพลตฟอร์ม Linux นั้นมีความหลากหลายมากขึ้นโดยมีชุมชน (บางคนอาจพูดว่ากระจัดกระจาย) รอบ ๆ ภาษาโปรแกรมและชุดเครื่องมือที่แตกต่างกัน มีคนหลาม, คน C ++, คน C, คน Perl ฯลฯ

จากทั้งหมดที่กล่าวมาฉันคิดว่าความล้มเหลวของชุมชน Linux ในการใช้งาน Java บนเดสก์ท็อปอย่างถูกต้องเป็นสาเหตุหลักที่ทำให้ Linux ไม่ประสบความสำเร็จในพื้นที่เดสก์ทอป Java และระบบนิเวศของไลบรารี / เครื่องมือขนาดใหญ่เป็นแพลตฟอร์มโอเพ่นซอร์สเดียวที่สามารถแข่งขันและชนะด้วย. Net เพื่อการพัฒนาแอพพลิเคชั่นอเนกประสงค์ และถ้าหากมีคนพัฒนาแอพพลิเคชั่น Java (ซึ่งสามารถทำงานได้เหมือนกันบน Windows และ Linux) การผูกขาดเดสก์ทอปของ Microsoft จะลดลงอย่างมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.