Goodbye Pascal

At 1993, I've started to learn Pascal. It was the first programming language that I actually enjoyed using, and programming was really fun.

I started with TP 5.5, later on with TP 7.0 that I bought myself, and a book. Later it was Delphi (2, 5 and 7).

Since my appearance at the internet, I found myself constantly in a need to "defend" my language of choice, because people didn't understand the language, but had a lot of wrong ideas what it is, and mostly what it can't do.

So I became by my own choice an evangelist for the language itself, and even helped people get started with it.

The problem is that I'm no longer believe in the path of the language, you can call it Delphi, you can call it Object Pascal, it does not matter. I think it goes the wrong way, and instead of able to talk about it with fellow developers, there is constantly arguments, and bickering about it.

I was told that if I raised an issue, it is actually attacking the people, not the features, and it seems no one car to listen inside the "community".

It's not about specific person, but the picture in whole, that I'm deciding (at least for now), for the first time since I first started to use the language, to stop using it.

All my Pascal related work on github remains "as-is", and people can use them if they wish, continue the work etc… But at least for now I will not longer do anything related to it.

So goodbye Pascal, and thanks for the fishes.

19 מחשבות על “Goodbye Pascal

    1. ik_5 מאת

      it becoming more and more like C++.
      Too many technologies that are not in the spirit of the language, or actually needed, but added to show progress.
      Like array constructors and type helpers, that makes the language less readable, and harder to understand and maintain.

      Embarcado does a lot of bad things to Delphi. The move to UTF-16, the ability to write functions in native language and much much more, making old program stop functioning without rewriting a lot of parts in them.
      The lack of cooperation between FPC and Embarcado hurts the language rather helps, you either choose FPC or Delphi, but can do both, and suddenly you have vendor lock.

      And many other issues.

  1. levdev

    No offense, but you really are a drama queen…
    Either that,or your calendar app has a serious bug and you though it was actually April 1st.

    So, let me see if I understand this correctly: you are going to dump your favorite language, which you were so passionately defending on every opportunity as being the best in the world, because the newest version of the compiler allow for a couple of features that are probably not even used in any production code yet?

    Is the fact that these features exist necessarily ruins the language to such extent it is no longer worth using?

    In every language I learned so far, there exist very bad practices or syntax which the language allows but programmers do not.
    It is still possible that such things will be used, but any code using them will automatically be deemed bad by any self respecting programmer, so they are very rare.

    In many of your arguments you claimed that programmers should choose the right tool for the job. Did Pascal really changed so much in the last release that it is no longer the right tool for *any* job?

    1. ik_5 מאת

      no drama queen, and it's not just about the syntax, it's first of all about community. and in this case the lack of it. at least that how it feels.

      The "new" pascal is no longer pascal, it has things that belong to the functional world and to the dynamical world, but they are just syntactic sugar.
      In some cases, for example case statement for string, it's no longer Pascal, but the code do feel like so.

      The array constructor is unnatural in any given way. In languages such as Java, Ruby, C#, D etc, they are natural, because things are objects. in Pascal array is not an object. it makes your code unreadable.
      But the fact that someone implement it in FPC just because Delphi has it, and the need to constantly copy from Delphi that does a lot of bad things (such as making you write function name in hebrew for example), there is a need to stop and think what really needed.

      anonymous functions has it's use, so does lambda, but do you implement in the closure way or the pascal way is very important.

      but as I said in the beginning, the real problem is the lack of community, and so many fights over nothing, that made me to this decision.

  2. carmit

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

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

    אחח כמה עצוב.

    1. ik_5 מאת

      women, read one line instead of everything, and think they understand😛

      I left not because of the new features but due to the constant fighting and lack of respect of people to each other inside the community.
      I left because the two big major players at this game is not playing along, and the commercial one, does not want anything to do with the open source one, and the core users of that commercial vendor, go blindly with that …

      That's the real reason, not the addition of specific feature, or how mature the language etc…

  3. carmit

    OK, so you leave 'cause you gave a respect and honor to 2 major players… which took yours honor and respect for their moral and motivation from u and give u lack of motivation, lack of respect, lack of moral, lack of attention and they are not friendly…

    and U left the Language for those Ugly behaviour guys?

    i think that you shouldn't give them the respect from the begining bacause now you feel like "lake of" .

    If those guys are not friendly as you v mentioned and have not good relationship with the opensource you shouldnt respect them or give them any honor or attention with your good "will" to play with them.

    I havn't understood from the begining the logic of the act to give them respect (which is moral and motivation) if those are acting like those from the evil side.

    they dont respect good… they respect evil…
    and by want to be playing with them or whatever you gave them motivation to be what they r

    and kill your motivation and your respect which was given to the evil side

    and now you leave it
    so they win
    the evil guys win one of the good guys

    you shouldnt play with bad if you thing you r good
    you shouldnt respect those who despite you and the open source community

  4. levdev

    Nope, defiantly a drama queen…

    I get the "community sucks" argument, but that is only an excuse to drop the community, not the tool.

    As far as I can see, they didn't take any features out, only put some in.
    And, as I said before, if you do not like them, don't use them.

    I have seen you glorify Pascal many time both in your blog (I follow planet.foss.org.il) and on whatsup.co.il
    If I were to take your word for it (sorry, I don't), Lazarus and FPC are the greatest software tools out there.
    They are super cross platform, the code is clear and self-documenting (never mind you have like 20 types of strings), and it even saves you the need for a build system, since you can put build instructions in your code without making it a mess.

    If I had such a magical programming tool able to solve any task in the best way possible, I would never give it up just because some people were rude to me.

    Are you sure, you are making the right move?

    1. ik_5 מאת

      as I constantly say, you don't learn, see, look, read etc about things, just assume that they are false, even though I constantly call people to check it out for themselves.

      I guess that in the world you live in, you do not have to interact with other people code, or with people in general, that's not my case.

      As I wrote, it's not about specific person, but the whole path that things are going.
      For example, yesterday before I removed myself, a person placed a video in the mailing list, and the first replay was a call for a fight.
      And the person who sent the email, replay in anger and things came out of hand, and you had a fight.

      Many of pascal developers, are very frustrated on the Path of both Delphi and FPC.
      FPC constantly trying to go after Delphi, where most of us, want an independent more Pascalish syntax rather then a mishmash of things that does not make sense anymore.

      But you are unable to really vocalize yourself without heating things up, or getting an answer of "though" as response.

      So I don't see the use of it anymore, the community is killing the language.

  5. queency

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

    בפייתון גם היה ניסיון לסדר VENDOR LOCK בשלב מסוים שלא צלח דרך אגב
    והשפה חזרה להיות פתוחה אבל מי יתחזק אותה אחרי שGUIDO ילך לעולמו ??

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

    ה"פשטות" של פיתון שנראתה כחולשה התגלתה כחזקה ביותר בהעבירה את כל
    יכולות התכנון למתכנת.

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

  6. tddpirate

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

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

  7. Ido Gendel

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

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

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

    1. ik_5 מאת

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

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

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

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

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

      1. Ido Gendel

        דווקא יצא לא מזמן הספר ההוא על Lazarus, ויש אחד חדש על דלפי XE2 (כתבתי עליו כאן: http://www.idogendel.com/whitebyte/archives/1415). בכל אופן, הכוונה היא לא בהכרח לספרים בדפוס אלא לחומרי הדרכה בכלל.

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

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

כתיבת תגובה

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

הלוגו של WordPress.com

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

תמונת Twitter

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

תמונת Facebook

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

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

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

מתחבר ל-%s