Perl เป็นภาษาที่มีประโยชน์และใช้งานได้จริงหรือไม่? [ปิด]


77

ฉันรู้ว่ามันอาจถูกถามมาก่อน แต่ที่นี่ไม่มีอะไรเลย

Perl ยังคงเป็นสิ่งที่จะถือว่ามีประโยชน์หรือไม่ หากมีคนเป็นโปรแกรมเมอร์ใหม่ (ทั้งใหม่กับการเขียนโปรแกรมหรือเพียงไม่กี่เดือน / ประสบการณ์) Perl จะเป็นสิ่งที่ถือว่าคุ้มค่าที่จะเรียนรู้?

Perl ยังคงใช้กับความถี่หรือไม่ มันยังคงเป็นที่นิยม?

หรือ Perl กำลังจะตายเมื่อเทียบกับภาษาเช่น Python, Ruby, PHP, ASP.NET และอื่น ๆ ?

โดยพื้นฐานแล้วมันจะลดลงถึงสิ่งนี้:

  • มันยังใช้อยู่ / ยังใช้บ่อยอยู่หรือไม่? ถ้าใช่มันกำลังจะตายใช่ไหม ถ้าไม่มันจะกลับมาไหม
  • มันเป็นสิ่งที่ควรค่าแก่การเรียนรู้หรือไม่?
  • มันเปรียบเทียบความต้องการกับภาษาเช่น Python ทั้งในความนิยมและการใช้งาน / ความมีชีวิตได้อย่างไร? ภาษาอย่าง Python หรือ Ruby อาจถูกพิจารณาว่าเป็นสิ่งทดแทนสำหรับ Perl หรือไม่?

นอกจากนี้ Perl รุ่นใหม่กว่านี้จะนำการพัฒนามาสู่ชุมชน Perl อย่างแท้จริงและอาจนำ Perl กลับไปที่ศูนย์แรงดันไฟฟ้าเมื่อเทียบกับภาษาอื่นหรือไม่

แก้ไข:

โอเคฉันคิดว่านี่เป็นคำถามที่ดีกว่า

Perl ยังคงเติบโตหรือเป็น "กำลังจะตาย"? มันยังคงเป็นภาษาที่ควรค่าแก่การเรียนรู้และใช้งานหรือไม่? โครงการใดที่ "ส่องแสง" จริงๆเมื่อเทียบกับภาษาอื่น? อะไรทำให้ Perl เป็นภาษาให้เลือก? เป็นหลัก: Perl จะล้าสมัยเมื่อเทียบกับภาษาอื่น ๆ และถ้าเป็นเช่นนั้นคุณคาดหวังว่าจะมีการเปลี่ยนแปลงหรือเพื่อดำเนินการต่อ?

และขอขอบคุณทุกคนที่ตอบกลับมาการสนทนาเป็นเรื่องที่น่าสนใจจริงๆ!


12
อย่าลืมมุมมองตามTIOBEมันยังคงอยู่ในสิบอันดับแรกก่อน Ruby และแม้แต่ JavaScript
Daniel

คำตอบ:


60

ครั้งแรกของทั้งหมดก็มักจะดีกว่าที่จะกระจ่าง

ธุรกิจพูดคุยเกี่ยวกับPerl 5เมื่อพูด Perl แต่ในดินแดนที่ห่างไกลไกลเกินกว่าเกาะลึกความคิดที่ออกแบบโดยคณะกรรมการชนเผ่ายังคงการปรุงอาหารแผ่นหนักของPerl 6 (และก็เกือบจะพร้อมกับเครื่องยนต์ที่เขียนใน Haskell และขับเคลื่อนด้วยน้ำตาของพระเจ้า )

ตกลงที่กล่าวว่าสิ่งที่เป็นPerl 5ใช้สำหรับวันนี้?

  • ระบบเว็บแบบเดิม / แบบดั้งเดิม - บางระบบอาจไม่ตาย

  • data mining / analysis analysis - perl regex engine แม้ว่าจะล้าสมัยไปแล้วเล็กน้อย ( PCREซึ่งเป็น spinned off ไลบรารี่เพิ่มขึ้นในทุกทางที่เป็นไปได้และมันเป็นเอ็นจิ้นเริ่มต้นPHP) ยังดีสำหรับการวิเคราะห์อย่างง่าย

  • การดูแลระบบ UNIX - Perl จะถูกติดตั้งบน UNIX เสมอ
    คุณสามารถวางใจได้ว่าจะพร้อมใช้งานแม้ใน Mac OS X

  • การสร้างต้นแบบเครือข่าย - ผู้เชี่ยวชาญเครือข่ายหลักหลายคนเรียนรู้ Perl เมื่อมันเป็นความโกรธ และพวกเขายังคงทำข้อพิสูจน์ของแนวคิดกับมัน

  • การรักษาความปลอดภัย - ผู้เชี่ยวชาญด้านความปลอดภัยจำนวนมากเกินไปต้องสร้างต้นแบบอย่างรวดเร็ว (และการแก้ไขอัตโนมัติอย่างรวดเร็ว) Perl สามารถและไม่ครอบคลุมสำหรับการที่

คอลเลกชันCPAN ที่กว้างขวางนั้นมีประโยชน์มากเมื่อต้องรับมือกับต้นแบบ
(อาจไม่รวมแบตเตอรี่แต่ยังอยู่บนชั้นวาง )

จำข้อเสีย :

  • การสนับสนุนวัตถุใน Perl ดูดยากคุณให้ศีลอ้างอิงและทำสิ่งที่ไม่บริสุทธิ์ในชื่อของวัตถุแล้วสงสัยว่าทำไมคุณได้รับปัญหาทั้งหมดในสถานที่แรก
  • การอ่าน Perl ของคนอื่นนั้นเป็นมากกว่างานฝีมือมันเป็นวิทยาศาสตร์และเป็นสิ่งที่เจ็บปวดเช่นกัน
  • Perl เป็นดีก็จะทำให้คุณคิดดีก็จะทำให้คุณรู้สึกดี, คุณจะกลายเป็นRockstar การเขียนโปรแกรม ตอนนี้ลองนึกถึงการตื่นขึ้นมาและไปทำงานในออฟฟิศที่เต็มไปด้วยดาวเด่น : มันเป็น"เรือลำนั้นที่แข็ง" คาดหวังความผันผวนป่า

19
@WorldEngineer เห็นด้วย แต่สิ่งที่แย่ที่สุดเกี่ยวกับเรื่องนี้คือมาจาก perl, Ruby ไม่รู้สึกดีเลย: มันรู้สึกเหมือนเป็นคนโง่เขลา, มีประสิทธิภาพต่ำ, รุ่นของ perl
ZJR

