פורטל:תוכנה

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

Gnome-colors-view-refresh.svg רענון הפורטל Netvibes.svg כיצד אוכל לעזור?    

P Hello World.svg



פורטל תוכנה

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

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

מושגים בתוכנה

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

תכנות מקבילי

עיבוד מקביליתהליכוןסנכרוןמנעולמנעול קריאה כתיבהבקרת מקביליותבקרת מקביליות אופטימיתבקרת מקביליות פסימיתסמפורמנעול מסתובבקיפאוןהרעבהSpeedup

שפות תכנות

שפת מכונהשפת סףשפה עיליתשפת תכנות Low-level

רשימת שפות תכנות

ActionScriptAdaALGOLAPLAppleScriptAssemblyBASICVisual BasicVBScriptBFCObjective CC++‎C#COBOLDelphiFortranGroovyJavaJavaScriptLISPLOGOOberonPascalPerlPHPPL/IPowerBuilderPrologפייתוןREXXRPGRubyScalaSchemeSmalltalkSNOBOLSQLPL/SQLT-SQLTCL

רשימת שפות מחשב

bashCSSHTMLPostscriptSVGTeXLaTeXVerilogVHDLVRMLMedia-WikiXML
שיטות (פרדיגמות) תכנות

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

כלי תכנות

bootstrappingמהדר (Compiler) • מפרש (Interpreter) • מקשר (Linker) • ניהול גרסאותסביבת פיתוח משולבת (IDE) • ניפוי שגיאות (debugging) • עורכי טקסטכלי פיתוח לוובבאגזילה

Year 2038 problem.gif

באג 2038 הוא באג שעלול לגרום לתקלות בתוכנות המשתמשת בשיטת POSIX לחישוב הזמן. הבאג משפיע על תוכנות המחזיקות את הזמן במשתנה מסוג מספר באורך 32 סיביות עם סימן ומפרשות את ערך המשתנה כמספר השניות שחלפו מאז הראשון בינואר 1970 בחצות.

באנימציה המחשה כיצד יחזור התאריך לשנת 1901 ב-19 בינואר 2038 בשעה 03:14:08 UTC

ספרי לימוד לשפות תכנות אחדות

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

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

תמונה של הבאג האמיתי הראשון שנמצא במחשב.

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

Cquote2.svg

ב-1946, כשהופר שוחררה משירות פעיל, היא הצטרפה לסגל הרווארד במחלקה למחשוב, שם המשיכה בעבודתה על מארק II ומארק III. מפעילים שעקבו אחרי תקלה במארק II מצאו עש שנלכד באחד הממסרים (relay), והשתמשו במושג "באג". העש הוסר בזהירות והודבק לדף הלוג של ה-9 בספטמבר 1945. בעקבות אותו באג ראשון אנו נוהגים להתייחס לתקלות או גליצ'ים כבאגים.

Cquote3.svg
– Danis, Sharron Ann: "Rear Admiral Grace Murray Hopper" ‏[1]
Article.gif

מיקרוסופט  •  דיוג  •  מחשב

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

לוגו ווינדוס

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

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

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

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

לוגו אנדרואיד

אנדרואיד (באנגלית: Android) היא מערכת הפעלה המיועדת למכשירים ניידים ומבוססת על ליבת לינוקס. מערכת הפעלה זו מאפשרת למפתחים לתכנת בגרסה של שפת Java בעלת מחלקות מיוחדות לעבודה עם המכשיר.

מערכת ההפעלה פותחה בתחילה על ידי חברת הזנק קטנה אשר נרכשה בשנת 2005 על ידי תאגיד גוגל. הגרסה הראשונה של מערכת ההפעלה הוכרזה ב-5 בנובמבר 2007. נכון לסוף שנת 2010, אנדרואיד היא מערכת ההפעלה הנמכרת ביותר בתחום הטלפונים החכמים.

