ויקיפונקציות:אודות

From Wikifunctions
This page is a translated version of the page Wikifunctions:About and the translation is 100% complete.
המטרה הראשונה של ויקיפונקציות היא לתמוך במיזמי ויקימדיה, אך היא תתמוך גם במטרות מעבר אליהם, כמו שזה עובד עם ויקינתונים. זהו תיאור של ויקיפונקציות מעבר לוויקיפדיה.
הצהרת משימה
מיזם ויקימידיה לכולם ליצירה ולתחזוקה של ספריית פונקציות קוד לתמיכה במיזמי ויקימידיה ומעבר אליהם, שכולם יוכלו לקרוא להם ולעשות בהן שימוש חוזר בשפות הטבעיות ובשפות התכנות של העולם

ויקיפונקציות היא מאגר פתוח של קוד שכולם יכולים להשתמש בו ולתרום אליו.

מיזם ויקיפונקציות מורכב מפונקציות. לפונקציה יכול להיות תיאור בכמה שפות עם רשימה של פרמטרים, מקרי בדיקה, רשימה של מימושים בשפות תכנות שונות, ומטא־נתונים נוספים, וכל זה – בכמה שפות (מתוך אלה שנתמכות בוויקימדיה). פרויקטי תוכנה אחרים (יישומים פרטיים או סקריפטים) יכולים לעשות במימושים שימוש חוזר, וניתן גם לקרוא להם ולהפעיל אותם ברשת (פשוט בדפדפן, בסביבת ענן, או במחברות Jupyter[1] או PAWS[2]), להרכיב אותם כדי להגיע לפונקציונליות מורכבת יותר, לחתום, לנתח ולבדוק אותם, ולעשות עוד דברים רבים.

ויקיפונקציות היא מיזם ברוח של ויקיפדיה, ויקינתונים, ויקימילון ומיזמים עולמיים דומים אחרים של תרבות חופשית: היא מאפשרת לתורמים מכל רחבי העולם ליצור ולתחזק ספרייה רב־לשונית של פונקציות, שכולם יכולים להשתמש בהן לכל מטרה. כל פונקציה יכולה להיתמך על־ידי כמה מימושים בשפות תכנות שונות, במקרי בדיקה, בתנאים מקדימים ומאוחרים, בתיעוד, במטא־נתונים בצורה של הערכות זמן ריצה והבטחות מורכבוּת עבור המימושים השונים וכו'. משתמשים יכולים לקרוא לפונקציה ישירות באתר אינטרנט, או מהקוד או מהיישומים שלהם, מממשק שורת פקודה או מיישום מקומי. הפונקציה עשויה לרוץ באופן מקומי בדפדפן, בענן, או באופן מקומי ומוטבע בתוך היישום של המשתמש.

מיזם ויקפונקציות נועד ליצור גם קטלוג משותף מוגדר היטב של פונקציות שניתן לעשות בהן שימוש חוזר באופן נרחב וגם סביבה שבה ניתן לשלב במהירות את פונקציות ולהפעיל אותן. המיזם שואף להקל על החיים של המפתחים, אשר יכולים להסתמך על המאגר הזה כמו על כל ספרייה חיצונית, ושל משתמשי־קצה שיכולים לקרוא לפונקציות לפי הצורך, בדרך שכעת זמינה רק עם כיסוי מאוד לא אחיד באמצעות אתרים ספציפיים שנכתבים לעיתים קרובות בצורה של אתרים משנות ה־90 עם יישומוני ג'אווה.

כל הפונקציות טהורות כדי לאפשר הרצה מאובטחת בארגז חול. בנוסף, כל מימוש יכול להיות מוער עם מטא־נתונים וחתום קריפטוגרפי. משתמשי־קצה יכולים לבחור ולבדוק באיזה מימוש של כל פונקציה להשתמש, בהתאם למשאבי החומרה הזמינים להם ובהגדרות רשת האמון.

מיזם ויקיפונקציות יאפשר גישה קלה למאגרי נתונים גדולים כגון ויקינתונים, אבל גם לקובצי קלט ופלט בינאריים. זה לגמרי אפשר להעלות תמונה בתור קובץ קלט ולהחזיר תוצאות של נתוני ניתוח כגון מה מוצג בתמונה, או כמה צבעים שונים יש בתמנה – או קובץ בינארי שונה, למשל קובץ בתסדיר אחר. זה יהיה זמין לזרמי עבודה בוויקישיתוף.

מיזם ויקיפונקציות ממשיך את המסורת של העברת יותר חישוב, שקרה עד עכשיו בשורת הפקודה או עם יישומים של משתמשים שמתמצאים במחשבים, אל הרשת, ומתן גישה לפונקציונליות שלא הייתה זמינה קודם לכן לציבור רחב יותר. באותו זמן, ויקיפונקציות תשפר את היצרנות של מפתחי התוכנה בכל מקום, כי הם יוכלו להשתמש בספריית קוד גדולה במקום להסתמך על העתקה והדבקה מאתרים כגון StackOverflow.

שלא כמו בוויקיפדיה, תורמים בעיקר ייצרו מימושים חדשים לפונקציה במקום לעדכן פונקציות קיימות. המימושים יכולים להיבדק אוטומטית אל מול בדיקות נתונות, להיבדק זה אל מול זה ולעבור ניתוח נוסף.

יישומים יכולים להיות כתובים בכמה שפות תכנות שונות, אך הם יוכלו לקרוא לפונקציות שממומשות בשפות תכנות אחרות. מנוע הביצוע יכול לפעול באופן חלק (אם כי לא בהכרח עם ביצועים הגבוהים ביותר) בשפות שונות. למרות שברוב המקרים יש ביצועים טובים יותר בהרכבת פונקציות בשפת תכנות אחת, אין צורך לעשות זאת. במקרים רבים, המהירות של הפיתוח והזמן של המפתח יהיו בעלי ערך רב יותר מזמן החישוב הנוסף במנוע הביצוע.

הערות שוליים

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