ויז'ואל בייסיק
מאפיינים של Visual Basic

השפה היא בעיקרה שפת תכנות חזותי מהירה, מונחית אירועים, בעלת טיפוסיות חלשה, שיש בה תמיכה חלקית בתכנות מונחה עצמים.
תכנות חזותי באמצעות ממשק משתמש גרפי: התכנות החזותי, שבו חלק ממלאכת התכנות מומר בגרירת פקדים (שהם אובייקטים תכנותיים שלמים) וציורם על-גבי טופס, דבר המחולל קוד מתאים. עדכון המאפיינים של הפקדים נעשה בגיליון מאפיינים, בהקלדה ובבחירה מתוך תיבות רשימה וטפסים שונים, והפעלתם באמצעות קריאה לשיטות הקיימות בהן. התפיסה הזו הורחבה לכלים בונה המחלקה שמאפשר בתכנות חזותי ליצור מחלקות, ולבונה השאילתה המאפשר ליצור שאילתות SQL בצורה גרפית. כמו כן, הפרדיגמה התכנותית ב-Visual Basic היא שתחילה יוצרים את הממשק הגרפי בציור הפקדים והגדרתם ולבסוף מגיעים אל הפונקציונליות של הקוד שמאחורי האובייקטים של הממשק, כך שהולכים מן הכלל אל הפרט.
תכנות מונחה אירועים: לכל אחד מהפקדים המוצגים בממשק המשתמש מוגדרת בתוכנית סדרה של שגרות, המתבצעות כאשר מתרחש האירוע המתאים, כגון כניסה לפקד, יציאה ממנו, פעולת עכבר או מקלדת עליו, שינוי תוכנו ועוד. הביצוע הסדרתי המסורתי של תוכנית מחשב, באופן ליניארי פקודה אחר פקודה, הוחלף בשפה זו בביצוע מונחה אירועים: כל אירוע מפעיל את השגרה המתאימה לו.
פשטות וידידותיות: התכנות בשפה זו פשוט וקל יחסית בניגוד לשפות שיש בהן מורכבות וסיבוכיות רבה (טיפוס מחרוזת אחד לעומת מספר רב של טיפוסי מחרוזת בשפת C++‎). בשפה זו קיימת אוריינטציה אנושית, כך שלפקודות והמילים השמורות והפונקציות של השפה, יש משמעות באנגלית פשוטה שאינה טכנית. בשפה זו מוטמעות פונקציות רבות כחלק ממנה, כך שקל ופשוט למשל לבצע פעולות על מחרוזות או תאריכים. גם התכנות החזותי מפשט את הכתיבה בשפה זו. אבל מאידך המחיר בתשלום על הפשטות הוא בהיעדר גמישות תכנותית, ומוגבלות רבה בניסיון לבצע דברים מורכבים.
אוטומציה פנימית: השפה לוקחת על עצמה חלק מעבודת המתכנת היכן שהדבר אפשרי: כך למשל בשפה ניתן להשתמש במשתנים מבלי להגדירם כלל. בפעולות השמה מתבצעת המרה (קסטינג) אוטומטית בין סוגי משתנים כאשר הדבר אפשרי, אפילו בין מספר שנמצא במשתנה מחרוזתי לבין משתנה מספרי או בין מערכים של בתים למחרוזת. ניתן להגדיר משתנה מסוג משתנה (variant) שיכול לשנות את הטיפוס שלו לכל סוג במהלך הריצה, לפי סוג הנתונים שמשימים אליו. שימוש נפוץ בו הוא השמה של פונקציה שמחזירה מערך בגודל שאיננו ידוע מראש. אפשר להגדיר מערכים דינמיים שניתן לשנות את גודלם תוך כדי ריצה. בנוסף, קיימות בשפה בדיקות פנימיות שונות, ללכידת באגים נפוצים כמו למשל לכידת חריגה מאיברי מערך.
מודולריות: שפת VB היא שפה "פתוחת קצוות" (Open-Ended). לשפה זו היו אפשרויות הרחבה, באמצעות פקדי VBX, שנכתבו בשפת C. (בגרסאות 1–3). יורשיהם של פקדים היו פקדי OCX (שכיום מכונים פקדי ActiveX), וניתן לכותבם בשפות שונות, באמצעות טכנולוגיית COM. הפקדים הם למעשה מיני תוכנות, המשמשים כאבני הבניין של התוכנית, ויוצרים בה מבנה מודולרי. בהמשך נוצרו פקדים נוספים לפי נושאים ותחומים, באופן שכיסו חלק נרחב מנושאי התכנות הקיימים, והביאו נושאי תכנות מסובכים לידי פשטות תכנותית, החל מפקד טורי שמטפל ביציאות המחשב ופקד היוצר תקשורת לאינטרנט וכלה בפקד שנותן פונקציונליות של לוח שנה. הפקדים ופקדי המשתמש של VB הם למעשה יישום של תכנות מונחה עצמים.
שפת תכנות סינתטית: שפה שהיא שילוב של שפה מפורשת ושפה מהדרת. השפה במקורה היא שפה מפורשת, בה כל פקודה מורצת ברגע שמגיעים אליה, כך שאין כל צורך להדר את הקוד כולו, לפני כל ריצת ניסוי, ואפשר גם לשנות קוד תוך כדי ריצה (edit and continue), דבר שמאפשר לתהליך הפיתוח להיות יעיל ומהיר. ומצד שני התוכנית המוגמרת, זו המוגשת למשתמש, עוברת הידור לשפת מכונה, כך שמתקבלת לבסוף תוכנית יעילה יותר (הגם שהיא עדיין איטית משמעותית משפות תכנות כמו C).