"מדוע יש כל כך הרבה שפות תכנות?"

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

את השאלה הזו שואלים אותי תלמידים שרק הרגע נכנסו ללימודי תוכנה, כשהם מציצים בסילבוס ורואים 3-4 שפות תכנות במהלך הקורס, הם שואלים (ודיי בהגינות זו שאלה שהיא מאוד במקום) ״למה יש כל כך הרבה שפות תכנות?״

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

האם לא כולם אותו דבר?
במובן מסוים הן אותו הדבר. לדוגמה, נרשום רשימה של שפות שבהם ניתן ליצור אתר אינטרנט:

  • Ruby
  • Java
  • Python
  • C#
  • Go
  • JavaScript (לחיצה על המילה תוביל למבדק JavaScript שבנינו באתר)
  •  c\c++
  • Haskell
  • Rust
  • COBOL
  • Pasca
  • Perl

המכנה המשותף לכל השפות זה שכל השפות הללו משרתות את אותה מטרה: להפוך קוד שמתכנת כותב ל -1 ו- 0, שזה מה המחשב מבין. במונחי מחשב גבוהים, כולם "Turing complete".

ואם כולם מייצרים אתר אינטרנט, ואם לא משנה באיזה שפה נשתמש, הגולש יראה את אותה התוצאה, אז למה באמת אנחנו צריכים את כל השפות האלו?

אם מתסכלים על ההפשטה של השפות, בידו שלהן הן זהות זה לזה. אבל על פני השטח – איפה שמתכנתים כותבים בהם – הם משתנים מאוד. כאן כבר יש דילמות אחרות.

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

שפות התכנות דומות. Ruby ו- JavaScript נהדרים לבניית אתרי אינטרנט; Java ו- C ++ משמשים לעתים קרובות למסחר פיננסי; Python ו- R הם השופת שמשתמשים בהם לרוב לניתוח נתונים וסטטיסטיקה.

בחירה של שפת תכנות על פני אחרת מביאה איתה יתרונות וחסרונות.לעתים קרובות תכונות של נוחות, אבטחה ומהירות שונות משפה לשפה- בדומה לרכבים. מה יותר חשוב ומה פחות תלוי במקום העבודה וצרכי המערכת.

למפתחים יש טעם אישי
מעבר לתועלת גרידא, מפתחים בוחרים כלים המבוססים על טעם אישי.

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

מכיוון שיש לנו אפשרויות רבות של שפות תכנות טובות, אנו יכולים לבחור אחת ש"עובדת כמו שאני חושב". יש מפתחים שאוהבים את הגמישות של Ruby, בעוד שאחרים מעדיפים את ההקפדה על Java. איפה ששפות מסוימות מרגישות כמו מתמטיקה, אחרות יכולות להרגיש לנו כמו ספרות.

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

טכנולוגיות נתמכות על ידי "מערכות אקולוגיות" – קהילות וארגונים המספקים את הכלים והסיוע שכל מפתח צריך. מערכת אקולוגית טובה – למשל לRuby ול-NodeJS יש מערכת אקולוגיות (eco-system) נהדרת – והיא יכולה לגרום למפתח הבודד להצליח יותר מאשר בשפות אחרות.

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

שתף למען עולם טוב יותר

שיתוף ב facebook
שיתוף ב google
שיתוף ב twitter
שיתוף ב linkedin
שיתוף ב pinterest
שיתוף ב print
שיתוף ב email
התקשרו עכשיו!

ייעוץ חינם

ייעוץ מאיתנו על ידי יועץ לימודים מקצועי