ต้องการเริ่มการพัฒนาสำหรับ Ubuntu (และ Linux ส่วนใหญ่โดยทั่วไป) ซึ่งเหมาะสมหรือไม่ Python หรือ Vala [ปิด]


14

ฉันสำเร็จการศึกษาด้านวิทยาศาสตร์คอมพิวเตอร์และเรียนรู้ภาษาเช่น C, C ++, C # และ Java แม้ว่าฉันจะมีประสบการณ์มากขึ้นกับ Java ฉันต้องการพัฒนาสำหรับ Linux และฉันต้องการพัฒนาสำหรับ GNOME ฉันสับสนระหว่างการเลือกจาก Python และ Vala

หลังจากอ่านเอกสารบางอย่างเกี่ยวกับ Vala ในหน้า GNOME Live ดูเหมือนว่าฉันคุ้นเคยกับ Python มากกว่าซึ่งค่อนข้างแตกต่างทางไวยากรณ์เมื่อเทียบกับภาษาส่วนใหญ่ที่ฉันได้เรียนรู้ในระหว่างที่เรียนจบ ในขณะที่การเรียนรู้โค้งใน Vala ดูเหมือนฉันเล็ก ดังนั้นฉันควรเลือกภาษาใดเพื่อเริ่มพัฒนาซึ่งได้รับการสนับสนุนที่ดีขึ้นในการกระจายความหลากหลาย IDE ที่แนะนำสำหรับภาษาที่แนะนำจะได้รับการชื่นชม

ขอบคุณ


1
ไม่มีสิ่งใดในหัวข้อนี้แนะนำ: คุณควรเรียนรู้ Python เพราะมันแตกต่างจากสิ่งที่คุณรู้แล้ว มันจะทำให้คุณมีวิธีคิดที่แตกต่างจากสิ่งที่คุณได้เรียนรู้เมื่อการเขียนโปรแกรมการมอบหมายชั้นเรียนเป็นภาษา C เหมือนกันโดยเฉพาะ นอกจากนี้ไวยากรณ์ที่ไม่ได้เป็นที่ที่แตกต่างกัน ลองแทนที่{ด้วย:แล้วลบ}รหัส Java บางอันออกและอาจเริ่มดูเหมือน Python มากขึ้น
Ryan C. Thompson

คำตอบ:


18

นอกเหนือจากข้อโต้แย้งเก่า ๆ เกี่ยวกับภาษาการเขียนโปรแกรมที่ดีกว่าซึ่งฉันจะไม่เข้าร่วม (แม้ว่า Python จะเป็นสิ่งที่ยิ่งใหญ่ที่สุดนับตั้งแต่ขนมปังหั่นบาง ๆ ) ฉันก็บอกว่าทั้งคู่มีความเหมาะสมที่จะเขียนแอปสำหรับเดสก์ท็อป Gnome

PyGTK ที่ผูกหลาม GTK ได้ถูกนำมาใช้ในการสร้างการใช้งานเช่นPiTiVi , น้ำท่วม , emesene , Exaile , JokosherและWingIDE

ฉันไม่พบรายการแอปพลิเคชันที่เขียนใน Vala (แม้ว่าฉันรู้เกี่ยวกับShotwell ) แต่เนื่องจากได้รับการออกแบบมาเป็นอย่างมากสำหรับภาษา Gnome destkop คุณจึงมั่นใจได้ว่าคุณจะไม่ผิดหวังกับการรวม GTK / GObject

ลองทั้งคู่และใช้สิ่งที่คุณชอบที่สุด เป็นเครื่องมือที่ยอดเยี่ยมในการสร้างแอพพลิเคชั่น GTK นอกจากนี้คุณยังอาจต้องการที่จะดูที่รหัสวาลาบางและรหัสบางหลาม


6

ฉันแนะนำ Vala ดูเหมือนว่าคุณจะชอบภาษาเชิงวัตถุและ Vala นั้นเป็นแบบเชิงวัตถุโดยการออกแบบ Python มีความสามารถของ OOP ด้วย แต่ก็ไม่ได้รวมอยู่ในส่วนอื่น ๆ นั่นคือเหตุผลที่ทับทิมถูกสร้างขึ้น

Python นั้นง่ายต่อการเรียนรู้และใช้งาน แต่เป็นภาษาดั้งเดิมที่มีตรรกะและปรัชญาของมันเอง ฉันคิดว่า Vala จะเรียนรู้กับคุณง่ายกว่าเพราะมันคล้ายกับ C # และ Java

ตัวเลือกยังขึ้นอยู่กับแอพที่คุณจะเขียน Python นั้นดีสำหรับการเขียนสคริปต์และการสร้างต้นแบบอย่างรวดเร็ว แต่การเชื่อม GTK นั้นแย่และช้ามาก ภาษานั้นช้ากว่า C ประมาณ 40 เท่าในมาตรฐานต่างๆ ในทางกลับกัน Vala เป็นตัวประมวลผลล่วงหน้า C ดังนั้นโปรแกรมที่เขียนในโปรแกรมจะทำงานเร็วมากและได้รับการออกแบบให้ใช้ใน GNOME


