אף פעם לא למדת קוד? התחל כאן.
מבוא ל-HTML, CSS ושפות קידוד בסיסיות אחרות
Skillcrush & Mashable
במובן הרחב: קוד זה לדבר אל, לשלוט או לתקשר בדרך אחרת עם מכונה (מחשב). "קוד" הוא מילה נרדפת ל"שפת מחשב". כל מה שאתה יודע בתור תוכנה - מערכת ההפעלה של המחשב שלך, האפליקציות לנייד שלך, אתרי האינטרנט המועדפים עליך - עוצב ומקודד באמצעות שפת מחשב כמו Python, C, Java, Scala, Ruby, Go, PHP ועוד עשרות. מטרת השפות הללו היא לאפשר לך ואני לתקשר עם המחשבים שלנו בצורה דומה לשפה האנושית אך ניתן גם לתרגם בקלות לקוד מכונה, השפה שהמחשב שלך מבין. שפות המחשב מנהלות את הטווח מ טכני מאוד ובמידה רבה מספרי למשהו שמתחיל להידמות לאנגלית. בסך הכל, ישנן מאות שפות מחשב כולל כאלה שהן חזותיות לחלוטין ואפילו אחת באיסלנדית. מדריך זה ידון בסוגים העיקריים של שפות מחשב, כיצד הן קשורות זו לזו, אילו מהם כדאי ללמוד, והכי חשוב, מדוע היית רוצה.
אילו שפות מחשב כדאי ללמוד ולמה למרות שיש מאות שפות מחשב ברמה גבוהה, רק כמה עשרות נמצאות בשימוש מסחרי. אולי שמעתם על כמה מהם, כמו JavaScript, PHP ו-Ruby. לפני שנדבר על פרטים, בואו נבהיר דבר אחד: אין שפה הכי טובה ללמוד או להשתמש. מתכנתים אוהבים להתקוטט על כך ששפה אחת טובה יותר מאחרת, ובמקרים מסוימים, יש שפות מסוימות שפופולריות למטרות ספציפיות. רוב המתכנתים ילמדו יותר משפה אחת במהלך קריירת הקידוד שלהם והגורם החשוב ביותר בבואכם להחליט באיזו שפת תכנות תשתמשו הוא...איזו שפה אתם הכי אוהבים. עם זאת, הנה 15 שפות מחשב פופולריות :
אולי שמעתם את המונחים "שפת מחשב" ו"שפת תכנות" בשימוש זה בזה, אבל הם למעשה לא אותו דבר. שפות תכנות הן תת-קבוצה ספציפית של שפות מחשב שמתכנתות מחשבים, כלומר הן אומרות להם מה לעשות.HTML& CSS הן שתי דוגמאות לשפות מחשב שאינן שפות תכנות ספציפיות. אבל זה לא אומר שאתה לא צריך ללמוד אותם! למעשה, ידיעת HTML ו-CSS היא דרישה לכל מפתחי האינטרנט ולרוב מעצבי האינטרנט, וזה מקום מצוין עבור מפתח אינטרנט מתחיל להתחיל בו. HTML אומר לדפדפן שלך מה לעשות עם כל חלק של דף אינטרנט. ההבנה כיצד דפדפנים מפרשים HTML הייתה רגע "אהה" גדול עבורי - הדפדפן שלך (Chrome או Firefox, למשל) בנוי לקריאת HTML (ושפות אחרות). מה אתה רואה כשאתה מבקר באתר? כנראה כותרת אתר, סרגל ניווט וכמה בלוקים של טקסט. דפדפן יכול להבחין בין פסקה לכותרת מכיוון שכל התוכן באתר מסומן בתגית HTML. תגי HTML נראים כך:
אַשׁרַאי:
אתה כותב HTML בדיוק כמו טקסט רגיל ושומר אותו בקובץ עם .html בסוף. HTML הוא הדבר היחיד שאתה צריך כדי ליצור אתר, אבל זה לא יהיה יפה מדי:
אַשׁרַאי:
בעוד ש-HTML מזהה ומסווג כל חלק של דף אינטרנט,CSSקובע איך הם נראים. בדוגמה שלמעלה, ייתכן שהסקת שה-HTML<p style=";text-align:right;direction:rtl"> תג אומר לדפדפן שמשהו הוא פסקה. כדי להפוך את כל הפסקאות שלנו לורודות ומודגשות, נוכל לכתוב CSS כזה:
אַשׁרַאי:
כמו HTML, אתה יכול לכתוב CSS בעורך טקסט, אבל במקום לשמור אותו עם סיומת .html, תשתמש ב-.css. עם CSS, תוכל להפוך דפי אינטרנט ליפים עם צבעים, מרווחים, פריסות, גבולות, גופנים ו יוֹתֵר. כוחו של CSS טמון בעובדה שהוא שולט בדפי האינטרנט באופן כללי, ומעניק להם סגנון עקבי עם מסגרת אחת. אתה לא צריך לקבל החלטה לגבי כל עמוד, ואם אתה רוצה לשנות את כל הדפים, אתה יכול פשוט לערוך את גיליון הסגנונות. מיומנויות HTML ו-CSS שימושיות ולעיתים משולבות בסוגים רבים ושונים של עבודות, ממדיה חברתית משווקים למעצבי חווית משתמש.
אתה יודע מתי אחד מאלה "היי! תסתכל על הניוזלטר שלנו!" מופיעות חלונות קופצים באמצע המסך שלך? או כשהטוויטר שלך מתעדכן אוטומטית? או כשאתה לוחץ על תפריט נפתח באתר נייד? כל אלה הם דוגמאותJavaScript. JavaScript הופך אתרים לאינטראקטיביים. זה דורש HTML ו-CSS ונותן לו דרך לנוע מבלי לטעון מחדש את הדף. אם משהו זז באתר ולא עשית שום דבר כדי לגרום לזה לקרות (כמו לחיצה על קישור לדף חדש), זה JavaScript בעבודה. JavaScript קיים כבר זמן מה, אבל זה לא הפך להיות ממש פופולרי עד לפני כ-10 שנים, עם הופעת "AJAX" ו-"Web 2.0." אלה היו מערכות טכנולוגיה שהשתמשו ב-JavaScript בצורה חדשה לגמרי, המאפשרת לרשת להיות הרבה יותר אינטראקטיבית ממה שהייתה בעבר. בימינו, JavaScript פופולרי להפליא, במיוחד במסגרות שמקלות על שילוב HTML, CSS ו-JavaScript. מסגרות פופולריות כוללות את Ember.js, Angular.js ו-Backbone.js, כולן מאפשרות שימושים מורכבים הרבה יותר ב-AJAX, כמו גם Node.js, המאפשר להריץ JavaScript על שרת, הפכו את JavaScript לאחד שפות המחשב הכי חמות שיש. אניתוח 2014מתיאורי התפקיד הראו ש-JavaScript היא שפת המחשב המבוקשת ביותר, והיא מופיעה בכמעט 14% מכל מודעות דרושים למפתחים. אולי שמעתם גם על "Java", אבל זו למעשה שפה אחרת לגמרי (עוד על כך בהמשך) . הבדיחה אומרת, "ג'אווה היא ל-Javascript מה שמכונית היא לשטיח."
השפות שלעיל, HTML, CSS ו-JavaScript, הן כולן "חזית"שפות אינטרנט, כלומר הן מגדירות, מעצבות ומחיות את חלקי האתר שאתה רואה ומקיים איתם אינטראקציה בדפדפן שלך. המשמעות היא הלחצנים, התפריטים הנפתחים והגופנים הגדולים המודגשים. שפות קצה מאפשרות לך להשפיע על האופן שבו תוכן מונח בדף אינטרנט, כיצד הוא בנוי ומעוצב, וכיצד המשתמשים יכולים לקיים איתו אינטראקציה. אבל יש הרבה יותר שחשוב לגרום לאתר לעבוד. אתרים דומים הרבה לקרחונים: אתה רואה רק את מה שנמצא מעל המים (החזית), אבל מתחת למים זה מגיע לעומק של מאות מטרים. ה"קצה האחורי" הוא כל מה שקורה לפני שהוא מגיע לדפדפן שלך: המערכות והמבנים שעורכים, מאחסנים ומוציאים את הנתונים והתוכן המרכיבים את האתר שאתה רואה. לדוגמה, אם אתם מזמינים טיסה, בקצה האחורי של האתר בודקים את המחירים, מזמינים מסלולים וחיובים בכרטיסי אשראי. Backend יכול להיות מאוד פשוט או מסובך מאוד. ניתן גם לערוך את הקצה האחורי מבלי שהמשתמש יידע אי פעם שמתבצעים שינויים. בדרך כלל, כשמישהו אומר "תכנות", הם מתייחסים לעבודה שנעשתה מאחורי הקלעים. כל השפות הבאות משמשות בתכנות עורפי:
Python היא שפת תכנות ברמה גבוהה שבה הייתם משתמשים אם הייתם סטודנטים לתואר שני בביולוגיה או מתמטיקה, כי היא מצוינת לחיתוך נתונים, וחוקרים אקדמיים אוהבים אותה. כיאה, גוגל גם אוהבת את Python (YouTube נכתב בפייתון) מכיוון שגם גוגל עוסקת בנתונים. למרות שלא תוכנן עבור האינטרנט, הודות ל-Django ולמסגרות אחרות - אלו יהיו חבילות קוד כתובות מראש שדואגות למשותף משימות תוכנה - יותר ויותר מפתחי אתרים פונים לפייתון, במיוחד עבור אתרים הכוללים עיבוד נתונים כבדים או ניתוח טקסט.
אדמירל אחורי גרייס הופרהעבודה המוקדמת של מהדרים הובילה לפיתוח בשנת 1969 של קובול, אחת משפות התכנות ברמה הגבוהה הראשונות שאומצו באופן נרחב. למרות גילה, או אולי בגללו, קובול עדיין נמצא בכל רחבי האינטרנט. "כ-23 מתוך 25 הקמעונאים המובילים בעולם, 92 מתוך 100 הבנקים המובילים, ו-10 חברות הביטוח הגדולות, כולם מפקידים את פעולות הליבה לתוכניות קובול הפועלות על מיינפריים של IBM."אומר דיון ניומן, סגן נשיא, IBM. זה לא נפוץ שחברות כותבות תוכנות חדשות ב-Cobol ובמקום זאת, זה נמצא לרוב בתוכנות מדור קודם. עם זאת, מכיוון שיש כל כך הרבה קוד של קובול בחוץ וכל כך מעט מפתחים חדשים שלוקחים על עצמם ללמוד את השפה, מפתחי קובול נמצאים בביקוש גבוה. רק אל תצפו להרשים את הסט הטכנולוגי ההיפסטרי.
כמו קובול,גתחילתה ב-1969, כאשר היא נולדה במעבדות בל. C למעשה התבססה על שפה קודמת בשם B (הבנתם??). C פרחה בפופולריות ויש הרואים בה את שפת התכנות הפופולרית ביותר שנוצרה אי פעם. זה עדייןנלמד בדרך כללבתוכניות מדעי המחשב.C היא שפה רב-תכליתית בכך שלא צריך לשנות את הקוד הרבה כדי לעבוד במערכות הפעלה שונות, כמו Mac, Windows ו-Linux.C נחשב בדרך כלל כ-שפת מחשב ברמה נמוכהמכיוון שהיא קשורה יותר לשפת המכונה, והיא משמשת בדרך כלל כדי לגרום לחומרת המחשב לתקשר. תחשוב: כשהמחשב שלך מבחין שהכנסת תקליטור לכונן הדיסקים.
אם אי פעם חיכית לטעינת אנימציה או אלמנט אינטראקטיבי בדף אינטרנט ורק ראית כוס קפה, ניסית לטעוןJava.Java (אין קשר ל-JavaScript) היא שפת תכנות מונחה עצמים המשמשת לעתים קרובות להטמעת מדיה או תוכן אחר על פני פלטפורמות שונות. קודי Java השתמשו היסטורית בביטוי, "כתוב פעם אחת, רוץ לכל מקום", כדי להדגיש כיצד Java מאפשרת למתכנתים להעביר קוד לפלטפורמות או מערכות הפעלה שונות (כמו בניית אפליקציה למחשב והעברתו למכשיר נייד) מבלי לשנות או להתאים אותו.
הגיע הזמן לכמה בדיחות קוד. אז בשפות תכנות, ++ מייצג "קח את זה פלוס הוסף 1". האם אתה זוכר בסופר מריו שלפעמים קיבלת אסימון "1 למעלה"? לזה בעצם התכוון המתכנת (השם המבריק) Bjarne Stroustrup כשקרא ל-C++. זה אחד יותר טוב מ-C...הבנת? אחת הדרכים שבהן C++ היה שיפור ב-C הייתה באופן שבו הוא אחסן וארגן מידע. במקום לרשום את כל המידע בחוטי קוד ארוכים ובלתי קריאים, C++ היא שפת תכנות מונחה עצמים - היא אוהבת לארגן מידע בחבילות. זה ההבדל בין לסחוב את ארוחת הצהריים לעבודה בקופסת אוכל לבין לנסות להכין אותה שם עם תפוח מתחת לזרוע, כריך ביד אחת, קופסת מיץ בשנייה ושקית צ'יפס בין השיניים. ברצינות, פשוט לכו עם קופסת האוכל. מכיוון שהוא כל כך טוב יותר באחסון חבילות מידע, C++ משמש בהרבה תוכניות גדולות ומורכבות, כמו Windows. החיסרון? כל חבילות המידע המפוארות הללו תופסות הרבה זיכרון.
אַשׁרַאי:
האם אתה שם לב שהיה הרבה C-spawn?גהיא שפה רבת עוצמה, ולכן הגיוני ששפות אחרות צמחו ממנה. אבל ל-C# למעשה אין הרבה במשותף עם C או C++. גם לחלק # של השם אין הרבה משמעות. במקור נקרא "מגניב", C# קיבל את שמו בסופו של דבר מכיוון ש-Windows יצרה גם שפות כמו A# ו-F# לפני הצגת הבכורה של C#. כמו C++,C#משמש לבניית הרבה תוכניות Windows וזו בחירה טובה לפיתוח אתרים בשרתים מבוססי Windows. למטרות מעשיות, יש האומרים כי ל-C# יש עקומת למידה תלולה יותר, אך יכולה לגרום ל-aתהליך פיתוח נקי ומהיר יותרמאשר C או C++.
אוֹדֶםמבוסס על האמונה ששפות תכנות צריכות להיות דומות ככל האפשר לשפה האנושית. בשנת 1995, Yukihiro Matsumoto, או Matz, עיצב את רובי כך שיהיה קל יותר למקודדים לכתוב ולהבין. דוגמה פופולרית מראה כמה פשוט לכתוב "הא, חה, חה" ברובי. שפות מחשב מסורתיות עשויות לעשות זאת כך:
אַשׁרַאי:
אבל ברובי זה ככה:
אַשׁרַאי:
נחמד, נכון? 10 שנים מאוחר יותר, ב-2005, הRuby on Railsהמסגרת איפשרה לכתוב דפי אינטרנט באמצעות רובי. כעת זו אחת השפות המבוקשות ביותר בחוץ, והיא מפעילה אתרים פופולריים כמו טוויטר והולו.
PHP היא אחת משפות התכנות הפופולריות ביותר עבור האינטרנט, בעיקר בגלל שהיא הייתה שפת התכנות הראשונה המיועדת לשימוש באינטרנט, וזו השפהוורדפרסכתוב (WordPress לבדה מהווה למעלה מ-20% מכל אתרי האינטרנט בעולם). כשאתה מבקש משרת אינטרנט דף, תפקידו של PHP לחבר אותו יחד. כאשר אתה גולש בבלוג של וורדפרס או מפרסם פוסט בפייסבוק, PHP מאפשר זאת גם. בניגוד לרובי או פייתון, PHP מותקן מראש ברוב שרתי האינטרנט. כל מי שעבר התקנת רובי על מק בוודאי יודע למה זו נקודת מכירה כזו (תסמכו עלינו). לעתים קרובות תראה PHP משויך ל-LAMP. LAMP הוא השם של דרך נפוצה להגדרת אשרת אינטרנט, מסד נתונים, מערכת הפעלה ושפת אינטרנט:לinux (מערכת הפעלה)אpache (שרת אינטרנט)מySQL(בסיס נתונים)פHP (שפת תכנות אינטרנט)
כשאתה בונה אתר אינטרנט, הכתובת שלך היא כתובת האתר - שם המשתמשים יכולים למצוא אותך, אבל זה לא המקום שבו כל הנתונים שלך חיים. כשאתה כותב פוסט בבלוג בבלוג שלך, אתה למעשה שולח את כל הטקסט הזה לחיות ב מסד נתונים. בכל פעם שהדף נטען, הוא מאחזר את הטקסט ממסד הנתונים שלך כך שהמשתמש שלך יכול לקרוא אותו. כדי לקבל מידע לתוך ומחוץ למסד נתונים, אתה מדבר עם מסד הנתונים בשפת תכנות כמוSQL. אל תבלבלו בין SQL ל-MySQL: SQL היא שפת התכנות ו-MySQL הוא מסד נתונים פופולרי שמדבר SQL. מסדי נתונים פופולריים אחרים של SQL הם SQL Server של מיקרוסופט ו-PostgreSQL.SQL הוא קיצור של "שפת שאילתות מובנית", ובמובנים מסוימים, זה די פשוט. נניח שאתה רוצה לאחזר כל משתמש במסד נתונים מעל גיל 35:
אַשׁרַאי:
כדאי גם לשים לב: יש אנשים שהם אנטי-SQL, או חלק מ"תנועת NoSQL" ומעדיפים להשתמש בבסיסי נתונים שאינם כל כך מובנים. מסד נתונים חלופי אחד הוא קסנדרה, אבל יש אחרים. חברות רבות (כגון פייסבוק וטוויטר) משתמשות בשילוב של שניהם, לכן מומלץ להיות בקיא בפורמטים מרובים של מסדי נתונים אם תגיש מועמדות לעבודה בניהול מסדי נתונים.
Objective-C נוצר בשנת 1983, אך לאחרונה הפך לפופולרי מאוד מכיוון שהוא מניע אפליקציות OSX ואייפון. זה קצת כמו C Language אבל עם חבילת הרחבה שהופכת אותו ליותר מונחה עצמים. חלק מהיכולות הנוספות של Objective-C הגיעו מהשפהSmalltalk.למרות שאפל פרסמה לאחרונה שפה חדשה לתכנות אפליקציות סלולריות בשם Swift, Objective-C היא עדיין השפה שצריך ללמוד אם אתה רוצה להיכנס לפיתוח אפליקציות לאייפון.
מָהִירהיא שפת תכנות שתוכננה במיוחד עבור קידוד iOS ו-OSX של אפל, כלומר אתה יכול להשתמש בה גם עבור יישומי iPhone וגם עבור Mac. עוצבה על ידי כריס לטנר החל משנת 2010, השפה החדשה לגמרי נחשפה בשנת 2014 ומבוססת על Objective-C, אך נבנתה כדי לשפר כמה מהבעיות עם Objective-C ולהפוך אותה לידידותית יותר למשתמש עבור מפתחים. בשלב זה , יש עדיין הרבהבאגים ומוזרויותשעובדים עם Swift, אז אם אתה רוצה לבנות עבור iOS או OSX, אתה עדיין צריך ללמוד Objective-C.
זוכרים איך אמרתי ש-Python שימושי במיוחד עבור אקדמאים ואנשים אחרים שצריכים לעבד הרבה נתונים? R מיועדת גם לנתונים, והרבה סקרים, גרפיקה ותוכנות סטטיסטיות נבנות באמצעות R. עם זאת, R אינה שפת תכנות ידידותית במיוחד ובדרך כלל משתמשים בה רק על ידיאקדמאים או מדעני נתונים.אם הרעיון של ביג דאטה מושך אותך, לימוד R יכול להיות הדרך ללכת.