Groovy กำลังจะหายไป? [ปิด]


30

ฉันแน่ใจว่าคำถามนี้ถูกถามหลายครั้ง อย่างไรก็ตามฉันต้องการถามอีกครั้งด้วยความตั้งใจว่าอนาคตของภาษาเหล่านี้คืออะไร

ฉันถูกแนะนำให้รู้จักกับGroovyเป็นครั้งแรกและชอบมันมาก ผมรู้สึกว่าไวยากรณ์ถูกง่ายและมันก็เป็นมากใกล้ Java และฉันก็สามารถที่จะเรียนรู้ได้อย่างรวดเร็วGrails

จากนั้นก็มีScalaและกรอบการทำงานเว็บLift ฉันยังคงเรียนรู้สกาล่าและฉันพบว่าไวยากรณ์ยากมากในบางครั้ง

อย่างไรก็ตามฉันยังคงสงสัยว่าอนาคตของ Groovy คืออะไร เมื่อผู้เขียน Groovy บอกว่าเขาจะไม่สร้าง groovyถ้าเขารู้เรื่องสกาล่ามันทำให้ฉันสงสัยว่ามีอนาคตหรือไม่ แน่นอนว่า Groovy มีมานานแล้วและ Grails ถูกใช้งานในปัจจุบันโดย บริษัท ขนาดใหญ่หลายแห่ง

ถ้ามีใครไปดู Grails vs Lift วันนี้ Grails จะเป็นผู้ชนะอย่างชัดเจน บริษัท อื่น ๆ กำลังใช้งานอยู่ แต่ด้วยทุกสิ่งที่ฉันได้กล่าวไปแล้วฉันสนใจที่จะรู้ว่าควรลงทุนใน Groovy หรือไม่? Groovy กำลังจะหายไปและ Scala เป็นตัวเลือกที่ดีกว่าหรือไม่? หากซีอีโอของ BMW บอกว่าเขาขับ Mercedes แล้วใครจะสงสัยว่าทำไมเราทุกคนไม่ควรขับ Mercedes ด้วยใช่มั้ย

(ฉันเข้าใจว่าคำถามนี้กว้างมากและอาจถูกปิดฉันหวังว่าจะทำให้เป็น Wiki แบบเปิดสำหรับผู้อื่นได้)


1
ถ้ามีใครมาดู Grails vs Lift ในวันนี้ Grails จะเป็นผู้ชนะอย่างชัดเจน พูดว่าใคร
Mahmoud Hossam

ฉันแค่ทำตามความนิยม Grails มีผู้ติดตาม x1000 และ Lift มี x200ish เฉพาะใน stackoverflow
Amir Raminfar

บางทีการยกนั้นง่ายกว่าไหม? มีเอกสารที่ดีกว่า หรือว่า Grails นั้นอยู่ได้นานกว่าการยกหรือไม่?
Mahmoud Hossam

3
การเปรียบเทียบ Grails กับ Scala + Play Framework จะยุติธรรมกว่านี้ Play Framework สามารถใช้กับ Java และได้รับแรงบันดาลใจจาก Ruby on Rails
Jonas

3
"ถ้าหากเราจะดู Grails vs Lift ในวันนี้ Grails จะเป็นผู้ชนะที่ชัดเจน"คุณพูดเมื่อ 2 ปีที่แล้ว แต่เล่น! 2 มีการแทนที่ Lift อย่างง่ายดายในฐานะที่เป็นเว็บเฟรมชั้นนำของ Scala และเป็นถนนที่อยู่ข้างหน้าของ Grails (IMHO)
Vorg van Geir

คำตอบ:


23

ฉันไม่คิดว่า Groovy กำลังจะหายไปมันเป็นกิจการที่ยั่งยืนด้วยตนเองในขณะนี้ กรอบ Grails สร้างขึ้นด้วยภาษา Groovy ซึ่งเป็นเหตุผลที่ดีที่จะมีชีวิตอยู่ Groovy มีแอพพลิเคชั่นนักฆ่า

