לדלג לתוכן

פורטל:תוכנה

מתוך ויקיפדיה, האנציקלופדיה החופשית

רענון הפורטל כיצד אוכל לעזור?    




פורטל תוכנה

תוכנה הינה שם כללי לתוכניות מחשב, שגרות, ותיעוד המשמשים מערכות מחשוב.

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

    with Ada.Integer_Text_IO;

    procedure Factorial is
         Counter   : Integer := 5;
         Factorial : Integer := 1;
    begin
         while Counter > 0 loop
           Factorial := Factorial * Counter;
           Counter   := Counter - 1;
         end loop;

         Ada.Integer_Text_IO.Put (Factorial);
    end Main;
שימוש בלולאת While בתוכנית מחשב בשפת Ada המחשבת !5. שפת התכנות נקראת על שם הרוזנת עדה לאבלייס שנחשבת למתכנתת הראשונה.
ספרי לימוד לשפות תכנות אחדות

שפת תכנות היא אוסף של חוקים תחביריים (Syntax) וסמנטיים (Semantic) שבאמצעותם ניתן להגדיר למחשב באופן מפורט פקודות ופעולות שעליו לבצע בתחומים שונים ומגוונים. המושג שפת מחשב (Computer Language), הוא מושג רחב מאשר שפת תכנות (Programming Language), וכולל גם שפות למתן הנחיות למחשב שאין בהן לוגיקה.

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

בול סובייטי עם תמונתו של אל חואריזמי
בול סובייטי עם תמונתו של אל חואריזמי

המונח "אלגוריתם", מושג מרכזי במדעי המחשב, נגזר משמו של מוחמד אבן מוסא אל-ח'ואריזמי, מתמטיקאי שחי בבגדאד במאה התשיעית. כאשר ספרו על שיטות חישוב תורגם ללטינית, הופיע שמו בצורה הלטינית "אלגוריטמי", והקוראים טעו לחשוב שמדובר בצורת רבים של המושג שיטת חישוב. המילה אלגברה נלקחה מספר אחר שלו – "חיסאב אל-ג'אבר ואל-מוקאבלה"; על פי הספר, פעולת ההשלמה, אל-ג'אבר, היא אחת משתי הפעולות שניתן לבצע על משוואה על מנת לפשט אותה.

תמונת מסך של מעבד התמלילים Abiword

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

ניתן לסווג תוכנה על פי מספר ממדים:

  • תוכנת תשתית לעומת תוכנת יישום
  • תוכנה קנויה לעומת תוכנה המפותחת בתוך הארגון

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

דוגמאות לתוכנות תשתית:

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

העוסקים בתחום בישראל אינם נדרשים להסמכה רשמית כלשהי כדי לכנות עצמם "מתכנתים". הכשרתם של מתכנתים נעשית במסלולים אחדים:

למתכנתים מסלולי התמחות בשלושה מישורים:

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

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

שמות נוספים בהם משתמשים לעיתים קרובות באותו הקשר הם אנליסט תוכנה (Software analyst) ומהנדס תוכנה (Software engineer).
תרשים המציג את מקומה של מערכת ההפעלה במחשב מודרני

מערכת הפעלה היא תוכנה המגשרת בין המשתמש, החומרה ויישומי התוכנה. זו התוכנה הראשונה שעולה עם הדלקת המחשב והיא זו המאפשרת לו לפעול. מערכת ההפעלה מספקת שלושה ממשקים: ממשק משתמש (User Interface), ממשק עבור החומרה על ידי מנהלי התקנים וממשק תכנות היישומים (API). מערכת ההפעלה היא רכיב חיוני בכל מחשב. תהליך טעינתה של מערכת ההפעלה, המתבצע עם הדלקת המחשב, קרוי אתחול.

ניתן למנות שלושה תפקידים עיקריים של מערכת ההפעלה:

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

