אני רוצה לפתוח בסיפור אישי קצר:
כשלמדתי באוניברסיטה קורס במערכות מבוזרות, נדרשנו לרכוש ספר של המרצה בן 120 עמודים שעלה כ 200 ש"ח.
200 ש"ח?!
הסטודנטים בקורס התקוממו על המחיר המופרז: "2 שקל לעמוד? לא הגזמנו? יש ספרים של מאות עמודים במחיר 40 שקלים!"
המרצה, משום מה, לא התרגש וענה כך: "תחשבו שקניתם ספר של 1000 עמודים ב 100 ש"ח, פייר?"
"ואז מישהו סיכם אותו וצמצם לכם ל 880 עמודים לא-כל-כך חשובים שלא תצטרכו להשקיע מזמנכם ולקרוא, לא שווה 100 שקל?"
"ספר קצר הוא רב-ערך יותר מספר ארוך, ולכן שווה יותר."
הזכרתי את הספר בפוסט קוד ספרותי = סופן של ההערות בקוד?
מהו אם כן ספר על "הנדסת תוכנה" - אתם בוודאי שואלים? האם זה לא "ספר תכנות"?
ובכן, יש הבדל קטן: תכנות היא המלאכה של לכתוב תוכנה שפותרת בעיה. זה 100% של התכנות.
מאותה נקודה והלאה מתחילה המשימה של כתיבת קוד קריא הניתן לתחזוקה (כ 70% מהזמן שמושקע בתוכנה הוא תחזוקה). עבור הנדסת תוכנה "קוד עובד" זה כלום - זו נקודת האפס, נקודת ההתחלה. כל החכמה היא כיצד להפוך את הקוד לנהיל וקל לתחזוקה.
Code Complete הוא ספר מצוין שהשפיע עלי רבות בתור מתכנת צעיר. הוא לימד אותי כיצד ניתן לכתוב קוד טוב יותר. חסרון של הספר: הוא ארוך למדי, כ 960 עמודים.
(אל תגלו לאף אחד, אבל מעולם לא קראתי אותו ברצף עד סופו. אחרי כ 600 עמודים נשברתי והתחלתי לרפרף עד סוף הספר.)
אני מאמין שאשר אכן עשה את מלאכת התרגום מתוך אידיאלוגיה ולא מתוך מניע כלכלי. כפי שסיפר ג'ף אסטווד (כותב הבלוג הפופולרי Coding Horrors): עריכת ספר המבוסס על פוסטים שלו בבלוג היה אחד הדברים הפחות מתגמלים (כלכלית) שעשה. ובקהל קטן כמו ארץ ישראל - הדבר נכון כנראה אפילו יותר.
מחיר הספר הוא 139 ש"ח, אם כי בעת כתיבת הפוסט הוא נמכר ב 111 ש"ח בהוצאת אופוס.
אל תגלו לאף אחד! אבל אם תשתמשו בקופון הסודי (CC6174) - תוכלו להשיג מחיר אפילו יותר.
יש לבחור את הספר באתר של אופוס, בתהליך הקנייה יש להרשם, ואז ממש לפני התשלום יש למלא את הקופון כדי לקבל את ההנחה:
יצא לי לקרוא חלקים (הנה והנה) מהתרגום העברי - ונהניתי!
השפה קולחת ומעניינת ומזמינה להמשיך לקרוא. הדוגמאות הן כמו בספר המקור, בשפות ++C, ויזואל בייסיק וג'אווה - לא השפות הכי מודרניות בימנו - אבל ניתן להבין בקלות את הדוגמאות ואת הרעיונות שהן מציגות.
הפרקים שהתיישנו (איסוף דרישות, כלי פיתוח, debug, בדיקות ו re-factoring) - לא נכללו במהדורה העברית, וטוב שכך.
הפרק המסכם את "הקוד הספרותי" ("Self-Documenting Code"), גם הוא לא נכלל לצערי, אך בעצם כל הספר מוליך לשם, שלב אחר שלב - ואת הסיכום תוכלו לקרוא בפוסט שלי שציינתי למעלה.
סה"כ אני חושב שהספר יכול להיות מצוין למתכנתים צעירים שמנסים ללמוד את אומנות הנדסת התוכנה לעומק, ולא רוצים לחכות עוד 5 שנים ש"זה יקרה מעצמו".
הספר גם יכול להיות מועיל למפתחים וותיקים שרוצים לרענן עקרונות ולקבל כמה רעיונות חדשים, שאולי לא נתקלו בהם עד כה. זה מועיל לפעמים לחזור למקור ולרעיונות הבסיסיים, במיוחד שהם מוצגים בצורה בהירה וקלה לצריכה.
שיהיה בהצלחה!
גילוי נאות: קיבלתי מאשר, ללא-תשלום, עותק של הספר.
כשלמדתי באוניברסיטה קורס במערכות מבוזרות, נדרשנו לרכוש ספר של המרצה בן 120 עמודים שעלה כ 200 ש"ח.
200 ש"ח?!
הסטודנטים בקורס התקוממו על המחיר המופרז: "2 שקל לעמוד? לא הגזמנו? יש ספרים של מאות עמודים במחיר 40 שקלים!"
המרצה, משום מה, לא התרגש וענה כך: "תחשבו שקניתם ספר של 1000 עמודים ב 100 ש"ח, פייר?"
"ואז מישהו סיכם אותו וצמצם לכם ל 880 עמודים לא-כל-כך חשובים שלא תצטרכו להשקיע מזמנכם ולקרוא, לא שווה 100 שקל?"
"ספר קצר הוא רב-ערך יותר מספר ארוך, ולכן שווה יותר."
על הספר
לאחרונה פורסם תרגום עברי לספר קלאסי בהנדסת תוכנה: Code Complete של סטיב מק'וול. זהו ספר חשוב, לא פחות מ The Pragmatic Programmer ו Clean Code - אם כי הוא זכה לפחות פרסום.הזכרתי את הספר בפוסט קוד ספרותי = סופן של ההערות בקוד?
מהו אם כן ספר על "הנדסת תוכנה" - אתם בוודאי שואלים? האם זה לא "ספר תכנות"?
ובכן, יש הבדל קטן: תכנות היא המלאכה של לכתוב תוכנה שפותרת בעיה. זה 100% של התכנות.
מאותה נקודה והלאה מתחילה המשימה של כתיבת קוד קריא הניתן לתחזוקה (כ 70% מהזמן שמושקע בתוכנה הוא תחזוקה). עבור הנדסת תוכנה "קוד עובד" זה כלום - זו נקודת האפס, נקודת ההתחלה. כל החכמה היא כיצד להפוך את הקוד לנהיל וקל לתחזוקה.
Code Complete הוא ספר מצוין שהשפיע עלי רבות בתור מתכנת צעיר. הוא לימד אותי כיצד ניתן לכתוב קוד טוב יותר. חסרון של הספר: הוא ארוך למדי, כ 960 עמודים.
(אל תגלו לאף אחד, אבל מעולם לא קראתי אותו ברצף עד סופו. אחרי כ 600 עמודים נשברתי והתחלתי לרפרף עד סוף הספר.)
התרגום העברי
לשמחתי הרבה גיליתי שהגרסה העברית קצרה בהרבה - קצת פחות מ 300 עמודים. היא תורגמה על ידי אשר ברק, שגם לו הספר היה מקור השראה בתחילת דרכו. הוא החליט לפנות להוצאה בחו"ל ולמחבר, ביקש (וקיבל) רשות לתרגם את הספר לעברית. כל הכבוד לו על היוזמה וההשקעה!אני מאמין שאשר אכן עשה את מלאכת התרגום מתוך אידיאלוגיה ולא מתוך מניע כלכלי. כפי שסיפר ג'ף אסטווד (כותב הבלוג הפופולרי Coding Horrors): עריכת ספר המבוסס על פוסטים שלו בבלוג היה אחד הדברים הפחות מתגמלים (כלכלית) שעשה. ובקהל קטן כמו ארץ ישראל - הדבר נכון כנראה אפילו יותר.
מחיר הספר הוא 139 ש"ח, אם כי בעת כתיבת הפוסט הוא נמכר ב 111 ש"ח בהוצאת אופוס.
אל תגלו לאף אחד! אבל אם תשתמשו בקופון הסודי (CC6174) - תוכלו להשיג מחיר אפילו יותר.
יש לבחור את הספר באתר של אופוס, בתהליך הקנייה יש להרשם, ואז ממש לפני התשלום יש למלא את הקופון כדי לקבל את ההנחה:
כיצד עומד הספר במבחן הזמן?
הספר Code Complete הוא איננו עתיק, אך גם איננו ממש חדש. הגרסה המעודכנת שלו (השנייה) פורסמה בשנת 2004.יצא לי לקרוא חלקים (הנה והנה) מהתרגום העברי - ונהניתי!
השפה קולחת ומעניינת ומזמינה להמשיך לקרוא. הדוגמאות הן כמו בספר המקור, בשפות ++C, ויזואל בייסיק וג'אווה - לא השפות הכי מודרניות בימנו - אבל ניתן להבין בקלות את הדוגמאות ואת הרעיונות שהן מציגות.
הפרקים שהתיישנו (איסוף דרישות, כלי פיתוח, debug, בדיקות ו re-factoring) - לא נכללו במהדורה העברית, וטוב שכך.
הפרק המסכם את "הקוד הספרותי" ("Self-Documenting Code"), גם הוא לא נכלל לצערי, אך בעצם כל הספר מוליך לשם, שלב אחר שלב - ואת הסיכום תוכלו לקרוא בפוסט שלי שציינתי למעלה.
סה"כ אני חושב שהספר יכול להיות מצוין למתכנתים צעירים שמנסים ללמוד את אומנות הנדסת התוכנה לעומק, ולא רוצים לחכות עוד 5 שנים ש"זה יקרה מעצמו".
הספר גם יכול להיות מועיל למפתחים וותיקים שרוצים לרענן עקרונות ולקבל כמה רעיונות חדשים, שאולי לא נתקלו בהם עד כה. זה מועיל לפעמים לחזור למקור ולרעיונות הבסיסיים, במיוחד שהם מוצגים בצורה בהירה וקלה לצריכה.
שיהיה בהצלחה!
גילוי נאות: קיבלתי מאשר, ללא-תשלום, עותק של הספר.