בלינוקס קיימים מספר רב של שולחנות עבודה, חלקים גדולים, חלקם קטנים, ורובם בעלי תפקוד דומה, ניהול אייקונים וחלונות על המסך. בפוסט הקודם העליתי את ההצעה לכתוב שולחן עבודה בשפה דינמית המבוססת סקריפט כמו פייתון, כדי שיהיה קל למפתחים להצטרף, וכתוצאה מכך, שולחן העבודה יתפתח בקצב עצום בהרבה.
מצד שני, הועלתה בו הטענה ששולחן עובדה הכתוב בשפה דינמית יגזול המון משאבים ויכביד הרבה על המערכת. חשבתי להשתמש ב JIT (הידור בזמן ריצה, והרצת הבינרי כל עוד הסקריפט לא שונה) לפייתון אולם לפי הבדיקה שארתיום עשה עם וורדפרס, הJIT של PHP לא עזר בכלל, בשני המקרים יצאו לו רק שבעה דפים לשנייה.
בנוסף לכך, אומנם כתיבה בשפת סקריפט יכולה להקל את הכניסה של מתכנתים חדשים, עדיין מי שירצה להיכנס בצורה רצינית לפרויקט, השלב הראשוני של השגת הקוד זניח יחסית לשאר הזמן שישקיע בהבנת הקוד ושיפורו.
לאחרונה הוצגה ביקורת רבה כלפי שולחן העבודה בלינוקס. בין אם היא מוצדקת או לא, מה שלדעתי יעזור מאוד להתפתחות מהירה של הממשק הגראפי הוא עם הוא יכתב סשפת סקריפט.
למרות היותי מתכנת, מעט מאוד הסתכלתי בקוד של תוכניות מקומפלות בלינוקס, במיוחד בשל המורכבות בכך, הורדה מיוחדת של הקוד וקימפולים. לעומת זאת, אני משתמש בדוק בשם AWN שכתוב בפייטון, ובקלות יכולתי לראות את הקוד שלו ואף רציתי להוסיף עוד סוג קומיקס (של גארפילד). מסיבה הזאת הקלות של בחינת הקוד והוספת שינויים יכולה להזניק את שולחן העבודה גבוה הרבה יותר מאשר שפות מסורתיות.
לכן אני מציע (וגם לעשות) להרחיב את AWN, ולעשות שולחן עבודה מבוסס פייטון, שגם יתמוך בויידגטים של AWN.
כולם מוזמנים לעזור, לתת כיוונים להתחלה, ואף להצטרף.
רבים מהקהילה אינם חברים בעמותת המקור, כי הם לא רואים שהיא עושה מספיק,
ואף לא רוצים להתקרב אליה. חלק מיכך זה סיבות אישיות עם חבריה, וחלק
מחוסר היכרות איתה. עמותת המקור היא דבר ראשון סמל, גוף מייצג בעל סטטוס
מסוים, מעל החיכוכים הקטנים הפנימיים.
כמו בכל קהילה, תמיד יהיו כאלו שמתנגדים ומפריעים, ראו לדוגמה דיונים
ארוכים בוואטסאפ, אולם הם לא יכולים להשפיע על הוועד (למעט שחברי הוועד
השתכנעו בעניין), ולכן אינם צריכים להיות רלוונטיים עבורכם.
כדי שתוכלו לעשות החלטות בוועד, מספיק לכם לשכנע רק עוד חבר אחד בוועד
כדי שהיא תתקבל. ובתור אחד שכבר נמצא בוועד, כמעט כל החלטה אושרה, כמעט
כל מה שחבר וועד רצה לעשות הוסכם, אם כי לא תמיד הדבר בוצע מכיוון שהוא
לא פעל מספיק בכיוון ולא בגלל החיכוכים הפנימיים בעמותה.
לכן אם אתם רוצים לראות את העמותה פועלת בכיוון אחר, אתם מוזמנים לבוא
ולהתמודד לוועד. במקום ללכלך על העמותה, בואו תבנו אותה, בסה"כ הסטטוס
והסמל שלה עדיין קיימים.
לאור כך, אני מכריז על מעומדות נוספת שלי לשנה הבאה בוועד המקור. השנה
ארגנתי מספר מפגשים חברתיים (על הדשא), ועזרתי לקצר תהליכים ביורוקרטיים
מול אנשים שרוצים את עזרת המקור, כמו להשיג דיסקים למסיבת התקנה
בירושלים.
שנה הבאה, אני רוצה לשאוף לשיפור המפגשים החברתיים, ואפעל לשיפור העמותה
שתפעל טכנולוגית קדימה, ותוך כך אתנגד לכל עזרה לעמותה שתוביל אותה
אחורה, לדוגמת אתרי העמותה, שאם כבר מישהו רוצה לשפרם, יעשה זאת במערכות
התוכן הקיימות שעוד אנשים יוכלו לתחזק.
למידע נוסף על הצטרפות לוועד ניתן למצוא בתקנון העמותה:
החברה הישראלית ידועה בתרבות הלא פריירית שלה. כל אחד מנסה לנצל כמה שיותר את חברו. במיוחד נהוגה שיטת המצליח בבתי העסק, הם מנסים מצליח מצליח, לא מצליח לא מצליח. כתוצאה מכך בד"כ לכל מקום יש שני לוחות מחירים, אחד רשמי, עם סכומים כמה שיותר גבוהים, והשני במידה והלקוח מתעקש. קרא את המשך הפוסט »
אחרי התלאות של אתמול, יצאתי בהמלצה האחרונה לתל אביב לפאב עם חבר. לצערינו הפאב היה דיי ריק ובמקום לעבור למקום אחר החלטתי לברר איך זה לאבד את הדעת אולם לצערי מסתבר שזה לא פשוט. קרא את המשך הפוסט »
עידו קנר פירסם על ייתרונותיו של הSVG לעומת הפלש, כאשר אחד הטיעונים המרכזים הוא היותו תקן רשמי של W3C. השאלה האם עוד תקן, שאין באמת חובה לעמוד בו, יהיה טוב?
התקנים שW3C מוציא הם בגדר המלצות ולא תקנים, ואין שום מניע מאף חברה לקרוא למוצר שלה בשם התקן למרות שהיא לא ממשת במלואו, ואף "משפרת" אותו לצרכיה. הדוגמה הידועה היא עם תקני הHTML והג'אווה סקריפט שיוצרים כאב ראש להרבה מפתחי ווב.
אולם לא בכל תחום כך הדבר.
אם זכור לי נכון, כדי שקומפיילר לשפת C ייקרא כך, הוא דרוש לעבור סדרה גדולה של מבחנים שיאמתו שהוא תואם לתקן, וכך נוצרה אחידות בתחום (מיקרוסופט אומנם החליטה שפונקציות לא חייבות להחזיר ערך אבל הקומפיילר שלה עדיין יכול לקמפל קוד תקני).
פלש אינו תקן, אולם היותו מפותח במקום אחד מקנה לו יתרונות. אומנם המימוש המרכזי אינו קוד פתוח, אולם המפרט כן, ואולי בהמשך הוא כן יהפוך. אומנם SVG יותר טבעי בדפדפנים מסוימים, אבל עדיין עדיף להשתמש בפלש.
לדעתי בכלל כדאי שיאמצו את נושא בדיקות התקנים לכל התקנים. הסיבה שיש תקנים היא להבטיח שאתה מקבל מוצר בעל איכות מסוימת, אבל אם אין שום חובה לעמוד בו ובכל זאת לקרוא לו תקן, אז גם המוצרים לא יהיו באיכות המינימלית, והם נהפכים ללא רלוונטים.
לארגון תקינת האנטרנט יש אומנם בודקים לפורמטים השונים, אולם לא למימושים, ובכל זאת עדיין מדובר בהמלצות.
לא רק שכל המערכת מידי פעם קורסת, גם שהייתי במפגש אובונטו, בסה"כ סגרו לי את הסך של הנייד, ושהחזרתי אותו, מסתבר שאובונטו לא יודע להתעורר מהמצב, והציג המון שגיאות בקונסול על המסך.
אומנם נהוג שהקהילה לוקחת חלק בQA, אבל עדיין, לשם כך קיימות גרסאות האלפה בטא וRC. למה לשחרר משהו בטענה שהוא גרסא סופית מבלי שנבדק ותוקן כמו שצריך?
אובונטו אומנם עזרו להכנסת הלינוקס לבתים, אבל בכיוון השני יוצרים נזקים דיי כבדים שרק יבריחו משתמשים.
חשבתי שאולי סוזה ומנדריבה יהיו הרבה יותר טובים, כי בסה"כ יש להם הרבה לקוחות בתשלום שהם מקבלים מהם תמיכה, כולל ארגונים גדולים, אבל התאכזבתי.
התקנתי את אופן סוזה 10.3, ומצאתי אחרי ההתקנה את הבעיה הזו:
יש לי חבר שמשוכנע שלינוקס, PHP ועוד טכנולוגיות נוספות שאינן מבית מיקרוסופט, ימותו, וכל העולם יעבור למיקרוסופט. הטענה העיקרית שלו היא ההתפתחות של דוט נט שבכל מחזור נוספים המון תכונות ושיפורים, ואף זלזל בטענות הנגד עקב דברים שקיימים בדוט נט ואני לא מכיר מוצר דומה בPHP לדוגמה. מה שנפלתי בדיון הוא בהבהרה של נושא הקהילה. למה ששפה או טכנולוגיה כלשהיא תמות אם יש קהילה שאוהבת ומפתחת אותה?
קהילה תורמת המון להישארות שפה או טכנולוגיה במגוון דרכים:
פיתוח של השפה עצמה. אם הם חושבים שצריך להוסיף משהו, מה ימנע מהם להוסיף? ואם באמת יש משהו אצל ה"מתחרה" שעדיין אין אצלה, והם רואים בו משהו חשוב, אז אין שום סיבה שבמוקדם או במאוחר הוא לא יגיע.
מקומות עבודה, אנשי הקהילה שמגיעים למעמד להיות בעלי החופש לבחור את הטכנולוגיה בחברה שלהם או מקימים אחת כזו בעצמם, יבחרו את השפה שהם אוהבים, וכך יעלו את הדרישה לשפה בקרב מחפשי העבודה, ואף יכניסו אנשים חדשים לתוכה, אם הם מוכנים שילמדו אותה שם. העובדה שהשפה נחשבת "ישנה" לא תמנע מאף אחד להקים את הסטארטאפ שלו באמצעותה.
תמיכה - אתרי אנטרנט, פורמים, אפילו מודעות דרושים כל אלה תורמים לרוח החיה שלה.
כמובן, יש סיבות שיכולות לפגוע קשות בשפה, ויותר חשוב בקהילה שלה, כמו היותה תלויה בחברה אחת שמפתחת אותה בקוד סגור, ועקב פעולות שונות יכולה לפגוע מאוד בקהילה ולצמצם אותה מהר מאוד, למרות אהבת האנשים אל אותה שפה.
קהילה היא דבר חשוב מאוד לשמירת השפה, וגם היא השפה מעולה בהעדר קהילה, אז לא יצפה לה עתיד מזהיר. דוגמא קלאסית לכך היא שפת עדה. באמצע המאה הקודמת, היה משבר גדול בתחום שפות התכנות. שפת התכנות הנפוצה אומנם היתה C, אבל בהיעדר תקן, כל חברה לקחה אותה ושינתה אותה, ובעצם יצרה שפה חדשה הדומה לC. מה שדרש ממתכנתים שעוברים מחברה לחברה ללמוד מחדש את השפה, והיו חברות שכתבו פרוייקטי ענק באסמבלר מסיבות אלה ההשקעה בפיתוח עלתה פי כמה וכמה מעלויות החומרה. כתוצאה מיכך משרד ההגנה של ארה"ב רצה שתיהיה שפה חדשה שתכיל עקרונות פיתוח חדשים, ואף ניסה כמה שיותר שתיהיה בינלאומית ע"י פתיחת תכנון השפה לכולם וקבלת מתכננים מחוץ לאמריקה. עדה היתה שפה מעולה, אולם אחת הסיבות לירידתה היא שאנשים אהבו את שפות הC ונולדה סי++ זמן לא רב אחרי, ולכן לא נוצרה קהילה חזקה שהוביל לדעיכת השפה.
דוגמה הפוכה לקהילה שנפגעה היא פסקל או גרסאת ההמשך שלה OOפסקל. בורלנד הוציאה גרסה חינמית לדלפי וגרסה בתשלום עם תוספות, אולם אחרי זמן מה הקהילה פיתחה את את התוספות של הגרסה בתשלום ואז לא היתה סיבה לקנות אותה. כתוצאה מיכך בורלנד החליטה לסגור את הגרסה החינמית, וכך פגעה קשות בקהילה עד כמעט העלמתה. (המפתחים של דלפי עברו לפתח את C# של מיקרוסופט).
אבל מסתבר שאם יש קהילה טובה, אין שום סיבה בעולם ששפה תמות. אנשים שאהבו את פסקל, התחילו לפתח תחליף בשם Free Pascal ואף הוא קיבל ייתרונות שלא היה לשפה מיקודם, כמו לכתוב פעם אחת ולקמפל את אותו קוד בכל מקום. גם את הIDE של דלפי התחילו ליצור תחליף בשם לזרוס. וככה הקהילה ממשיכה לקדם ולחזק את פסקל.
השפה לא נשארה מאחור, וממשיכה להתקדם ולהתרענן. ויש לה גם קהילה גדולה שעושה משחקים, והוציאה הרבה משחקים יפים. לכן, אין שום סיבה שאף שפה תמות, וגודל הקהילה שלה לא צריך להשפיע עליכם בבחרית השפה, כי אתם חלק ממנה, ותורמים לגדילתה.
התחלנו להקים, להשיב, ולשקם את הקהילה בארץ, ולבנתיים הקמנו רק ערוץ IRC שנמצא בirc.freenode.net #fpc-il. אם אתם יודעים קצת פסקל, גם אם הוא ישן, או סתם מתעניינים בשפות ואו רוצים לעזור להקמת קהילה מוזמנים להצטרף.
שיהיו מספיק אנשים פעילים, נוכל ביחד לקדם בצורה הרבה יותר טובה. (אתר אנטרנט וכו')
מה לי ולפסקל?
בעקרון אין, אני לא יודע פסקל, לא למדתי, ורק לפני פחות משבוע עשיתי תוכנית ניסוי ראשונה שלי.
למרות זאת, אני מעוניין בקידומה מהסיבות הבאות:
רוב השפות של היום נהיות "וירטואליות" יותר ויותר, דינמיות ולכן פחות יעילות וכתוצאה מיכך ידרשו יותר משאבים, אומנם במקרים רבים זה יקל מאוד את זמן הפיתוח, אבל זה לא מדד עיקרי, ובנוסף לכך עם כלים טובים, ניתן גם בכלים טובים להגיע לתוצאות מהירות בשפות "מסורתיות"
יש ייתרון רב בכך שניתן לקמפל לכל סביבה, ולכל ערכת פקדים, *מבלי לשנות שורה אחת* של קוד, אין צורך לציין להשתמש בGTK או QT בקוד, אלא רק בקימפול, ואז ניתן לחסוך את המצב כיום, שבו שבד"כ מערבבים בסיביבה אחת תוכניות מערכות פקדים שונות כי ככה באה התוכנה, והסבה שלהם לערכה אחרת, יהיה תהליך מורכב מאוד עקב שינויים נרחבים בקוד.
השפות המובילות בשפות ה"מסורתיות" (כאלו שמקמפלות לאסמבלי של המעבד) הן C וC++ . הבעיה איתן שהן לא מפותחת בצורה מרוכזת, ויותר נכון אין אינן מפותחות. ישנו תקן שמגדיר אותם, וכל השאר זה ספריות שאנשים וחבברות יצרו, מה שיוצר מגוון רחב של ספריות שעושות דברים דומים, ולכן זה יוצר קצת "בלאגן"