2 คะแนน โดย GN⁺ 2023-08-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความสำรวจเชิงลึกเกี่ยวกับภาษาโปรแกรม Elixir และเว็บเฟรมเวิร์ก Phoenix ที่เขียนจากมุมมองของ "นักบ่นมองโลกในแง่ร้าย"
  • ผู้เขียนแสดงความกังขาต่อ Elixir ในตอนแรก เพราะมันมีไวยากรณ์คล้าย Ruby มี syntactic sugar จำนวนมาก และมีไลบรารีมาตรฐานที่ใหญ่กว่าภาษา Erlang ซึ่งพวกเขาคุ้นเคยมากกว่า
  • ผู้เขียนยังวิจารณ์ความซับซ้อนของโครงสร้างโปรเจกต์ของ Elixir และความพยายามที่จะทำให้ดู "ฮิป" ซึ่งทำให้รู้สึกว่าบดบังเนื้อหาและความสามารถที่แท้จริงของภาษา
  • อย่างไรก็ตาม หลังจากขุดลึกลงไปใน Elixir มากขึ้น ผู้เขียนก็ "ตระหนัก" ว่าโดยแก่นแท้แล้ว Elixir คือ Lisp นั่นคือภาษากลุ่มหนึ่งที่ขึ้นชื่อเรื่องความยืดหยุ่น พลัง และการใช้เมตาโปรแกรมมิงอย่างมาก
  • ผู้เขียนชื่นชมการใช้ "macro" ของ Elixir ซึ่งโดยพื้นฐานแล้วเป็นฟังก์ชันที่สร้างและคืนโค้ด ทำให้เกิดความยืดหยุ่นและการปรับแต่งได้ในระดับสูง
  • ผู้เขียนยังชื่นชม "sigil" ของ Elixir ซึ่งคล้ายกับ "reader macro" ของ Common Lisp และสามารถสร้างอ็อบเจ็กต์อย่างสตริงแบบกำหนดเองได้
  • ผู้เขียนสรุปว่า Elixir เป็น "Lisp ที่ดีกว่า Common Lisp หรือ Scheme" พร้อมชื่นชมความแข็งแกร่ง ความสามารถด้านการประมวลผลหลายงาน ความสามารถในการจับคู่แพตเทิร์น และเครื่องมือสำหรับการมอนิเตอร์และดีบัก
  • ผู้เขียนเน้นว่า "เวทมนตร์" ของ Elixir ไม่ได้ถูกซ่อนไว้ แต่ถูกอธิบายอย่างเปิดเผย และสนับสนุนให้นักพัฒนาเข้าไปสำรวจและปรับแต่งมันได้

1 ความคิดเห็น

 
GN⁺ 2023-08-04
ความเห็นจาก Hacker News
  • บทความ "Elixir for cynical curmudgeons" ถูกยกย่องว่าเฉียบคมและเป็นงานเขียนที่ผู้อ่านแนะนำอย่างมาก
  • ผู้อ่านจำนวนมากชื่นชอบที่ Elixir เป็น Lisp ซึ่งเพิ่มเสน่ห์ให้ภาษาและทำให้บางคนมองว่าอาจกลายเป็นภาษาโปรดของตนได้
  • เฟรมเวิร์กของ Elixir อย่าง Phoenix, Nerves และ Nx ได้รับคำชมว่าใช้งานได้จริงและช่วยเพิ่มประสิทธิภาพในการพัฒนา
  • มีคำวิจารณ์ว่า Elixir เขียนสคริปต์เร็ว ๆ ได้ไม่สะดวกนัก แต่จุดนี้ก็ดีขึ้นเรื่อย ๆ ตลอดหลายปีที่ผ่านมา
  • บทความวิจารณ์การใช้ "Magic" ในการเขียนโปรแกรม โดยมองว่าสิ่งนี้มักพังได้ง่ายและไม่คุ้มค่า
  • ความสามารถด้าน concurrency ของ Elixir เข้าใจได้ไม่ยาก และยังเป็นภาษาแบบ 2-in-1 ที่เข้าถึง standard library ของ Erlang ได้
  • ความสามารถในการเชื่อมต่อเข้าไปยัง virtual machine ที่กำลังรันอยู่จากระยะไกลและจัดการโปรเซสต่าง ๆ ได้รับการชื่นชมอย่างมาก
  • ชุมชน Elixir ได้รับคำชมว่าให้ความเคารพกัน และสร้าง telemetry ด้วยแนวทางมาตรฐาน
  • คำวิจารณ์ต่อ Elixir ได้แก่ ปัญหา error จาก pattern matching หรือ type mismatch ตอนรันไทม์อันเป็นผลจากความเป็นภาษาแบบ dynamic รวมถึงชุมชนที่เล็กกว่าภาษาอื่น
  • เครื่องมือสำหรับนักพัฒนาของ Elixir ได้รับคำชมว่าเขียนและตั้งค่าด้วยตัวภาษาเอง ทำให้นักพัฒนารู้สึกคุ้นมือและสบายใจ
  • บทความชี้ว่า Elixir เต็มไปด้วย macro ซึ่งผู้อ่านบางส่วนก็มองว่าเป็นเรื่องสนุก
  • อิสระของ Elixir ถูกมองว่าเป็นอุปสรรคสำหรับบางคน เพราะแม้จะมีขนบอยู่มาก แต่ก็ไม่มีโครงสร้างที่เข้มงวด
  • การพูดคุยเรื่อง "it's macros all the way down" ในบทความทำให้ผู้อ่านบางคนทั้งงุนงงและรู้สึกน่าสนใจ
  • สภาพแวดล้อม BEAM ของ Elixir ได้รับการยกย่อง แต่ก็มีความเห็นว่า Rails อาจเป็นตัวเลือกที่ดีกว่าสำหรับการทำเว็บแบบ dynamic เพราะมี ecosystem ที่ใหญ่กว่า
  • ผู้อ่านบางคนต้องการความสามารถในการเขียนโค้ดสไตล์ Python ภายในโปรเซสของ Elixir เพื่อรองรับภาษาที่ได้รับความนิยมมากกว่า
  • โดยรวมแล้ว บทความนี้ได้รับการประเมินว่างานเขียนดีและให้มุมมองเชิงลึกเกี่ยวกับ Elixir