ฉันไม่ได้บอกว่า Grails เป็นโครงการ Groovy ที่สำคัญเพียงตัวเดียว Gradle ก็ค่อนข้างดี GORM มีประโยชน์จริงๆ Gant เป็นการพัฒนาที่ดีเหนือ Ant

ไม่พูดถึงว่า Groovy / Grails อยู่ภายใต้ร่มของ SpringSource และพวกเขามุ่งมั่นต่อทั้งคู่

หากซีอีโอของ BMW บอกว่าเขาขับ Mercedes แล้วใครจะสงสัยว่าทำไมเราทุกคนไม่ควรขับ Mercedes ด้วยใช่มั้ย

คาดเดาสิ่งที่ James Gosling เลือก


Gradle ไม่มีโอเพ่นซอร์สอีกแล้ว! _!
Ant's

1
สิ่งที่สำคัญอย่างแท้จริงคือภาษาหลักและเป็นห้องสมุดหลัก คุณไม่สามารถทำอะไรได้ดีไปกว่า Groovy ภาษาแกนกลางนั้นง่ายและไดนามิกเร็วและไลบรารี java เช่น apache ฯลฯ นั้นดีกว่าในภาษาอื่น มันเป็นภาษาที่ดีที่สุดเพราะมันไม่ได้หายไปไหน Plugins and Grails ไม่ใช่สิ่งสำคัญ - โลกของภาษาแบบไดนามิกเช่น PHP รู้อยู่แล้วว่ามีความสำคัญอะไร (เหมือนที่ฉันพูด) และมีแมวตัวผู้และ jboss ตอนนี้ไปตรวจสอบทับทิมมันเป็นเรื่องตลก! มันเลวร้ายยิ่งกว่า. net! ตอนนี้ไปตรวจสอบ Python และหาวิธีจัดการข้อผิดพลาดในรหัสเครือข่าย
Andrew Smith

คุณพูดถูก .. Gradle กำลังเป็นที่นิยมมากขึ้นซึ่งใช้สคริปต์ Groovy ..
The Coder

6

เช่นเดียวกับความคิดเห็น @The Legend of 1982:

Groovy จะยังคงยึดติดอยู่กับที่เนื่องจากมันเป็นทางเลือกแบบไดนามิกของ Java ที่มีไวยากรณ์ที่อยู่ใกล้กับ Java มากพอที่จะอนุญาตให้นักพัฒนาหลายคนสร้างสวิตช์ได้ (หรืออย่างน้อยก็ตะลุย)

  • Grails อยู่ในกรอบ 2 อันดับแรกตลอดเวลาเมื่อใดก็ตามที่ Matt Raible ทำแผนภูมิ / การวิเคราะห์เว็บเฟรมเวิร์กภาษา JVM ขนาดใหญ่ของเขา เขาน่าจะเป็นการวิเคราะห์ที่สมบูรณ์ที่สุด

  • GPars เป็น lib / API ที่เกิดขึ้นพร้อมกันแบบใหม่ซึ่งทำให้ Groovy เพิ่มความสามารถของ Scala ได้อย่างมาก

ปัญหาเกี่ยวกับความเร็วจะดีขึ้นเมื่อเวลาผ่านไปซึ่ง Groovy จะระบุวิธีใช้ invokeynamic และเทคนิคคอมไพเลอร์อื่น ๆ


"Grails อยู่ในกรอบ 2 อันดับแรกอย่างต่อเนื่อง"แต่แบ็กเอนด์ที่ใช้ PHP ไม่ถือว่าเป็น "กรอบงาน" แม้จะเป็นสิ่งที่ธุรกิจส่วนใหญ่ยังคงใช้อยู่
Vorg van Geir

3

