ฉันจะขยายความคิดเห็นของฉัน
ฉันคิดว่ามีปัจจัยบางอย่างที่มีผลต่อการใช้งาน Python ในการคำนวณทางวิทยาศาสตร์ แต่ฉันไม่คิดว่าจะมีประเด็นทางประวัติศาสตร์ที่ชัดเจนที่คุณสามารถพูดได้ว่า "ใช่นั่นคือเหตุผลที่ Python ใช้กับ Ruby / อย่างอื่น "
สมัยก่อนประวัติศาสตร์
Python และ Ruby อายุเท่ากัน - จากข้อมูลของ Wikipedia Python ได้เปิดตัวครั้งแรกในปี 1991 และ Ruby ในปี 1995
อย่างไรก็ตาม Python ก็มีความโดดเด่นกว่า Ruby ในขณะที่ Google ใช้ Python อยู่แล้วและกำลังมองหาผู้พัฒนา Python ในช่วงเปลี่ยนสหัสวรรษ เนื่องจากมันไม่ใช่ว่าเรามีประวัติของการใช้ภาษาการเขียนโปรแกรมและอิทธิพลของพวกเขาที่มีต่อผู้คนที่ใช้พวกเขาฉันจะคิดว่าการใช้ Python โดย Google ก่อนหน้านี้เป็นแรงกระตุ้นครั้งใหญ่สำหรับผู้ที่ต้องการขยายมากกว่าแค่ใช้ Matlab, C ++ Fortran, Stata, Mathematica ฯลฯ
คือฉันหมายถึงว่า Google ใช้ Python ในระบบที่มีเครื่องจักรหลายพันเครื่อง (คิดว่าการขนานและสเกล) และประมวลผลจุดข้อมูลหลายล้านครั้งอย่างต่อเนื่อง
จุดบรรจบเหตุการณ์
การคำนวณทางวิทยาศาสตร์เคยทำบนเครื่องพิเศษเช่น SGIs และ Crays (จำได้ไหม?) และแน่นอน FORTRAN นั้นถูกใช้กันอย่างแพร่หลายเนื่องจากความเรียบง่ายสัมพัทธ์และเพราะมันสามารถปรับให้เหมาะสมได้ง่ายขึ้น
ในทศวรรษที่ผ่านมาฮาร์ดแวร์สินค้าโภคภัณฑ์ (หมายถึงสิ่งที่คุณหรือฉันสามารถจ่ายได้โดยไม่ต้องเป็นเศรษฐี) ได้เข้าครอบครองในอาณาจักรวิทยาศาสตร์และคอมพิวเตอร์ขนาดใหญ่ ดูการจัดอันดับ 500 อันดับสูงสุดในปัจจุบัน - 'ซูเปอร์คอมพิวเตอร์' อันดับต้นๆ ของโลกสร้างขึ้นด้วยฮาร์ดแวร์ Intel / AMD ปกติ
Python เข้ามาในช่วงเวลาที่ดีตั้งแต่นั้นอีกครั้ง Google กำลังส่งเสริม Python และ Google ใช้ฮาร์ดแวร์สินค้าและพวกเขามีเครื่องนับพัน
ถ้าคุณขุดลงในบทความการคำนวณทางวิทยาศาสตร์เก่า ๆ พวกเขาก็เริ่มดีดตัวขึ้นในยุค 2000
สนับสนุนก่อนหน้านี้
ต่อไปนี้เป็นบทความที่เขียนขึ้นสำหรับซอฟต์แวร์และระบบการวิเคราะห์ข้อมูลทางดาราศาสตร์ซึ่งเขียนในปี 2000 แนะนำว่า Python เป็นภาษาสำหรับการคำนวณทางวิทยาศาสตร์
บทความนี้มีข้อความเกี่ยวกับ Python:
Python เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่ถูกตีความซึ่งเริ่มได้รับความสนใจอย่างมากในแอปพลิเคชันทางวิทยาศาสตร์ (Python, 1999) นี่เป็นเพราะ Python และภาษาสคริปต์โดยทั่วไปเป็นตัวแทนของขั้นตอนต่อไปสำหรับโครงการวิทยาศาสตร์จำนวนมาก (Dubois 1994) ก่อนอื่น Python ให้ภาษาการเขียนโปรแกรมตีความที่สามารถดูได้เป็นส่วนขยายของภาษาคำสั่งง่าย ๆ ที่ใช้แล้วโดยโปรแกรมทางวิทยาศาสตร์
ประการที่สอง Python สามารถผนวกรวมกับซอฟต์แวร์ที่เขียนในภาษาอื่นได้อย่างง่ายดาย เป็นผลให้มันสามารถใช้เป็นทั้งภาษาควบคุมสำหรับการขับขี่โปรแกรมที่มีอยู่รวมทั้งภาษากาวสำหรับการรวมระบบที่แตกต่างกันเข้าด้วยกัน ในที่สุด Python ได้รวบรวมคอลเล็กชั่นโมดูลของบุคคลที่สามฐานผู้ใช้ที่จัดตั้งขึ้นและเอกสารที่หลากหลายในรูปแบบของหนังสือและการอ้างอิงออนไลน์ ด้วยเหตุนี้เราจึงอาจมองว่ามันเป็นเวอร์ชั่นที่ขัดเกลาและขยายออกไปของสิ่งที่นักวิทยาศาสตร์มักจะพยายามทำให้สำเร็จเมื่อเขียนล่ามคำสั่งของตนเอง
ดังนั้นคุณจะเห็นได้ว่า Python มีแรงฉุดย้อนหลังไปถึงช่วงปลายยุค 90 เนื่องจากมันมีหน้าที่คล้ายกับระบบที่มีอยู่ในเวลาและเพราะมันง่ายที่จะรวม Python เข้ากับสิ่งต่าง ๆ เช่น C และโปรแกรมที่มีอยู่ จากเนื้อหาของบทความนั้น Python อยู่ในการใช้งานทางวิทยาศาสตร์ย้อนหลังไปถึงกรอบเวลา 2538-2539
ความแตกต่างในการเติบโตของความนิยม
ความนิยมของรูบี้ระเบิดไปพร้อม ๆ กับการเพิ่มขึ้นของ Ruby On Rails ซึ่งออกมาครั้งแรกในปี 2004 ฉันอยู่ในวิทยาลัยเมื่อฉันได้ยินข่าวลือเกี่ยวกับรูบี้เป็นครั้งแรกและนั่นคือประมาณปี 2548-2549 django สำหรับ Python ออกวางตลาดในช่วงเวลาเดียวกัน (กรกฎาคม 2548 จาก Wiki) แต่จุดสนใจของชุมชน Ruby นั้นมีความสำคัญอย่างมากในการส่งเสริมการใช้งานในเว็บแอปพลิเคชัน
Python มีห้องสมุดที่เหมาะกับการคำนวณทางวิทยาศาสตร์อยู่แล้ว:
NumPy - NumPy เริ่มต้นอย่างเป็นทางการในปี 2005 แต่ห้องสมุดทั้งสองที่สร้างขึ้นได้รับการเผยแพร่ก่อนหน้านี้: ตัวเลข (1995) และ Numarray (2001)
BioPython - คลังประมวลผลทางชีวภาพสำหรับ python ซึ่งย้อนกลับไปในปี 2544 เป็นอย่างน้อย
SAGE - ชุดคณิตศาสตร์ที่มีการวางจำหน่ายครั้งแรกในต้นปี 2548
และอื่น ๆ อีกมากมายแม้ว่าฉันจะไม่รู้จักเส้นเวลาของพวกเขา (นอกเหนือจากการเรียกดูไซต์ดาวน์โหลดของพวกเขา) แต่ Python ก็มี SciPy (สร้างขึ้นบน NumPy ซึ่งเปิดตัวในปี 2549) ได้ผูกกับ R (ภาษาสถิติ) ใน ช่วงต้นปี 2000 ได้รับ MatPlotLib และยังมีสภาพแวดล้อมเชลล์ที่ทรงพลังใน ipython
ipythonได้รับการปล่อยตัวครั้งแรกในช่วงต้นยุค 2000 และได้มีคุณสมบัติหลายอย่างเพิ่มลงไปที่ทำให้มันมีความสุขมากสำหรับการคำนวณทางวิทยาศาสตร์เช่นกราฟ matplotlib บูรณาการและความสามารถในการจัดการกลุ่มคอมพิวเตอร์
จากบทความด้านบน:
นอกจากนี้ยังเป็นที่น่าสังเกตอีกหลายโครงการที่เกี่ยวข้องกับการคำนวณทางวิทยาศาสตร์ของงูหลาม ส่วนต่อขยายของ Python เป็นตัวเลขได้เพิ่มอาเรย์อย่างรวดเร็วและการจัดการเมทริกซ์ให้กับ Python (Dubois 1996), MMTK เป็นชุดเครื่องมือที่ใช้ Python สำหรับการสร้างแบบจำลองโมเลกุล (Hinsen 1999) โครงการ Biopython กำลังพัฒนาเครื่องมือที่ใช้ Python สำหรับการวิจัยวิทยาศาสตร์ชีวภาพ และ Visualization Toolkit (VTK) เป็นแพ็คเกจการสร้างภาพขั้นสูงที่มีการผูก Python (VTK, 1999) นอกจากนี้โครงการต่อเนื่องในชุมชน Python กำลังพัฒนาส่วนขยายสำหรับการประมวลผลภาพและการพล็อต ในที่สุดงานที่นำเสนอใน (Greenfield, 2000) จะอธิบายการใช้งาน Python ในโครงการที่ STScI
ดีรายการแพคเกจทางวิทยาศาสตร์และตัวเลขสำหรับงูหลาม
อาจเป็นเพราะสมัยก่อนประวัติศาสตร์และความสับสนของทับทิมจนถึงยุค 2000 ในขณะที่ Python ได้รับแรงฉุดจากการประกาศของ Google
ดังนั้นหากคุณกำลังประเมินภาษาสคริปต์ในช่วงปี 1995 - 2000 คุณมองอะไรจริงๆ มี Perl ซึ่งอาจแตกต่างกันพอ syntactically ว่าคนไม่ต้องการใช้แล้วก็มีงูหลามซึ่งมีไวยากรณ์ที่ชัดเจนและอ่านง่ายขึ้น
และใช่อาจมีจำนวนมากของตัวเองการเสริมแรง - งูใหญ่แล้วมีดีห้องสมุดทั้งหมดเหล่านี้มีประโยชน์สำหรับการคำนวณทางวิทยาศาสตร์ในขณะที่ทับทิมมีความเสียงที่ชนกลุ่มน้อยที่เกื้อหนุนต่อการใช้งานในด้านวิทยาศาสตร์และมีห้องสมุดบางส่วนแตกหน่อขึ้นเช่นSciRubyแต่ เครื่องมือของไพ ธ อนได้ครบกำหนดในทศวรรษที่ผ่านมา
ชุมชนรูบี้ในวงกว้างดูเหมือนว่าจะมีความสนใจอย่างมากในการพัฒนา Ruby เป็นภาษาเว็บเพราะนั่นคือสิ่งที่ทำให้เป็นที่รู้จักกันดีในขณะที่ Python เริ่มต้นในเส้นทางที่แตกต่างกันและต่อมาก็กลายเป็นภาษาเว็บ