לינוקס מול ווינדוס למפתחים - מה עדיף¶
זו אחת השאלות שגורמות לוויכוחים הכי חמים בקבוצות מפתחים, ואני אגיד לכם כבר עכשיו - אין תשובה אחת נכונה, ומי שאומר לכם "רק לינוקס" או "רק ווינדוס" כנראה לא ניסה את הצד השני ברצינות. אז בואו נדבר על זה בכנות, בלי דת ובלי קנאות.
למה מפתחים רבים נשבעים בלינוקס¶
הטיעון המרכזי בעד לינוקס הוא שהוא זהה לרוב מכונות הפרודקשן שהקוד שלכם בסוף רץ עליהן. כשאתם מפתחים על לינוקס, אתם עובדים בסביבה שדומה מאוד לשרת שיריץ את האפליקציה שלכם באמת, מה שמקטין את הסיכוי לבעיות מוזרות שקורות רק "אצלי במחשב". גם הטרמינל של לינוקס עצמו נחשב כלי עוצמתי במיוחד - סקריפטים, פייפים, וכלי שורת פקודה שהצטברו במשך עשרות שנים ומשתלבים זה עם זה בצורה חלקה. הרבה כלי פיתוח מודרניים, במיוחד בעולם ה-DevOps והענן, פשוט נבנו קודם כל בשביל לינוקס.
למה מפתחים רבים נשארים עם ווינדוס¶
מצד שני, ווינדוס נשאר הבחירה הטבעית להמון מפתחים, ולא בלי סיבה. אם אתם עובדים על תוכנות שולחן עבודה שמיועדות לווינדוס, על משחקים במנועים כמו Unity או Unreal, או על סביבת פיתוח ארגונית שכל הצוות שלכם עליה, ווינדוס פשוט המקום הנכון להיות בו. גם התאימות לחומרה, במיוחד כרטיסי מסך למשחקים ובינה מלאכותית, לרוב חלקה יותר בווינדוס. וכמובן, אם אתם כבר בעולם המיקרוסופט מכל סיבה אחרת, כמו כלי אופיס וסביבת עבודה ארגונית, המעבר בין הכל הרבה יותר נוח.
WSL - הפתרון שמבטל חלק מהדיון¶
זה החלק שרבים לא יודעים עליו מספיק - מיקרוסופט עצמה בנתה כלי שנקרא WSL, קיצור של Windows Subsystem for Linux, שמאפשר להריץ מערכת לינוקס אמיתית בתוך ווינדוס, בלי צורך במחשב נפרד או במכונה וירטואלית כבדה. זה אומר שאתם יכולים לשבת מול ווינדוס לכל הצרכים היומיומיים שלכם, ולפתוח טרמינל לינוקס אמיתי כשאתם צריכים לעבוד בסביבה שדומה לפרודקשן. הרבה מפתחים היום פשוט משתמשים ב-WSL ומקבלים את הטוב משני העולמות, במקום להתחייב לגמרי לצד אחד.
מק - השחקן השלישי שרוב האנשים שוכחים¶
שווה לציין שמק הוא בעצם פשרה מעניינת בין השניים - הוא מבוסס על יוניקס, קרוב מאוד ברוחו ובפקודות הטרמינל שלו ללינוקס, אבל מגיע עם ממשק וחוויית משתמש שמרגישה יותר כמו מערכת "לצרכן". זו הסיבה שהמון מפתחים מקצועיים עובדים על מק - הם מקבלים טרמינל שמתנהג דומה ללינוקס בלי לוותר על הנוחות היומיומית של מערכת מוגמרת.
אז מה באמת עדיף¶
הנה האמת שרוב הפוסטים בנושא לא אומרים - השאלה "מה עדיף" פחות רלוונטית מהשאלה "מה אתם צריכים לעשות". מפתח ווב או בק-אנד שעובד בעיקר מול שרתים בענן, ירוויח מלהכיר לינוקס לעומק, גם אם הוא בסוף עובד על מק או על ווינדוס עם WSL. מפתח משחקים או תוכנות שולחן עבודה לווינדוס, פשוט צריך את ווינדוס כדי לבדוק את מה שהוא בונה. ומי שעובד בעולם הסייבר או המחקר, כמעט תמיד ימצא את עצמו מבלה יותר זמן בלינוקס.
הטעות שכדאי להימנע ממנה¶
הטעות הכי גדולה היא לחשוב שהבחירה בין המערכות היא בחירה של פעם אחת לכל החיים. מפתח מקצועי, בשלב כלשהו בקריירה, כמעט תמיד יצטרך לגעת גם וגם. הידע בלינוקס לא הולך לבזבז אם אתם עובדים בעיקר על ווינדוס, והוא לא הולך להיעלם אם תעברו חברה שעובדת אחרת. זו בדיוק הסיבה שכדאי להשקיע בהבנת לינוקס בסיסית בלי קשר למערכת ההפעלה שאתם עובדים עליה ביום יום, כי בסוף היא זו שרצה מאחורי הקלעים של כמעט הכל.
מאיפה מתחילים¶
אם אתם מפתחים על ווינדוס ורוצים לסגור את הפער, אתם לא צריכים לפרמט כלום - אפשר להתחיל עם WSL או מכונה וירטואלית, ולעבור על קורס לינוקס הבסיסי שלנו בקצב שלכם, בלי לוותר על הסביבה שאתם כבר מכירים.
ואם אתם מתלבטים איך להגדיר לעצמכם סביבת עבודה עם לינוקס לצד ווינדוס, תשאלו בדיסקורד, יש שם המון אנשים שעשו את זה בעצמם.
לסיכום¶
אין תשובה אחת נכונה בשאלה הזאת, ומי שמתעקש שיש - כנראה לא עבד מספיק זמן בשני הצדדים. מה שכן נכון תמיד הוא שהבנת לינוקס תשרת אתכם, בלי קשר לאיזו מערכת אתם בוחרים לעבוד עליה ביום יום.