For faster navigation, this Iframe is preloading the Wikiwand page for פרדיגמת תכנות.

פרדיגמת תכנות

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

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

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

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

הפרדיגמה והמתכנת

[עריכת קוד מקור | עריכה]

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

הפרדיגמה והשפות

[עריכת קוד מקור | עריכה]

כשם שקבוצות שונות בתחום הנדסת התוכנה מעודדות מתודולוגיות פיתוח שונות, שפות תכנות שונות מעודדות פרדיגמות תכנות שונות. יש שפות המעוצבות לתמוך בפרדיגמה מסוימת אחת, כגון Smalltalk ו-Java התומכות בתכנות מונחה-עצמים, לעומת Haskell התומכת בתכנות פונקציונלי. אחרות, כגון C++‎ ופייתון, תומכות בפרדיגמות מרובות, ומאפשרות למתכנת לבחור ביניהן או לשלב מספר פרדיגמות לפי הצורך.

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

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

פרדיגמות תכנות עיקריות

[עריכת קוד מקור | עריכה]

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

[עריכת קוד מקור | עריכה]
ויקישיתוף מדיה וקבצים בנושא פרדיגמת תכנות בוויקישיתוף

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. ^ Programming paradigms: What are the principles of programming?, IONOS Digital Guide, ‏2020-04-20 (באנגלית אמריקאית)
{{bottomLinkPreText}} {{bottomLinkText}}
פרדיגמת תכנות
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?