אחד מתפקידיו של שרברב המטפל בתהליכים אצל לקוחות, הוא בין השאר, תקנון עמדות הפיתוח של הארגון. תיקנון עמדות הפיתוח מוריד משמעותית את עלות ה TCO ולכן זה נושא ששווה להשקיע בו. כמו כל תהליך תקנוני ארגוני הוא דורש מחקר שטח, ניתוח מערכת, החלטות מנהלים ואחר כך באה בדרך כלל מלחמת עולם עם המפתחים, על מנת לנקות להם את המחשבים מזבל, ולגרום להם לעבוד בצורה תקנית (ובלי סמכויות מנהל, ועם Code review בזמן ה Check In, ועוד כמה נושאים כאלה).
ישנם מספר קהלי מפתחים ולכל אחד מהם מתאימה הקונפיגורציה שלו. הפעם, לקראת החופש הגדול, אני רוצה לדון בקונפיגורציה לקהל המפתחים של סטודנטים, מפתחים ביתיים, מפתחים צעירים וכל מי שרוצה לעסוק בפיתוח בסביבת מיקרוסופט והוא מוגבל בתקציב.
הנחות יסוד:
יש לך מחשב עם חומרה מספקת ועליו מותקנת מערכת הפעלה חוקית.
אני לא רוצה להיכנס לכל הדיון הארוך על שימוש ב"גונבה". הרבה מזלזלים בנושא הזה, בגלל שקשה להם לתפוס את העובדה הפשוטה שזו עבירה פלילית. זה שאין אכיפה בארץ על הנושא הזה (ולמען האמת בעצם אין בארץ אכיפה על שום חוק), זו עדיין לא סיבה קבילה לעבור על החוק.
תרשו לי לציין, במאמר מוסגר, שהתוספת מחיר כדי לשים Vista Home Basic חוקי על מחשב חדש זה קצת יותר מ 100$ ותוספת המחיר ל Vista Home Premium על מחשב חדש זה קצת יותר מ 130$. אז אם אתה כבר גונב, תעשה את זה לפחות על משהו ששוה הרבה יותר מ 100 דולר.
לגבי החמרה, אני חושב שמפתח (גם ביתי) צריך רמת חיים. אין שום סיבה במחירי החמרה של היום, לא לתת למפתח דיסק גדול (לפחות 500 גיגה) ומספיק זכרון (לפחות 4 גיגה) ויע"מ נורמאלי (לפחות Core 2 Duo במהירות בינונית) כי בסופו של דבר זה מתבטא בזמן ויעילות של הפיתוח. דרך אגב, אם כבר דנים בנושא, מהירות הדיסק הרבה יותר חשובה ממהירות היע"מ ולכן כתבתי על היע"מ מהירות בינונית (לא צריך את הכי מהיר והכי יקר). חשוב להבין שאני לא דורש למפתח מכונה של Gamer, אבל לפחות שיהיה מינימום של רמת חיים.
אני לא רוצה להיכנס גם לדיון הארוך על ויסטה טוב או רע. ויסטה טובה והיא מתחברת טוב מאד ל Visual Studio 2008 והתוצאה היא (לאחר שמתרגלים ל UI), מהירות שימוש גבוהה יותר. מה שאומר חסכון בזמן ויותר יעילות בפיתוח. רק תקפידו בבקשה שהמחשב יהיה עם גרפיקה סבירה (ושוב, לא צריך מכונת משחקים). אם צריך, בקשו מויסטה להתאים את הביצועים שלה לחמרה, ותתפלאו איך ויסטה תרוץ לכם מהר.
משחק מקדים, לפני שאתה ניגש לחומר הרציני, גש ל Windows Update והתקן על המערכת שלך את כל העדכונים הקריטיים. מבין כל העדכונים האופציונאליים תקפיד להתקין את כל הגירסאות של ה CLR וכמובן את Silver Light. זה חינם.
שלב ראשון, התקן על המכונה את ה WDK.
למי שלא יודע WDK זה המימשק לשרותי מערכת ההפעלה למי שמבקש שרותי מערכת הפעלה מתוך מערכת ההפעלה (Device Drivers, RootKits וכו'). גם אם אתה לא מתכנן לכתוב Device Driver התיעוד והכלים שבאים עם ה WDK יכולים לסייע לך רבות בלימוד והבנה של איך עובדת מערכת ההפעלה ומה קורה מתחת למכסה המנוע.
את ה WDK ניתן להוריד חינם מאתר Connect. להתחברות לאתר יש לבצע Login עם Live ID שאני מניח שיש לכולם. ואם אין לך Live ID, אז בלחיצה על הכפתור מייצרים אחד בפחות מחמש דקות. לאחר מכן, יש להרשם באתר לתכנית ה WDK שהשם הארוך שלה הוא
Windows Driver Kit (WDK), Windows Logo Kit (WLK) and Windows Driver Framework (WDF)
ורק אז תוכל להגיע ל DownLoad הספציפי.
ההורדה היא עניין של כמה גיגות ותיקח קצת זמן תלוי ברוחב הפס של קו האינטרנט שלך. אתה צריך להוריד משם את WDK for Server 2008 ואת WDF (KMDF and UMDF) 1_7. כל השאר חשוב למי שצריך להעביר את ה Device Driver שלו הסמכה, אבל לא למפתח רגיל.
שלב שני, התקנת SDK. למי שלא יודע SDK זה המימשק לשרותי מערכת ההפעלה ליישומים שאינם בתוך מערכת ההפעלה (מה שנקרא בלשון העם Application).
את ה SDK ניתן להוריד חינם מאתר ה Microsoft DownLoad Center. חפש שם את Windows server 2008 SDK ותקבל שני קישורים, אחד להורדת כל החומר (המון גיגות) ושני להתקנה Online (גם כן המון גיגות אבל נפרש לאט יותר)
דרך, אגב. גם ה WDK וגם ה SDK כוללים מהדיר CPP מלא והמון כלים ודוגמאות.
שלב שלישי, סביבת פיתוח. גירסאות ה Express של Visual Studio ניתנות להורדה חינם מאתר ה Visual Studio 2008 Express ואתה מוזמן להוריד את כל הגירסאות ולהתקין אותם דרך גירסת ה All In One (בתחתית העמוד).
אתה מקבל בחינם, מערכת פיתוח מלאה, שנותנת הרבה יותר ממה שמפתח רגיל משתמש בחיי היום יום.
השלב האחרון, זה לגשת לאתר פיתוח החמרה של מיקרוסופט ולהוריד משם (חינם) את Debugging tools for windows וגם את הסמלים של מערכת ההפעלה שבה אתה עובד.
כמה הערות,
הקונפיגורציה הנ"ל, למרות שאפשר באמצעותה לממש כמעט כל פרויקט פיתוח, אינה מתאימה לסביבה ארגונית (גם לא לחברת הזנק בלי כסף). הדגש בקונפיגורציה המתוארת כאן הוא על העלות ויש מחיר למחיר הזול.
אני משתמש כבר הרבה זמן בקונפיגורציה כזו על מכונה וירטואלית, שמשמשת להדגמות בקורסים שאני מעביר לסטודנטים ולגיל הרך. אני משתמש בה בבחינת "לאכול את מזון הכלבים שלך" ולא נתקלתי עדיין בפרויקט תכנותי לימודי, דגם אב, פרויקט גמר ואפילו פרויקט מקצועי מלא, שדרש יותר ממה שהיא נותנת. המכונה הוירטואלית הזו רצה בדרך כלל תחת הויסטה 64 ביט של מכונת הפיתוח שלי, ועותק שלה מועבר לפי הצורך לנייד שלי.
משוב יתקבל בברכה.
גירסא עדכנית של Debugging tools for windows יצאה לפני יומיים (29/4/08). ונמצאת להורדה
בקישור.
ההמלצה שלי היא תמיד לעבור לגירסא העדכנית ביותר, כי מנסיון העבר שלי, תמיד הגירסא העדכנית היתה טובה יותר מהגירסא הקודמת.
למען הדיוק ההיסטורי היה פעם אחת מקרה אחד חריג, לפני כמה שנים, של גירסת ביתא, שרשמו באותיות קטנות מדי שהיא גירסת ביתא, והרבה (כולל אני) לא שמו לב שזה גירסת ביתא, שהיו לה כמה בעיות אבל גם שם, לרוב השימושים, הגירסא העדכנית היתה יותר טוב מהקודמת.
כמו תמיד, תוריד אותה לאיזה שהוא מחשב נקי ותתקין אותה שם. לאחר מכן תעתיק את כל התיקיה החדשה של Debugging tools for windows שנוצרה תחת Program Files למקום אחר. שנה את השם שלה (על פי המסורת) ל Debuggers ושים אותה על ה Disk On Key שלך.
להזכירכם, אף אחד מהכלים שם לא דורש התקנה פורמלית ואתה יכול להפעיל כל אחד מהכלים (ובעיקר את WinDbg) ישירות מה Disk On Key ללא התקנה (או להעתיק את כל התיקיה למחשב שבו אתה רוצה לעבוד ולעבוד משם שזה גם לא נחשב להתקנה).
התכונה הזו של עבודה ללא התקנה, היא הסיבה העיקרית לכך שהכלים הללו מתאימים לעבודה בסביבת ייצור (Production), בסביבת QA או בשולחן העבודה של הלקוח (במקרה של תכנת Client). בכל הסביבות הללו אתה מוגבל מאד במה שמותר לך להתקין או לא להתקין, כדי לא לשנות את סביבת העבודה.