12
ฉันเห็นข้อเสียเปรียบเพียงข้อเดียว โดยส่วนตัวแล้วฉันเพลิดเพลินไปกับการให้พรข้อมูลอ้างอิงของฉัน แต่สำหรับคนที่ไม่มีมันมี Moose (บน CPAN) ซึ่งเป็นระบบวัตถุที่ดีพอที่ภาษาอื่นจะคัดลอกมา และในขณะที่ฉันรักความคล่องแคล่วฉันไม่เคยพบเห็น rockstars ที่หมกมุ่นในโลก Perl มีนักพัฒนาที่จริงจังและมีระเบียบวินัยมากกว่า (ที่ชอบโยกตัวออกไปในเวลาว่าง) ในชุมชน Perl มากกว่าที่จะมี rockstars (ฉันปฏิเสธการเป็นโปรแกรมเมอร์ rockstar อย่างชัดเจนจนกระทั่งและถ้าผู้หญิงไม่เริ่มโยนกางเกงในขณะที่ฉันเขียนโค้ด)
เดฟ Sherohman

3
@johannes ยังคงต้องรับมือกับกฎหมาย Van Rossum "Whenever you find a python executable preinstalled, it's the wrong version": "sometimes the right version is available, but it has the wrong name"
ข้อพิสูจน์

2
Perl ยังมีขนาดค่อนข้างใหญ่ในพื้นที่ชีวสารสนเทศศาสตร์
dietbuddha

3
+1 สำหรับการดูแลระบบ ฉันไม่เคยเห็นระบบปฏิบัติการยูนิกซ์ที่ไม่ได้รวม Perl ฉันเคยเห็นมันในระบบปฏิบัติการลินุกซ์ฝังตัวบางตัวที่ใช้ Busybox สำหรับผู้ใช้
Earlz

23

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

Perl 5 อยู่ไกลจากความตาย เพียงดูที่เว็บไซต์ Perl และ CPAN และบนขอบฟ้าก็มีภาษาใหม่ทั้งหมด - Perl 6

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


7
ในความคิดของฉัน CPAN นั้นยอดเยี่ยมถ้าคุณต้องการล้อที่มีรูปร่างใด ๆ แต่น้อยกว่าที่ดีถ้าคุณต้องการโรงงานรถยนต์

@ ThorbjørnRavnAndersen CPAN ยอดเยี่ยมถ้าคุณต้องการล้อที่มีรูปร่างใด ๆ ปัญหาคือว่าshape($wheel) == 'round' ? available_in_cpan($wheel) : false;ไม่ใช่ตัวกรองที่ถูกต้อง
Jason Lewis

เพียงเพราะ OO มีอยู่ใน Perl ไม่ได้หมายความว่ามันดีจริงๆ
kirbyfan64sos

22

สิ่งสำคัญที่ Perl ยังคงมีอยู่คือCPAN - มีโมดูลที่เขียนไว้ล่วงหน้ามากมายที่หาสิ่งที่คุณต้องการได้ง่าย

ที่กล่าวว่าฉันจะไม่เรียนรู้ Perl Perl เป็นภาษาที่ยอดเยี่ยมสำหรับผู้ที่รู้แล้ว (เช่นฉัน) แต่Pythonดูเหมือนจะเป็น (จากมุมมองของคนนอก) เป็นภาษาที่ดีกว่าสำหรับการเรียงลำดับของไฟล์ที่รวดเร็วและสกปรกและการแยกวิเคราะห์ข้อความที่ Perl เคยเป็น " ภาษา go-to "สำหรับ


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

6
@ พอลทอมบลิน - นั่นเป็นวิธีที่ค่อนข้างหยาบที่จะนำมัน "สิ่งสำคัญที่ perl ยังคงมีอยู่สำหรับมัน ... " <- สิ่งที่ C / C ++ ได้ดำเนินต่อไปสำหรับพวกเขาก็คือซอฟต์แวร์จำนวนมากยังคงเขียนอยู่ นอกจากนั้นพวกเขายังมีขยะ
โกง

เห็นด้วยกับ Idigas เนื่องจากคุณอาจจะบอกว่าเหมือนกันเกี่ยวกับ Java มีจำนวนมากของแพคเกจ ...
Izkata

1
คำถามไม่ใช่ "เป็น C ++ หรือ Java เป็นภาษาที่ดี" คำถามคือว่า Perl ยังทำงานได้หรือไม่ และมีเหตุผลสองประการที่ฉันยังคงเขียนเว็บแอปของฉันใน Perl: CPAN และฉันมีโค้ดมากมายที่ฉันเขียนไปแล้ว
พอลทอมบลิน

7
ถ้าฉันเริ่มตอนนี้ฉันอาจใช้ Python แต่ฉันใช้ Perl เพราะฉันเก่งใน Perl
พอลทอมบลิน

19

เมื่อฉันตัดสินใจที่จะเรียนรู้ Perl เป็นภาษาแรกของฉันไม่กี่ปีที่ผ่านมามีหลายปัจจัยที่เป็นแนวทางในการตัดสินใจของฉัน:

  • มีเอกสารอ้างอิงที่ดีมากมายในภาษาหรือไม่
  • ฉันสามารถขอความช่วยเหลือได้อย่างง่ายดายด้วยคำถามของฉัน?
  • ภาษาในการใช้งานโดยประชากรที่มีขนาดใหญ่หลากหลายคืออะไร?
  • มีโครงการที่ใช้งานอยู่ซึ่งจะช่วยให้ฉันบรรลุเป้าหมายได้หรือไม่

สำหรับฉันคำตอบคือใช่ ฉันเป็นนักออกแบบกราฟิก ฉันเรียนรู้ HTML และ CSS เมื่อหลายปีก่อน แต่จำเป็นต้องยกระดับทักษะของฉันหลังจากที่ลูกค้าต้องการเพิ่มเติมจากเว็บไซต์ของพวกเขา ฉันใช้กรอบ php ที่หลากหลายซึ่งทำให้ฉันมีข้อบกพร่องในการเรียนรู้การเขียนโปรแกรมจริงๆ ฉันได้ทำการวิจัยมากมายและพบว่ามีโครงการที่ได้รับการสนับสนุนอย่างดีเช่นเครื่องมือแม่แบบและโครงการใหม่เช่น Perl Dancer และ Mojolicious เอกสารที่มาพร้อมกับ Perl มีประโยชน์มากเช่นเดียวกับห้องสมุดสิ่งพิมพ์

