שלום,
נראה שכבר הכרתם את אאוריקה. בטח כבר גיליתם כאן דברים מדהימים, אולי כבר שאלתם שאלות וקיבלתם תשובות טובות.
נשמח לראות משהו מכם בספר האורחים שלנו: איזו מילה טובה, חוות דעת, עצה חכמה לשיפור או כל מה שיש לכם לספר לנו על אאוריקה, כפי שאתם חווים אותה.
»
«
איך הפכה שפת התכנות פייתון ללוהטת?
מבין שפות התכנות הרבות נחשבת שפת התכנות פייתון (Python) לאחת משפות הפיתוח הפופולריות ביותר בעולם. זוהי שפה אינטואיטיבית, מובנת ובעלת תחביר קליט ופשוט למדי.
המקור לשם השפה איננו מנחש החנק הענקי, הפיתון. ההשראה היא דווקא סדרת המערכונים הבריטית “מונטי-פייתון”, שהמתכנת ההולנדי שפיתח את שפת התכנות כל כך העריץ.
כשפת תכנות פייתון פופולרית ומועדפת על ידי מתכנתים, מסטארט-אפים וחברות קטנות ועד מי שמפתחים בחברות ענק, כולל גוגל ואינסטגרם.
בשפת פייתון משתמשים כיום מרבית החוקרים והמפתחים בתחומי הבינה המלאכותית, לצד מדעני נתונים ומנתחי מידע, במיוחד עם צמיחת טכנולוגיות כמו למידת מכונה (Machine learning) ולמידה עמוקה (Deep learning) בעשור האחרון.
סוגי פרויקטים שנוטים לפתח בפייתון הם בתחומי תוכנה וקוד מגוונים. ביניהם בולטים יישומי WEB, כלי בינה מלאכותית, פרויקטים של אוטומציה, עיבוד נתונים, מדע נתונים (Data science), אנליזה או ניתוח נתונים (Data analysis), רשתות, אינטרנט, כלים לעיבוד תמונה ועוד.
למעשה, בשנת 2024 פייתון היא כל כך פופולרית, שלראשונה עברה את ג'אווה סקריפט (JavaScript) בתור שפת התכנות הפופולרית ביותר בעולם. בדו"ח שפרסם אתר הקוד העיקרי "גיטהאב" הוא הודיע לראשונה שפייתון עקפה את JavaScript והפכה לשפת התכנות הפופולרית ביותר בעולם.
הסיבה לצמיחה ולשינוי הזה לטובת פייתון היא הזינוק המטורף בשימוש ב-GenAI, בינה יצירתית או גנרטיבית (Generative AI). הפיתוח הגובר של כלי GenAI, על פי גיטהאב, והזינוק בפיתוחים מבוססי דאטה סיינס ודאטה אנליטיקס, הביאו לנסיקה בשימוש בפייתון, הידועה כשפה העיקרית בה משתמשים לפיתוחים אלו.
#יתרונות פייתון
כבר שנים רבות שמהנדסי תוכנה ומתכנתים ותיקים ממליצים על פייתון או ג'אווה סקריפט, בתור שפות התכנות שהכי כדאי להם להתחיל בהן. מי שמשקיעים שעתיים ביום יכולים כבר אחרי 3 חודשים לכתוב תוכנה של ממש.
לאחר מכן כדאי להתמחות באחד התחומים שהיא מאפשרת וטובה בהם, כמו פיתוח יישום ווב (web application), תוכנה רגילה למחשב (Desktop program), למידת מכונה (Machine learning) או בינה מלאכותית (Artificial intelligence).
הנה סקירה קצרה על שפת פייתון (עברית):
https://youtu.be/cKZ0miaDtkw
עוד קצת היכרות עם שפת פייתון (עברית):
https://youtu.be/A7XXmxU3o4o
תמצית בדקה של מה שלומדים בפייתון בשנה:
https://youtu.be/AfR-lJghs4w
היכרות באנגלית:
https://youtu.be/poJfwre2PIs
קורס באורך מלא של תכנות בשפת פייתון:
https://youtu.be/_uQrJ0TkZlc?long=yes
מבין שפות התכנות הרבות נחשבת שפת התכנות פייתון (Python) לאחת משפות הפיתוח הפופולריות ביותר בעולם. זוהי שפה אינטואיטיבית, מובנת ובעלת תחביר קליט ופשוט למדי.
המקור לשם השפה איננו מנחש החנק הענקי, הפיתון. ההשראה היא דווקא סדרת המערכונים הבריטית “מונטי-פייתון”, שהמתכנת ההולנדי שפיתח את שפת התכנות כל כך העריץ.
כשפת תכנות פייתון פופולרית ומועדפת על ידי מתכנתים, מסטארט-אפים וחברות קטנות ועד מי שמפתחים בחברות ענק, כולל גוגל ואינסטגרם.
בשפת פייתון משתמשים כיום מרבית החוקרים והמפתחים בתחומי הבינה המלאכותית, לצד מדעני נתונים ומנתחי מידע, במיוחד עם צמיחת טכנולוגיות כמו למידת מכונה (Machine learning) ולמידה עמוקה (Deep learning) בעשור האחרון.
סוגי פרויקטים שנוטים לפתח בפייתון הם בתחומי תוכנה וקוד מגוונים. ביניהם בולטים יישומי WEB, כלי בינה מלאכותית, פרויקטים של אוטומציה, עיבוד נתונים, מדע נתונים (Data science), אנליזה או ניתוח נתונים (Data analysis), רשתות, אינטרנט, כלים לעיבוד תמונה ועוד.
למעשה, בשנת 2024 פייתון היא כל כך פופולרית, שלראשונה עברה את ג'אווה סקריפט (JavaScript) בתור שפת התכנות הפופולרית ביותר בעולם. בדו"ח שפרסם אתר הקוד העיקרי "גיטהאב" הוא הודיע לראשונה שפייתון עקפה את JavaScript והפכה לשפת התכנות הפופולרית ביותר בעולם.
הסיבה לצמיחה ולשינוי הזה לטובת פייתון היא הזינוק המטורף בשימוש ב-GenAI, בינה יצירתית או גנרטיבית (Generative AI). הפיתוח הגובר של כלי GenAI, על פי גיטהאב, והזינוק בפיתוחים מבוססי דאטה סיינס ודאטה אנליטיקס, הביאו לנסיקה בשימוש בפייתון, הידועה כשפה העיקרית בה משתמשים לפיתוחים אלו.
#יתרונות פייתון
כבר שנים רבות שמהנדסי תוכנה ומתכנתים ותיקים ממליצים על פייתון או ג'אווה סקריפט, בתור שפות התכנות שהכי כדאי להם להתחיל בהן. מי שמשקיעים שעתיים ביום יכולים כבר אחרי 3 חודשים לכתוב תוכנה של ממש.
לאחר מכן כדאי להתמחות באחד התחומים שהיא מאפשרת וטובה בהם, כמו פיתוח יישום ווב (web application), תוכנה רגילה למחשב (Desktop program), למידת מכונה (Machine learning) או בינה מלאכותית (Artificial intelligence).
הנה סקירה קצרה על שפת פייתון (עברית):
https://youtu.be/cKZ0miaDtkw
עוד קצת היכרות עם שפת פייתון (עברית):
https://youtu.be/A7XXmxU3o4o
תמצית בדקה של מה שלומדים בפייתון בשנה:
https://youtu.be/AfR-lJghs4w
היכרות באנגלית:
https://youtu.be/poJfwre2PIs
קורס באורך מלא של תכנות בשפת פייתון:
https://youtu.be/_uQrJ0TkZlc?long=yes
מה היתרון הגדול של שפת ג'אווה סקריפט?
מבין שפות התכנות הרבות, שפת ג'אווה סקריפט (Javascript ובקיצור JS) היא אחת השפות הפופולריות ביותר וגם המבוקשות ביותר אצל מעסיקים בעולם ההייטק. לפי מדידות שנערכו באתר StackOverFlow, בשנת 2019 היא הייתה השפה הכי פופולרית בעולם.
את ג'אווה סקריפט החלו לפתח בחברת נטסקייפ. היא הייתה אז שפה מהפכנית שאפשרה למפתחי אינטרנט לראשונה להוסיף לאתרים פעולות מורכבות ואינטרנאקטיביות, שהוסיפו ממדים של קסם לאתרים. אחת מהן הייתה אפשרות של הזזת העכבר מעל תמונה, שהובילה לשינוי של התמונה שמתחת.
במקור פיתח אותה מתכנת בשם ברנדן אייך (Brendan Eich), שכתב את השפה ופיתח את הגרסה הראשונה שלה כשפת תכנות ב-10 ימים בלבד. אייך, אגב, הוא מי שהקים את פרויקט מוזילה ולימים הפך גם למנכ"ל אחד הדפדפנים השווים - דפדפן הקוד הפתוח Brave. באותם ימים, אגב, היא נקראה LiveScript. בשנים שאחרי כן היא זכתה להמון שמות, ביניהם ECMAscript, Jscript ועוד.
אם כיום קשה לדמיין את העולם ללא Javascript, בתחילה היא שימשה לבנייה של דפי אינטרנט אינטראקטיביים, שבאו לידי ביטוי בעיקר בדפדפנים. באותה תקופה רבים ראו בשפה הזו סוג של שפה "חמודה" שלא משמשת למטרות רציניות מדי, אבל השקעה אדירה, מצד אחד של קהילת המפתחים ומצד שני של ענקיות טכנולוגיה כמו גוגל ופייסבוק, שינתה את המצב מקצה אל קצה.
כיום ג'אווה סקריפט משמשת לפיתוח של אתרים מורכבים, אתרי וידאו וסרטים משוכללים, אפליקציות ווב או מובייל, רשתות חברתיות מורכבות וצ'אט בזמן אמת. כל אלה פותחו לצד כלי תוכנה שונים וכמובן גם משחקי מחשב נחמדים.
גם המהירות והביצועים של JS, שבעבר היו איטיים יחסית, השתפרו מאוד ולא מעט בזכות המחשבים המהירים של היום.
לא פלא שרבים בתעשייה ממליצים למתחילים ללמוד תכנות להתחיל באחת משתי השפות - פייתון או ג'אווה סקריפט. בעוד פייתון מיועדת לשימושים מגוונים, רבים לומדים Javascript במטרה להפוך למפתחי front-end ו/או back-end.
גם המנוע שמריץ את השפה התרחב. מדפדפנים שכוללים מנוע JS הוא הורחב ל-Node.JS, מנוע עצמאי ליישומים, שפיתח מהנדס תוכנה מוכשר. בכך הוא איפשר לתעשייה מנוע JS בתוכנה עצמאית, מה שהוביל לפיתוח back-end לאפליקציות ווב ומובייל שונות, מחוץ לדפדפן.
ואגב, אחת השאלות הכי פופולריות על JavaScript היא האם היא מבוססת על שפת Java. התשובה המתחכמת היא שהקשר בין שתיהן הוא כמו הקשר בין Car ל-Carpet... התשובה הפשוטה היא שאין ביניהן כל קשר. הסיבה לכך שהשם JavaScript כולל את המילה Java היא שבשנות ה-90 שפת Java והמילה Java בכלל, היו לוהטות. לכן יצר מי שיצר את השם JavaScript לשפת התכנות שכל כך הרבה שמות היו לה ואף אחד לא ממש תפס. התוצאה הייתה מעולה ומיידית והשם JavaScript נשאר.
אחד ההבדלים הכי גדולים בין שתי השפות הללו הוא ש-JS היא Interpreted, בעוד ש-Java היא שפה שהקוד בה עובר הידור, כלומר מתורגם באמצעות Compiler לשפת מכונה.
הנה היכרות לילדים עם שפת ג'אווה סקריפט (עברית):
https://youtu.be/w5dnqy-_MQM
קורס מלא של שפת ג'אווה סקריפט (עברית):
https://youtu.be/fplM3uWr_8Y
היכרות עם שפת ג'אווה סקריפט באנגלית:
https://youtu.be/c-I5S_zTwAc
וקורס באורך מלא של תכנות בשפת Javascript :
https://youtu.be/W6NZfCO5SIk?long=yes
מבין שפות התכנות הרבות, שפת ג'אווה סקריפט (Javascript ובקיצור JS) היא אחת השפות הפופולריות ביותר וגם המבוקשות ביותר אצל מעסיקים בעולם ההייטק. לפי מדידות שנערכו באתר StackOverFlow, בשנת 2019 היא הייתה השפה הכי פופולרית בעולם.
את ג'אווה סקריפט החלו לפתח בחברת נטסקייפ. היא הייתה אז שפה מהפכנית שאפשרה למפתחי אינטרנט לראשונה להוסיף לאתרים פעולות מורכבות ואינטרנאקטיביות, שהוסיפו ממדים של קסם לאתרים. אחת מהן הייתה אפשרות של הזזת העכבר מעל תמונה, שהובילה לשינוי של התמונה שמתחת.
במקור פיתח אותה מתכנת בשם ברנדן אייך (Brendan Eich), שכתב את השפה ופיתח את הגרסה הראשונה שלה כשפת תכנות ב-10 ימים בלבד. אייך, אגב, הוא מי שהקים את פרויקט מוזילה ולימים הפך גם למנכ"ל אחד הדפדפנים השווים - דפדפן הקוד הפתוח Brave. באותם ימים, אגב, היא נקראה LiveScript. בשנים שאחרי כן היא זכתה להמון שמות, ביניהם ECMAscript, Jscript ועוד.
אם כיום קשה לדמיין את העולם ללא Javascript, בתחילה היא שימשה לבנייה של דפי אינטרנט אינטראקטיביים, שבאו לידי ביטוי בעיקר בדפדפנים. באותה תקופה רבים ראו בשפה הזו סוג של שפה "חמודה" שלא משמשת למטרות רציניות מדי, אבל השקעה אדירה, מצד אחד של קהילת המפתחים ומצד שני של ענקיות טכנולוגיה כמו גוגל ופייסבוק, שינתה את המצב מקצה אל קצה.
כיום ג'אווה סקריפט משמשת לפיתוח של אתרים מורכבים, אתרי וידאו וסרטים משוכללים, אפליקציות ווב או מובייל, רשתות חברתיות מורכבות וצ'אט בזמן אמת. כל אלה פותחו לצד כלי תוכנה שונים וכמובן גם משחקי מחשב נחמדים.
גם המהירות והביצועים של JS, שבעבר היו איטיים יחסית, השתפרו מאוד ולא מעט בזכות המחשבים המהירים של היום.
לא פלא שרבים בתעשייה ממליצים למתחילים ללמוד תכנות להתחיל באחת משתי השפות - פייתון או ג'אווה סקריפט. בעוד פייתון מיועדת לשימושים מגוונים, רבים לומדים Javascript במטרה להפוך למפתחי front-end ו/או back-end.
גם המנוע שמריץ את השפה התרחב. מדפדפנים שכוללים מנוע JS הוא הורחב ל-Node.JS, מנוע עצמאי ליישומים, שפיתח מהנדס תוכנה מוכשר. בכך הוא איפשר לתעשייה מנוע JS בתוכנה עצמאית, מה שהוביל לפיתוח back-end לאפליקציות ווב ומובייל שונות, מחוץ לדפדפן.
ואגב, אחת השאלות הכי פופולריות על JavaScript היא האם היא מבוססת על שפת Java. התשובה המתחכמת היא שהקשר בין שתיהן הוא כמו הקשר בין Car ל-Carpet... התשובה הפשוטה היא שאין ביניהן כל קשר. הסיבה לכך שהשם JavaScript כולל את המילה Java היא שבשנות ה-90 שפת Java והמילה Java בכלל, היו לוהטות. לכן יצר מי שיצר את השם JavaScript לשפת התכנות שכל כך הרבה שמות היו לה ואף אחד לא ממש תפס. התוצאה הייתה מעולה ומיידית והשם JavaScript נשאר.
אחד ההבדלים הכי גדולים בין שתי השפות הללו הוא ש-JS היא Interpreted, בעוד ש-Java היא שפה שהקוד בה עובר הידור, כלומר מתורגם באמצעות Compiler לשפת מכונה.
הנה היכרות לילדים עם שפת ג'אווה סקריפט (עברית):
https://youtu.be/w5dnqy-_MQM
קורס מלא של שפת ג'אווה סקריפט (עברית):
https://youtu.be/fplM3uWr_8Y
היכרות עם שפת ג'אווה סקריפט באנגלית:
https://youtu.be/c-I5S_zTwAc
וקורס באורך מלא של תכנות בשפת Javascript :
https://youtu.be/W6NZfCO5SIk?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
שפת תכנות (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
מה זה HTML ולמה משמש CSS?
HTML (קיצור של HyperText Markup Language) היא שפה או פרוטוקול שבו כתובים דפי אינטרנט ואתרי אינטרנט פשוטים. כלומר, זו שפה שבאמצעותה ניתן ליצור דפי אינטרנט ואתרים.
CSS, לעומתה, היא שפת סגנון בסיסית, שגורמת לדפי אינטרנט להיראות טוב.
להדגמת ההבדל נדמה את האתר לבית. אם HTML מציעה את חומרי הבנייה שמהם הוא ייבנה, הרי ש-CSS מציעה את הצבעים ואת חומרי ומרכיבי העיצוב והסגנון של הבית.
או המחשה נוספת - אם HTML קובע כיצד המכונית שלך תיסע, ה-CSS יקבע כיצד היא תיראה.
שתי השפות הללו הן מעין שפות תכנות פשוטות מאוד, אבל למעשה הן לא שפות תכנות של ממש. שתיהן נמנות על טכנולוגיות האינטרנט הידועות, הקלאסיות והראשונות ששימשו לכתיבת אתרי אינטרנט והן לא התפתחו מעבר לכך.
מה שקרה הוא שעם השנים וככל שנדרשו תכונות משוכללות יותר לאתרי אינטרנט, הצטרפו אליהן שפות תכנות חדשות וחזקות יותר וגם כלים רבים אחרים. בתחילה היו אלה שפות כמו asp ו-php. כיום חזקות בתחום יישומי האינטרנט שפת התכנות JavaScript והספריה שלה, הידועה ומאוד פופולרית לעיצוב ממשקים, React.
הנה ה-HTML:
https://youtu.be/akf9j0Jo0PE
ה-CSS:
https://youtu.be/1srYXgDRNak
מדריך שמסביר מצוין את עולם ה-HTML ב-12 דקות:
https://youtu.be/bWPMSSsVdPk?long=yes
ומדריך ל-CSS ב-12 דקות:
https://youtu.be/0afZj1G0BIE?long=yes
HTML (קיצור של HyperText Markup Language) היא שפה או פרוטוקול שבו כתובים דפי אינטרנט ואתרי אינטרנט פשוטים. כלומר, זו שפה שבאמצעותה ניתן ליצור דפי אינטרנט ואתרים.
CSS, לעומתה, היא שפת סגנון בסיסית, שגורמת לדפי אינטרנט להיראות טוב.
להדגמת ההבדל נדמה את האתר לבית. אם HTML מציעה את חומרי הבנייה שמהם הוא ייבנה, הרי ש-CSS מציעה את הצבעים ואת חומרי ומרכיבי העיצוב והסגנון של הבית.
או המחשה נוספת - אם HTML קובע כיצד המכונית שלך תיסע, ה-CSS יקבע כיצד היא תיראה.
שתי השפות הללו הן מעין שפות תכנות פשוטות מאוד, אבל למעשה הן לא שפות תכנות של ממש. שתיהן נמנות על טכנולוגיות האינטרנט הידועות, הקלאסיות והראשונות ששימשו לכתיבת אתרי אינטרנט והן לא התפתחו מעבר לכך.
מה שקרה הוא שעם השנים וככל שנדרשו תכונות משוכללות יותר לאתרי אינטרנט, הצטרפו אליהן שפות תכנות חדשות וחזקות יותר וגם כלים רבים אחרים. בתחילה היו אלה שפות כמו asp ו-php. כיום חזקות בתחום יישומי האינטרנט שפת התכנות JavaScript והספריה שלה, הידועה ומאוד פופולרית לעיצוב ממשקים, React.
הנה ה-HTML:
https://youtu.be/akf9j0Jo0PE
ה-CSS:
https://youtu.be/1srYXgDRNak
מדריך שמסביר מצוין את עולם ה-HTML ב-12 דקות:
https://youtu.be/bWPMSSsVdPk?long=yes
ומדריך ל-CSS ב-12 דקות:
https://youtu.be/0afZj1G0BIE?long=yes
שפות תכנות
מה תרמו תוכנת הייפרקארד ושפת הייפרטוק לעולם?
כשיצא מחשב המקינטוש, בשנות ה-80, הוכנסה לחבילת התוכנה המצורפת לו בין השאר תוכנה חביבה אחת, חינמית ולא ידועה, שכמעט ושינתה את העולם. קראו לה "הייפרקארד" (Hypercard) והיא הייתה תוכנה לבניית תוכנות מידע, לומדות לחינוך והדרכה ובסיסי נתונים שימושיים. היא הייתה מהפכה בהרגלי התכנות ומה שמפתיע שכמעט ולא השתמשו בה ילדים, קהל היעד העיקרי בשנים אלה לשפות תכנות מסוגה. מי שעשו בה שימוש הם דווקא מבוגרים ואנשי מקצוע משלל מקצועות ותחומי עיסוק.
הייפרקארד הציעה סביבה נוחה לפיתוח תוכנה באמצעות אובייקטים. הדימוי היה של כרטיסים, קארדס, כשכל מסך הוא כרטיס. אם רצית לבנות מערכת מידע של תקופות היסטוריות, יכולת לקבוע רקע (BackGround) אחיד, בעוד שהכרטיסים השתנו בו - כל תקופה והכרטיס שלה. אם אובייקט מוקם ברקע, הוא הופיע אוטומטית ותפקד בכל הכרטיסים. אובייקטים שמוקמו בכרטיס מסוים - הופיעו ופעלו רק בו. כל תוכנה של הייפרקארד נקראה "Stack", חבילה או אוסף של כרטיסים. בחבילה כזו יכולים היו להיות כמה רקעים שרציתם ובכל רקע יכולים המפתחים להציב כמה כרטיסים שירצו.
זה היה חדשני ועובד. עשרות אלפי מורים ואנשי מידע יצרו בצורה קלה ומהירה תוכנות שעבדו טוב ומהר. במקום קומפילציה, הייפרקארד עשתה המרה של הקוד מ-HyperTalk, שפת התכנות שלה, לשפת מכונה. הייפרקארד הייתה שפת סקריפט שאפשרה לדברים לעבוד מיד. איטית מעט יותר - אבל עובדת היטב!
הייפרקארד נקלטה במהירות שלא תאומן בשוק החינוך האמריקאי. במערכת החינוך של ארצות הברית באותה תקופה היו אחוזים גבוהים של מחשבי מקינטוש - יותר מכל מערכת הפעלה אחרת. כך הפכה HyperCard לתוכנה שאלפי משתמשים רגילים יצרו בה מערכי לימוד ללא צורך בתכנות.
מפתח הייפרקארד היה ביל אטקינסון, איש חברת Apple וצלם. אבל "אפל" לא הבינה את הפוטנציאל של הייפרקארד והיא הפסיקה בשלב מסוים את הפצת ופיתוח התוכנה. זה עורר זעם רב של המשתמשים והמפתחים, אבל אפל עמדה בסירובה להמשיך ולתמוך במהפכה שהיא יזמה והתקדמה הלאה.
הייפרקרד אולי מתה אבל רוחה ממשיכה להתקיים עד היום. כשיצר טים ברנרס לי את האינטרנט הוא הושפע מאד מתוכנת הייפרקארד, מה שגרם לכך שרעיונות שונים בה עברו אל רשת האינטרנט שתכנן. כך גם עולם ה-CD ROM שהושפע ממנה מאד, עולם הוויקי שאחראי בין השאר לאנציקלופדיית הויקיפדיה, עולם הלומדות, כלומר התוכנות החינוכיות ועוד ועוד. מפתחים ויזמים אינספור סיפרו במהלך השנים שהייפרקרד היה אחד הכלים שהכי השפיעו על האופן שבו הם תפסו והתחברו לעולם המידע והמחשבים.
במקביל, ניסו חברות שונות לפתח סביבות שונות שימשיכו את הרעיונות של התוכנה שהקדימה באופן מסוים את זמנה. גם כיום מפעילה חברה סקוטית סביבת פיתוח מאד דומה ואיכותית, הנקראת Livecode. היא מאפשרת פיתוח מבוסס אובייקטים, בשפת תכנות הדומה לשפה האנושית ועם כלים אינטואיטיביים במיוחד. בין השאר היא מאפשרת ליצור תוכנות ואפליקציות לכל סביבות הפיתוח, בקוד אחד.
הנה תוכנת הייפרקארד:
https://youtu.be/tx_WCIAM4bA
היה לה תפקיד משמעותי בתולדות הקישורים (מתורגם):
https://youtu.be/3Va3oY8pfSI
Stack שפותח בהייפרקארד ומאפשר לשוטט בבית ולחפש אלמנטים:
https://youtu.be/f2ft1uovxaQ
אפילו את תוכנת ההקלטה של הייפרקרד כתבו בהייפרקרד:
https://youtu.be/nkBb-ZqyU18
ביל אטקינסון מסביר שהייפרקארד הייתה בעצם האמא של דפדפן האינטרנט:
https://youtu.be/roT9DhDPI9k
סרט תיעודי על הייפרקארד והמהפכה שעשתה:
https://youtu.be/BeMRoYDc2z8?long=yes
וסרט ארוך על תוכנת הייפרכארד:
https://youtu.be/v9o5Ld8hpug?long=yes
כשיצא מחשב המקינטוש, בשנות ה-80, הוכנסה לחבילת התוכנה המצורפת לו בין השאר תוכנה חביבה אחת, חינמית ולא ידועה, שכמעט ושינתה את העולם. קראו לה "הייפרקארד" (Hypercard) והיא הייתה תוכנה לבניית תוכנות מידע, לומדות לחינוך והדרכה ובסיסי נתונים שימושיים. היא הייתה מהפכה בהרגלי התכנות ומה שמפתיע שכמעט ולא השתמשו בה ילדים, קהל היעד העיקרי בשנים אלה לשפות תכנות מסוגה. מי שעשו בה שימוש הם דווקא מבוגרים ואנשי מקצוע משלל מקצועות ותחומי עיסוק.
הייפרקארד הציעה סביבה נוחה לפיתוח תוכנה באמצעות אובייקטים. הדימוי היה של כרטיסים, קארדס, כשכל מסך הוא כרטיס. אם רצית לבנות מערכת מידע של תקופות היסטוריות, יכולת לקבוע רקע (BackGround) אחיד, בעוד שהכרטיסים השתנו בו - כל תקופה והכרטיס שלה. אם אובייקט מוקם ברקע, הוא הופיע אוטומטית ותפקד בכל הכרטיסים. אובייקטים שמוקמו בכרטיס מסוים - הופיעו ופעלו רק בו. כל תוכנה של הייפרקארד נקראה "Stack", חבילה או אוסף של כרטיסים. בחבילה כזו יכולים היו להיות כמה רקעים שרציתם ובכל רקע יכולים המפתחים להציב כמה כרטיסים שירצו.
זה היה חדשני ועובד. עשרות אלפי מורים ואנשי מידע יצרו בצורה קלה ומהירה תוכנות שעבדו טוב ומהר. במקום קומפילציה, הייפרקארד עשתה המרה של הקוד מ-HyperTalk, שפת התכנות שלה, לשפת מכונה. הייפרקארד הייתה שפת סקריפט שאפשרה לדברים לעבוד מיד. איטית מעט יותר - אבל עובדת היטב!
הייפרקארד נקלטה במהירות שלא תאומן בשוק החינוך האמריקאי. במערכת החינוך של ארצות הברית באותה תקופה היו אחוזים גבוהים של מחשבי מקינטוש - יותר מכל מערכת הפעלה אחרת. כך הפכה HyperCard לתוכנה שאלפי משתמשים רגילים יצרו בה מערכי לימוד ללא צורך בתכנות.
מפתח הייפרקארד היה ביל אטקינסון, איש חברת Apple וצלם. אבל "אפל" לא הבינה את הפוטנציאל של הייפרקארד והיא הפסיקה בשלב מסוים את הפצת ופיתוח התוכנה. זה עורר זעם רב של המשתמשים והמפתחים, אבל אפל עמדה בסירובה להמשיך ולתמוך במהפכה שהיא יזמה והתקדמה הלאה.
הייפרקרד אולי מתה אבל רוחה ממשיכה להתקיים עד היום. כשיצר טים ברנרס לי את האינטרנט הוא הושפע מאד מתוכנת הייפרקארד, מה שגרם לכך שרעיונות שונים בה עברו אל רשת האינטרנט שתכנן. כך גם עולם ה-CD ROM שהושפע ממנה מאד, עולם הוויקי שאחראי בין השאר לאנציקלופדיית הויקיפדיה, עולם הלומדות, כלומר התוכנות החינוכיות ועוד ועוד. מפתחים ויזמים אינספור סיפרו במהלך השנים שהייפרקרד היה אחד הכלים שהכי השפיעו על האופן שבו הם תפסו והתחברו לעולם המידע והמחשבים.
במקביל, ניסו חברות שונות לפתח סביבות שונות שימשיכו את הרעיונות של התוכנה שהקדימה באופן מסוים את זמנה. גם כיום מפעילה חברה סקוטית סביבת פיתוח מאד דומה ואיכותית, הנקראת Livecode. היא מאפשרת פיתוח מבוסס אובייקטים, בשפת תכנות הדומה לשפה האנושית ועם כלים אינטואיטיביים במיוחד. בין השאר היא מאפשרת ליצור תוכנות ואפליקציות לכל סביבות הפיתוח, בקוד אחד.
הנה תוכנת הייפרקארד:
https://youtu.be/tx_WCIAM4bA
היה לה תפקיד משמעותי בתולדות הקישורים (מתורגם):
https://youtu.be/3Va3oY8pfSI
Stack שפותח בהייפרקארד ומאפשר לשוטט בבית ולחפש אלמנטים:
https://youtu.be/f2ft1uovxaQ
אפילו את תוכנת ההקלטה של הייפרקרד כתבו בהייפרקרד:
https://youtu.be/nkBb-ZqyU18
ביל אטקינסון מסביר שהייפרקארד הייתה בעצם האמא של דפדפן האינטרנט:
https://youtu.be/roT9DhDPI9k
סרט תיעודי על הייפרקארד והמהפכה שעשתה:
https://youtu.be/BeMRoYDc2z8?long=yes
וסרט ארוך על תוכנת הייפרכארד:
https://youtu.be/v9o5Ld8hpug?long=yes
מהי שפת מכונה, השפה הבינארית שהמחשב מבין?
שפת מכונה (Machine language) איננה שפה שמישהו מתכנת בה. שפת מכונה היא שפת המחשבים, כלומר שפה שבה "מדבר", או יותר נכון רואה המחשב.
זו שפה שפועלת על פי רצפים של ספרות אפס או אחד. אלה מייצגים שני מצבים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1.
מחשבים יודעים לחשב דברים במונחים של אפס ואחד. זה לא שהם יודעים אריתמטיקה או מתמטיקה. אבל הם כן פועלים על מצבים בהם יש מתח חשמלי ומצבים בהם אין. כי כל רכיב אלקטרוני יכול או לפעול או לא לפעול. כלומר להיות במצב פעולה, כלומר דולק, או במצב כבוי. זה On או Off.
כי שבבי המחשב הם בעצם מכונות זעירות מאוד, שבהן יש מיליארדים רבים של רכיבים זעירים, שיכולים להיות בכל רגע נתון במצב כבוי או דולק.
הקידוד הזה לפיו פועל המחשב הוא קידוד בינארי. לפיכך, שפת מכונה היא הקידוד הבינארי שבאמצעותו ניתן לתת הוראות פעולה למעבד המרכזי של המחשב, אותו מוח שלו, שמבצע את הפעולות שאנו רוצים.
אבל הקוד הבינארי הוא מורכב מאוד. בקידוד בינארי בלתי אפשרי לכתוב תוכנות מורכבות, כמו אלה שעושות בימינו דברים מטורפים כמו שעולם התוכנה יודע לייצר. לכן פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר אנושי, שמובן יותר לבני אדם וקל יחסית לזכירה.
אז כדי לתקשר עם המחשב, לתת לו פקודות ולהגיש לו דאטה, כלומר מידע לצורך חישובים או פעולות, הכול צריך להיות מתורגם לאפסים ואחדים. אבל את הפקודות כותבים בשפות תוכנה עיליות ותוכנה מיוחדת ממירה את הפקודות מהשפות הללו לקוד בינארי, של אפסים ואחדים.
את ההמרה משפת התוכנה המסוימת לשפת המכונה עושה תוכנת הקומפיילר (compiler), בעברית מהדר, הנכללת בשפות התוכנה השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה.
המרה כזו של קוד מחשב תהיה לרוב משפה עילית שהמתכנת כתב, לשפת מכונה שהמחשב מבין. המרה למה שנקרא Machine language, או לשפת ביניים, שפה שהיא באמצע, בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד לתכנות ושממנה בהמשך תתבצע הקומפליציה הסופית לשפת מכונה.
הנה שפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:
https://youtu.be/GbBI7LSijnM
על האישה שפיתחה את שפת התכנות הראשונה, שפת Cobol:
https://youtu.be/Wchru8alhaE
וסוגי שפות המחשב השונים, משפת המכונה והשפות הבסיסיות שהמחשב מבין (Assembly language), אל השפות העיליות, המאפשרות למתכנתים בדרך לכתוב קוד:
https://youtu.be/aYjGXzktatA
שפת מכונה (Machine language) איננה שפה שמישהו מתכנת בה. שפת מכונה היא שפת המחשבים, כלומר שפה שבה "מדבר", או יותר נכון רואה המחשב.
זו שפה שפועלת על פי רצפים של ספרות אפס או אחד. אלה מייצגים שני מצבים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1.
מחשבים יודעים לחשב דברים במונחים של אפס ואחד. זה לא שהם יודעים אריתמטיקה או מתמטיקה. אבל הם כן פועלים על מצבים בהם יש מתח חשמלי ומצבים בהם אין. כי כל רכיב אלקטרוני יכול או לפעול או לא לפעול. כלומר להיות במצב פעולה, כלומר דולק, או במצב כבוי. זה On או Off.
כי שבבי המחשב הם בעצם מכונות זעירות מאוד, שבהן יש מיליארדים רבים של רכיבים זעירים, שיכולים להיות בכל רגע נתון במצב כבוי או דולק.
הקידוד הזה לפיו פועל המחשב הוא קידוד בינארי. לפיכך, שפת מכונה היא הקידוד הבינארי שבאמצעותו ניתן לתת הוראות פעולה למעבד המרכזי של המחשב, אותו מוח שלו, שמבצע את הפעולות שאנו רוצים.
אבל הקוד הבינארי הוא מורכב מאוד. בקידוד בינארי בלתי אפשרי לכתוב תוכנות מורכבות, כמו אלה שעושות בימינו דברים מטורפים כמו שעולם התוכנה יודע לייצר. לכן פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר אנושי, שמובן יותר לבני אדם וקל יחסית לזכירה.
אז כדי לתקשר עם המחשב, לתת לו פקודות ולהגיש לו דאטה, כלומר מידע לצורך חישובים או פעולות, הכול צריך להיות מתורגם לאפסים ואחדים. אבל את הפקודות כותבים בשפות תוכנה עיליות ותוכנה מיוחדת ממירה את הפקודות מהשפות הללו לקוד בינארי, של אפסים ואחדים.
את ההמרה משפת התוכנה המסוימת לשפת המכונה עושה תוכנת הקומפיילר (compiler), בעברית מהדר, הנכללת בשפות התוכנה השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה.
המרה כזו של קוד מחשב תהיה לרוב משפה עילית שהמתכנת כתב, לשפת מכונה שהמחשב מבין. המרה למה שנקרא Machine language, או לשפת ביניים, שפה שהיא באמצע, בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד לתכנות ושממנה בהמשך תתבצע הקומפליציה הסופית לשפת מכונה.
הנה שפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:
https://youtu.be/GbBI7LSijnM
על האישה שפיתחה את שפת התכנות הראשונה, שפת Cobol:
https://youtu.be/Wchru8alhaE
וסוגי שפות המחשב השונים, משפת המכונה והשפות הבסיסיות שהמחשב מבין (Assembly language), אל השפות העיליות, המאפשרות למתכנתים בדרך לכתוב קוד:
https://youtu.be/aYjGXzktatA
מהי שפת לוגו עם גרפיקת הצב?
שפת לוגו (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
כיצד תרמה מכונת החישוב של בלז פסקל להתפתחות המחשב?
הפילוסוף, הפיזיקאי והמתמטיקאי הצרפתי בְּלֶז פסקל (Blaise Pascal) המציא למעשה את המחשב המכני הראשון בהיסטוריה. מכונת החישוב שבנה בשנת 1642 היא המחשב הראשון שידע לבצע פעולות חשבוניות כלשהן.
במשך כ-15 שנים מחייו בנה בלייז פסקאל מכונות חישוב שונות. היום מכנים אותן מכונות החישוב של פסקל (Pascal's calculators) והן הלכו והשתכללו. אולם "המחשב של פסקל", או "הפסקלין" כמו שקראו לו מאוחר יותר, נחשב באותה תקופה לגימיק או לאטרקציה בידורית.
למעט הממציא, איש לא התייחס למכונת החישוב שלו ברצינות מספקת. אולי זה משום שלא היה לה שימוש של ממש. ואגב, גם לשימוש מסחרי היא הייתה יקרה מדי.
מכונת החישוב של פסקאל, שנבנו ממנה כ-50 יחידות בלבד, ביצעה פעולות חשבוניות פשוטות כמו חיבור וחיסור. היא אפילו ידעה להעביר ספרות מושאלות - ספרות שיעברו לעשיריה הבאה, ממש כמו בתרגילים כתובים, מעמודה לעמודה.
במהלך השנים הבאות תשוכלל הפסקלין על ידי המתמטיקאי הגרמני גוטפריד לייבניץ, שיוסיף לה את האפשרות לפעולת הכפל.
כך פעלה מכונת החישוב של בלייז פסקאל:
http://youtu.be/3h71HAJWnVU
וקיצור חייו של בלז פסקאל:
https://youtu.be/IDMdnJDN1f4
הפילוסוף, הפיזיקאי והמתמטיקאי הצרפתי בְּלֶז פסקל (Blaise Pascal) המציא למעשה את המחשב המכני הראשון בהיסטוריה. מכונת החישוב שבנה בשנת 1642 היא המחשב הראשון שידע לבצע פעולות חשבוניות כלשהן.
במשך כ-15 שנים מחייו בנה בלייז פסקאל מכונות חישוב שונות. היום מכנים אותן מכונות החישוב של פסקל (Pascal's calculators) והן הלכו והשתכללו. אולם "המחשב של פסקל", או "הפסקלין" כמו שקראו לו מאוחר יותר, נחשב באותה תקופה לגימיק או לאטרקציה בידורית.
למעט הממציא, איש לא התייחס למכונת החישוב שלו ברצינות מספקת. אולי זה משום שלא היה לה שימוש של ממש. ואגב, גם לשימוש מסחרי היא הייתה יקרה מדי.
מכונת החישוב של פסקאל, שנבנו ממנה כ-50 יחידות בלבד, ביצעה פעולות חשבוניות פשוטות כמו חיבור וחיסור. היא אפילו ידעה להעביר ספרות מושאלות - ספרות שיעברו לעשיריה הבאה, ממש כמו בתרגילים כתובים, מעמודה לעמודה.
במהלך השנים הבאות תשוכלל הפסקלין על ידי המתמטיקאי הגרמני גוטפריד לייבניץ, שיוסיף לה את האפשרות לפעולת הכפל.
כך פעלה מכונת החישוב של בלייז פסקאל:
http://youtu.be/3h71HAJWnVU
וקיצור חייו של בלז פסקאל:
https://youtu.be/IDMdnJDN1f4
מהו הקומפיילר שממיר שפה טבעית לקוד בינארי במחשב?
קומפיילר (compiler), בעברית מהדר, היא תוכנה שתפקידה להמיר קוד מחשב שכתוב בשפת תכנות רגילה, אל שפת מכונה (Machine language), כזו שהמחשב מבין.
תוכנת הקומפיילר נכללת כחלק משפות התכנות השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה. היא מבצעת את ההמרה משפת התוכנה המסוימת בה מתכנתים כותבים לשפת המכונה, שהיא קשה לכתיבה ומופשטת ומסובכת לזכירה.
המרה כזו תהיה לרוב של קוד מחשב בשפה עילית שהמתכנת כתב בה, כמו שפת התכנות פייתון או ג'אווה סקריפט - לשפת מכונה שהמחשב מבין.
שפת מכונה, משהו כמו שפת המחשבים, כלומר שפה שבה כאילו "מדבר" המחשב. זו שפה שפועלת על פי רצפים של אפס או אחד, שמייצגים שני מצבים חשמליים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1. הכירו בתגית "שפת מכונה".
מכל מקום, הקומפיילר חשוב מאוד בפיתוח תוכנה, כי כמעט בלתי אפשרי לכתוב קוד בינארי שיעשה את הפעולות המורכבות במיוחד שעושות תוכנות מודרניות.
לכן גם פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר שהוא ככל האפשר קרוב לזה של שפות אנושיות, תחביר מובן יותר לבני אדם ושקל יחסית לזכור.
ואגב, יש גם מקרים שהמהדר ממיר שפה עילית לשפת ביניים, שפה שאינה שפת מכונה ולמעשה היא באמצע, משהו בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד.
כך פועל הקומפיילר (מתורגם):
https://youtu.be/QXjU9qTsYCc
ושפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:
https://youtu.be/GbBI7LSijnM
קומפיילר (compiler), בעברית מהדר, היא תוכנה שתפקידה להמיר קוד מחשב שכתוב בשפת תכנות רגילה, אל שפת מכונה (Machine language), כזו שהמחשב מבין.
תוכנת הקומפיילר נכללת כחלק משפות התכנות השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה. היא מבצעת את ההמרה משפת התוכנה המסוימת בה מתכנתים כותבים לשפת המכונה, שהיא קשה לכתיבה ומופשטת ומסובכת לזכירה.
המרה כזו תהיה לרוב של קוד מחשב בשפה עילית שהמתכנת כתב בה, כמו שפת התכנות פייתון או ג'אווה סקריפט - לשפת מכונה שהמחשב מבין.
שפת מכונה, משהו כמו שפת המחשבים, כלומר שפה שבה כאילו "מדבר" המחשב. זו שפה שפועלת על פי רצפים של אפס או אחד, שמייצגים שני מצבים חשמליים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1. הכירו בתגית "שפת מכונה".
מכל מקום, הקומפיילר חשוב מאוד בפיתוח תוכנה, כי כמעט בלתי אפשרי לכתוב קוד בינארי שיעשה את הפעולות המורכבות במיוחד שעושות תוכנות מודרניות.
לכן גם פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר שהוא ככל האפשר קרוב לזה של שפות אנושיות, תחביר מובן יותר לבני אדם ושקל יחסית לזכור.
ואגב, יש גם מקרים שהמהדר ממיר שפה עילית לשפת ביניים, שפה שאינה שפת מכונה ולמעשה היא באמצע, משהו בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד.
כך פועל הקומפיילר (מתורגם):
https://youtu.be/QXjU9qTsYCc
ושפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:
https://youtu.be/GbBI7LSijnM
מהן סביבות הלימוד ושפות התכנות לילדים?
יש כמה שיטות לימוד של תכנות לילדים, שמתרכזות ביסודות התכנות, החשיבה הלוגית והבנת העקרונות שבבסיס עולם התכנות. אחת המוצלחות שבהן היא של האתר קודמנקי (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