
אחרי כמה שנים ב-Node עברתי חלק גדול מהשירותים ל-Go, ולא בגלל אופנה. יש דברים שפשוט נעשו פשוטים יותר, ויש מקומות שבהם דווקא הפסדתי, ושווה לדעת את שניהם לפני שקופצים.
מקביליות מובנית
goroutines וchannels הופכים עבודה מקבילית לטבעית. מה שב-Node דורש ניהול זהיר של async, ב-Go פשוט מריצים אלפי גורוטינות בלי להזיע.ביצועים וזיכרון
שירות שאכל אצלי מאות מגה ב-Node ירד לעשרות ב-Go, וזמני התגובה יציבים יותר תחת עומס בזכות קומפילציה למכונה.
קובץ בינארי אחד:go buildמייצר קובץ אחד בלי תלויות, בליnode_modulesשל מאות מגה, והפריסה לשרת הפכה להעתקת קובץ והרצה.
המחיר בגמישות
הטיפול המפורש בשגיאות עם
if err בכל שורה מעייף בהתחלה, והאקוסיסטם קטן יותר מ-npm. לפרוטוטייפ מהיר לפעמים Node עדיין מנצח.מתי לא לעבור
אם הצוות כולו JavaScript, אם הפרויקט קטן, או אם רוב העבודה היא UI, המעבר לא מצדיק את עצמו רק בשביל האלגנטיות.
בשבילי המנצח הגדול היה הפריסה הפשוטה, לא הביצועים.
מי שעבר, מה הפתיע אתכם לטובה, ומה גרם לכם להתגעגע ל-Node?

נכתב על ידי צוות רבוז