קצת היסטוריה על השפה המכונה Basic

בשנת 1964, פיתחו קמני וקורץ, שפה המכונה Basic אשר נועדה להקל על המשתמשים בה, בגלל שבאותה תקופה, בשאר השפות לתכנת זה היה קשה ומייגע. החידוש היה שבזמן שאתה כותב את הפקודה, אתה יכול גם לבצע אותה, וכן לקבל הודעה אם יש שגיאה.
בגלל ש- Basic היתה כל כך קלה באותה תקופה, היא נהפכה להיות אחת השפות הפופולריות ביותר בעולם, ונכתבו לה גרסאות שונות כמו BASICA, GW-BASIC ועוד..
באותה תקופה נוספו ל- Basic פקודות חסרי משמעות. קומני וקורץ לא כל כך אהבו מה שקרה, ולכן הם כתבו ספר שנקרא Back To Basic.
באותה תקופה הופיע מהדר חדש שנקרא True Basic, שניסה לתקן את מה שקרה לשפה Basic. אם לא שמעת עליו זה לא באשמתך, המהדר לא הצליח שיווקית. כי באותה תקופה הופיעו גם שני מהדרים אחרים ל- Basic, שקוראים להם: QuickBasic של מייקרוסופט, ו- Turbo Basic של בורלנד.
מאוחר יותר פיתחה מייקרוספט מהדר נוסף בשם QBasic, שהיה פשוט יותר מ- QuickBasic וצורף אל Ms-dos
ב- 1991 הוציאה חברת מייקרוסופט מהדר חדש והפכני, שהפעם הוא היה לסביבת חלונות בלבד. המהדר הזה חסך מהמשתמש "לצייר" את הממשק בקוד, והציע ערך ויזואלי לעיצוב ממשק המשתמש בפשטות רבה, מהדר זה הוא כמובן Visual Basic 1.0.
אחרי כמה זמן הומצאה VB6, שזכתה בפופולריות רבה.
הגרסא הראשונה של VB.NET הומצאה בפעם הראשונה ב- 2002, שמשתמשת ב- Net Framework. (סביבת העבודה של דוט נט) בגרסא 1.0, שזו הגרסא הראשונה של הפריימוורק.
לאחר זמן קצר יצאה לאור VB.NET, שהפריימוורק היה מעט שונה. הפריימוורק נקרא דוט נט פריימוורק 1.1.
ההבדל בין פריימוורק 1.0 ל- 1.1, הוא כל כך מעט, ולכן בדרך כלל במדריכים וכאלה לא כותבים VB.NET 2002 או 2003, אומרים VB.NET 2002/2003 או רק VB.NET 2003.
אחרי הגרסא הזו, בערך ב- 2006, הומצאה VB.NET 2005 שמשתמשת בפריימוורק 2.0, שזו גרסא מומלצת ביותר.
בערך ב- 2008-2009, יהיה גרסא נוספת של VB.NET שקוראים לה Orcas, המשתמשת בפריימוורק 3.5.
אתם יכולים להוריד את גרסא VB.NET Codename Orcas Beta 1, בקישור הבא.



אז מה ההבדל בין VB6 ל- VB.NET?