החלקים העיקריים של מערכת הפעלה הם:

  1. ליבה – שכבת התוכנה אשר אחראית על הקשר שבין שכבת התוכניות אל שכבת החומרה. היא אחראית גם על תגובה ראשונית לפסיקות חומרה או תוכנה (Interrupt Handling). בנוסף על הליבה לתזמן את כל התוכניות הרצות על המעבד/ים על מנת שכל תוכנית תוכל לרוץ בזמן שנקבע לה, כך שתוכניות לא יישארו "מורעבות" (כלומר – לא יקבלו זמן ריצה) ושתוכניות לא יגזלו לעצמן את כל משאבי המעבד.
  2. מעטפת פקודה (Application Programming Interface – API) – נותנת למשתמש הקצה את האפשרות להריץ פקודות של מערכת ההפעלה. בגלל רגישות מערכת ההפעלה לתוכניות זדוניות הרי שרוב הקריאות למערכת ההפעלה עוברות דרך שכבת תוכנה אשר מקשרת את תוכנת המשתמש אשר רצה לרוב ממרחב המשתמשים (user space) למערכת ההפעלה עצמה. קריאות אלה הן קריאות מערכת (System Calls) והיא מאפשרת למערכת ההפעלה להגן על עצמה ועל החומרה מפני תוכניות אשר מנסות להשתמש בה ובמשאביה בצורה מוטעית, או לצרכים פסולים.
Tux

לינוקסאנגלית: Linux) היא משפחה של מערכות הפעלה המבוססות על ליבת לינוקס. מערכת לינוקס שכוללת רכיבים וספריות מפרויקט גנו נקראת לפעמים גנו/לינוקס (GNU/Linux).

הפיתוח הראשוני בשנות ה-80 התמקד בגנו ובמערכת הגרפית X11. בשנות ה-90 המוקדמות, המפתחים של ליבת לינוקס ואנשים נוספים החלו לעבוד על לינוקס. בסוף שנות ה-90 קיבלה לינוקס גם את תמיכתן של IBM,‏ נובל וסאן מיקרוסיסטמס.

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

הלוגו של חלונות 11

Windows (הקרויה באופן לא רשמי בעברית "חלונות") היא מערכת הפעלה שיצאה לשוק לראשונה בשנת 1985 על ידי חברת מיקרוסופט ופועלת כיום על מחשבים אישיים ושרתים בעלי מעבד ממשפחת x86 או שרתים מבוססי איטניום (בגרסאות השרת של המערכת). מערכת ההפעלה Windows התבססה, במקור, על מערכת ההפעלה DOS של אותה חברה. במהלך השנים הפכה המערכת לפופולרית מאוד.

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

אפלאנגלית: Apple) היא חברה המייצרת מחשבים אישיים, מערכות הפעלה ואבזרי אלקטרוניקה בידורית, והיא חברת הטכנולוגיה הגדולה בעולם. החברה שוכנת בעיירה קופרטינו בעמק הסיליקון שבמדינת קליפורניה בארצות הברית. אפל ייצרה את אחד המחשבים האישיים הפופולריים הראשונים, בשנות השבעים, ותרמה את מערכת ההפעלה הגרפית הראשונה למחשבים אישיים בשנות השמונים. החברה ידועה בחדשנותה בתחום התוכנה והחומרה וידועה במיוחד בזכות מחשבי אפל II ומקינטוש, נגני הiPod, הטלפונים הסלולריים iPhone, חנות המוזיקה באינטרנט iTunes, ורשת החנויות אפל סטור.

נכון לתחילת ינואר 2012 שווי השוק של אפל הוא השני הגבוה בעולם, לאחר חברת אקסון מוביל, והוא כ-376 מיליארד דולר. היקף מכירותיה השנתיות, נכון לשנת 2010 מוערך בכ-65.225 מיליארד דולר והרווח הנקי מוערך בכ-14.013 מיליארד דולר. נכון לספטמבר 2010, בחברה כ-49,400 מועסקים, בעיקר בארצות הברית.

Xinu היא מערכת הפעלה המשמשת לצורכי לימוד. השם Xinu הוא גם ראשי תיבות של "Xinu Is Not Unix" (זינו היא לא יוניקס) וגם היפוך סדר האותיות בשם Unix.