1
'ยากจน' เกี่ยวกับการผูก GTK สำหรับ Python อย่างไร นอกจากนี้ฉันไม่คิดว่าทับทิมถูกสร้างขึ้นเป็นปฏิกิริยาต่อ Python! นอกจากนั้นฉันเห็นด้วยกับคำตอบของคุณ
dv3500ea

แน่นอนว่าภาษาที่ใช้แปลจะช้ากว่านั่นคือการออกแบบที่ไม่เหมาะสม ในการเขียนโค้ดไพ ธ อนอย่างรวดเร็วคุณเขียนการใช้งานไพ ธ อนทำงานทำโปรไฟล์ชิ้นส่วนที่ต้องการปรับให้เหมาะสมและเขียนโมดูลหลามสำหรับส่วนเหล่านั้นในภาษาที่คอมไพล์เช่น C.
Egil

@ dv3500ea: จริง ๆ แล้ว " ฉันต้องการภาษาสคริปต์ที่มีประสิทธิภาพมากกว่า Perl และ object-oriented มากกว่า Python " ไม่ว่าฉันจะต้องเห็นด้วยฉันไม่เห็นด้วยว่า OOP ไม่รวมเข้ากับ Python
AndréParamés

1
แม้ว่า Python จะช้า แต่ความเร็วนั้นแทบจะไม่สำคัญนัก ส่วนที่ช้ามากของ GUI จะเป็นกราฟิกที่แท้จริงซึ่งยังคงเป็น C ทั้งหมด
Brendan Long

5

ฉันขอแนะนำให้คุณเริ่มต้นด้วยPythonเพราะมันง่ายมากที่จะสร้างแอพ PyGTK หนังสือฟรีเล่มนี้เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการพัฒนาแอพ Gnome ด้วย Python

วาลาก็ยอดเยี่ยมเช่นกัน แต่คุณจะพบว่าคุณคุ้นเคยกับ Python ในฐานะมือใหม่

หลังจากนั้นเมื่อคุณคุ้นเคยกับปรัชญาของการพัฒนาแอป Unix คุณสามารถสร้างบางส่วนของแอพของคุณใน python หรือ vala หรือJavascriptตามที่คุณต้องการ

ฉันจะบอกว่าเริ่มต้นด้วย PyGTK (PyGI) เพื่อทำความเข้าใจกับแพลตฟอร์มแล้วเรียนรู้ Vala และ Javascript Javascript จะมีขนาดใหญ่มากบนเดสก์ท็อป Gnome ฉันหมายถึงมาก

การเชื่อมโยง GTK นั้นเหมือนกันสำหรับแอพทั้งหมดในขณะนี้ คุณจะใช้เหมือนกันCผูกจากภาษาใด ๆ ที่ใช้GObject วิปัสสนา


ฉันรอคอยที่จาวาสคริปต์จะเข้าครอบครอง Gnome หรือสภาพแวดล้อมเดสก์ท็อปใด ๆ (ซึ่งมีอยู่แล้วโดยทิ้งความประทับใจไว้ที่ Gnome Shell)
Kushal


0

ฉันขอแนะนำwxPython (wxWidgets) พร้อมกับBoa Constructorหรือ Aptana Studio 3 (PyDev) Python เป็นภาษาที่ยอดเยี่ยมสำหรับทุกคนที่ใช้ (แม้แต่เด็ก ๆ - ดูที่ "การถกเถียงงูสำหรับเด็ก") ด้วยการเขียนโค้ดใน Python / wxPython คุณจะเขียนโค้ดที่รวมเข้ากับ Linux ได้อย่างสวยงาม แต่สามารถพอร์ตด้วยความพยายามเล็กน้อยไปยัง Windows และ OS / X เช่นกัน


0

ใช้สิ่งที่คุณสะดวกสบายที่สุดในการเขียนโปรแกรมหากคุณกำลังจะบริจาครหัส (เช่นเขียนซอฟต์แวร์ฟรี) คุณก็อาจจะสนุกไปกับมัน อย่างที่คนอื่น ๆ พูดกันทั้งสองภาษานั้นยอดเยี่ยมสำหรับการพัฒนา


เห็นได้ชัดว่าการเขียนซอฟต์แวร์ฟรีเป็นสิ่งที่จะเปลี่ยนแปลงทุกอย่างตลอดไป :-)
Kushal

0

vala อาจเป็นหมายเลข 3 (หรือ 4 หากคุณนับ gtkmm) ของภาษาที่มีการเชื่อมโยง GTK และเอกสารประกอบที่ดี มันผลิตรหัสกลางใน c ซึ่งคุณสามารถปรับเปลี่ยนหรือศึกษาเพื่อดูว่ามันเสร็จแล้วส่วนใหญ่เป็นเพียงแค่ล้อมรอบ GObject และ GLib รหัส Vala ทำงานเกือบเร็วเท่ากับ C และควรเป็นเรื่องง่ายสำหรับทุกคนที่มาจาก c / c # / java

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