ויקיפונקציות:שאלות ותשובות
הדף הזה מוקדש לשאלות נפוצות על ויקיפונקציות. תרגישו חופשיים לשאול את השאלה שלך בדף השיחה אם היא עדיין לא רשומה פה!
בנוסף, ישנו דף שאלות ותשובות במטא, העוסק בשאלות יותר כלליות על ויקיפונקציות או ויקיפדיה המופשטת.
מבוא
במה המיזם עוסק?
ויקיפונקציות היא מיזם ויקימדיה חדש שמספק קטלוג של כל מיני פונקציות שכל אחד יכול לקרוא להן, לכתוב ולתחזק אותן, ולהשתמש בהן. מיזם ויקיפונקציות מספק את הטכנולוגיה היסודים שתאפשר בסופו של דבר תרגום של ערכים בלתי־תלויים בשפה מוויקיפדיה מופשטת (Abstract Wikipedia) לשפה של כל ויקיפדיה אחרת. זה יאפשר לכולם לתרום ולקרוא ערכים בשפה המועדפת עליהם.
מהי פונקציה?
פונקציות הן סוג של ידע שיכול לענות על שאלות, כגון כמה ימים עברו בין שני תאריכים, או מהו המרחק בין שתי ערים. פונקציות מורכבות יותר יכולות לענות על שאלות מורכבות יותר, כמו מה הנפח של צורה תלת־ממדית, המרחק ממאדים לנוגה בתאריך מסוים, או האם שני מינים חיו באותו הזמן.
אנו כבר משתמשים בפונקציות בסוגים רבים של פניות לקבלת ידע, כגון הפניית שאלה למנוע חיפוש. התבניות, כגון Template:Convert ו־Template:Age בוויקיפדיה האנגלית, הן גם דוגמאות לפונקציות שכבר משמשות בוויקיפדיות רבות, כתובות בקוד ויקי ובלואה (Lua) ומועתקות ידנית לכל ויקי לפי הצורך.
מהו מימוש?
מימוש הוא דרך מסוימת לבצע פונקציה. מימוש הוא מתכון שמפרט את הצעדים הדרושים להרצת הפונקציה. הוא יכול להיות פיסת קוד בשפת תכנות או שילוב של קריאות לפונקציות אחרות. לפונקציה יכולים להיות מימושים רבים, שכולם חייבים להיות שקולים זה לזה.
מהי בדיקה?
בדיקה היא דרך לקבוע האם פונקציה נתונה עושה את הדבר הנכון. לרוב, לפונקציה יהיו כמה בדיקות, שכל אחת מהן מציינת קלט כלשהו לפונקציה והתנאים שהפלט התואם נדרש לקיים.
לדוגמה, בודקים לפונקציה "רישיות כותרת" (title case) עשויים לכלול: "abc" צריך להפוך ל־"Abc"; "war and peace" צריך להפוך ל־"War and Peace"; "война и мир" צריך להפוך ל־"Война и мир"; ו־"123" צריך להפוך ל־"123".
אילו יכולות זמינות עכשיו, אילו יהיו זמינים בקרוב ואילו בהמשך?
- בהשקה:
- תהיה לנו יכולת לארח פונקציות שעובדות עם מחרוזות ובוליאנים.
- יהיה אפשר לתרגם ויקיפונקצמות ישר מההתחלה. יהיה אפשר להשתמש בהן בכל שפה.
- בפיתוח מתמשך:
- סוגים כלליים פונקציות כלליות (generic) אינם נתמכים לגמרי.
- הוספת סוגים תהיה, לעת־עתה, משהו שרק צוות הפיתוח יכול לעשות. בעתיד, הקהילה תוכל להוסיף עוד סוגים. יש הרבה עבודה שעלינו לעשות בעתיד כדי לגרום לסוגים להתנהג בצורה הרבה יותר חלקה.
- סוג מעניין במיוחד יהיה נתונים בינריים ובמיוחד קבצים.
- אנחנו תומכים עכשיו בשתי שפות למימושים: JavaScript ופייתון. אנחנו רוצים לתמוך בהרבה יותר שפות בעתיד.
- כרגע, לא ניתן לקרוא לפונקציות מתוך מימושים בשום שפת תכנות. כרגע זה אפשרי רק באמצעות הרכבה.
- בעתיד:
- יהיה אפשר לקרוא לפונקצית של ויקיפונקציות למיזמי ויקימדיה אחרים ולשלב את התוצאות שלהן בפלט של דף.
- יהיה אפשר להשתמש בנתונים מוויקינתונים בפונקציות.
- יהיה אפשר לקרוא לערכות נתונים ממרחב השם Data בוויקישיתוף.
איך מיזם ויקיפונקציות יהיה רב־לשוני?
מיזמי ויקיפונקציות וויקיפדיה מופשטת יהיה רב־לשוניים בכמה אופנים שאינם משפיעים זה על זה:
- מיזם ויקיפונקציות יהיה רב־לשוני מבחינת התוכן וממשק המשתמש שלו. משתמשים יכולים לקרוא את התוכן ולקרוא לפונקציות בוויקיפונקציות בכל שפה טבעית. הנה פונקציית "שרשור מחרוזות" באנגלית, בפולנית בעברית, והיא זמינה בשפות רבות נוספות.
- תורמים יכולים לערוך ולשפר את ויקיפונקציות בשפה שלהם. ניתן לערוך אפילו מימושים בשפה הטבעית של התורם. למשל, ניתן לערוך את ההרכבה של הפונקציה "וגם" בגרמנית, באנגלית או בכל אחת מכ־300 שפות.
- אפשר להשתמש בפונקציות של ויקיפונקציות כדי ליצור תוצאות לכל שפה טבעית. הקהילה יוצרת מספר הולך וגדל של פונקציות כדי לתמוך ביצירת טקסט בשפות טבעיות רבות. יש לנו פונקציות עבור ברטונית, רוהינגיה, אנגלית ושפות רבות אחרות.
- ניתן לממש פונקציות בוויקיפונקציות בשפות תכנות שונות. למשל, פונקציית השרשור ממומשת גם ב־JavaScript וגם בפייתון.
באילו שפות תכנות מיזם ויקיפונקציות תומך כעת? אילו שפות תכנות ייתמכו בעתיד?
כעת, ויקיפונקציות תומכות במימושים שכתובים ב־JavaScript ובפייתון. אנחנו מתכננים להוסיף תמיכה ביותר שפות תכנות בעתיד. אנו מקווים להוסיף לפחות שפת תכנות אחת בשנת 2024 (אבל עדיין לא החלטנו איזו).
איך ישולבו ויקיפונקציות במיזמים אחרים?
מיזם ויקיפונקציות הוא הצעד הראשון לקראת בניית ויקיפדיה מופשטת (Abstract Wikipedia). ההתמקדות בטווח הקרוב שלנו תהיה בתמיכה בקהילה ובביצוע שיפורים על סמך משוב. במקביל נתחיל בתהליך השילוב שלו עם ויקיפדיה וויקינתונים, מה שיאפשר יישומים רחבים יותר בחיים האמיתיים ויקרב אותנו לחזון של ויקיפדיה מופשטת.
תורמים יוכלו לקרוא לפונקציות שמאוחסנות באתר ויקיפונקציות מתוך הוויקי שלהם. התוצאה של קריאת הפונקציה תוצג לקוראי הוויקי. זה יכול לשמש, למשל, לחישוב גילו של אדם, צפיפות האוכלוסין בהתבסס על נתוני אוכלוסייה ושטח מוויקינתונים, או לציור תרשים ולשילובו בערך נתון.
אפשרות נוספת לשילוב של ויקיפונקציות היא הכנסת ממשק אינטראקטיבי לקריאה לפונקציות לתוך הוויקי שלהם. זה יכול לשמש, למשל, בערך בוויקיפדיה לחישוב דינמי של תוצאה של משוואה בפיזיקה על סמך פרמטרים שניתנים על־ידי הקורא, לצייר פונקציות מתמטיות ולתקשר איתן, וכו'.
מה מיזם ויקיפונקציות איננו?
ר' את הדף מה מיזם ויקיפונקציות איננו למידע נוסף.
מה יהיה הרישיון של הפונקציות והתוכן הנגזר מהם?
Per the discussion happened on Meta between November and December 2021, all contributions to Wikifunctions and the wider Abstract Wikipedia projects will be published under free licenses. In particular:
- Textual content on Wikifunctions will be published under CC BY-SA 4.0.
- Function signatures and other structured content on Wikifunctions will be published under CC 0.
- Code implementations in Wikifunctions will be published under the Apache 2 license.
- Abstract Content for Abstract Wikipedia will be published under CC BY-SA 4.0.
There are still some points that will need to be addressed in the future, such as the license of the generated content from the abstract content. We plan on drafting a more comprehensive document with the Legal department about how people can re-use code from Wikifunctions as painlessly as possible, while adhering to the license.
תרומה
הגעתי עכשיו. מה יש לי לעשות ואיך אפשר לעזור?
ברוך בואך! אנחנו שמחים מאוד שבאת! יש הזדמנויות רבות לתרום לוויקיפונקציות, מיצירת פונקציות חדשות ועד לשיפור ותרגום תיעוד. אם חיפשת דרכים להיכנס לעניינים, אנו ממליצים לך, בהתאם לרמת הנוחות שלך, להציע פונקציה חדשה בנושא שמעניין אותך. או אפילו ליצור פונקציה כזאת בעצמך. לכתוב כמה בדיקות. לנסות את עצמך בכתיבת מימוש. לעזור בתרגומים. לקרוא ולשפר את התיעוד שלנו. לעזור בארגון הקהילה.
איך אפשר ליצור פונקציה חדשה, מימוש חדש או בדיקה חדשה?
כדי לראות איך ליצור פונקציה חדשה, מימוש חדש או בדיקה חדשה, ר' מבוא לוויקיפונקציות.
ליותר פרטים על יצירת מימוש, ר' איך ליצור מימושים.
מה כדאי לי לערוך תחילה?
אם יש לך יכולת לכתוב בכמה שפות, אפשר למצוא פונקציות שעדיין אין להן תוויות ותיאורים בשפות שלך, ולעזור בהוספתן.
אם מעניין אותך נושא מסוים שיכולות להיות עליו פונקציות בוויקיפונקציות, אך הן עדיין לא קיימות, או אם יש לך רעיונות נוספים לפונקציות, ר' את הדף להצעת פונקציות חדשות. שם אפשר להציג את הרעיונות שלך.
אם יש לך יכולות כתיבת קוד ב-JavaScript או בפייתון, אולי אפשר לחפש פונקציות שעדיין אין להן מימושים ב-JavaScript או בפייתון ולנסות לכתוב אותן.
לאן אוכל לפנות לעזרה?
התחנה הראשונה שלך אמורה להיות פורטל העזרה שאפשר למצוא בו את כל התיעוד הקשור לשימוש בוויקיפונקציות ועריכה באתר. אם נתקעת, נא לשלוח הודעה ב-מזנון, ומישהו ויענה על השאלה שלך.
איך אנו ממיינים את הפונקציות?
לעת־עתה, הדרך הטובה ביותר למיין או לסווג פונקציות היא לעשות זאת ידנית דרך דפים במרחב השמות Wikifunctions. אפשרות נוספת תהיה דרך דף השיחה של הפונקציה הנתונה. אנו נעקוב אחר המאמצים האלה, ונדון עם הקהילה אילו שינויים במערכת יועילו למשימה הזאת.