יותר כיף כשמבינים

06/10/2024

ההרצאה של DHH ב Rails World האחרון מעולה ומלאה בתובנות על עולם הפיתוח בכלל ופיתוח ווב בפרט. אחת התובנות שאני רוצה לקחת משם ולשתף היא המשפט Being competent is more fun.

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

הכיוון ש Rails בחרה בשביל לעודד אנשים להבין הוא אפילו יותר מעניין ומראה חלק מהייחוד האידאולוגי של ריילס:

  1. דיפלוימנט הולך להתבצע דרך Dockerfile שיהיה חלק מהפרויקט ועל שרת שלך.

  2. העדפה לעבודת Front End בלי שלב בנייה, כך שאפשר תמיד ללחוץ View Source ולראות את הקוד המקורי בדפדפן (בלי טייפסקריפט, בלי ריאקט ובלי מיניפיקציה).

  3. שימוש בתבניות ו Generators כדי לאפשר כתיבה מהירה של קוד שיהיה באחריות המפתח.

  4. כל הזמן חיפוש איך להשתמש בפחות - ריילס 8 כבר לא דורשת redis בשביל לנהל Cache, Jobs ו Web Sockets - כל אלה עברו לבסיס הנתונים.

אני רואה את המאמץ אבל חייב להודות שיש גם משהו לא מדויק בדברים במיוחד כשנזכרים ב Active Record ואיך כל תשתית ה ORM של ריילס מרחיקה אנשים מלימוד SQL ואיך אינסוף הפונקציות שהם הוסיפו לרובי גורמות למתכנתי ריילס להרגיש אבודים כשמנסים להפעיל פונקציה כמו second על מערך ומגלים שזו עוד המצאה של ריילס.

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

נ.ב. לינק להרצאה, לפחות החצי הראשון מומלץ גם למי שלא חי בעולם של ריילס: https://www.youtube.com/watch?v=-cEn_83zRFw