שקט חייב להישמע

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

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

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

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

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

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

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

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

אז במה אתם בוחרים ?

8 מחשבות על “שקט חייב להישמע

  1. TDDPirate

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

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

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

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

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

    1. ik_5 מאת

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

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

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

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

  2. גיא דפני (עוץליגוץלי)

    מספר נקודות, חלקן לעניין וחלקן לא:
    1. בקשר לדיון ברשימת הדוור – סביר שאני הייתי זה ש"פתח את הפה" על "למה אנגלית", וזאת לאחר מספר פתילי הודעות באותה הקבוצה שנכתבו באנגלית קלוקלת, רובן ללא שום סיבה שאפשר להבין. תגובה בסגנון של "ההודעה הזו מכתבת גם אנשים מחו"ל" – היתה "סותמת לי את הפה". מן הראוי להזכיר שאותה רשימת דוור נפתחה לאחר שלאנשים מסויימים "נמאס" מרשימות הדוור של "איגלו" שפשוט אסרו על שמוש בעברית. שפת האם שלי היא עברית, קריאת הודעה בעברית דורשת ממני כחמישית מהזמן הדרוש לקריאתה באנגלית סבירה ואם נכתב בbrocken english – אז המצב חמור יותר, ובשעות הערב המאוחרות (בדרך כלל הזמן שאני מקדיש לדוא"ל הפרטי).

    2. נכון, אנשים מתווכחים.

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

    1. ik_5 מאת

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

      2. יש וויכוח, ויש ניסיון להשתיק. אני הגעתי למצב שאותי ניסו להשתיק ואז נהייתי אלים.

      3. תודה

  3. levdev

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

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

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

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

    מה עם מערכת ההרשאות של Android שלא קיימת בשום מקום אחר?

    האם ל-Paskal יש שכבת אבסטרקיצה חזקה ומפותחת כ"כ שהיא מצליחה להתגבר על המגבלות השונות והגישות השונות של הפלטפורמות השונות?
    או שיש לה בכלל גישה אחרת, שלא מוכרת משפות אחרות?

    האם באמת ניתן לייצר תוכנת מסרים מיידיים (לדוגמה) בפסקל, שתראה "טבעי" ותפעל תקין על Android, iOS ומחשב שולחני עם לינוקס או Windows והכל מאותו בסיס קוד לחלוטין בלי לכתוב להסתעפויות בקוד עבור החלקים הייחודיים של כל פלטפורמה?

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

    1. ik_5 מאת

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

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

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

      אתה די רגיל לגישה של C בה אתה חייב הרבה כלים מסביב להבטיח דברים, אשר אין לי צורך בהם. גם ANT של ג'אווה מסובכת מאוד בשביל לתת לך כיוון לכל דבר אפשרי. אתה צריך לחשוב בצורה מופשטת יותר. מה הדברים שאתה חייב מערכת/מערכת גרפית ומה זה התכנה נטו.
      התכנה שאני כתבתי תראה לך טבעי בווינדוז, בלינוקס, יוניקס, מאק וכל מערכת אחרת שיש תמיכה ל FPC, ה FCL וה LCL. ה FCL ו LCL וכן הRTL הן ספריות שנועדו לאפשר לך את זה.
      לזרוס מאוד דומה בגישה שלה לwxWidgets שאתה לא צריך לכתוב ל GTK אלא אתה כותב מערכת גרפית, אתה רק מכוון אותה בהידר לאיזו סביבה גרפית התכוונת, איזה מעבד וכו' …

      למשל הנה ה API בלזרוס:
      http://svn.freepascal.org/svn/lazarus/trunk/lcl/
      הנה המימוש לכל סביבה (גרפית) נתמכת של לזרוס:
      http://svn.freepascal.org/svn/lazarus/trunk/lcl/interfaces/

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

      ה RTL של FPC זהה בתפיסה הזו:
      http://svn.freepascal.org/svn/fpc/trunk/rtl/

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

      למשל:
      http://freepascal.org/docs-html/prog/progap7.html

      אתה צריך אבל לחשוב פשוט יותר ממה שאתה חושב כרגע. ואז אתה מגלה שהבעיה פחות מורכבת ממה שאתה חושב. כי אתה צריך להתמקד רק בקודות מסויימות ולא בכל דבר.

  4. levdev

    צר לי, אבל זה לא ממש עונה על השאלה שלי.
    ליצור תוכנה חוצת פלטפורמות למערכת שולחניות, זה סיפור שונה מתוכנה חוצת פלטפורמות למכשירים ניידים (טלפונים \ טאבלטים).
    מעטפת לממשק שמאפשרת בניית ממשק אחיד אך טבעי בין Windows, Linux ואפילו OS X, היא סיפור אחד, אבל בניית ממשק אחיד בין Windows ו-Android, או Linux עם GTK או QT ו-Android היא סיפור שונה.
    מה קורה למשל, אם לתוכנה שלך יותר מחלון אחד?

    למעשה, ב-Android כמו גם ב-iOS, כל מחזור החיים של התוכנה שונה. (רמז: לא תמצא פונקציה main או מקבילה לה)

    אני מניח, שיהיו לך יותר תובנות, אחרי שתעביר את התוכנה שלך ל-Android. אשמח לקרוא על התהליך והחוויה.

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

    1. ik_5 מאת

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

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

      ה IFDEF מגיע רק במקומות בהם הכלים לא מספיקים.
      הנה דוגמא לכתיבת אפליקציה לאנדרואיד:
      http://wiki.freepascal.org/Android_Programming

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

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s