משתמש:יוסף אור/לשוניות – הבדלי גרסאות
הוספת תוכן נטען |
אין תקציר עריכה |
||
שורה 21: | שורה 21: | ||
• {{קישור לתוכן נטען|מיקום התוכן=entries|קישור=קרן GNOME}} {{כ}} |
• {{קישור לתוכן נטען|מיקום התוכן=entries|קישור=קרן GNOME}} {{כ}} |
||
• {{קישור לתוכן נטען|מיקום התוכן=entries|קישור=Vala}} |
• {{קישור לתוכן נטען|מיקום התוכן=entries|קישור=Vala}} |
||
• {{קישור לתוכן נטען|מיקום התוכן=entries|קישור=File Roller}} |
|||
|קבוצה2 = תבניות |
|קבוצה2 = תבניות |
||
|רשימה2 = |
|רשימה2 = |
גרסה מ־13:25, 6 ביוני 2012
הדפים שיצרתי או תרגמתי או ערכתי או שיפצתי באופן משמעותי | ||
---|---|---|
ערכים | GTK+
• Glade • Anjuta • העין של GNOME • Geany • Gedit • נאוטילוס (מנהל קבצים) • Midori • QupZilla • קרן GNOME • Vala • File Roller | |
תבניות | תבנית:GNOME | |
קטגוריות | קטגוריה:GTK+ |
פרדיגמות | תכנות מונחה-עצמים, תכנות אימפרטיבי, תכנות מובנה, רב פרדיגמות |
---|---|
מתכנן | Jürg Billeter |
מפתח | Jürg Billeter, Raffaele Sandrini |
טיפוסיות | סטטית, חזקה |
מימושים | valac |
הושפעה על ידי | C, C++, C#, D, Java |
רישיון | הרישיון הציבורי הכללי המוקטן של גנו גרסה 2.1+ |
סיומת | .vala .vapi |
wiki.gnome.org/Projects/Vala |
Vala היא שפת תכנות מונחית־עצמים אשר מטרתה ליצור שפת תכנות חדישה למפתחי GNOME ללא תלויות וללא שימוש ב־API שונה לעומת יישומים וספריות שנכתבו בשפת C.
valac, מהדר Vala, מתרגם קוד Vala לקוד בשפת C. הוא משתמש במערכת GObject ליצירת מחלקות וממשקים המוצהרים בקוד המקור של Vala.
Vala נועדה לאפשר גישה לספריות קיימות הכתובות בשפת C (בעיקר לספריות מבוססות GObject), ללא צורך בהסבתן. כל מה שצריך הוא קובץ API המכיל את הצהרות הפונקציות והמחלקות בתחביר Vala.
Vala משוחררת תחת הרישיון הציבורי הכללי המוקטן של גנו (GNU LGPL) גרסה 2.1.
תכונות
תחביר Vala דומה לתחביר C#, אך שונה כדי להתאים למערכת GObject. בין תכונותיה של Vala ניתן למצוא תכונות המאפיינות שפות חדשות רבות[1]:
- ממשקים
- מאפייני מחלקות (Properties)
- אותות
- לולאות מבוססות טווח (לולאת "Foreach")
- תחשיב למדא
- זיהוי אוטומטי של סוג טיפוס ערך (Type inference)
- תכנות גנרי (כתיבת תוכניות שאינן תלויות בטיפוסי המשתנים)
- הגדרת משתנים ריקים (שערכם Nothing)
- איסוף זבל (ניקוי זיכרון עצמים שאינם בשימוש)
- טיפול בחריגות
קוד לדוגמה
דוגמה פשוטה לתוכנית "שלום עולם" ב־Vala:
int main()
{
print("Hello, world !\n");
return 0;
}
הידור הקוד מתבצע באמצעות valac, מהדר Vala, דרך המסוף (בהנחה שקוד המקור נמצא בקובץ "helloworld.vala"):
valac helloworld.vala
דוגמה מורכבת יותר המציגה מספר תכונות מונחות עצמים של Vala, המהודרת באותה הצורה:
using GLib;
public class Sample : Object
{
public void run()
{
stdout.printf("Hello, world !\n");
}
static int main(string[] args)
{
var sample = new Sample();
sample.run();
return 0;
}
}
דוגמה לתוכנית "שלום עולם" באמצעות GTK+:
using Gtk;
int main(string[] args)
{
Gtk.init(ref args);
var window = new Window();
window.title = "שלום עולם !";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var label = new Label("שלום עולם !");
window.add(label);
window.show_all();
Gtk.main();
return 0;
}
הידור הקוד, באמצעות המסוף, מתבצע עם הוספת אפשרות המכלילה את הספרייה GTK+ (בהנחה שקוד המקור נמצא בקובץ "helloworld.vala"):
valac --pkg gtk+-3.0 helloworld.vala
ראו גם
קישורים חיצוניים
- GTK+ for Windows, מיזם המספק, בין השאר, קבצים בינאריים של Vala לחלונות
- המדריך הרשמי (אנגלית), עברית
- Valide, סביבת פיתוח משולבת ל־Vala
- Vala Toys for gEdit, תוסף לעורך הטקסט Gedit המוסיף תמיכה להשלמה אוטומטית ומספר תכונות נוספות לקוד Vala
- תיעוד ה־API של מרבית ספריות התוכנה הקיימות עבור Vala
- רשימת תוכניות Vala
השוואות עם שפות אחרות
הערות שוליים
- ^ אודות Vala באתר הרשמי.
GNOME | ||
---|---|---|
קהילה | קרן GNOME • כנס משתמשי ומפתחי קרן GNOME • מיזם GNOME | |
אישים | האבוק פנינגטון • פדריקו מנה • מיגל דה איקאסה | |
רכיבים | GNOME Shell • Mutter • GDM | |
יישומים | העין של GNOME • מסוף GNOME • קבצים • קופסאות GNOME • Anjuta • Baobab • Bijiben • Cheese • Ekiga • Empathy • Evince • Evolution • File Roller • Gedit • Gitg • Glade • Rhythmbox • Sound Juicer • Totem • Web | |
טכנולוגיות | Atk • Cogl • Clutter • D-Bus • Dconf • GLib • GNOME Keyring • GObject • GStreamer • GTK+ • GVFS • Pango • Vala |
רשימת ערכים שאערוך/ארחיב/אצור/אתרגם/אעדכן בהמשך:
GNOME
ערכים בתבנית {{GNOME}}
הפצות לינוקס
הפצות מבוססות אובונטו
תיבת כישורי שפה | ||||||||||||||||||||
תיבות משתמש | ||||||||||||||||||||
|
- משתמש:יוסף אור/ארגז חול, ארגז החול שלי בו אני מנסה כל מיני דברים
- משתמש:יוסף אור/לשוניות, פתיח דף המשתמש שלי לבעלי JavaScript
- משתמש:יוסף אור/פתיח רגיל, פתיח דף המשתמש שלי לחסרי JavaScript.