כלים וטכניקות

17/04/2020

מתכנתי JavaScript רגילים לכתוב קוד בצורה אסינכרונית הרבה יותר מאשר מתכנתי Java, ומתכנתי Java רגילים הרבה יותר לסנכרן משימות בין Threads בהשוואה למתכנתי JavaScript. כל זה למרות שיש ל Java מנגנון תכנות אסינכרוני, ול JavaScript יש WebWorkers ו SharedArrayBuffer.

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

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

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