1. סביבת עבודה חדשה המכונה .NET Framework, עם יותר מחלקות, מחלקות משופרות, ועוד..
2. IDE חדש ונוח
3. תוכניות שנבנו ב- VB6 לא יעבדו יותר בויסטה ומערכות יותר חדשות, ורק תוכניות של .NET יעבדו בויסטה ומערכות יותר חדשות.
4. מהירות ויעילות
5. יצירת בקרים / טפסים בעזרת קוד.
6. אירועים, Handles (אפשר לשים את זה ב- Sub ולשייך לאירוע מסויים של פקדים)
7. Console, בניית ישומי Console.
8. בניית ישומי Office.
9. בניית ישומים לטלפונים הניידים / Pocket PC או Windows CE.
10. בניית Windows Service.
11. תמיכה אוטומטית ב- Style החדש של Windows XP או לכל ווינדוס שהתוכנה תותקן (לא תומך אוטומטי בגרסאות 2003 ומטה)
12. מהדר ב- Console, מחוץ ל IDE.
13. נוספו המון בקרים.
14. ה- IDE מסדר לכם את הקוד אוטומטי (לא שגיאות, נגיד If יהיה בתוך Sub, וכו').
15. אם יש לכם שגיאה בקוד, ה- IDE יסמן לכם קו אדום (כמו בוורד) מתחת לשורה אוטומטית.
16. MSDN מעודכן ונוח, על כל שגיאה שתלחצו F1, חלון יפתח ובו ה- MSDN ויהיה כתוב בו איך לתקן את השגיאה שסימנתם בשורה.
17. קל יותר לעבוד עם מסדי נתונים כמו Access, ותמיכה ב- SQL Server.
18. ניתן להוריד גרסת Express בחינם בכתובת בקישור הבא. ההבדל היחיד בגרסת האקספרס לשאר הגרסאות, הוא שאין אפשרות ליצור חבילת התקנה.
19. השפה נהפכה להיות מונחת עצמים (OOP). (תודה ל- NeverTheLess על ההערה)


תכנות מונחה עצמים (מתוך ויקיפדיה)

מרכיב בסיסי בתכנות מונחה עצמים הוא המחלקה (Class). מחלקה היא מבנה אבסטרקטי בעל תכונות (Properties) המגדירות ומאפיינות את המחלקה כלפי חוץ, ופעולות (Methods), שהן פונקציות ייחודיות למחלקה. בחלק משפות התכנות קיימים גם אירועים (Events), שהם שגרות השייכות למחלקה ומוזנקות בהקשרים שונים, למשל בתחילתו או בסיומו של הליך או כתגובה לקלט מהמשתמש.
על מנת להשתמש במחלקה, המתכנת יוצר מופעים שלה. כל מופע של מחלקה הוא עצם (Object). היחס בין המחלקה לבין המופע, הוא היחס בין הגדרה של סוג לבין דוגמה ממשית מסוג זה. כלומר, בעוד שהמחלקה מהווה תבנית ומגדירה את התכונות והפעולות השייכות לה, המופעים הם אלה שמכילים את המידע הזה בפועל - כל עצם מכיל את התכונות והפעולות שהוגדרו במחלקה ממנה נוצר. לדוגמה, למחלקה הקרויה "מכונית" יש תכונות: צבע, דגם, שנת יצור, ופעולות: התנעה, נסיעה, עצירה. כל מכונית מסוימת היא עצם במחלקה זו, ולכל תכונה ערך המתאים למכונית המסוימת, למשל מזדה לבנה מודל 2003.
בכל מחלקה קיימות שתי פונקציות שמופעלות באופן אוטומטי על המופעים שלה בעת הופעתם ובעת מחיקתם. בעת יצירת המופע תופעל פונקציית בנאי (Constructor), באמצעותה אפשר לאתחל את האובייקט, לעתים באמצעות פרמטרים המועברים אליה. בעת הריסת האובייקט תופעל פונקציה הורסת (Destructor), באמצעותה אפשר למשל לשחרר זיכרון שהיה בשימוש על ידי העצם, או להרוס אובייקטים אחרים שכבר אין בהם צורך.
התכנות במתודולוגיה זו מצריך תכנון ומאמץ יתר מבשיטה הרגילה, מפני שצריך לנתח ולהגדיר את המערכת כולה מראש ולבנות את כל המודל שלה, שבו יוגדרו כל האובייקטים השונים וההיררכיה שביניהם. מצד שני למתכנת המשתמש באובייקטים, הרבה יותר קל להתמצא ולפתח כאשר הוא מתבסס על קוד של תכנות מונחה עצמים, מאשר על קוד פרוצדורלי.


תהנו :]