Xinu פותחה על ידי דאגלס קומר מאוניברסיטת Purdue ב-1980.

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

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

המערכת מופעלת, לפחות בגרסה עבור PC, תחת מערכת הפעלה אחרת, למשל Windows. כמו כן, היא אינה מורצת באופן עצמאי אלא חייבת להריץ קוד C שרץ כתוכנית במערכת המארחת וכולל את Xinu עצמה ואת התוכניות שרצות בתוכה.

סלאקוור (Slackware) הינה הפצת גנו/לינוקס שנוצרה על ידי פטריק פולקרדינג. סלאקוור היא אחת מהפצות הלינוקס המוקדמות, וכעת ההפצה הוותיקה ביותר אשר עדיין מתוחזקת. סלאקוור שואפת ליציבות, לפשטות ולדמיון רב למערכות UNIX.

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

הנדסת תוכנה
ערך זה שייך לקטגוריית הנדסת תוכנה
פעילויות ושלבים
דרישותניתוחאפיוןארכיטקטורהעיצובתכנותניפוי שגיאותבדיקהאימותבנייהפריסהתפעולתחזוקה
מתודולוגיות
זריזותמפל המיםתכנת ותקןCrystal ClearScrumUnified ProcessExtreme Programmingאינטגרציה רציפהDevOps
תחומים תומכים
ניהול פרויקטיםניהול תצורהתיעודהבטחת איכותProfiling
כלים
מהדרמקשרמפרשIDEניהול גרסאותאוטומציית בנייה

הנדסת תוכנהאנגלית: Software Engineering) היא ענף של הנדסה העוסק בפיתוח תוכנה.

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

הנדסת תוכנה החלה להתגבש כתחום ייחודי בשנות ה-60 המאוחרות, על רקע משבר התוכנה. עד אותה עת נחשבה הנדסת התוכנה לענף משני של מדעי המחשב. כנס ראשון להנדסת תוכנה נערך בשנת 1968 על ידי ועדת המדע של נאט"ו, וציין את תחילת דרכו של הענף כתחום נפרד ועצמאי. עם החלוצים בתחום נמנים פרד ברוקס, בארי בם, טוני הור ודייוויד פרנס. גרסה ראשונה של גוף הידע הרשמי של המקצוע הושלמה בשנת 1999, ובאותה השנה הוענק לפרד ברוקס פרס טיורינג על "תרומותיו פורצות הדרך בהנדסת מחשבים, מערכות הפעלה והנדסת תוכנה", ושני האירועים נחשבים לאבני דרך חשובות בהתפתחות הענף. בארצות הברית, מסלול לימודים אקדמי להנדסת תוכנה (BSc) נפתח לראשונה בשנת 1996, ומסלול דומה מוצע גם בישראל. עם זאת, נכון לשנת 2006, לרוב העוסקים בתחום יש הכשרה אקדמית במדעי המחשב ולא בהנדסת תוכנה.

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

שפת תכנות היא אוסף של חוקים תחביריים (Syntax) וסמנטיים (Semantic) שבאמצעותם ניתן להגדיר למחשב באופן מפורט פקודות ופעולות שעליו לבצע בתחומים שונים ומגוונים. המושג שפת מחשב (Computer Language), הוא מושג רחב מאשר שפת תכנות (Programming Language), וכולל גם שפות למתן הנחיות למחשב שאין בהן לוגיקה.

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

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

שפות תכנות נוצרו על-מנת להגדיר פעולות של מחשבים, אבל הן יכולות לשמש גם על-מנת לתאר אלגוריתמים, בדומה לתרשימי זרימה, או להגדיר מבני נתונים (data structures) מורכבים. בכך מהוות שפות אלו גם צורת תקשורת. מתכנתים שואפים לשמור על הקוד שלהם קריא, כלומר פשוט להבנה על ידי אדם, כדי שיהיה קל לנפות ולתחזק אותו.

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