Groovy เป็นภาษาที่ดีมากและต่ำกว่ามาตรฐาน (แม้จะเป็นผู้สร้างเองตามที่คุณพูดถึง) สำหรับฉันแล้วมันมีบทบาทในระบบนิเวศชวาเหมือนกับบทบาทของ Lua ในระบบนิเวศโลก C / C ++ ใช่มันไม่เร็วขนาดนั้น แต่กระนั้นก็ตาม

ฉันจะเสียใจมากถ้า Groovy จะตาย แต่แผนงานนี้บอกเราว่ามันไม่เลว

อันที่จริงแล้ว Groovy เป็นคนดีมากภาษาที่ใช้พูดได้ดี สำหรับสกาลาฉันเชื่อว่า Groovy และ Scala เป็นเพียงซอกที่แตกต่างกัน


3

เพื่อไม่ให้เคาะความเป็นเลิศทั่วไปของ Groovy หรือ Ruby จริง ๆ แต่กว่า 90% ของปริมาณการใช้งานเว็บไซต์นั้นเป็นเว็บไซต์ที่เขียนด้วย PHP หรือ Java framwork

ฉันไม่ทราบว่าคุณได้รับ "Grails ถูกใช้โดย บริษัท ขนาดใหญ่หลายแห่ง" นี่เป็นเรื่องที่เหมือนกับพูดว่า "บริษัท ที่ติดอันดับ 500 คนใช้ Python" ซึ่งจริง ๆ แล้วเป็นความจริง แต่พวกเขาไม่ได้ใช้ Python สำหรับธุรกิจที่สำคัญ

พวกมันถูกต้องที่จะไม่ใช้ Grails, Rails และอื่น ๆ พวกมันยอดเยี่ยมสำหรับไซต์ที่เรียบร้อยขนาดเล็ก ธุรกิจขนาดใหญ่ส่วนใหญ่มีระบบเชื่อมต่อระหว่างกันที่ซับซ้อนและความท้าทายที่สำคัญเมื่อสร้างแอปพลิเคชันเว็บหมุนรอบวิธีการเชื่อมต่อกับระบบอื่น ๆ ทั้งหมดที่ให้หรือใช้ข้อมูลของคุณ - การเข้ารหัสตามแบบแผนไม่ได้ทำงานในพื้นที่นี้

Groovy ผู้แข่งขันหลักของภาษาคือ JPython ซึ่งทำงานในพื้นที่ sames (Scripting on JVM) และใช้สำหรับการเรียงลำดับสิ่งเดียวกัน (การทดสอบอัตโนมัติ, การสร้างอัตโนมัติเป็นต้น)


1
มองไปรอบ ๆ ไม่มีใครรู้ว่าฉันใช้ Groovy วันนี้และไม่มีรายชื่องาน Groovy ที่โฆษณาในพื้นที่ของฉัน ดังนั้นแน่นอนไม่ได้ดูดีสำหรับมัน ฉันแน่ใจว่ามันใช้งานอยู่ แต่ไม่ใช่เทคโนโลยีหลักที่นี่
Brian Knoblauch

1
@Brian Groovy ยังคงเป็นทางเลือกเดียวที่เป็นไปได้หากคุณต้องการใช้ Grails (ถึงแม้จะเป็นที่ยอมรับว่า Grails กำลังถูกแทนที่ด้วยผู้ที่มาทำความสะอาดเช่น Play! 2. )
Vorg van Geir

@ James อย่าลืม Eclipse ในฐานะ Groovy-killer สำหรับการเขียนสคริปต์ JVM การทดสอบอัตโนมัติและการสร้างเป็นต้น
Vorg van Geir

ฉันวิ่งข้ามร้านค้าท้องถิ่นโดยใช้ Groovy ตอนนี้! อย่างไรก็ตามฉันยังไม่เคยพบใครที่ใช้ Grails
Brian Knoblauch

2