ฉันได้พบว่ารายการ Perl ของอีเมล์ค่อนข้างเป็นมิตรกับผู้เริ่มต้นและใช้งานอยู่ สำหรับผู้ใช้ PerlMonks จากทั่วโลกมาพร้อมกับคำถามและคำตอบสำหรับการใช้งานที่หลากหลาย มีเว็บไซต์ข่าว Perl บล็อกและสตรีมที่ใช้งานอยู่หลายแห่ง แหล่งข้อมูลเหล่านี้สอนฉันมากมายเกี่ยวกับ Perl และการเขียนโปรแกรม

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


ฉันเรียนรู้ Perl เป็นภาษาแรกของฉันในปี 1996 เพราะฉันเพิ่งเปลี่ยนมาใช้ Linux จาก Windows สำหรับระบบปฏิบัติการหลักของฉัน Perl ไม่เคยเป็นภาษาบนเว็บที่ยอดเยี่ยม (ถึงแม้ว่า PHP จะเป็นการกลั่นกรองความชั่วร้ายทั้งหมดของ Perl ให้ได้) แต่มันก็เป็นสิ่งที่ยอดเยี่ยมสำหรับการแทนที่สคริปต์ทุบตี ปัญหาเกิดขึ้นเมื่อผู้คนพยายามที่จะแกล้งทำเป็นมีเรื่องแบบกระสุนเงิน
Jason Lewis

16

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


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

1
ลานุจมีอยู่เป็นวิธีการแสดงออกถึงคนอื่น ๆ โดยกล่าวว่าภาษาที่นิยมคือคุณค่าที่นำเสนอนั้นไม่มีมูลความคิดเห็นของฉัน
ความผิดพลาด

4
นี่เป็นระบบที่ขึ้นอยู่กับสภาพแวดล้อม ... หากคุณเป็น * ดูแลระบบคุณเลือกที่จะทำงานทั่วไปให้สำเร็จลุล่วงไปด้วย Perl vs. sed + awk + grep + bash ... และ Perl โดยทั่วไปง่ายกว่าการจดจำ 4 ไวยากรณ์สำหรับ สคริปต์แบบครั้งเดียว
Jason Lewis

12

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

  • PHP - PHP เป็นภาษาการเขียนโปรแกรมเว็บที่ดีงาม; อย่าเข้าใจฉันผิด แต่มันเป็นเพียงภาษาการเขียนโปรแกรมเว็บ แม้แต่เว็บแอพพลิเคชั่นก็ต้องการ cronjobs เพื่อทำความสะอาดกระบวนการและคุณต้องทำสิ่งแปลก ๆ เพื่อให้เกิดขึ้น ไม่ต้องกังวลว่าจะต้องเขียนสคริปต์ด่วนสำหรับผู้ดูแลระบบ UNIX หรือแยกไฟล์ข้อความ นอกจากนี้ PHP ไม่มี CPAN

  • Ruby - ภาษานั้นใหม่เกินไปและ "script kiddie" สำหรับรสนิยมของฉัน สิ่งเดียวที่ฉันได้ยินเกี่ยวกับ Ruby คือ Ruby on Rails Perl มีตัวเร่งปฏิกิริยาและนักเต้น (ในฐานะกรอบงาน MVC) ซึ่งเป็น MVC ชั้นเยี่ยม แต่ก็ไม่ใช่สิ่งสำคัญของภาษา คุณจะไม่พบ "ทับทิม" ตามความต้องการในงานที่เสนอให้เร็ว ๆ นี้ (ถ้าเคย) นอกจากนี้ทับทิมยังไม่มี CPAN

  • Pythonในคำพูดของ Larry Wall, Python เป็นเพียงน้ำมันงู Python ใส่ใจกับช่องว่างและภาษาสุดท้ายที่ฉันใช้ที่ดูแลเกี่ยวกับช่องว่างคือพื้นฐาน นอกจากนี้เช่น BASIC มันได้รับการออกแบบให้เป็นภาษาเริ่มต้นที่ใช้งานง่าย ในที่สุดไม่มี CPAN ที่นี่

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

  • C # - จริง ๆ แล้วฉันใช้ภาษานี้มาไม่นานและดูเหมือนว่าฉันจะมีความสัมพันธ์รัก / เกลียดชังกับมัน ความสามารถในการโอเวอร์โหลดเมธอดที่มีพารามิเตอร์ต่างกันนั้นยอดเยี่ยมและสนุก แต่ถ้าคุณต้องการภาษาที่จะทำให้คุณเบื่อกับทุกบรรทัดของรหัสเกี่ยวกับการคัดเลือกนักแสดง C # นั้นเหมาะสำหรับคุณ พระเจ้าของฉันมันต้องการให้คุณใส่การคัดเลือกอย่างชัดเจนทุกที่! การเรียนเป็นเรื่องสนุก แต่คุณก็รู้ทันทีว่าคุณใช้เวลามากขึ้นในการเรียนเพื่อสร้างภาษาที่น่ารังเกียจเพียงแค่ทำงานได้ดีกว่าการเขียนรหัสจริง

    นอกจากนี้ C # ไม่มี ... โอเคมันมี. NET ซึ่งดีจริงๆและกว้างขวาง อย่างไรก็ตามฉันยังชอบ CPAN ดีกว่าเพราะคุณยังสามารถเขียนโมดูลของคุณเองและบ่นกับผู้เขียนเกี่ยวกับข้อบกพร่องหรือข้อบกพร่องในการออกแบบ และพวกเขาทั้งหมดฟรี นอกจากนี้ Perl กำลังทำงานกับ Perl.NET ในอนาคตดังนั้นเราอาจออกแบบแอปพลิเคชัน Windows ได้ไม่นาน