שפת התכנות הבסיסית ביותר, והקרובה ביותר לשפת מכונה, קרויה שפת סף או אסמבלי (Assembly). בשפת הסף, בצורתה הבסיסית, קיימת התאמה חד-חד ערכית בין ההוראות שכותב המתכנת ובין ההוראות המופקות מהן בשפת מכונה, כלומר, כל הוראת אסמבלי יחידה מתורגמת להוראה אחת בשפת מכונה. לכן, כמו שפת המכונה, גם שפת הסף פועלת באופן ישיר על תאי הזיכרון של המחשב, האוגרים הפנימיים של המעבד ויציאות הקלט/פלט של המחשב, ובפרטנות רבה. כתוצאה מכך, שפת הסף תלויה הרבה מאוד במעבד ולכל סדרת מעבדים יש שפת סף משלה (כאשר לכל מעבד יש ניב משלו).

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

אורקל היא חברת תוכנה מהגדולות בעולם. מוצריה הבולטים הם:

אורקל נוסדה בשנת 1977 על ידי לארי אליסון, לאחר שהושפע ממאמרו החלוצי של אדגר קוד, בו הוצג הרעיון של מסד נתונים יחסי. אליסון ייסד את החברה תחת השם Software Development Laboratories. בשנת 1979 הוחלף שמה ל־Relational Software, Inc ובשנת 1983 הוחלף שוב, הפעם ל־Oracle, כשם מוצר הדגל שלה.

נכון לשנת 2006, מועסקים בחברה למעלה מ־56,000 עובדים ביותר מ־145 סניפים ברחבי העולם. מתוכם, למעלה מ-200 איש עובדים בסניף הישראלי, הממוקם בפתח תקווה.

ב-20 באפריל 2009 נחתם הסכם בין אורקל לבין סאן מיקרוסיסטמס, לפיו תקנה אורקל את סאן מיקרוסיסטמס תמורת 7.4 מיליארד דולר. רכישה זו מבצרת את מעמדה של אורקל כשחקנית משמעותית בעולם ה-Java וכמתחרתה הגדולה של מיקרוסופט. הרכישה הסתיימה ב-27 בינואר 2010 לאחר אישור רשות ההגבלים העסקיים של האיחוד האירופי.

צילום מסך של Photoshop CS5 פועלת על Windows 7

אדובי פוטושופ (באנגלית: Adobe Photoshop), או בקיצור, פוטושופ, היא תוכנת עריכה גרפית שפותחה על ידי אדובי מערכות. תוכנה זו היא הנפוצה ביותר בשוק עיבוד תמונת מפת הסיביות.

פיתוח הגרסה הראשונה החל ב־1987 על ידי תומאס נול וג'ון נול. הגרסה החדשה ביותר היא 2015 Photoshop CC (שעברה מחבילת Creative Suite לחבילת Creative Cloud). בעבר התוכנה נמכרה בשתי גרסאות: הראשונה מכונה "Photoshop" והיא מכילה את הכלים הבסיסיים מהגרסאות קודמות, וגרסה הנקראת "Photoshop Extended" המכילה כלים נוספים לעריכת גרפיקה תלת-ממדית, עריכת וידאו ועוד. מהגרסה Photoshop CC יש את הכלים מ"Photoshop Extended" אך אין גרסה מקבילה ללא כלים אלו. התוכנה משלבת מגוון רחב של כלי גרפיקה מתקדמים לכל תחומי עיבוד ובניית תמונה. בשל כך פוטושופ הינה התוכנה הפופולרית ביותר בקרב אנשי מקצוע וחובבים. צלמים רבים משתמשים בפוטושופ כ"חדר חושך דיגיטלי" לצורך ליטושי תמונה שנעשים בחדרי חושך בזמן פיתוחי הפילמים. התוכנה מאפשרת לצלמים לבצע עיבודים שונים כמו הבהרה/הכהייה של תמונה, חידודים, טשטושים, חיתוכים, ותיקוני צבע שונים. טכניקות אלו מאפשרים לתקן בעיות שונות וסטיות גוונים שנוצרו בעת הצילום.

