Jump to content

วิกิฟังก์ชันส์:ภาพรวม

From Wikifunctions
This page is a translated version of the page Wikifunctions:About and the translation is 53% complete.
Outdated translations are marked like this.
วิกิฟังก์ชันส์มีเป้าหมายเป็นอันดับแรกเพื่อสนับสนุนโครงการวิกิมีเดียต่าง ๆ แต่ก็จะสนับสนุนเป้าหมายอื่น ๆ นอกเหนือจากนั้นไป เช่นเดียวกับวิกิสนเทศ ต่อไปนี้เป็นคำอธิบายเกี่ยวกับวิกิฟังก์ชันส์นอกเหนือไปจากวิกิพีเดีย
คำแถลงพันธกิจ
โครงการวิกิมีเดียสำหรับให้ทุกคนร่วมมือกันสร้างและดูแลรักษาไลบรารีของฟังก์ชันรหัสคำสั่ง เพื่อสนับสนุนโครงการวิกิมีเดียและที่อื่น ๆ ให้ทุกคนสามารถเรียกใช้และนำกลับมาใช้ใหม่ในภาษาธรรมชาติและภาษาการเขียนโปรแกรมทั้งหมด

วิสัยทัศน์ สำหรับ วิกิฟังก์ชัน:

  1. Imagine a programming system that is collaboratively grown and maintained, to which everyone can contribute, and that everyone may share.
  2. Imagine a programming system that truly is accessible, one that is open not only to speakers of English but to billions of people more who will not have to learn English first in order to learn how to program.
  3. Imagine a programming system that is truly geared to a mobile-first world, and where the execution of the code and the data flow become intelligently managed and distributed.
  4. Imagine a programming system where you write code only once and then it can be run anywhere by anyone – even from programs written in different programming languages.
  5. Imagine a programming system that allows us to make the next big leap in knowledge representation.

วิกิฟังก์ชันส์เป็นคลังเก็บรหัสคำสั่งแบบเปิดที่ทุกคนสามารถใช้และมีส่วนร่วม

วิกิฟังก์ชันส์ประกอบไปด้วยฟังก์ชันต่าง ๆ แต่ละฟังก์ชันมีคำอธิบาย รายการของตัวแปร ชุดทดสอบ รายการของการนำไปปฏิบัติในภาษาโปรแกรมต่าง ๆ และข้อมูลอภิพันธุ์เพิ่มเติม การนำไปปฏิบัติสามารถนำไปใช้ซ้ำในโครงการซอฟต์แวร์อื่น ๆ ได้ (ในแอปพลิเคชันหรือคำสั่งส่วนตัว) สามารถเรียกใช้และกระทำการออนไลน์ได้ (บนเบราว์เซอร์ ระบบนิเวศคลาวด์ หรือสมุดบันทึก Jupyter[1] หรือ PAWS[2]) สามารถนำไปประกอบเพื่อการใช้งานที่ซับซ้อนกว่าได้ สามารถนำไปลงนามรหัส วิเคราะห์ และตรวจสอบได้ ฯลฯ

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

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

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

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

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

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

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

อ้างอิง

  1. m:WikiCite 2017/Jupyter notebooks on Wikimedia sites
  2. PAWS

See also