Perl เป็นภาษาที่ยอดเยี่ยมที่มี:

  • นิพจน์ปกติ - หากเป็นสิ่งหนึ่งที่ Perl สามารถทำได้ดีก็เป็นการจัดการข้อความ ใช่หลายภาษามีนิพจน์ทั่วไป แต่ Perl มีการประดิษฐ์ขึ้นมาแล้วและมีเหตุผลว่า grep มีโหมด "Perl ปกตินิพจน์" หรือทำไมออราเคิลมีส่วนใน "ส่วนขยายที่ได้รับอิทธิพลจาก Perl ใน Oracle Regular Expressions" มันมีอยู่แล้วภายในและไม่ต้องการโมดูลใด ๆ

  • ความยืดหยุ่น - คุณมีตัวแปรพื้นฐานสามประเภท ได้แก่ สเกลาร์อาร์เรย์และแฮช แค่นั้นแหละ. นั่นคือทั้งหมดที่คุณต้องการ คุณไม่มี int, ไบต์, สตริงหรืออึใด ๆ Perl ตัวเลขมันออกมาได้ดี และคุณสามารถใช้การอ้างอิงทั้งหมดที่คุณต้องการโดยไม่ต้องกลัวว่าหน่วยความจำจะรั่วหรือทำให้พีซีทั้งหมดหยุดทำงาน ภาษาใช้งานได้จริง

  • การพกพา - Perl ใช้งานได้ดีบนเว็บ มันใช้งานได้ดีใน UNIX มันใช้งานได้ดีใน Windows มันไม่ได้เป็นนกพิราบบริสุทธิ์สำหรับฟังก์ชั่นเดียว มันเป็นแจ็คของการซื้อขายทั้งหมด แต่ยังเป็นหลักของ (ส่วนใหญ่) ทุกอย่าง

  • มันง่ายมากที่จะทำโค้ดเล็ก ๆ น้อย ๆ - ให้ไฟล์เปล่า 1K ให้ฉันและฉันสามารถเขียนทุกสิ่งด้วยช่องว่างนั้น แม้แต่ Perl One-liner ก็ยอดเยี่ยมในการเพิ่มไปยังไพพ์บรรทัดคำสั่ง

  • CPAN - ฉันไม่สามารถความเครียดได้ว่าจะหาอะไรก็ได้ที่คุณต้องการเพื่ออะไร "อะไร" คืออะไร? ทีนี้แล้วโมดูลฐานข้อมูลสำหรับทุกฐานข้อมูลหรือทุกอย่างที่คุณคาดไม่ถึงตั้งแต่ Oracle ไปจนถึง iPod ไปจนถึง CSV ไปจนถึง Adabas ถึง Yaswi? มีเว็บเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนจำนวนมาก แล้วเครื่องอ่านไฟล์ Excel หรือโมดูล SNMP หรือโมดูลที่อ่านความคิดเห็นสำหรับบรรทัดการดีบักหรือโมดูลที่ช่วยให้คุณเขียนโปรแกรมได้เร็วขึ้นอย่างไร โครงการที่ฉันกำลังทำอยู่ตอนนี้คือการเขียนตัวสร้างแผนที่ Terraria แบบไดนามิกโดยเพิ่มจากโมดูลที่มีอยู่เดิมที่ชื่อว่า Games :: RolePlay :: MapGen .NET ไม่เคยมีอะไรแบบนั้นมาก่อน

    นอกจากนี้ยังเป็นเรื่องง่ายที่จะติดตั้งโมดูลใด ๆ ผ่าน CPAN รับมาจาก Debian ติดตั้งจาก CPAN โดยตรง มันทำงานได้ดีพอ ๆ กับ apt-get ในการแก้ปัญหาการพึ่งพา ฉันไม่มีปัญหาในการบอกผู้ดูแลระบบของฉันให้ติดตั้งโมดูล X จาก CPAN เนื่องจากมันเป็นเพียงคำสั่งแบบซับง่าย

ใช่มันมีข้อบกพร่องและใช่ฉันมีอคติต่อมัน แต่คุณอาจเคยได้ยินแง่ลบหลายครั้งเกินไป พวกเขาไม่ได้มีค่ามากกว่าผลบวกไม่ใช่ด้วยการยิงระยะไกล


14
-1 ส่วนใหญ่ไม่ทราบว่าภาษาอื่นมีเครื่องมือที่ดีถ้าไม่ดีกว่า CPAN Maven Central สำหรับ Java เช่น? มันมีสิ่งประดิษฐ์มากกว่า CPAN และเป็น 0 ซับเพื่อติดตั้งสิ่งประดิษฐ์ Maven เนื่องจากจะได้รับการระบุโดยอัตโนมัติผ่านการวิเคราะห์การพึ่งพาของ Project Object Model นอกจากนี้ฉันมีประสบการณ์น้อยลงกับ Ruby Gems แต่ฉันเชื่อว่าพวกเขาเทียบเท่ากับ CPAN
mikera

8
PHP มีลูกแพร์ และไม่เพียง แต่ภาษาการเขียนโปรแกรมเว็บ
MattBianco

25
ฉันจะไม่พูดว่าคุณลำเอียงเล็กน้อย คุณมีอคติอย่างชัดเจน ฉันไม่อยากจะเชื่อเลยว่าคุณสามารถ Python เล็กน้อยเพราะมันมีช่องว่างที่สำคัญและเพราะ Larry (ไม่ใช่แหล่งที่มาที่นี่) ใช้น้ำมันงูแสดงออก และไม่มีการเสนองานให้กับ Ruby เลย? คุณเห็นตลาดงานครั้งสุดท้ายเมื่อใด อย่างน้อยก็ใช้ความพยายามในการสร้างข้อมูลประจำตัวของ Perl
มูฮัมหมัดอัลคาริ

6
-1 เพื่อมุมมองที่ชัดเจนเกี่ยวกับภาษาอื่น ฉันยอมรับว่า Python เป็นน้ำมันงู แต่ Ruby == "script kiddie" นั้นไร้สาระ ฉันไม่เคยเห็นความพยายามในการบุกรุกจาก Ruby บนเซิร์ฟเวอร์ใด ๆ ที่ฉันดูแล ส่วนใหญ่เป็นงูหลาม PHP เป็นภาษาการเขียนโปรแกรมที่ยอมรับได้ในแง่ใด? shenanigans ความคิดเห็นของคุณใน C # แสดงให้เห็นถึงความไร้เดียงสาที่น่าประหลาดใจเกี่ยวกับการพิมพ์และ / หรือการวางแนววัตถุ ติดกับ Perl เพื่อน อย่างจริงจังฉันจะรัก Perl เพราะมันเป็นภาษาการเขียนโปรแกรม 'จริง' ครั้งแรกของฉันและยอดเยี่ยมสำหรับงานดูแลระบบ แต่คำตอบนี้เลวร้ายยิ่งกว่าเลว
Jason Lewis

8
+1 สำหรับการทำลายทุกภาษาที่ฉันเคยรัก (หรือเกลียด) - ยกเว้น Perl แน่นอน :-)
jpaugh

12

ประสิทธิภาพเป็นหนึ่งในเหตุผลสำคัญที่เลือกใช้ perl เมื่อเทียบกับ Python, Ruby หรือภาษาสคริปต์ที่ใช้ JVM ใด ๆ มันจะมีความเร็วสูง

นี่คือเหตุผลที่ไม่เคยถูกแทนที่ในพื้นที่การขุดข้อมูลภาษาอื่น ๆ (freebie) จะช้าลงเมื่อพูดถึงการจัดการข้อมูลจำนวนมาก