ביארנה סטרוסטרופדנית: Bjarne Stroustrup; נולד באורהוס שבדנמרק ב-30 בדצמבר 1950) הוא מדען מחשב דני, הידוע בעיקר כמפתחה ומשיקה של שפת התכנות הנפוצה C++. כרגע הוא פרופסור למדעי המחשב ומנכ"ל הקולג' להנדסת מדעי המחשב באוניברסיטת אוניברסיטת טקסס A&M.

סטרוסטרופ החל לתכנת את שפת ה-C++ ב-1979 (שאז נקרא "C עם מחלקות), ובמילים שלו:

invented C++, wrote its early definitions, and produced its first implementation... chose and formulated the design criteria for C++, designed all its major facilities, and was responsible for the processing of extension proposals in the C++ standards committee.

בנוסף, כתב סטרוסטרופ מה שהרוב מחשיב כספר הסטנדרטים של C++:‏ 'The C++ Programming Language, בשלוש גרסאות. בגרסה הראשונה והשנייה טען סטרוסטרופ כי לא סיפר, השווה והתאים את האבולוציה של שפת ה-C לשפת ה-C++.

בראיון עם Big Think סטרוסטרופ אמר כי כשפיתח את שפת ה-C++ הרגיש כי קודמה, שפת התכנות C מיושנת מדיי. הוא הוסיף באומרו כי לדעתו היו צריכות השפות להתמזג לשפה אחת אולטימטיבית ואידיאלית.

סטרוסטרופ הוא בעל תואר מוסמך אוניברסיטה במתמטיקה ובמדעי המחשב מאת אוניברסיטת אורהוס ו-Ph.D. (תואר שלישי) מאת אוניברסיטת קיימברידג', אנגליה, שם היה תלמיד בקולג' צ'רצ'יל. הוא היה ראש מחלקת התכנות במעבדות בל, מפתיחתה עד לסוף שנת 2002. ב-2004 הפך לחבר באקדמיה הבינלאומית להנדסה. בנוסף, הוא חבר מן המניין בארגונים ACM וב-IEEE.

JavaScript היא שפת תסריט תכנות מונחה דגמי אב (Prototypes), סגנון מסוים של מונחית עצמים. היא ידועה בעיקר כשפה המוטבעת בדפי HTML על מנת להציג דפים דינמיים, שמשולבת בהם תוכנה. קוד ה-JavaScript שמשולב בדף HTML מבוצע על ידי הדפדפן. JavaScript נוחה מאוד לעבודה עם ה-DOM ולתפעול DHTML.

השפה נוצרה על ידי חברת נטסקייפ בשנת 1995, ויושמה לראשונה בדפדפן נטסקייפ 2.0. הגרסה הייתה JavaScript 1.0. בנוסף לכתיבת תסריטים בצד הלקוח (בדפדפן) מאפשרת JavaScript כתיבת תסריטים גם בצד השרת, לתפעול בשרת אינטרנט. מבחינת שפה, וגם מבחינת התחביר שלה, מזכירה JavaScript את שפת ActionScript שמיוחדת לפלאש. גרסה תקנית של השפה קרויה ECMAScript.

חברת מיקרוסופט יצאה בשפה מתחרה, VBScript, להפעלה בדפדפן, אך לא הצליחה ביעד זה (היא הצליחה יותר בשימושים אחרים של השפה, כולל כתיבת תסריטים בצד השרת – ASP). בנוסף יצאה מיקרוסופט עם גרסה משלה של שפת JavaScript, והיא קרויה JScript. דבר זה גורם עד היום לבעיות רבות בקרב מפתחי האינטרנט, בין אם בגלל מפתחים המעלימים עין מהעובדה שהם מתכנתים ב־JScript בלבד, ומתעלמים מדפדפנים אחרים המפענחים את JavaScript הרגילה – ובין בגלל מפתחי אתרים הסובלים לשווא בהתגברות על חוסר התמיכה של הדפדפן אינטרנט אקספלורר של מיקרוסופט בחלקים תקניים מ־JavaScript.

רוצים לעזור? הנה כמה משימות שבהן אתם יכולים לתרום: