# תכנות מחשבים

|  |
| --- |
| **עיינו גם בפורטלפורטל התוכנה** הוא שער לערכים הקשורים לעולם התוכנה. הפורטל סוקר את היסטוריית התכנות, התוכנות, המתכנתים, וכיוצא בכך.
 |

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

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

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

## שלבים נפוצים בפיתוח תוכנה

תהליך פיתוחה של תוכנית חדשה כולל כמה שלבים:

1. זיהוי הצורך בתוכנית לשם ביצועה של משימה מסוימת.
2. עיצוב התוכנית ובחירת שפת התכנות לכתיבתה.
3. כתיבת התוכנית בשפת התכנות שנבחרה.
4. ניפוי שגיאות: איתור טעויות שנעשו במהלך כתיבת התוכנית, ותיקון טעויות אלה.
5. אינטגרציה: שילוב התוכנית עם יתר התוכניות המרכיבות את מוצר התוכנה שלו נועדה התוכנית.
6. הטמעה: העברת התוכנית למשתמשיה והדרכתם בשימוש בה.

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

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

## פרדיגמות לפיתוח תוכנה

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

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

## תוכנית Hello World

 ערך מורחב – **תוכנית Hello world**

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

## ראו גם

* הנדסת תוכנה
* תוכנה - מונחים
* שפת תכנות

## קישורים חיצוניים

* טכניקות תכנות ישנות אליהן לא תתגעגעו, באתר TheMarker‏, 11 במאי 2009
* תכנות מחשבים, דף שער בספרייה הלאומית

## הערות שוליים