6
คุณสามารถให้การสนับสนุน / มาตรฐานสำหรับการยืนยันนี้ได้หรือไม่? ดูเหมือนว่าฉันจะเป็นเกณฑ์มาตรฐานล่าสุดที่ฉันเคยเห็นสำหรับ Perl กับ Ruby / Python ซึ่งเป็นที่โปรดปรานในภายหลัง เมื่อรวมถึงการใช้งานทางเลือกของหลัง
Jason Lewis

2
ข้อสังเกตใด ๆ เกี่ยวกับประสิทธิภาพจะต้องเป็นลักษณะทั่วไปเว้นแต่จะมีการเผยแพร่และสภาพแวดล้อมเฉพาะ ม้านั่งหลายคนออกมีเครื่องหมาย - hentenaar.com/serendipity/index.php?/archives/... onlyjob.blogspot.com/2011/03/...เป็นปกติสวย คุณพูดถูกแล้วทับทิมรุ่นล่าสุดนั้นค่อนข้างเร็ว แต่ perl มี "การเพิ่มประสิทธิภาพ" ตามปกติดังนั้นจึงไม่มีปัญหาในการติดตาม ลัวะเต้นทุกอย่าง
James Anderson

Lua เป็นคนค่อนข้างสวย
Jason Lewis

12

Perl มีสถานที่ โดยทั่วไปแล้ว "ชื่อเสียงที่ไม่ดี" เนื่องจากช่วยให้คุณมีความยืดหยุ่นอย่างมากในการทำสิ่งต่าง ๆ ที่ควรทำโดยใช้เครื่องมืออื่น

หากคุณถามตัวเองว่า "ฉันกำลังพยายามทำอะไรให้สำเร็จและมีเครื่องมือที่เหมาะสมในการส่งมอบสิ่งนี้" จากนั้นคุณเป็นส่วนหนึ่งของวิธีที่นั่น

หากคุณกำลังเขียนสคริปต์อย่างรวดเร็วจากนั้นใช้ภาษาสคริปต์ที่เหมาะสม หากคุณต้องการสร้างแอปพลิเคชันที่ซับซ้อนคุณสามารถ "เขียน" ในภาษา Perl ได้ แต่คุณอาจไม่ควร

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


3
เอาล่ะ แต่ Python เป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการสร้างสคริปต์ด่วนเช่นกัน แต่คุณสามารถยืดมันเพื่อสร้างโปรแกรมที่มีขนาดใหญ่ขึ้นได้ เหมือนกันไม่เป็นความจริงสำหรับ Perl หรือไม่? นั่นทำให้ Python ดีกว่า Perl หรือเปล่า?
บ๊อบ

@ บ็อบ: ฉันคิดว่ามันเป็นสิ่งที่คุณคุ้นเคยกับการเขียนและรสนิยมของคุณเป็นส่วนใหญ่ บางครั้งยังมีห้องสมุด Perl ที่มีประโยชน์ที่คุณไม่ได้มีในหลามและในทางกลับกัน
dagnelies

1
@ บ็อบ: ฉันอยากจะแนะนำให้เขาลองงูหลามก่อนมันเป็นมิตรกับคนอื่นมากกว่า จากนั้นฉันจะบอกให้เขาเลือกภาษาที่แตกต่างอย่างสิ้นเชิงเป็นภาษาที่สองเช่น Scheme
dagnelies

1
@Bob:. NET Framework ทั้งหมดนั้นมีเฉพาะใน Windows ในพื้นที่ Unix / Linux, Perl เป็นภาษาที่ยอดเยี่ยมสำหรับการแทนที่เชลล์สคริปต์, ทำการดูแลระบบ, และทุกอย่างที่เกี่ยวข้องกับการประมวลผลข้อความจำนวนมากและไม่มากเลย มันทำสิ่งต่าง ๆ โดยตรง (สุดท้ายที่ฉันดู) Python ต้องการโครงสร้างเล็กน้อย โดยทั่วไปแล้วทำให้ Perl เป็นภาษาการเขียนโปรแกรมทั่วไปที่แย่ลง
David Thornley

1
@Bob ที่จริงแล้วนั่นเป็นจุดที่น่าสนใจ Perl นั้นมีประโยชน์จริง ๆ ถ้าคุณมีสคริปต์เชลล์ที่ทำให้ขีด จำกัด ของ bash มากขึ้น Perl รองรับมันได้อย่างง่ายดายเพราะคุณสามารถใส่ backticks รอบคำสั่งส่วนใหญ่และมันจะยังคงทำงาน
Stephen Gross

12

ฉันดึงดูด Python ด้วยเลย์เอาท์ของมัน - โครงสร้างบล็อกคือ "สิ่งที่คุณเห็นคือสิ่งที่คุณได้รับ" - และไม่เข้าใจว่าทำไมมีคนที่ถูกปลดออกจากเรื่องนี้ ฉันคิดว่ามันเป็นและเป็นความคิดที่ดี

ฉันกลับไปที่ Perl แม้ว่า ดูเหมือนว่าคิดว่าดีกว่าเป็นเครื่องมือในทางปฏิบัติ ในทฤษฎีวิทยาศาสตร์คอมพิวเตอร์ Python และ Ruby นั้น "ดีกว่า" แต่ฉันทำงานในโลกแห่งความจริง

ทับทิมและงูหลามเป็นแฟชั่นมากขึ้นในหมู่เด็กสดออกจากวิทยาลัย โปรแกรมเมอร์ส่วนใหญ่ที่ใช้ Facebook จะติดตามแฟชั่นในปัจจุบันและไปกับ Ruby หรือ Python โพสต์ต้นฉบับแสดงให้เห็นถึงสิ่งนี้: มัน conflates "มันคุ้มค่า" กับ "มันยังคงเป็นที่นิยม?"

ฉันไม่รู้และไม่สนใจว่า Perl เป็น "ยอดนิยม" ในโลก Facebook มันอาจเป็นภาษาสคริปต์ที่ใช้กันอย่างแพร่หลายในหมู่คนที่ประสบความสำเร็จมากซึ่งแตกต่างกันมาก ผู้วิจารณ์บางคนที่คิดว่าภาษาโปรดของพวกเขานั้นมีทรัพยากรเทียบเคียงกับ CPAN ไม่มีความคิดเกี่ยวกับความกว้างและลึกของ CPAN


