שלום,
נראה שכבר הכרתם את אאוריקה. בטח כבר גיליתם כאן דברים מדהימים, אולי כבר שאלתם שאלות וקיבלתם תשובות טובות.
נשמח לראות משהו מכם בספר האורחים שלנו: איזו מילה טובה, חוות דעת, עצה חכמה לשיפור או כל מה שיש לכם לספר לנו על אאוריקה, כפי שאתם חווים אותה.
»
«
איך פועל המחשב האישי?
אין ספק שהמחשב ובמיוחד המחשב אישי, המחשב הביתי, הלפטופ שהוא המחשב הנייד ואפילו הטלפון החכם שלנו, סוג של מחשב מאוד מתקדם וקטן - כל אלו שינו את העולם.
אבל איך המחשב פועל? איך הוא עושה את כל הפלאים שכל כך התרגלנו אליהם?
#אז איך המחשב עובד?
ראשית, נבין שמחשב הוא מכונה שמקבלת נתונים ומעבדת אותם על פי ההוראות שהיא קיבלה.
את הנתונים וההוראות מקבל המחשב מהתקני קלט כמו מקלדת, עכבר המחשב, סורק תמונות, מצלמת רשת, או מתוכנות ויישומים שונים המאוחסנים בו.
את עיבוד הנתונים עושה ה-CPU, יחידת העיבוד המרכזית, שהיא למעשה ליבו של המחשב. את עיקר העבודה עושה המעבד של המחשב. הוא נמצא על המיקרו-מעבד, שבב קטן שהוא למעשה המוח של המחשב. המעבד מטפל במרבית הפעולות המרכזיות שהמחשב מבצע. בין השאר הוא משמש כשליח לרכיבים המרכזיים כמו זיכרון ה-RAM, המסך (צג) והכוננים.
לאחר שהמחשב עיבד את הנתונים, הוא שולח את תוצאות העיבוד שלהם להתקני הפלט, כמו מדפסת, מסך, כרטיס קול, כרטיס וידאו, רמקולים, יציאות למכשירים חיצוניים או אפילו למחשב אחר.
הרכיבים המרכזיים במחשב מותקנים או מחוברים אל לוח האם (Motherboard). זהו המעגל החיוני והמרכזי, שהמחשב לא יכול לעבוד בלעדיו. כל מרכיב משמעותי במחשב, כמו ה-CPU והזכרונות, הוא חלק מלוח האם או מחובר לאחת היציאות שלו או מותקן על אחד מחריצי הרחבה שבו.
בכל פעם שאנו יוצרים מסמך טקסט, מורידים קובץ אודיו או וידאו חדש, אך גם כשאנו שומרים תמונה, שיר, סרטון או מתקינים תוכנה חדשה, כולם נכתבים על הכונן הקשיח (Hard Disk) שבמחשב. הכונן הקשיח הוא המקום שבו מאוחסנים כל המסמכים, המידע והתוכניות שלנו. ניתן לראות בו מעין ארון דיגיטלי, או מחסן של קבצים דיגיטליים.
חוץ מהכונן הקשיח, ששומר את המידע גם כשהמחשב כבוי, יש במחשב עוד שני סוגי זיכרון. הראשון מהם הוא ה-RAM, זיכרון גישה אקראית. הוא פעיל רק כשהמחשב פועל ובו נשמרים מערכת ההפעלה שמפעילה את המחשב, התוכנות הפעילות והנתונים שהמחשב מנהל ומעבד כרגע.
זיכרון ה-RAM מבטיח שהמעבד, המוח של המחשב, יוכל להגיע לכל הנתונים האלה במהירות עצומה. ככל שלמחשב יש יותר זיכרון RAM, תהיה לו היכולת להחזיק ולעבד יותר תוכניות וקבצים יותר גדולים. כשמכבים את המחשב, כל תוכן זיכרון ה-RAM נמחק לגמרי.
סוג הזיכרון השני הוא ROM, קיצור של Read only memory, זיכרון לקריאה בלבד. שבבי זיכרון ה-ROM חשובים מאוד וממוקמים על לוח האם. הם מכילים הוראות שאליהן יכול המעבד במחשב לגשת ישירות ובמהירות. דוגמה מצוינת להוראות כאלה הן הוראות הנוגעות לתהליך האתחול של המחשב ורכיבי חומרה שמחוברים אליו. את התפקיד הזה ממלא שבב ה-BIOS, שמעיר את המחשב כשמפעילים אותו ו"מזכיר למחשב" אילו רכיבים וחלקים מותקנים בו ואילו משימות הם ממלאים. זוהי המערכת שאחראית על הקלט והפלט של המחשב ומכונה לעתים גם "קושחה".
אחרונים בשורה הם כרטיסים, כמו כרטיס וידאו או כרטיס קול. אלה שני מכשירי פלט, המחוברים ללוח האם או מוטמעים בו מראש. בכרטיסים כאלה יש מעגלים מיוחדים שתפקידם, לאפשר למחשב להציג סרטי וידאו על המסך, להשמיע צלילים דרך הרמקולים שמחוברים אליו וכדומה.
רוצים לדעת עוד על המרכיבים של המחשב? - בתגית "חלקי המחשב" תוכלו לרדת לפרטים.
הנה סרטון שמסביר את פעולת המחשב (מתורגם):
https://youtu.be/AkFi90lZmXA?t=15s
כל חלקי המחשב (עברית):
https://youtu.be/kUv7JtkpN8g
הסבר על הדרך בה פועל המחשב (עברית):
https://youtu.be/D1podM2wdxA
ובשביל הנוסטלגיה - כתבה על עליית המחשב האישי לארץ בשנות ה-80 (עברית):
https://youtu.be/fnzUSWfAzhk
אין ספק שהמחשב ובמיוחד המחשב אישי, המחשב הביתי, הלפטופ שהוא המחשב הנייד ואפילו הטלפון החכם שלנו, סוג של מחשב מאוד מתקדם וקטן - כל אלו שינו את העולם.
אבל איך המחשב פועל? איך הוא עושה את כל הפלאים שכל כך התרגלנו אליהם?
#אז איך המחשב עובד?
ראשית, נבין שמחשב הוא מכונה שמקבלת נתונים ומעבדת אותם על פי ההוראות שהיא קיבלה.
את הנתונים וההוראות מקבל המחשב מהתקני קלט כמו מקלדת, עכבר המחשב, סורק תמונות, מצלמת רשת, או מתוכנות ויישומים שונים המאוחסנים בו.
את עיבוד הנתונים עושה ה-CPU, יחידת העיבוד המרכזית, שהיא למעשה ליבו של המחשב. את עיקר העבודה עושה המעבד של המחשב. הוא נמצא על המיקרו-מעבד, שבב קטן שהוא למעשה המוח של המחשב. המעבד מטפל במרבית הפעולות המרכזיות שהמחשב מבצע. בין השאר הוא משמש כשליח לרכיבים המרכזיים כמו זיכרון ה-RAM, המסך (צג) והכוננים.
לאחר שהמחשב עיבד את הנתונים, הוא שולח את תוצאות העיבוד שלהם להתקני הפלט, כמו מדפסת, מסך, כרטיס קול, כרטיס וידאו, רמקולים, יציאות למכשירים חיצוניים או אפילו למחשב אחר.
הרכיבים המרכזיים במחשב מותקנים או מחוברים אל לוח האם (Motherboard). זהו המעגל החיוני והמרכזי, שהמחשב לא יכול לעבוד בלעדיו. כל מרכיב משמעותי במחשב, כמו ה-CPU והזכרונות, הוא חלק מלוח האם או מחובר לאחת היציאות שלו או מותקן על אחד מחריצי הרחבה שבו.
בכל פעם שאנו יוצרים מסמך טקסט, מורידים קובץ אודיו או וידאו חדש, אך גם כשאנו שומרים תמונה, שיר, סרטון או מתקינים תוכנה חדשה, כולם נכתבים על הכונן הקשיח (Hard Disk) שבמחשב. הכונן הקשיח הוא המקום שבו מאוחסנים כל המסמכים, המידע והתוכניות שלנו. ניתן לראות בו מעין ארון דיגיטלי, או מחסן של קבצים דיגיטליים.
חוץ מהכונן הקשיח, ששומר את המידע גם כשהמחשב כבוי, יש במחשב עוד שני סוגי זיכרון. הראשון מהם הוא ה-RAM, זיכרון גישה אקראית. הוא פעיל רק כשהמחשב פועל ובו נשמרים מערכת ההפעלה שמפעילה את המחשב, התוכנות הפעילות והנתונים שהמחשב מנהל ומעבד כרגע.
זיכרון ה-RAM מבטיח שהמעבד, המוח של המחשב, יוכל להגיע לכל הנתונים האלה במהירות עצומה. ככל שלמחשב יש יותר זיכרון RAM, תהיה לו היכולת להחזיק ולעבד יותר תוכניות וקבצים יותר גדולים. כשמכבים את המחשב, כל תוכן זיכרון ה-RAM נמחק לגמרי.
סוג הזיכרון השני הוא ROM, קיצור של Read only memory, זיכרון לקריאה בלבד. שבבי זיכרון ה-ROM חשובים מאוד וממוקמים על לוח האם. הם מכילים הוראות שאליהן יכול המעבד במחשב לגשת ישירות ובמהירות. דוגמה מצוינת להוראות כאלה הן הוראות הנוגעות לתהליך האתחול של המחשב ורכיבי חומרה שמחוברים אליו. את התפקיד הזה ממלא שבב ה-BIOS, שמעיר את המחשב כשמפעילים אותו ו"מזכיר למחשב" אילו רכיבים וחלקים מותקנים בו ואילו משימות הם ממלאים. זוהי המערכת שאחראית על הקלט והפלט של המחשב ומכונה לעתים גם "קושחה".
אחרונים בשורה הם כרטיסים, כמו כרטיס וידאו או כרטיס קול. אלה שני מכשירי פלט, המחוברים ללוח האם או מוטמעים בו מראש. בכרטיסים כאלה יש מעגלים מיוחדים שתפקידם, לאפשר למחשב להציג סרטי וידאו על המסך, להשמיע צלילים דרך הרמקולים שמחוברים אליו וכדומה.
רוצים לדעת עוד על המרכיבים של המחשב? - בתגית "חלקי המחשב" תוכלו לרדת לפרטים.
הנה סרטון שמסביר את פעולת המחשב (מתורגם):
https://youtu.be/AkFi90lZmXA?t=15s
כל חלקי המחשב (עברית):
https://youtu.be/kUv7JtkpN8g
הסבר על הדרך בה פועל המחשב (עברית):
https://youtu.be/D1podM2wdxA
ובשביל הנוסטלגיה - כתבה על עליית המחשב האישי לארץ בשנות ה-80 (עברית):
https://youtu.be/fnzUSWfAzhk
מהם סוגי הזיכרון במחשב?
הזיכרון הממוחשב (Computer memory) מאפשר לקודד, לאחסן ולשלוף מידע ממחשב או ממאגר זיכרון ממוחשב. מדובר באחד המרכיבים החשובים במיחשוב המודרני ובין הזיכרונות הממוחשבים, יש מגוון של יחידות לאיחסון של מידע.
בין זיכרונות המחשב (Computer memory) יש כמה סוגים שונים של זיכרונות:
ה-ROM (קיצור של Read Only Memory) הוא זיכרון לקריאה בלבד. המידע שנשמר בו נצרב בדרך כלל על ידי היצרן מראש, מה שאומר שניתן לגשת למידע זה, אך רק לקרוא אותו, מבלי לשמור אליו מידע חדש, שונה או מעודכן יותר.
ה-RAM, קיצור של Random Access Memory (זיכרון לגישה אקראית), הוא זיכרון שתלוי באספקת חשמל, מה שאומר שכשמכבים את המחשב וזרם החשמל מתנתק ממנו, יימחק מה-RAM כל המידע שאוחסן עליו.
כמובן שיש במחשבים גם כוננים קשיחים, (ראו באאוריקה בתגית "כונן קשיח"), המיועדים לאיחסון לטווח ארוך ובכמויות מידע גדולות, גם עם כיבוי החשמל או ניתוק מהמחשב.
כך משתלבים הזיכרונות השונים בפעולת המחשב (מתורגם):
https://youtu.be/AkFi90lZmXA
כך עובד זכרון המחשב (מתורגם):
https://youtu.be/p3q5zWCw8J4
ותפקיד ה-RAM במחשב:
http://youtu.be/c8a_4OpWIWQ
הזיכרון הממוחשב (Computer memory) מאפשר לקודד, לאחסן ולשלוף מידע ממחשב או ממאגר זיכרון ממוחשב. מדובר באחד המרכיבים החשובים במיחשוב המודרני ובין הזיכרונות הממוחשבים, יש מגוון של יחידות לאיחסון של מידע.
בין זיכרונות המחשב (Computer memory) יש כמה סוגים שונים של זיכרונות:
ה-ROM (קיצור של Read Only Memory) הוא זיכרון לקריאה בלבד. המידע שנשמר בו נצרב בדרך כלל על ידי היצרן מראש, מה שאומר שניתן לגשת למידע זה, אך רק לקרוא אותו, מבלי לשמור אליו מידע חדש, שונה או מעודכן יותר.
ה-RAM, קיצור של Random Access Memory (זיכרון לגישה אקראית), הוא זיכרון שתלוי באספקת חשמל, מה שאומר שכשמכבים את המחשב וזרם החשמל מתנתק ממנו, יימחק מה-RAM כל המידע שאוחסן עליו.
כמובן שיש במחשבים גם כוננים קשיחים, (ראו באאוריקה בתגית "כונן קשיח"), המיועדים לאיחסון לטווח ארוך ובכמויות מידע גדולות, גם עם כיבוי החשמל או ניתוק מהמחשב.
כך משתלבים הזיכרונות השונים בפעולת המחשב (מתורגם):
https://youtu.be/AkFi90lZmXA
כך עובד זכרון המחשב (מתורגם):
https://youtu.be/p3q5zWCw8J4
ותפקיד ה-RAM במחשב:
http://youtu.be/c8a_4OpWIWQ
מהו באג במחשבים?
באג הוא השם לתקלה במחשב או בתוכנה. הכל התחיל באחד מראשוני המחשבים בעולם - מחשב "הרווארד סימן 2". כשהתגלה במחשב סוג של עש (באנגלית BUG), מעין חרק שנתקע במחשב וגרם לתקלה הוחלט לקרוא לו "באג".
העש הוסר מהמחשב והודבק לדף ההתקלות 9 בשנת 1947. בעקבות אותו באג ראשון נהוג להתייחס לתקלות במחשב ובתוכנה כבאגים ומכאן המושג "באג". יש הטוענים שהמושג הומצא כבר במאה ה-19 אבל יש על כך ויכוחים רבים וספקות רבים.
הנה הבאגים במחשבים, דרך באג המחשבים הראשון:
http://youtu.be/NUnEoouyvGY
באג הוא השם לתקלה במחשב או בתוכנה. הכל התחיל באחד מראשוני המחשבים בעולם - מחשב "הרווארד סימן 2". כשהתגלה במחשב סוג של עש (באנגלית BUG), מעין חרק שנתקע במחשב וגרם לתקלה הוחלט לקרוא לו "באג".
העש הוסר מהמחשב והודבק לדף ההתקלות 9 בשנת 1947. בעקבות אותו באג ראשון נהוג להתייחס לתקלות במחשב ובתוכנה כבאגים ומכאן המושג "באג". יש הטוענים שהמושג הומצא כבר במאה ה-19 אבל יש על כך ויכוחים רבים וספקות רבים.
הנה הבאגים במחשבים, דרך באג המחשבים הראשון:
http://youtu.be/NUnEoouyvGY
מהן שפות תכנות?
שפת תכנות (Programming language) היא שפה המובנת למחשב. קוד שנכתב בשפת התכנות הוא בעצם תוכנה, או חלק מתוכנה. כלומר קוד כזה הוא סדרה של פקודות שגורמות למחשב לבצע פעולות שונות ומגוונות.
את התחומים הללו ששפות התכנות מסוגלות לגרום למחשב לבצע, אתם מכירים היטב ונתקלים בהם כל יום וכל היום. מניווט מנקודה לנקודה (כן, גם טלפון חכם הוא מחשב!), דרך כתיבה ושליחה של מייל לאדם אחר, הפעלה של משחק מחשב, ציור במחשב או השמעת מוסיקה וכדומה.
שפת תכנות היא הכלי שמאפשר לבני אדם, לרוב בעלי מקצוע הידועים כ"מתכנתים", לתקשר עם מחשבים ולתת להם הוראות.
השפה הזו מאפשרת את קיומו של תִּכְנוּת המחשבים, אחד המקצועות המרכזיים של עידן המחשב.
לכל שפת תכנות יש סדרה של עקרונות וכללים מוגדרים. יש לה תחביר - כלומר דרך שבה יש לנסח את הפקודות שנותן המתכנת למחשב. כך יכול המתכנת לכתוב את קוד המקור של תכנית המחשב ובסיומו, לאחר ניפוי ותיקון השגיאות, מבצעת התכנית את תפקידה.
בחירת שפת התכנות המתאימה על ידי המתכנתת תהיה על פי אופי הפרויקט, תכונות השפה והתאמתה למקום עבודה והתמחותו.
בשפות תכנות מודרניות יש שימוש רב באובייקטים. בין השאר זה אומר שקוד המקור, כלומר מה שהמתכנת כותב, משתמש לא פעם ברכיבים שנכתבו על ידי אחרים ושותפו על ידם לטובת הכלל. כך יוצא שכתיבה בשפת תכנות כזו מתבססת לא פעם על הרחבות חיצוניות, המכונות "ספריות".
כיום, בעידן האינטרנט, יש שפות תכנות שמתמחות בצד השרת (אותו מחשב משוכלל שנמצא ב"ענן" ומבצע פעולות שיישלחו בדרך כלל לדפדפן שלנו) ואחרות מתמחות בצד המשתמש, הקליינט, כלומר שפועלות על ובמחשב שלנו.
שפת התכנות Javacript למשל, היא שפה שמתמחה בצד המשתמש, קליינט סייד. פייתון (Python), בניגוד לה, היא שפה המשמשת בעיקר לצד השרת, סרוור סייד.
רק להמחשה של העניין - שתיהן מהשפות הכי פופולריות ומוצלחות. הראשונה היא אולי השפה הכי נפוצה בימינו והשניה Python, היא אולי השפה הכי קלה ללימוד של מתחילים ועדיין היא שפה מעולה לפיתוחי צד שרת ולתעשיית הסייבר. Python (קורס מלא ומתורגם לעברית בסרטון האחרון) היא גם השפה העיקרית של עולם הלמידה העמוקה (Deep Learning) - העתיד של הבינה המלאכותית, שהולך ומשנה את עולם האינטרנט כיום.
מהי שפת תכנות? (עברית):
https://youtu.be/ur7o0dAUDTg
הכוח והיופי שבתכנות (מתורגם):
https://youtu.be/crw_U-UgvcY
על המצאת שפת התכנות:
https://youtu.be/Wchru8alhaE
מתכנת מסביר על שפות תוכנה שונות (עברית):
https://youtu.be/7Baq_Xw4azM
שפות התכנות הפופולריות ב-50 שנה האחרונות ועד היום:
https://youtu.be/Og847HVwRSI
ההיסטוריה של שפות התכנות:
https://youtu.be/mhpslN-OD_o?long=yes
וקורס מלא לשפת פייתון הפופולרית, קלה ומצליחה מאוד (מתורגם):
https://youtu.be/rfscVS0vtbw?long=yes
שפת תכנות (Programming language) היא שפה המובנת למחשב. קוד שנכתב בשפת התכנות הוא בעצם תוכנה, או חלק מתוכנה. כלומר קוד כזה הוא סדרה של פקודות שגורמות למחשב לבצע פעולות שונות ומגוונות.
את התחומים הללו ששפות התכנות מסוגלות לגרום למחשב לבצע, אתם מכירים היטב ונתקלים בהם כל יום וכל היום. מניווט מנקודה לנקודה (כן, גם טלפון חכם הוא מחשב!), דרך כתיבה ושליחה של מייל לאדם אחר, הפעלה של משחק מחשב, ציור במחשב או השמעת מוסיקה וכדומה.
שפת תכנות היא הכלי שמאפשר לבני אדם, לרוב בעלי מקצוע הידועים כ"מתכנתים", לתקשר עם מחשבים ולתת להם הוראות.
השפה הזו מאפשרת את קיומו של תִּכְנוּת המחשבים, אחד המקצועות המרכזיים של עידן המחשב.
לכל שפת תכנות יש סדרה של עקרונות וכללים מוגדרים. יש לה תחביר - כלומר דרך שבה יש לנסח את הפקודות שנותן המתכנת למחשב. כך יכול המתכנת לכתוב את קוד המקור של תכנית המחשב ובסיומו, לאחר ניפוי ותיקון השגיאות, מבצעת התכנית את תפקידה.
בחירת שפת התכנות המתאימה על ידי המתכנתת תהיה על פי אופי הפרויקט, תכונות השפה והתאמתה למקום עבודה והתמחותו.
בשפות תכנות מודרניות יש שימוש רב באובייקטים. בין השאר זה אומר שקוד המקור, כלומר מה שהמתכנת כותב, משתמש לא פעם ברכיבים שנכתבו על ידי אחרים ושותפו על ידם לטובת הכלל. כך יוצא שכתיבה בשפת תכנות כזו מתבססת לא פעם על הרחבות חיצוניות, המכונות "ספריות".
כיום, בעידן האינטרנט, יש שפות תכנות שמתמחות בצד השרת (אותו מחשב משוכלל שנמצא ב"ענן" ומבצע פעולות שיישלחו בדרך כלל לדפדפן שלנו) ואחרות מתמחות בצד המשתמש, הקליינט, כלומר שפועלות על ובמחשב שלנו.
שפת התכנות Javacript למשל, היא שפה שמתמחה בצד המשתמש, קליינט סייד. פייתון (Python), בניגוד לה, היא שפה המשמשת בעיקר לצד השרת, סרוור סייד.
רק להמחשה של העניין - שתיהן מהשפות הכי פופולריות ומוצלחות. הראשונה היא אולי השפה הכי נפוצה בימינו והשניה Python, היא אולי השפה הכי קלה ללימוד של מתחילים ועדיין היא שפה מעולה לפיתוחי צד שרת ולתעשיית הסייבר. Python (קורס מלא ומתורגם לעברית בסרטון האחרון) היא גם השפה העיקרית של עולם הלמידה העמוקה (Deep Learning) - העתיד של הבינה המלאכותית, שהולך ומשנה את עולם האינטרנט כיום.
מהי שפת תכנות? (עברית):
https://youtu.be/ur7o0dAUDTg
הכוח והיופי שבתכנות (מתורגם):
https://youtu.be/crw_U-UgvcY
על המצאת שפת התכנות:
https://youtu.be/Wchru8alhaE
מתכנת מסביר על שפות תוכנה שונות (עברית):
https://youtu.be/7Baq_Xw4azM
שפות התכנות הפופולריות ב-50 שנה האחרונות ועד היום:
https://youtu.be/Og847HVwRSI
ההיסטוריה של שפות התכנות:
https://youtu.be/mhpslN-OD_o?long=yes
וקורס מלא לשפת פייתון הפופולרית, קלה ומצליחה מאוד (מתורגם):
https://youtu.be/rfscVS0vtbw?long=yes
תכנות לילדים
איך עובד המתכנת?
מתכנתים (Coders) או מפתחים (Developers) הם אנשים שיודעים לכתוב קוד תוכנה. קוד התוכנה הוא תכנית מחשב שמפעילה את המחשב ומבצעת משימות.
המתכנתים כותבים את הקוד באמצעות שפות תכנות המשמשות את החברה, שפות שהם יודעים או לומדים תוך כדי העבודה.
כל תוכנה יודעת לעשות דברים. קוד התכנה שכותבים המתכנתים מכיל את ההוראות הדרושות כדי שהמחשב יבצע את הדברים הללו.
בעולם ההייטק בדרך כלל עובדים מתכנתים שונים על תוכנה אחת. כל אחד מהם מתכנת חלק מהקוד השלם ולבסוף מחברים את כל הקוד ומעבירים לבודקי התוכנה, כדי לוודא שכל הטעויות, שתמיד יש בקוד והם נקראים "באגים", יתוקנו.
הנה מתכנתים בחברות סטרטאפ שעובדים ביחד (עברית):
http://youtu.be/iAyfMSmxKoQ
כאן ההבדל בין תיכנות כמו שמציגים אותו בסרטים ובסדרות טלוויזיה ובין המציאות:
https://youtu.be/HluANRwPyNo
לינוס טורוולדס, מי שפיתח את מערכת ההפעלה לינוקס, מספר על התחלת לימוד התיכנות שלו:
https://youtu.be/S5S9LIT-hdc
וכמה חשוב הוא קוד תוכנה:
http://youtu.be/QdVFvsCWXrA
מתכנתים (Coders) או מפתחים (Developers) הם אנשים שיודעים לכתוב קוד תוכנה. קוד התוכנה הוא תכנית מחשב שמפעילה את המחשב ומבצעת משימות.
המתכנתים כותבים את הקוד באמצעות שפות תכנות המשמשות את החברה, שפות שהם יודעים או לומדים תוך כדי העבודה.
כל תוכנה יודעת לעשות דברים. קוד התכנה שכותבים המתכנתים מכיל את ההוראות הדרושות כדי שהמחשב יבצע את הדברים הללו.
בעולם ההייטק בדרך כלל עובדים מתכנתים שונים על תוכנה אחת. כל אחד מהם מתכנת חלק מהקוד השלם ולבסוף מחברים את כל הקוד ומעבירים לבודקי התוכנה, כדי לוודא שכל הטעויות, שתמיד יש בקוד והם נקראים "באגים", יתוקנו.
הנה מתכנתים בחברות סטרטאפ שעובדים ביחד (עברית):
http://youtu.be/iAyfMSmxKoQ
כאן ההבדל בין תיכנות כמו שמציגים אותו בסרטים ובסדרות טלוויזיה ובין המציאות:
https://youtu.be/HluANRwPyNo
לינוס טורוולדס, מי שפיתח את מערכת ההפעלה לינוקס, מספר על התחלת לימוד התיכנות שלו:
https://youtu.be/S5S9LIT-hdc
וכמה חשוב הוא קוד תוכנה:
http://youtu.be/QdVFvsCWXrA
למה כדאי ללמוד תכנות?
תכנות (Programming) הוא כתיבת קוד לתוכנה, או למה שאנו מכנים "תוכנות". בתכנות בונה המתכנת את התוכנה. לתכנות משתמש המתכנת בשפות תוכנה שונות.
לימוד תכנות הוא סוג מעולה של ספורט מנטלי ולוגי. הוא יכול לסייע ללומדים לשפר את ההיגיון שלהם ולהעצים את הכישורים שלהם ובכך הוא נותן כלים מעולים לחיים - גם למי שלא יהפכו למתכנתים.
לימוד התכנות משפר את החשיבה, היצירתיות, יכולת התכנון, הגילוי והסקרנות של המתכנת ולומד התכנות. יש יתרון אדיר לכל ילד וילדה שלומדים לתכנת וליצור באמצעות הטכנולוגיה והמחשבים. אבל הראשון שבהם אינו קשור אפילו במחשבים, אלא בכלי החשיבה, התכנון, הלוגיקה והסקת המסקנות (ואלה רק חלק), שהתכנות מלמד.
רבים ממייסדי החברות המצליחות והטובות בעולם למדו בילדותם תכנות, מה שפילס להם דרך לאחד התחומים המדהימים ביותר ביכולת ההשפעה שלו על העולם. מתכנת בודד יכול כיום לשנות את העולם. תשאלו את מארק צוקרברג, מייסד פייסבוק...
כיום, גם בתור ילדים, תוכלו להצטרף ולהתנסות בכתיבת קוד. זאת, אגב, גם אם אינכם מתכוונים ללמוד תכנות לעומק. תוכלו לעשות זאת באמצעות הצטרפות ל"שעת הקוד" - סוג של אירוע עולמי המאפשר לילדים להתנסות בשעה של תכנות וכתיבת קוד. כך תוכלו לחוות משהו מעולם ההייטק והחדשנות הטכנולוגית, אבל בלי להסתבך ובדרך של הנאה וחוויה. מארגני שעת הקוד מספרים שמעל 100 מיליון תלמידים מרחבי העולם השתתפו באירוע, מאז החלו אירועי שעת הקוד בעולם.
הנה ילד בן 12 שלמד לתכנת מספר על הדרך בה למד והפך למתכנת מקצועי (מתורגם):
מה שבתי הספר, וזה חמור - לא מלמדים ילדים (מתורגם):
https://youtu.be/nKIu9yen5nc
התכנות משנה את העולם (עברית):
https://youtu.be/6_RFZr9mWvc
הסברים לטוב שבתכנות (בעברית):
https://youtu.be/hyCqL_lLDOQ
תכנות (Programming) הוא כתיבת קוד לתוכנה, או למה שאנו מכנים "תוכנות". בתכנות בונה המתכנת את התוכנה. לתכנות משתמש המתכנת בשפות תוכנה שונות.
לימוד תכנות הוא סוג מעולה של ספורט מנטלי ולוגי. הוא יכול לסייע ללומדים לשפר את ההיגיון שלהם ולהעצים את הכישורים שלהם ובכך הוא נותן כלים מעולים לחיים - גם למי שלא יהפכו למתכנתים.
לימוד התכנות משפר את החשיבה, היצירתיות, יכולת התכנון, הגילוי והסקרנות של המתכנת ולומד התכנות. יש יתרון אדיר לכל ילד וילדה שלומדים לתכנת וליצור באמצעות הטכנולוגיה והמחשבים. אבל הראשון שבהם אינו קשור אפילו במחשבים, אלא בכלי החשיבה, התכנון, הלוגיקה והסקת המסקנות (ואלה רק חלק), שהתכנות מלמד.
רבים ממייסדי החברות המצליחות והטובות בעולם למדו בילדותם תכנות, מה שפילס להם דרך לאחד התחומים המדהימים ביותר ביכולת ההשפעה שלו על העולם. מתכנת בודד יכול כיום לשנות את העולם. תשאלו את מארק צוקרברג, מייסד פייסבוק...
כיום, גם בתור ילדים, תוכלו להצטרף ולהתנסות בכתיבת קוד. זאת, אגב, גם אם אינכם מתכוונים ללמוד תכנות לעומק. תוכלו לעשות זאת באמצעות הצטרפות ל"שעת הקוד" - סוג של אירוע עולמי המאפשר לילדים להתנסות בשעה של תכנות וכתיבת קוד. כך תוכלו לחוות משהו מעולם ההייטק והחדשנות הטכנולוגית, אבל בלי להסתבך ובדרך של הנאה וחוויה. מארגני שעת הקוד מספרים שמעל 100 מיליון תלמידים מרחבי העולם השתתפו באירוע, מאז החלו אירועי שעת הקוד בעולם.
הנה ילד בן 12 שלמד לתכנת מספר על הדרך בה למד והפך למתכנת מקצועי (מתורגם):
מה שבתי הספר, וזה חמור - לא מלמדים ילדים (מתורגם):
https://youtu.be/nKIu9yen5nc
התכנות משנה את העולם (עברית):
https://youtu.be/6_RFZr9mWvc
הסברים לטוב שבתכנות (בעברית):
https://youtu.be/hyCqL_lLDOQ
איזה מחשב נוצר להרכבה?
מחשב הקאנו הוא מיני-מחשב שפותח כדי שניתן יהיה להרכיבו בעצמך. זהו מחשב להרכבה לילדים שמתבסס על הרספברי, מחשב זעיר שנמכר בתצורה של מעגל מודפס ובמחיר זול מאד של כ-100 דולרים. אבל המחשב הזה גם מאפשר למבוגרים ולילדים לבנות את המחשב בעצמם ולאחר מכן גם לתכנת וליצור משחקים עבורו. להורים מאפשר ה-Kano להכניס את ילדיהם לעולם המחשבים והתכנות, כבר בגיל צעיר.
בנוסף למחשב Raspberry Pi יש בחבילה של מחשב קאנו גם מארז פלסטי שקוף שאליו הוא מוכנס, מדבקות לעיצוב אישי של המחשב, חיבור WiFi שמתחבר ליציאת USB, כבלי חיבור למסך מחשב, רמקול להרכבה ומקלדת חדישה ואיכותית, עם משטח מגע כמו של מחשב נייד.
אבל החלק המעניין לא פחות הוא זה שמאפשר לילדים ללמוד תכנות. סביבת התוכנה שפותחה למחשב, Kano blocks, היא מערכת של כלים לתכנות ראשוני לילדים מתחילים. בעזרת התוכנות וחוברות ההדרכה שבה, יכול הילד לעשות צעדים ראשונים בתכנות וללמוד פקודות בסיסיות בשפות תכנות. כמו כן לומד הילד ליצור ולעצב משחקי מחשב ואתגרי מחשב. גם פיתוח היצירתיות האמנותית מתאפשר ב-Kano, בעזרת כלים יצירתיים שכולל המחשב, כמו תוכנות להלחנת מוסיקה אלקטרונית בסיסית וציור.
הנה מחשב ה-Kano לילדים (הפעילו תרגום):
http://youtu.be/n5VVNmVqF6Y
הנה הרכבת מחשב ה-Kano:
http://youtu.be/iNc6NRX2JG4
הנה אב שמעיד על השימוש במחשב הקאנו עם ילדיו:
http://youtu.be/C0-IbSEBNGU
מחשב הקאנו הוא מיני-מחשב שפותח כדי שניתן יהיה להרכיבו בעצמך. זהו מחשב להרכבה לילדים שמתבסס על הרספברי, מחשב זעיר שנמכר בתצורה של מעגל מודפס ובמחיר זול מאד של כ-100 דולרים. אבל המחשב הזה גם מאפשר למבוגרים ולילדים לבנות את המחשב בעצמם ולאחר מכן גם לתכנת וליצור משחקים עבורו. להורים מאפשר ה-Kano להכניס את ילדיהם לעולם המחשבים והתכנות, כבר בגיל צעיר.
בנוסף למחשב Raspberry Pi יש בחבילה של מחשב קאנו גם מארז פלסטי שקוף שאליו הוא מוכנס, מדבקות לעיצוב אישי של המחשב, חיבור WiFi שמתחבר ליציאת USB, כבלי חיבור למסך מחשב, רמקול להרכבה ומקלדת חדישה ואיכותית, עם משטח מגע כמו של מחשב נייד.
אבל החלק המעניין לא פחות הוא זה שמאפשר לילדים ללמוד תכנות. סביבת התוכנה שפותחה למחשב, Kano blocks, היא מערכת של כלים לתכנות ראשוני לילדים מתחילים. בעזרת התוכנות וחוברות ההדרכה שבה, יכול הילד לעשות צעדים ראשונים בתכנות וללמוד פקודות בסיסיות בשפות תכנות. כמו כן לומד הילד ליצור ולעצב משחקי מחשב ואתגרי מחשב. גם פיתוח היצירתיות האמנותית מתאפשר ב-Kano, בעזרת כלים יצירתיים שכולל המחשב, כמו תוכנות להלחנת מוסיקה אלקטרונית בסיסית וציור.
הנה מחשב ה-Kano לילדים (הפעילו תרגום):
http://youtu.be/n5VVNmVqF6Y
הנה הרכבת מחשב ה-Kano:
http://youtu.be/iNc6NRX2JG4
הנה אב שמעיד על השימוש במחשב הקאנו עם ילדיו:
http://youtu.be/C0-IbSEBNGU
מהי שפת לוגו עם גרפיקת הצב?
שפת לוגו (LOGO) הייתה שפת תכנות שפיתח צוות בראשות סימור פפרט, במכון המדיה לאב, לצרכי הוראה לילדים. היא הייתה "שפת תכנות חינוכית".
הרעיון של פפרט היה ללמד ילדים לתכנת. טענתו החשובה הייתה שממש כמו שאנו מלמדים ילדים ומקנים להם יכולות שונות, מיומנויות, מערכות סימבוליות כמו שפה ועוד, חשוב ללמד אותם גם לתכנת. כי לתכנת זה לתכנן ואחרי התכנון אתה מלמד את המכונה לבצע את התכנית שלך.
הרעיון היפה של פפרט היה לשלב בשפת התכנות לוגו את גרפיקת הצב המיוחדת שפיתח בשבילה. משימות הלימוד אפשרו לילדים לתכנת את הפעולות של צב מדומה על המסך. תוך כדי פעולותיו של הצב, לפי הוראות התיכנות של התלמיד, הוא יוצר צורות גרפיות צבעוניות ומרהיבות עין.
מה שמיוחד כאן הוא שפפרט ואנשיו, מפתחי שפת לוגו וכולם מדעני מחשב מהמכון הטכנולוגי של מסצ'וסטס (MIT) , הצליחו לאפשר לילדים ללמוד תכנות פרוצדורלי. אבל הם לומדים בלוגו גם על חשיבה, בזמן שהם מתכנתים. בעת שהתלמיד מלמד את הצב לייצר צורות ולבצע פעולות גרפיות מורכבות, הוא מפתח את החשיבה שלו ואת יכולת התכנון, יכולת לפרק פעולה מורכבת לשורת פעולות פשוטות שמרכיבות אותה, להציב מטרות ארוכות טווח ואפילו לדחות סיפוקים.
לכאורה, הוצע למתכנתים הצעירים בשפה הזו מעט מאד. סט הפקודות שנלמדו בה היה מאד בסיסי, כשהמתכנתים הצעירים יכולים להתחיל ממנו את הדרך. בהמשך הם יכולים להגדיר מסט הפקודות הבסיסיות הזה, פקודות נוספות בעצמם, על ידי הגדרה של הליכים, רוטינות מתקדמות יותר.
אגב, חלק מהיופי בשפת Logo הוא שהיא התבססה על שפת התכנות LISP, שפה שנועדה בעיקר ליישומים של בינה מלאכותית. בתור שכזו היא כללה לא מעט מאפיינים שבדרך כלל ניתן למצוא בעיקר בשפות תכנות מתקדמות יחסית.
הנה שפת התכנות הלימודית לוגו:
https://youtu.be/g6kmVHfMQvY
ילדי שנות השמונים "פוקדים" על הצב בתכנית בשפת לוגו:
https://youtu.be/dDc3Uhl0qXw
כך כותבים תכניות פשוטות בשפת לוגו (עברית):
https://youtu.be/uzvFNDO2lPA
והרצאה על אמנות שיוצרים עם קוד, שיטת יצירה שהמרצה התאהב בה בעזרת שפת לוגו בשנות ה-80:
https://youtu.be/6avJHaC3C2U?long=yes
שפת לוגו (LOGO) הייתה שפת תכנות שפיתח צוות בראשות סימור פפרט, במכון המדיה לאב, לצרכי הוראה לילדים. היא הייתה "שפת תכנות חינוכית".
הרעיון של פפרט היה ללמד ילדים לתכנת. טענתו החשובה הייתה שממש כמו שאנו מלמדים ילדים ומקנים להם יכולות שונות, מיומנויות, מערכות סימבוליות כמו שפה ועוד, חשוב ללמד אותם גם לתכנת. כי לתכנת זה לתכנן ואחרי התכנון אתה מלמד את המכונה לבצע את התכנית שלך.
הרעיון היפה של פפרט היה לשלב בשפת התכנות לוגו את גרפיקת הצב המיוחדת שפיתח בשבילה. משימות הלימוד אפשרו לילדים לתכנת את הפעולות של צב מדומה על המסך. תוך כדי פעולותיו של הצב, לפי הוראות התיכנות של התלמיד, הוא יוצר צורות גרפיות צבעוניות ומרהיבות עין.
מה שמיוחד כאן הוא שפפרט ואנשיו, מפתחי שפת לוגו וכולם מדעני מחשב מהמכון הטכנולוגי של מסצ'וסטס (MIT) , הצליחו לאפשר לילדים ללמוד תכנות פרוצדורלי. אבל הם לומדים בלוגו גם על חשיבה, בזמן שהם מתכנתים. בעת שהתלמיד מלמד את הצב לייצר צורות ולבצע פעולות גרפיות מורכבות, הוא מפתח את החשיבה שלו ואת יכולת התכנון, יכולת לפרק פעולה מורכבת לשורת פעולות פשוטות שמרכיבות אותה, להציב מטרות ארוכות טווח ואפילו לדחות סיפוקים.
לכאורה, הוצע למתכנתים הצעירים בשפה הזו מעט מאד. סט הפקודות שנלמדו בה היה מאד בסיסי, כשהמתכנתים הצעירים יכולים להתחיל ממנו את הדרך. בהמשך הם יכולים להגדיר מסט הפקודות הבסיסיות הזה, פקודות נוספות בעצמם, על ידי הגדרה של הליכים, רוטינות מתקדמות יותר.
אגב, חלק מהיופי בשפת Logo הוא שהיא התבססה על שפת התכנות LISP, שפה שנועדה בעיקר ליישומים של בינה מלאכותית. בתור שכזו היא כללה לא מעט מאפיינים שבדרך כלל ניתן למצוא בעיקר בשפות תכנות מתקדמות יחסית.
הנה שפת התכנות הלימודית לוגו:
https://youtu.be/g6kmVHfMQvY
ילדי שנות השמונים "פוקדים" על הצב בתכנית בשפת לוגו:
https://youtu.be/dDc3Uhl0qXw
כך כותבים תכניות פשוטות בשפת לוגו (עברית):
https://youtu.be/uzvFNDO2lPA
והרצאה על אמנות שיוצרים עם קוד, שיטת יצירה שהמרצה התאהב בה בעזרת שפת לוגו בשנות ה-80:
https://youtu.be/6avJHaC3C2U?long=yes
מהן סביבות הלימוד ושפות התכנות לילדים?
יש כמה שיטות לימוד של תכנות לילדים, שמתרכזות ביסודות התכנות, החשיבה הלוגית והבנת העקרונות שבבסיס עולם התכנות. אחת המוצלחות שבהן היא של האתר קודמנקי (CodeMonkey) שבו משמש משחק חווייתי ואפשר לומר אפילו ממכר, כדי לגרום לתלמידים ללמוד תיכנות ולהתמיד בו לאורך זמן.
זהו פיתוח ישראלי שמחייב מהלומד כתיבה של קוד אמיתי בשפת סקריפט (שתעבור לאחר מכן הידור, קומפילציה, לג'אווה סקריפט) שנקראת שם "CoffeeScript". בשפה זו צריכים הלומדים להקפיד על תחביר, חשיבה לוגית, הבנה של יסודות התכנות והדיוק שנדרש בתכנות המתקדם.
גם האתרים סקראץ' (Scratch) וטינקר (Tynker) מציעים סביבות תכנות לילדים והם אף קלים יותר. בהם מלמדים חשיבה תכנותית על ידי פיתוח משחקים.
סביבות התכנות הללו מבוססות על אובייקטים תכנותיים, מעין חלקים של פאזל, או קוביות משחק שמהן הילד בונה את התכנית. בקוביות המשחק של התכנות בהן, יש גם משתנים, הוראות ונתונים. ה"שפות" הללו קלות ללמידה ומשום כך הן מתאימות גם לגיל הרך.
בקודמאנקי התכנות מכוון לקוף. הוא היורש של הצב המיתולוגי משפת התכנות החינוכית LOGO, שפה שפותחה ב-MIT ואפשרה לילדים לתכנת ולפתח את החשיבה בו זמנית.
את הקוף בקודמאנקי צריכים הילדים להוביל אל הבננות. בדרך הוא יצטרך לעבור מכשולים רבים. יש למתכנתים סרגל וירטואלי שבו ניתן לחשב את הצעדים, ובאמצעות הוראות תנועה, כולל סיבובים בזוויות פשוטות, ניתן להובילו לנצחון.
ממש כמו בשפת הלוגו ההיסטורית, גם כאן נכתב הקוד באנגלית בסיסית, עם הוראות דוגמת turn to, step, right, left. ניתן לכתוב מהמקלדת או לבחור מילים מהמקרא שבתחתית המסך.
כך התלמיד לומד לעבוד בסביבת פיתוח שמזכירה את הסביבות של המבוגרים ועדיין מקבל סיוע, שדומים לו יש למען האמת גם בסביבות הפיתוח והפריימוורקס של המתכנתים המקצועיים בעולם האמיתי.
האתר קוד מונקי המיועד לגיל בית ספר יסודי, מכיתה ג' ומעלה:
https://youtu.be/fXcPjdNKJdY
ומדריך ילד שמלמד:
https://youtu.be/PZFqt3KCRdk
הנה סביבת לימוד התכנות עם האובייקטים סקרץ' (Scratch) שמתאימה גם לגיל הרך:
https://youtu.be/CCaBCMADwls
וסביבת הלימוד Tynker המתחרה בה ושולטת גם בחומרה ובשפת Java Script:
https://youtu.be/XIC9tY-zkXE
יש כמה שיטות לימוד של תכנות לילדים, שמתרכזות ביסודות התכנות, החשיבה הלוגית והבנת העקרונות שבבסיס עולם התכנות. אחת המוצלחות שבהן היא של האתר קודמנקי (CodeMonkey) שבו משמש משחק חווייתי ואפשר לומר אפילו ממכר, כדי לגרום לתלמידים ללמוד תיכנות ולהתמיד בו לאורך זמן.
זהו פיתוח ישראלי שמחייב מהלומד כתיבה של קוד אמיתי בשפת סקריפט (שתעבור לאחר מכן הידור, קומפילציה, לג'אווה סקריפט) שנקראת שם "CoffeeScript". בשפה זו צריכים הלומדים להקפיד על תחביר, חשיבה לוגית, הבנה של יסודות התכנות והדיוק שנדרש בתכנות המתקדם.
גם האתרים סקראץ' (Scratch) וטינקר (Tynker) מציעים סביבות תכנות לילדים והם אף קלים יותר. בהם מלמדים חשיבה תכנותית על ידי פיתוח משחקים.
סביבות התכנות הללו מבוססות על אובייקטים תכנותיים, מעין חלקים של פאזל, או קוביות משחק שמהן הילד בונה את התכנית. בקוביות המשחק של התכנות בהן, יש גם משתנים, הוראות ונתונים. ה"שפות" הללו קלות ללמידה ומשום כך הן מתאימות גם לגיל הרך.
בקודמאנקי התכנות מכוון לקוף. הוא היורש של הצב המיתולוגי משפת התכנות החינוכית LOGO, שפה שפותחה ב-MIT ואפשרה לילדים לתכנת ולפתח את החשיבה בו זמנית.
את הקוף בקודמאנקי צריכים הילדים להוביל אל הבננות. בדרך הוא יצטרך לעבור מכשולים רבים. יש למתכנתים סרגל וירטואלי שבו ניתן לחשב את הצעדים, ובאמצעות הוראות תנועה, כולל סיבובים בזוויות פשוטות, ניתן להובילו לנצחון.
ממש כמו בשפת הלוגו ההיסטורית, גם כאן נכתב הקוד באנגלית בסיסית, עם הוראות דוגמת turn to, step, right, left. ניתן לכתוב מהמקלדת או לבחור מילים מהמקרא שבתחתית המסך.
כך התלמיד לומד לעבוד בסביבת פיתוח שמזכירה את הסביבות של המבוגרים ועדיין מקבל סיוע, שדומים לו יש למען האמת גם בסביבות הפיתוח והפריימוורקס של המתכנתים המקצועיים בעולם האמיתי.
האתר קוד מונקי המיועד לגיל בית ספר יסודי, מכיתה ג' ומעלה:
https://youtu.be/fXcPjdNKJdY
ומדריך ילד שמלמד:
https://youtu.be/PZFqt3KCRdk
הנה סביבת לימוד התכנות עם האובייקטים סקרץ' (Scratch) שמתאימה גם לגיל הרך:
https://youtu.be/CCaBCMADwls
וסביבת הלימוד Tynker המתחרה בה ושולטת גם בחומרה ובשפת Java Script:
https://youtu.be/XIC9tY-zkXE
מהם אלגוריתמים ואיך כל אחד משתמש באלגוריתם?
אם התפלאתם כיצד יודעים שירותים כמו ספוטיפיי או אפל מיוזיק להציע לכם שירים ואמנים שאינכם מכירים ולקלוע לטעם שלכם, או שנדהמתם מהסדרות והסרטים שנטפליקס מציע לכם לצפות בהם ומכמה שהם מתאימים לטעמכם, אם אתם נדהמים מזה שאתם מוקפים בפייסבוק באנשים שחושבים כמוכם, או הפוך, ממש בדיוק הפוך מכם - בכל המקרים הללו נראה שאתם מתפעלים מאלגוריתמים.
בכלל, זה העידן של האלגוריתמים, אותם חלקי תוכנות שמאפשרות לתוכנות ללמוד היטב את הטעם שלכם, הדיעות שלכם, ההתנהגות, החיפושים בגוגל ומה לא - הכל כדי לשרת אתכם היטב. טוב, לגבי החלק האחרון לא בטוח שהוא מדויק... בואו נאמר שהכל בעיקר כדי לשרת את הרווחים של התאגידים הללו ואת המשקיעים ובעלי המניות שלהם.
אבל רגע, מה הם אלגוריתמים בכלל?
אלגוריתם (Algorithm) הוא מתכון כללי לפתרון של בעיה כלשהי. מדובר במתכון שניתן להזין למחשב והוא יסייע לפתור אותה.
זהו רצף של הוראות לביצוע משימה או פתרון של בעיה מסוימת. אפשר לומר שאלגוריתם מציע סדרת הוראות וסדר ביצוע שמוגדר היטב. או במילים פשוטות, אלגוריתם הוא דרך שכוללת צעדים מדויקים ומסודרים לפי סדר, לביצוע משימה או לפתרון בעיה.
תכנית מחשב היא ייצוג בשפת תכנות, של אלגוריתם. היא מאפשרת להריץ את האלגוריתם על מחשב.
גם מי שלא מתעסקים במחשבים מכירים מחיי היום-יום אלגוריתמים פשוטים. למשל מתכונים למטבח (כן אדוני השף החובב - מתכון הוא אלגוריתם פשוט וקלאסי שכולנו משתמשים בו, אפילו כדי להכין חביתה). גם הוראות ההרכבה של איקאה או מדריכי DIY מספרי "עשה זאת בעצמך" הם אלגוריתמים.
ועדיין, לרוב משתמשים במונח "אלגוריתם" כדי לכנות פתרון מתמטי או דרך לביצוע של משימה בעולם המחשבים ומערכות דיגיטליות מתקדמות דומות.
משימות כמו התאמה של פריטים לפי טעם המשתמשים, מכירה מקוונת של מוצרים שאמזון מעריכה שסביר שתרצו לקנות, המלצה על שירים שיגרמו הנאה, או סרטים וסדרות כאלה, או חברים ופוסטים בפייסבוק שיביאו את המשתמש להגיב ולהיות מעורב בדיון - אלה רק דוגמאות.
אז כן. האלגוריתם הוא רכיב תוכנה שנועד לייצר פעולה מסוימת. אם כשהוא מכוון ללמוד אותנו, משתמשי התוכנה, האתר, האפליקציה או שירות כלשהו, אז הוא כבר הופך למכונה לומדת - משהו שמתעקש ללמוד עלינו דברים שאפילו אנחנו לא יודעים על עצמנו. זה הכוח של הכלי הזה ואת הכוח הזה הוא מעביר לבעליו.
כך יכולים התאגידים החזקים בעולם להתאים לנו פרסומות מטורגטות, שיפעילו אותנו ולכן יכניסו להם סכומי כסף אדירים. כך הם יכולים גם לסחור בידע שהאלגוריתמים הללו הקנו להם עלינו, כדי להרוויח הרבה יותר כסף ממה שהן מרוויחות כחברות המספקות תוכנה או שירותי אינטרנט.
אגב, ודאי יפתיע אתכם שהמילה הכל כך טרנדית ואופנתית הזו, "אלגוריתם", מקורה הוא משיבוש שמו של מוחמד אבן מוסא "אל-ח'וואריזמי", שהיה מתמטיקאי פרסי מהמאה ה-9.
הנה סרטון שמסביר בצורה פשוטה יחסית מהו אלגוריתם (מתורגם):
http://youtu.be/6hfOvs8pY1k
האלגוריתם הוא המלך בעולם המחשבים ולכן התכנות חייב להתחיל ממנו:
https://youtu.be/MRPpYX8SOA8
סוג של אלגוריתמים לפתרון הקוביה ההונגרית (עברית):
http://youtu.be/RQo8WoHQIz8
בחיוך מסוים - מסתבר שיש אלגוריתם אפילו לתרמילאים שרוצים לשרוד:
https://youtu.be/PQKOpvypN2Y
ותכנית חינוכית על אלגוריתמים (עברית):
https://youtu.be/nMJ8R9K9EQw?long=yes
אם התפלאתם כיצד יודעים שירותים כמו ספוטיפיי או אפל מיוזיק להציע לכם שירים ואמנים שאינכם מכירים ולקלוע לטעם שלכם, או שנדהמתם מהסדרות והסרטים שנטפליקס מציע לכם לצפות בהם ומכמה שהם מתאימים לטעמכם, אם אתם נדהמים מזה שאתם מוקפים בפייסבוק באנשים שחושבים כמוכם, או הפוך, ממש בדיוק הפוך מכם - בכל המקרים הללו נראה שאתם מתפעלים מאלגוריתמים.
בכלל, זה העידן של האלגוריתמים, אותם חלקי תוכנות שמאפשרות לתוכנות ללמוד היטב את הטעם שלכם, הדיעות שלכם, ההתנהגות, החיפושים בגוגל ומה לא - הכל כדי לשרת אתכם היטב. טוב, לגבי החלק האחרון לא בטוח שהוא מדויק... בואו נאמר שהכל בעיקר כדי לשרת את הרווחים של התאגידים הללו ואת המשקיעים ובעלי המניות שלהם.
אבל רגע, מה הם אלגוריתמים בכלל?
אלגוריתם (Algorithm) הוא מתכון כללי לפתרון של בעיה כלשהי. מדובר במתכון שניתן להזין למחשב והוא יסייע לפתור אותה.
זהו רצף של הוראות לביצוע משימה או פתרון של בעיה מסוימת. אפשר לומר שאלגוריתם מציע סדרת הוראות וסדר ביצוע שמוגדר היטב. או במילים פשוטות, אלגוריתם הוא דרך שכוללת צעדים מדויקים ומסודרים לפי סדר, לביצוע משימה או לפתרון בעיה.
תכנית מחשב היא ייצוג בשפת תכנות, של אלגוריתם. היא מאפשרת להריץ את האלגוריתם על מחשב.
גם מי שלא מתעסקים במחשבים מכירים מחיי היום-יום אלגוריתמים פשוטים. למשל מתכונים למטבח (כן אדוני השף החובב - מתכון הוא אלגוריתם פשוט וקלאסי שכולנו משתמשים בו, אפילו כדי להכין חביתה). גם הוראות ההרכבה של איקאה או מדריכי DIY מספרי "עשה זאת בעצמך" הם אלגוריתמים.
ועדיין, לרוב משתמשים במונח "אלגוריתם" כדי לכנות פתרון מתמטי או דרך לביצוע של משימה בעולם המחשבים ומערכות דיגיטליות מתקדמות דומות.
משימות כמו התאמה של פריטים לפי טעם המשתמשים, מכירה מקוונת של מוצרים שאמזון מעריכה שסביר שתרצו לקנות, המלצה על שירים שיגרמו הנאה, או סרטים וסדרות כאלה, או חברים ופוסטים בפייסבוק שיביאו את המשתמש להגיב ולהיות מעורב בדיון - אלה רק דוגמאות.
אז כן. האלגוריתם הוא רכיב תוכנה שנועד לייצר פעולה מסוימת. אם כשהוא מכוון ללמוד אותנו, משתמשי התוכנה, האתר, האפליקציה או שירות כלשהו, אז הוא כבר הופך למכונה לומדת - משהו שמתעקש ללמוד עלינו דברים שאפילו אנחנו לא יודעים על עצמנו. זה הכוח של הכלי הזה ואת הכוח הזה הוא מעביר לבעליו.
כך יכולים התאגידים החזקים בעולם להתאים לנו פרסומות מטורגטות, שיפעילו אותנו ולכן יכניסו להם סכומי כסף אדירים. כך הם יכולים גם לסחור בידע שהאלגוריתמים הללו הקנו להם עלינו, כדי להרוויח הרבה יותר כסף ממה שהן מרוויחות כחברות המספקות תוכנה או שירותי אינטרנט.
אגב, ודאי יפתיע אתכם שהמילה הכל כך טרנדית ואופנתית הזו, "אלגוריתם", מקורה הוא משיבוש שמו של מוחמד אבן מוסא "אל-ח'וואריזמי", שהיה מתמטיקאי פרסי מהמאה ה-9.
הנה סרטון שמסביר בצורה פשוטה יחסית מהו אלגוריתם (מתורגם):
http://youtu.be/6hfOvs8pY1k
האלגוריתם הוא המלך בעולם המחשבים ולכן התכנות חייב להתחיל ממנו:
https://youtu.be/MRPpYX8SOA8
סוג של אלגוריתמים לפתרון הקוביה ההונגרית (עברית):
http://youtu.be/RQo8WoHQIz8
בחיוך מסוים - מסתבר שיש אלגוריתם אפילו לתרמילאים שרוצים לשרוד:
https://youtu.be/PQKOpvypN2Y
ותכנית חינוכית על אלגוריתמים (עברית):
https://youtu.be/nMJ8R9K9EQw?long=yes