ביולי 2005 רכשה גוגל את חברת אנדרואיד (.Android inc), חברת הזנק קטנה שנוסדה ב-2003 ופעלה בפאלו אלטו, קליפורניה. מייסדי החברה, אנדי רובין, ריץ' מינר, ניק סירס (סמנכ"ל T-Mobile לשעבר) וכריס וויט, עברו לעבוד בגוגל. באותה תקופה, מעטים הכירו את פעילות החברה, חוץ מאלו שפיתחו תוכנות לטלפונים סלולריים. מכיוון שכך, החלו שמועות כי גוגל הולכת להיכנס לשוק הטלפונים הסלולריים.

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

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

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

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

לערך המלא

לרשימת מערכות ההפעלה המלאה
Back Track 4 portable desktop.png

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

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

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

לרשימת הלינוקסים הנבחרים המלאה
הנדסת תוכנה
מאמר זה הוא חלק מקטגוריית הנדסת תוכנה

Coding Shots Annual Plan high res-5.jpg
מתכנת בעבודתו

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

Crystal Clear | Scrum | Unified Process | Extreme Programming | Continuous integration

תחומים תומכים
ניהול פרויקטים | ניהול תצורה | תיעוד | הבטחת איכות | 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 על ידי תומאס נול וג'ון נול.

פוטושופ CS5 הגרסה ה-12 (הגרסה הנוכחית), הוכרזה באופן רשמי ב-12 באפריל 2010 ויצאה לשוק ב-30 באפריל 2010. כיום התוכנה נמכרת בשתי גרסאות: הראשונה מכונה "Photoshop" והיא מכילה את הכלים הבסיסיים מהגרסאות קודמות, וגרסה הנקראת "Photoshop Extended" המכילה כלים נוספים לעריכת גרפיקה תלת ממדית, עריכת וידאו וכדומה. התוכנה משלבת מגוון רחב של כלי גרפיקה מתקדמים לכל תחומי עיבוד ובניית תמונה. בשל כך פוטושופ הינה התוכנה הפופולרית ביותר בקרב אנשי מקצוע וחובבים. צלמים רבים משתמשים בפוטושופ כ"חדר חושך דיגיטלי" לצורך ליטושי תמונה שנעשים בחדרי חושך בזמן פיתוחי הפילמים. התוכנה מאפשרת לצלמים לבצע עיבודים שונים כמו הבהרה/הכהייה של תמונה, חידודים, טשטושים, חיתוכים, ותיקוני צבע שונים. טכניקות אלו מאפשרים לתקן בעיות שונות וסטיות גוונים שנוצרו בעת הצילום.

לרשימת התוכנות הנבחרות המלאה
סטולמן, פברואר 2009

ריצ'רד מת'יו סטולמן (אנגלית: Richard Matthew Stallman) (נולד ב־16 במרץ 1953) הוא פעיל למען תוכנה חופשית ומתכנת מחשבים ידוע. בשנת 1983 יזם את פרויקט GNU ליצירת מערכת הפעלה חופשית, דמוית יוניקס ומשמש מאז כארכיטקט המוביל שלה. העקרונות האידאולוגים אותם ביטא סטולמן כשייסד את GNU, מהווים את התשתית לתנועה חברתית בשם תנועת התוכנה החופשית. סטולמן הוא הוגה רעיון רישיונות ה-copyleft (כגון ה-GPL) וכותב הגרסאות המקוריות של העורך Emacs, המהדר GCC ומנפה השגיאות GDB.

ב-1985 ייסד סטולמן גם את המוסד לתוכנה חופשית.

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.

P At sign.png
P technology.png
P computing.svg
P satellite dish.svg
P Computer-science.png
פורטל האינטרנט פורטל הטכנולוגיה פורטל המחשבים פורטל התקשורת פורטל מדעי המחשב

Exquisite-kcontrol.png

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

בדף זה מאוגדות הבקשות לערכים הקשורים לתחום תוכנה:

ערכים הדורשים שיפור

מהו פורטל? - רשימת כל קטגוריות המשנה והערכים