5
ช่องว่างที่สำคัญคือความคิดที่น่ากลัว เคยเป็นเสมอจะเป็น ที่ถูกกล่าวถึงแม้ว่าฉันจะใช้ Ruby ที่ใดก็ได้ที่เหมาะสม แต่ฉันยังมีสคริปต์ Perl บางตัวสำหรับงานดูแลระบบที่ฉันไม่มีเหตุผลที่จะเขียนใน Ruby ทำไม? พวกเขาทำงานได้ดีและพวกเขาอยู่ในจุดที่น่าสนใจของ Perl ทำไมต้องสร้างงานมากกว่านี้
Jason Lewis

1
การบังคับให้คนเยื้องอย่างถูกต้องเป็นความคิดที่ดีโดยไม่คำนึงถึงภาษา ภาษาที่ดีกว่า (เช่น Python) ใช้แรงมากขึ้น
เบรนแดน

10

Perl เป็นภาษาสำหรับเขียนเครื่องมือที่ใช้แล้วทิ้ง มีแอปพลิเคชั่นอื่น ๆ อีกมากมายที่ Perl มีให้ใช้บ่อยและมีประโยชน์มากขึ้น แต่ถ้าคุณไม่มีคำสั่งเชลล์ที่จะทำสิ่งแปลก ๆ ถ้าคุณต้องการ stub เพื่อดึงข้อมูลบางอย่างจากซ็อกเก็ตแปลก ๆ ถ้าคุณมีล็อกไฟล์หรือ ฐานข้อมูลและต้องการแยกเนื้อหาบางอย่างออกนอก SQL ถ้าคุณต้องการดึงภาพสองสามภาพจากเซิร์ฟเวอร์หรือถ้าแม่แบบหน้าเว็บของคุณทั้งหมดมีข้อผิดพลาดประเภทเดียวกันและต้องการแก้ไขทั้งหมด - whipping ออกสคริปต์ Perl 10 นาทีเป็นวิธีที่จะไป

การเขียนสิ่งเดียวกันในเชลล์อาจเป็นไปได้ แต่เนื่องจากข้อ จำกัด ที่แปลกของการใช้เชลล์มันจะใช้เวลานานกว่าและยากกว่ามาก การเขียนสิ่งนี้ในภาษา "มืออาชีพ" เช่น C ++, C #, Java เป็นต้นจะใช้เวลาประมาณหนึ่งชั่วโมงโดยการเปรียบเทียบ การเขียนสิ่งนี้ในภาษาสคริปต์ที่แข่งขันกันเช่น Python, Ruby หรือ PHP เป็นทางเลือกที่ทำงานได้และน่าจะใช้เวลาเขียนนานกว่าถึง 20%

ใช่โปรแกรมในภาษาอื่นจะสามารถดูแลและอ่านได้ง่ายขึ้น แต่ถ้าคุณต้องการทางออกตอนนี้ Perl เป็นวิธีที่จะไป


8

ตรวจสอบ "การอัปโหลดล่าสุดจะ CPAN" - หน้า มีโมดูลใหม่หรือโมดูลที่อัปเดตมากกว่า 20 โมดูลที่อัปโหลดทุกวัน ฉันคิดว่าจำนวนการอัปโหลดรายวันเฉลี่ยช้าลง แต่เพิ่มขึ้นเรื่อย ๆ การกระทำเช่นนี้เป็นสัญญาณของภาษาที่กำลังจะตายใช่ไหม No!

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

ในการรับโมดูลเข้าสู่ผู้เขียน CPAN ขอแนะนำให้ใช้วิธีที่ยาวมากในการรักษาความเข้ากันได้แบบย้อนหลัง (ด้วย Perl เวอร์ชันเก่ากว่า 5 รุ่น) รวมถึงความเป็นอิสระของแพลตฟอร์ม ดูตัวอย่างเช่นhttp://matrix.cpantesters.org/?dist=DBI (DBI = ส่วนต่อประสานฐานข้อมูลเลเยอร์นามธรรม)

ภาษาเอง: ฉันรู้สึกสับสนเล็กน้อยกับฟีเจอร์ใหม่ทั้งหมดที่รวมอยู่ในภาษาตั้งแต่ 5.10, 5,12., 5.14 ฉันไม่ได้เรียนรู้ที่จะใช้ประโยชน์จากคุณสมบัติใหม่ Perl ได้รับการพัฒนาเร็วเกินไปสำหรับฉัน!


7

ฉันเรียนรู้ Perl 4 และ 5 ในขณะที่ทำการจัดการระบบย้อนกลับไปใน 90'es วันนี้ฉันเขียนโปรแกรม Java (โดยปกติแล้วการเรียกใช้ Perl มักไม่เป็นที่ต้องการ) และฉันยังคงใช้ Perl เป็นระยะ ๆ ในคอมพิวเตอร์พัฒนาของฉัน นี่เป็นเพียงการทำดาต้าล็อกไฟล์ที่มีการแสดงออกปกติใน Perl และนั่งร้านสำหรับข้อความแยกวิเคราะห์ oneliners ใน Perl ทำให้มันง่ายมากที่จะทำในบรรทัดคำสั่ง

เป็นหลักฉันใช้วันนี้เป็น awk ในเตียรอยด์ สำหรับสิ่งนี้มันยอดเยี่ยม

หนึ่งในคุณสมบัติของ Perl คือมีมากกว่าหนึ่งวิธีที่จะทำเกือบทุกอย่าง วิธีนี้ช่วยให้คุณสามารถเลือกสิ่งที่เหมาะกับวิธีการคิดของคุณ - ซึ่งดีมากเมื่อเพิ่งแฮ็ก Oneliner หรือสองคนด้วยกัน แต่ไม่ดีนักเมื่อต้องเข้าใจโค้ด Perl ของคนอื่นเพราะพวกเขามักจะเลือกวิธีอื่นที่จะทำ เหมาะกับวิธีคิดของพวกเขา

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


ดังนั้นคุณจะพูดว่ามันมีประโยชน์ส่วนใหญ่สำหรับสคริปต์ที่รวดเร็วในการจัดการข้อความ?
บ๊อบ

ในความคิดของฉันใช่แล้วมันก็ดีจริงๆ มันสามารถทำสิ่งอื่นได้เช่นกัน แต่สิ่งเหล่านั้นก็ไม่ได้อบเช่นกัน

1
แม้ว่า Perl จะจัดการข้อความได้ดีมากผ่านการแสดงออกปกติ แต่ก็ไม่จำเป็นที่จะต้องอ่านมันถ้าคุณรู้จัก Python หรือ Ruby (หรือบางทีอาจเป็น PHP) ฉันก็จะบอกว่าเพราะมันดีมากกับการแสดงออกปกติ Python นั้นเป็น verbose มากกว่าเล็กน้อย แต่มันก็สะอาดกว่าด้วย
Eric O Lebigot

