fbpx

[עושים תוכנה] עונים תוכנה – ארכיטקטורה

 


הורדת הפרק (mp3)

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

עוד בפרק – פינת החסות החדשה של Next Insurance

האזנה נעימה!
חן ועמית.

נשמח לדיוני המשך בקבוצתינו בפייסבוק ״עושים תוכנה – קהילת מתכנתים ומתכנתות״

You may also like...

3 Responses

  1. שי הגיב:

    שלום חן ועמית,

    בעניין רפרנסים, אני עצלן, ולא זוכר איפה למדתי כל דבר, לכן אפנה אתכם לסיכום לא רע, https://en.wikipedia.org/wiki/Object-oriented_programming.
    בפרט, בעניין סוגים של OOP, ראו https://en.wikipedia.org/wiki/Object-oriented_programming#Class-based_vs_prototype-based
    ובעניין סיווגי השפות, https://en.wikipedia.org/wiki/Object-oriented_programming#OOP_languages.

    ואם כבר, אז https://en.wikipedia.org/wiki/Strong_and_weak_typing וגם, כדי להדגיש את ההבחנה האחרת, בין שפות סטטיות ודינמיות, https://stackoverflow.com/questions/1517582/what-is-the-difference-between-statically-typed-and-dynamically-typed-languages

    לשם הבהרה והדגמה:

    שפה strongly-typed סטאטית: Rust

    שפה strongly-typed דינאמית: Python

    שפה weakly-typed סטאטית: SQL

    שפה weakly-typed דינאמית: JavaScript

    אני מתנצל ומקבל את התיקון שלכם לגבי TypeScript, לא היה שם זלזול, רק חוסר אמונה בזה שהיא שפת OOP „אמיתית”.

    ואני מצטער, קבוצות סגורות בפייסבוק לא מתאימות לי.

    חג שמח,
    שי

  2. שי הגיב:

    שמעתי עכשיו את תחילת הפרק, ופתאום הבנתי מאיפה באה הטענה ההזויה שנתקלתי בה פה https://twitter.com/meijin007/status/1174919474266271746. כדאי לכם לקרוא את כל דיוני המשנה של הציוץ, כי המושגים שאתם מחזיקים בהם לגבי „מה זה שפת OOP”‏ מבולבלים לגמרי.

    תכנות מונחה עצמים, OOP, הוא מתודולוגיה שבה מארגנים את הקוד בצורת אובייקטים שמתקשרים זה עם זה. מה שדיברתם עליו שם הוא, כנראה, שפה שהיא statically typed — ואולי התכוונתם strongly typed, אבל שוב, משום מה, פייתון היא בעיניכם לא כזאת.

    נקודות ספציפיות שהזכרתם שם:
    לגבי הניגוד בין OOP לדינמיות: שפת ה־OOP הקנונית, הראשונה, הטהורה, היתה שפה דינמית — Smalltalk.
    התמיכה של Java ספציפית בתכונות של OOP היא נחותה משל פייתון, למשל (שהזכרתם בתור שפה „לא OOP”), וזה למרות ש־Java מכריחה את המתכנת לכתוב את כל הקוד בתוך class־ים ופייתון לא. אם אתם מעוניינים, אני אשמח לפרט (עשיתי זאת באחת התגובות לציוץ ההוא).
    שפת JavaScript היא הדוגמה הבולטת של זרם שלם של OOP שאתם מתעלמים ממנו, מה שנקרא prototype-based בניגוד ל־class-based המקובל והנפוץ יותר. זו עדיין שיטה לארגן את הקוד בצורת עצמים שמתקשרים זה עם זה.

    הרושם הכללי שיוצרת אמירה כמו „נו, אתם מבינים את הכוונה” (9:20) הוא שאתם לא מסוגלים להסביר במדויק למה אתם מתכוונים — כי באמת, המושגים שלכם לא מדויקים. אני חושב (לפי הזלזול ב־typescript) שהניגוד שחיפשתם הוא מה שדיברו עליו לפני 10 שנים בתור „שפות תכנות מול שפות scripting”. אני חושב שהקונצנזוס היום הוא שזו הבחנה חסרת ערך.

    • חן פלדמן הגיב:

      היי שי!

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

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

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

      תמיד פה בשבילך
      חן ועמית

כתיבת תגובה

האימייל לא יוצג באתר.