ארכיון יומי: 25 ספטמבר, 2013

האם DSL עוזר לתכנת ?

כמתכנת רובי, אני מוצא עצמי המון מול ספריות המשתמשות ב DSL.
במילים אחרות, הספריות יוצרות תחביר כלשהו המתבסס על העולם שהם מנסים לפתור.

כך שORM מכיל תחביר אשר מתאים להתמודדות עם מסדי נתונים (לרוב רלציונים).
מערכת לפיתוח תשתית web משתמשת בתחביר המתאים לעולם הweb, כאשר אני יוצר בדיקות, אני משתמש בשפת בדיקות וכיוב' …

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

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

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