@EOL แต่ไม่ใช่ Python หรือ Ruby หรือ PHP ไม่สามารถใช้งาน scaffolding สำหรับข้อความในการวิเคราะห์คำ ดูเช่นตัวเลือก "-i"

@ ThorbjørnRavnAndersen: เห็นด้วยสำหรับหนึ่ง liners: oneliners Python (ตัวเลือก -c) แน่นอนอีกต่อไป :)
Eric O Lebigot

7

ในขณะที่การพัฒนา Perl5 ซบเซาเนื่องจากการมุ่งเน้นไปที่ Perl6 ซึ่งทำให้เกิดความล่าช้านานระหว่างการเปิดตัวของ 5.8 และ 5.10 ตั้งแต่นั้นมาชุมชนก็เริ่มตระหนักว่า Perl5 และ Perl6 เป็นภาษาที่แตกต่างกันและมีการออกรุ่นใหม่เป็นประจำเมื่อเร็ว ๆ นี้

Perl เพิ่งชนะการแข่งขันแอปพลิเคชันทางเว็บโดยใช้ Catalyst (แม้ว่าฉันจะชอบMojolicious ) และการปฏิบัติ Modern Perl ใหม่บางอย่างก็นำความคิด OO ที่สะอาดขึ้นมาสู่ Perl ด้วยสิ่งต่างๆเช่น Moose

ในความเห็นของฉันในฐานะนักพัฒนา Perl Perl มีมรดกที่ยิ่งใหญ่และอนาคตที่สดใสไม่เพียง แต่จะเป็นเทปพันสายไฟที่เชื่อมต่อเครือข่ายขององค์กรเข้าด้วยกัน แต่ยังเป็นสถานที่แห่งใหม่ของแอปพลิเคชันเว็บ


3

ฉันไม่ใช่โปรแกรมเมอร์ผู้เชี่ยวชาญ แต่ฉันพบ Perl ง่ายต่อการเรียนรู้ (ฉันใช้หนังสืออูฐ) มีความสุขอยู่เสมอและ PerlMonks ชุมชนช่วยเหลือที่เป็นมิตรที่สุดในการเขียนโปรแกรม Perl ดูเหมือนว่าจะสูญเสียความดึงดูดใจทางเพศในแง่ของการจ้างงาน Ruby และ Python แต่มีเฉพาะในบางอุตสาหกรรม (โดยเฉพาะเว็บ)


3

หากคุณรู้ว่า Perl คุณจะเรียนรู้ Powershell ของ Microsoft ได้ง่ายขึ้น เกี่ยวกับไวยากรณ์ของ powershell มันไม่ได้มีราก perl แต่ Powershell มีคุณสมบัติและแนวคิดมากมายจากภาษา Perl เช่นด้านบนของหัวของฉัน: ตัวแปร $ _, อาร์เรย์นำหน้าด้วย @ และค่าสตริง / สเกลาร์ที่มี $, อนุสัญญาไฟล์สำหรับการตั้งชื่อและการเก็บโมดูลและในบางวิธี Autoloading เพื่อชื่อไม่กี่

ดังนั้นถ้าคุณรู้จัก Perl มันจะมีประโยชน์และมันง่ายกว่าที่จะเรียนรู้ Powershell หรือเข้าใจความคิดของ Powershell หรือเพื่อให้ Powershell สำนวนในความทรงจำระยะยาวของคุณ การเผชิญหน้ากับ Powershell ที่ไม่มีฉากหลังแบบ perl อาจจะดูแปลกไปหน่อย แค่พูด.

แน่นอนว่าภาษา Powershell ได้เพิ่มสิ่งใหม่ ๆ โดยเฉพาะอย่างยิ่งความเป็นมิตรกับ. NET และไม่ได้ดำเนินการใด ๆ กับฟังก์ชั่น / ตัวดำเนินการของ perl ที่ให้ "ความเข้ากันได้ย้อนหลัง" กับเครื่องมือบรรทัดคำสั่ง unix


2

Grant McLeanเพิ่งอัปโหลดหนังสั้นจากวิวัฒนาการของmapofcpan.orgซึ่งแสดงให้เห็นว่า CPAN วิวัฒนาการไปตามกาลเวลาด้วยวิธีการแสดงภาพแผนที่อย่างไร มันค่อนข้างอธิบายตนเองเกี่ยวกับความมีชีวิตชีวาของชุมชน ไม่ตาย

Perl นั้นต้องทนทุกข์ทรมานกับชื่อเสียงที่ไม่ดีเพราะมีตำนานมากมายและเป็นเพราะชุมชนไม่ต้องการและไม่พยายามทำให้มันเป็นภาษาโปรแกรมที่ทันสมัยที่สุดในโลก มันยากมากที่จะเข้าใจว่าทำไมคนจำนวนมากถึงเชื่อมั่นอย่างแน่นอนว่ามันเป็นภาษาที่น่ากลัว คุณสามารถเขียนโค้ดที่น่าขนลุกด้วยภาษาใดก็ได้ Perl ได้แนวปฏิบัติที่ดีที่สุดเป็นภาษาอื่น ๆ คุณเพียงแค่ต้องใช้มันมากกว่าหนึ่งวิธีปรัชญาพื้นฐาน

ฉันเห็นเหตุผลที่น่าเศร้าสำหรับชื่อเสียงที่ไม่ดีนี้มานานแล้วเว็บไซต์ชุมชน Perl ได้รับการออกแบบ UI ที่น่าเกลียดมาก (เช่นperlmonks.orgเป็นต้น) ส่วนตัวฉันไม่สนใจเรื่องนี้จริงๆบางทีฉันอาจมาที่ Perl เพราะเหตุผลนี้: ไม่ใช่เว็บไซต์ UI ที่ทันสมัยมากมาย แต่คุณสามารถเชื่อถือเครื่องมือชุมชนที่มีศรัทธามากขึ้นเพราะไม่พยายาม สวยงามกว่าที่คิด อย่างไรก็ตามเครื่องมือที่มีคุณภาพไม่ได้หมายความว่าคุณไม่ควรมุ่งเน้นไปที่การปรากฏตัวและในที่สุดมันก็เป็นความผิดพลาดที่จะไม่ดูแลหน้าตา

ตัวอย่างเช่นเพื่อนคนหนึ่งของฉัน (ผู้ที่ชอบภาษาที่ทันสมัยกว่า) บอกฉันว่าโลโก้ Perl6 ปัจจุบันน่ากลัวและมันจะเป็นปัญหาในการดึงดูดเนื้อเด็กสู่ Perl ปัญหาอื่น ๆ อีกมากมายกว่าด้วยหินสดใสหรืออื่น ๆโลโก้ที่ออกแบบอย่างดี

