
הטקסט המלא של הדקות הראשונות בהרצאה «CLR - מבוא» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים לשיעור נוסף בנושא של SQL. שיעורנו היום, אנחנו ניחשף לטכנולוגיה מרתקת מבית היוצר של מייקרוסופט, שהיא בעצם ליבת המערכת של הדוטנט, והטכנולוגיה שנקראת היא בעצם CLR, Common Language Runtime.
מה שמאפשרת לי הספרייה המשותפת הזאת לזמן ריצה זה לכתוב תוכנית בתוך הדוטנט, ואחרי שאני מקמפל אותה ומייצר ממנה את ה-intermediate language, אנחנו תכף נבין מה זה בתוך ה-CLR לקרוא לאותה יחידה מתוך ה-SQL Server.
כלומר ליצור Store Procedure בתוך ה-SQL Server על בסיס קוד שהרצתי וקמפלתי ויצרתי ממנו אסמבלי קוד בתוך ה-Dotnet. איך הדברים הללו עובדים? תכף נראה. ראשית כל אנחנו יכולים להתרשם ממגוון השפות ואלו רק חלק ממאות שפות שקיימות בעצם בסביבת ה-dotnet framework, כאשר כל השפות הללו, המשותף להן שהן כולן בסופו של דבר נמצאות
מעל ה-CLR, ובזמן ה-compile time הן עדיין לא יוצרות, אני עדיין לא יוצר מהן קובץ בשפת מכונה, קובץ בשפה בינארית, אלא רק בזמן הריצה ה-CLR יש בו את הרכיב הזה, כמו שאנחנו יכולים לראות כאן, יש בו את הרכיב הזה, הג'יט קומפיילר, כאשר הג'יט קומפיילר בסופו של דבר, שהוא חלק מתוך ה-CLR, הוא זה שאחראי בזמן ריצה לקחת את כל הקוד
באיזה שפה רשמתי אותו, באיזה טכנולוגיה השתמשתי, לקחת אותו ולייצר ממנו שפת מכונה. בואו נסתכל על השקף הבא, והוא האחרון שלנו לפני שאנחנו רואים את הדוגמה.
אנחנו יכולים להתרשם כאן בשקף שמגוון השפות שאותן אני כותב בזמן הקומפילציה. בזמן ה-Compile time הן בסופו של דבר רק יוצרות לי Intermediate Language.
שימו לב ש-Intermediate Language זהו שפת ביניים שנכתובה בבייטקוד. השפה הזו עדיין לא תלוית מכונה, היא עדיין לא בשפת מכונה.
היא זו שפה שבסופו של דבר רק בזמן הריצה. כאשר אני מריץ את התוכנית שלי, אז כחלק מה-Common Language Runtime אני בעצם משתמש ב-JIT Compiler שה-JIT Compiler, ה-Just-In-Time Compiler, כלומר קומפייל בזמן אמת, בזמן ריצה, לוקח לי את ה-Intermediate Language ומייצר לי שפת מכונה, שפה בינארית.
מה היתרון שזה נותן לי? שיש לנו כאן ניתוק בין סביבת הפיתוח, סביבת הקומפילציה ובין סביבת הריצה כאשר היתרון המשמעותי מכך שהופך את כל העבודה בדוטנט פרמבורג למולטי דיסציפלינרי שלא משנה באיזה שפה אני