
אז מחשב... איך עושים שורת קוד והמחשב עושה אותה?
אז אני חוזר קצת על הסדר, המחשב מבין רק "בינארי" היינו 0 או 1. קוד בינארי נראה ככה: "0101010111001100101" ככה בלי סוף.
מעל זה יש אסמבלי שזה נראה ככה
MOV AX, 5 ; Put the number 5 into a storage box called AX
ADD AX, 3 ; Add the number 3 to the number inside AX
מעל זה יש שפת "נמוכות" כגון C או ZIG
int ax = 5; // Put the number 5 into a storage box called ax
ax = ax + 3; // Add the number 3 to the number inside ax
דווקא דוגמא לא טובה ככ, כי גם השפות עילית כותבות ככה בדיוק את ה2 שורות הללו, אבל תאמינו לי כשאני אומר ש-2000 שורות בC יכולות להפוך ל-30 שורות בשפה עילית
יש את שפת הביניים C\u ואז יש מלא שפות עילית, בעקרון לקרא שפת עילית אמור להיות דומה יחסית לקריאת אנגלית.
בואו נדבר קצת על שפות עילית פופולריות, והאידיאולוגיה מאחוריהן:
מה ההבדל בין שפה "רגילה" לשפת סקריפטים?
שפה רגילה אתה כותב קוד, הקומפיילר עובד עליה ומוודא שלא עשית שטויות, מכריח אותה לדוגמא להגדיר את A בתור מספר ואת B בתור מילה, ואז אם תנסה לעשות A+B הוא ייתן לך שגירה.
בשפת סקריפטים אין את כל זה. החסרון המובהק - זה ממש עוזר למתכנת לעשות שטויות. היתרון המובהק - נותן למתכנת לרוץ מהר, לתקן מהר (לא צריך לעבור בקומפיילר מהתחלה לשינוי קוד של אפילו אות אחת).
בשבילנו יש צד של יתרון בשפת סקריפטים, להקל קצת על ה-AI לעשות ולתקן. כמובן התשלום שלנו שצריך יותר לוגים וטיפול בשגיאות. וגם לפייתון יש יחסית המון תוכן באינטרנט ממפתחים, אז ה-AI מכיר אותה יותר טוב. וגם מעצם היותה שפת סקריפטים נראה שיותר קל באופן כללי ל-AI להבין אותה.
מכל הסיבות האלו נראה שכל המודלים של ה AI מעדיפים, ומצליחים יותר טוב לכתוב פייתון. גם מעצם היותה שפת סקריפטים יש פחות קשיי התקנה של דברים שצריך.
מכל הסיבות האלו אני מציע תמיד להגיד לAI לכתוב רק בפייתון, וגם להשתמש כמה שיותר בפייתון בסיסי, כמה שפחות בספריות.
ספריות זה מישהו שכתב קוד כללי שאתה יכול לעשות בו שימוש כקופסא סגורה, נניח ספרייה לבדיקת השעה במחשב, אתה מוריד ורק שואל מה השעה במקום להתחיל לפתח קוד שעושה את זה.
לכן לאורך הקורס אני תמיד אגיד לקלוד את זה
IMPORTANT RULE: always use only html/css/js vanilla for the front end, no frameworks or libraries. always use python for backend, and strive to 0 or minimal frameworks.