ฉันเชื่อว่ามันเป็นเหตุผลที่น่าเศร้ามากสำหรับความไม่เป็นที่นิยม แต่นั่นคือสิ่งที่ปกครองโลก


หากคุณจะไม่แสดงความสนใจในรายละเอียดเกี่ยวกับโลโก้ของคุณทำไมฉันถึงคิดว่าคุณจะแสดงความสนใจในรายละเอียดในรายละเอียดของภาษาของคุณ ไม่เพียง แต่โลโก้จะดูไม่ดีเท่านั้น แต่โลโก้ที่ไม่ดีจะรู้สึกตามอาการของวัฒนธรรมที่ไม่ให้ความสำคัญกับสิ่งที่นำเสนอและตอกย้ำภาพลักษณ์ที่อยู่เบื้องหลังเรื่องตลก "เขียนเพียงภาษาเดียว"
Racheet

ฉันได้ยินเกี่ยวกับคนที่ทำงานเกี่ยวกับชื่อเสียงที่ไม่ดี คนเหล่านี้เป็นผู้สนับสนุน Perl ที่ทันสมัยและการพัฒนาที่ขับเคลื่อนการทดสอบ เว็บไซต์เช่นbuiltinperl.com , questub.ioกำลังเปลี่ยนแปลงวิธีที่เราควรพิจารณากรณี Perl Duck Duck Go ยังประสบความสำเร็จอย่างมากไม่มีใครบอกได้ว่าพวกเขาไม่สนใจว่าจะมีการนำเสนออย่างไร แม้metacpan.orgได้รับวิธีที่จะให้กับผู้ใช้ CPAN (ความแข็งแรง Perl หลัก) เป็นประสบการณ์ใหม่ผ่านการแสดงรหัสเอกสารและค้นหาโมดูลกับ UI ที่ดี ฉันไม่เชื่อในโลโก้ภาษา: C มีโลโก้หรือไม่ ภาษาไม่ใช่ตราสินค้า
smonff

1

Perl ไม่ตายแน่นอน มันไม่เคยถูกสะกดจิตเช่นเดียวกับภาษาอื่น ๆ

ในขณะที่มันเป็นความจริง Perl เองก็เป็นภาษาเก่า แต่ก็มีชุมชนที่มีชีวิตชีวาและมีประสิทธิผลมากซึ่งเป็นคุณค่าที่อยู่ในห้องสมุด CPAN ฉันไม่คิดว่าภาษาใดมีห้องสมุดที่กว้างขวางและครอบคลุมเหมือนกับ CPAN ไม่มีอะไรมาใกล้ ใน CPAN คุณจะพบโมดูลและกรอบงานนับพันที่ทำทุกอย่างที่คุณสามารถจินตนาการได้ ต้องการเว็บเซิร์ฟเวอร์หรือไม่ มี HTTP :: เซิร์ฟเวอร์ ต้องการฐานข้อมูลแบบสแตนด์อโลนหรือไม่ มี Muldis :: DB ไม่ว่าคุณจะต้องการอะไรคุณมักจะพบกับโมดูลที่ตอบสนองความต้องการของคุณคุณเพียงแค่เลือกโมดูลที่เหมาะกับแอพของคุณที่สุด

สำหรับ Ruby, Python และคู่แข่งอื่น ๆ ฉันคิดว่าการแข่งขันที่ดีนั้นเป็นประโยชน์อย่างมากต่อ Perl ทุกสิ่งที่ภาษาอื่นมีชุมชน Perl จะเขียนซ้ำใน Perl ตัวอย่างเช่นเมื่อ Ruby ได้บินไปสู่ความสำเร็จของ Rails Perl ก็มี Dancer ซึ่งดีกว่าในหลาย ๆ ทางแล้วก็ Rails

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

โพสต์ต้นฉบับของคุณนานกว่า 6 เดือน ในกรณีที่คุณยังไม่ตัดสินใจตัดสินใจเองและเรียนรู้ Perl


0

ฉันใช้ Perl เพื่อการพัฒนาเกมบนเว็บมาตั้งแต่ 90 ปีและหลังจากหยุดพัก 3 ปีฉันเห็นด้วยกับโปสเตอร์ก่อนหน้านี้ ฉันกลับมาและพบว่ามันเป็นวิธีที่พัฒนาขึ้นไป

มันกำลังจะตายเหรอ? ไม่มีโอกาส

มันมีประโยชน์หรือไม่ ฉันจะหลงทางถ้าไม่ทำ อาจจะเป็นเพียงฉัน แต่จากคำตอบอื่น ๆ ฉันจะบอกว่ามันเป็นสิ่งมีชีวิตที่กระตือรือร้นมาก


-6

ฉันได้รับประสบการณ์การใช้งานเว็บด้วย PHP เป็นส่วนใหญ่ แต่เมื่อฉันเติบโตขึ้นในฐานะนักพัฒนาซอฟต์แวร์ก็มีความท้าทายมากขึ้นงานหลายอย่างใน PHP ไม่สามารถทำได้หรือไม่ได้ผลเลย ฉันสามารถโยนมือของฉันขึ้นมา แต่ (ขอบคุณ google) ฉันพบว่าตัวเองอยู่ในเซสชัน SSH ใช้ประโยชน์จาก libreoffice, ffmpeg, imagemagick เพื่อเขียนฟังก์ชั่นกระบวนการโพสต์สำหรับ PHP ไม่เคยใช้ก่อนที่ฉันจะไปสำหรับ PERL .. ส่วนใหญ่เป็นเพราะ Perl ตั้งอยู่อย่างสมบูรณ์ภายใต้กองไฟ

(1) ติดตั้งไว้แล้วบนเซิร์ฟเวอร์ LAMP ทั้งหมดหรืออย่างน้อยก็มีรอบต่อนาทีใหม่ (2) มี repo CPAN ที่ยอดเยี่ยมเพื่อช่วยคุณประหยัดเวลาได้มาก (3) เร็วขึ้น / ปลอดภัยกว่าในการทำงานที่ PHP ทำงานบน apache ล้มเหลว (4) คล้ายกับ PHP และเรียนรู้ได้ง่าย

ผสมผสานความคิดกับ PHP, อบด้วย PERL โดยใช้ BASH ตามต้องการ, พลิกตาม MySQL จากนั้นใช้ HTML5 และ jQuery มันเป็นสูตรที่ยอดเยี่ยม


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