ประสิทธิภาพของ Groovy 2.0 ทำให้ Groovy กลายเป็นลีกที่ใกล้เคียงกับ Java มากขึ้นดูที่http://java.dzone.com/articles/groovy-20-performance-comparedมาตรฐานในบทความนี้หยาบมาก แต่ฉัน ทำงานกับเกณฑ์มาตรฐานใหม่สำหรับ Groovy 2.1 โดยอ้างอิงจาก Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) เพื่อเปรียบเทียบประสิทธิภาพของ Google Go กับภาษาอื่น ๆ ฉันต้องการ 2-3 สัปดาห์จนกว่าฉันจะเขียนบทความเสร็จ แต่การวัดดูดีมากจนถึงตอนนี้ Groovy2.1 พร้อม @CompileStatic และ JDK7 มีประสิทธิภาพการทำงานเช่นเดียวกับ Java กับ JDK6 (!)

ฉันคิดว่า Groovy จะแข่งขันกับ Kotlin และ Ceylon มากกว่า Scala สกาล่าเป็นภาษาวิจัยทางวิชาการมากกว่า (แม้ว่าจะเป็นภาษาที่น่าสนใจมาก) และนั่นก็ไม่ใช่ภาษาที่ใช้ในการทำงานเช่น Groovy และ Kotlin หากคุณขาดมิกซ์อินวิธีการขยายการปิดจริงและสิ่งต่าง ๆ ใน Java มันเป็นขั้นตอนใหญ่ที่คุณต้องทำเพื่อให้ได้สิ่งนี้ ไวยากรณ์ของ Groovy อยู่ใกล้กับ Java มากซึ่งคิดว่าเป็นจุดขายที่แท้จริงเมื่อเทียบกับ Kotlin


4
ฉันขอไม่เห็นด้วยเกี่ยวกับสกาล่าที่เป็นนักวิชาการ เป็นประโยชน์และเป็นประโยชน์จริง ๆ และปัจจุบันมีการใช้งานในสถาบันการเงินหลายแห่งบน Linkedin, Twitter และอื่น ๆ จริง ๆ แล้วฉันลองทั้ง Scala และ Groovy ที่นี่ที่ฉันทำงานและฉันจะไม่เลือก Groovy สำหรับโครงการที่มีความซับซ้อนเล็กน้อย
Andrea

1
เมื่อสัปดาห์ที่แล้วมีข้อบกพร่องร้ายแรงใน Groovy 2.1 โหมดคอมไพล์แบบคงที่ผุดขึ้นมา คุณสามารถรับความเร็วด้วยบั๊ก (เช่นคงที่ Groovy) หรือคุณสามารถรับความน่าเชื่อถือ แต่ slooooooow (เช่น Groovy รวบรวมแบบไดนามิก) แต่คุณไม่สามารถได้ทั้งความเร็วและความน่าเชื่อถือ ภาษาการเขียนโปรแกรมผลกระทบเชิงควอนตัมจะไม่ใช้กับใคร
Vorg van Geir

1
Groovy เป็นภาษาที่วางอยู่ด้านบนของ Java (เช่นเพิ่มคุณสมบัติบางอย่างเพื่อ Java) ระบบที่ซับซ้อนเป็นธรรมได้สร้างด้วย Java ดังนั้นฉันไม่คิดว่าคุณต้องการภาษาที่ซับซ้อนมากในการเขียนแอปพลิเคชันที่ซับซ้อน ฉันได้เพิ่มข้อผิดพลาดคอมไพเลอร์ Groovy หลายข้อในฐานข้อผิดพลาดของ Groovy และฉันเชื่อว่า Scala มีคอมไพเลอร์ที่มีคุณภาพดีกว่า แต่ฉันไม่คิดว่าคุณต้องการ Scala เพราะแอปพลิเคชันต้องการ การแก้ปัญหาคือในการออกแบบและในความเชี่ยวชาญของโดเมนปัญหาไม่มากในภาษา
OlliP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.