"מה עדיף?" היא לא השאלה הנכונה
בגלל שמבחינה טכנית, עובדתית JScript עדיפה (שימי לב, gemini, המילה היא JScript כשזה נוגע ל-engine של MS ו-Javascript כשזה נוגע ל-engine של NS, אף פעם לא Java script - אין חיה כזאת). את יכולה לשאול "מה ההעדפה האישית שלך", כאן יכולים להכנס טעמי נוחות ובורות. אבל האמת היבשה היא ש--פשוט-- JScript עדיפה, מכיוון שלכמה אנשים יש בעיה עם אנגלית, הנה תרגום קצר של הנקודות במאמר (לא כולל את ה-performance tests, אלה ברורים מהגרפים): * ל-VBS אין תמיכה ב-short circuit condition, זה אומר שגם אם תנאי מסויים החזיר false היא תמשיך לתנאי הבא במקום לצאת מהתנאי. יש כאן הפסד ביצועים גדול ככל שהתנאים יותר גדולים, וגם איבוד פונקציונליות חשוב וסיבוכיות קוד ללא שום צורך. אין צורך לציין ש-JS תומכת ב-short circuit. * VBS לא תומכת בהוספת מתודות ותכונות לקלאסים או אובייקטים אחרי שהם הוגדרו, זה אומר שאין יכולת להרחיב קלאסים של ברירת מחדל (RegExp ב-VBS). * VBS מטפלת במערכים בצורה נוראית, ReDim כל פעם שגודל משתנה היא רק דוגמה אחת. JS תומכת במערכים דינאמיים מלאים וגם ניתן ליצור associative arrays (מין dictionary יעיל פי כמה). * ל-VBS יש ממשק "שטוח" ופשוט, כל המתודות שוכבות להם בסקופ הגלובאלי. JS היא מבוססת אובייקטים, לכל data type (מחרוזת, מספר, בוליאני וכו´) ואובייקט יש את המתודות והתכונות שנוגעות אך ורק לו ונשאבות מהקלאס שלו. * VBS איטית מאוד בהמרת סוגי נתונים יחסית ל-JS. * JS מעריכה תנאים הרבה יותר מהר מ-VBS (ככל שיש יותר תנאים הפער גדל). * ל-JS יש סינטקס דומה ל-C, התוצאה היא קוד הרבה יותר קצר ולעניין מ-VBS, ולרוב הרבה יותר קריא לאנשים בעלי רקע מוקדם בתכנות. * VBS לא תומכת בתנאים טרנאריים (שבהם ניתן להשתמש inline). כמובן ש-JS תומכת בהם בצורה מלאה. * ל-VBS אין אפילו הערות על פני מספר שורות, ניתן לשים הערה רק על שורה יחידה בכל פעם. * VBS לא תומכת בפרמטרים אופציונליים לפונקציות, תמיד יש חובה לשלוח את כולם, JS תומכת בהם. * ב-JS יש יכולת להכריז על משתנה ולתת לו ערך באותו הזמן, VBS לא תומכת בהשמה כאשר משתנה מוגדר. * ל-VBS יש מכניזם קטן ולא יעיל לטיפול בטעויות. JS תומכת ב-try ,catch, throw ו-finally. התוצאה היא טיפול מדוייק ותמציתי בכל טעות - בכל סקופ. * JS תומכת ב-RegExps מילוליים, תכונה שנותנת יצירה מהירה יותר, קצרה יותר וטובה יותר של RegExp. כמובן, VBS לא תומכת ב-RegExps מילוליים, האפשרות היחידה היא שימוש בקלאס ה-RegExp האיטי והכבד (ראו גראף - JS מהירה פי 12.5!). * VBS מתייחסת באופן שונה להשמה של אובייקטים והשמה של משתנים רגילים, JS מתייחסת אליהם שווה בשווה. * מכיוון שרוב האנשים משתמשים ב-JS גם בצד הלקוח, הרבה יותר קל להשתמש באותה השפה גם בצד השרת, זה גם נותן את היתרון של שימוש חוזר בקוד. * אין אפשרות לרשת מקלאסים. ואלה רק חלק מהיתרונות ש-JS מציעה בהשוואה למגבלות ש-VBS מציעה. אין ספק ש-JS עולה על VBS מבחינה טכנית ומבחינת ביצועים, המשתנה היחיד שנשאר הוא הניסיון (או חוסר הניסיון) של המתכנת. מתכנתים חסרי ניסיון (או בעלי ניסיון ב-VB) יעדיפו את VBS מכיוון שהיא נראית יותר כמו אנגלית ופחות כמו שפת תכנות. לכן הם יראו אותה כאופציה הקלה ביותר להגיע לתוצאות. אפילו שהתוצאות יהיו הרבה יותר טובות בשימוש ב-JS. בקיצור, כל מי שרוצה להתפתח הלאה (זה יעזור כשיתחילו לעבור ל-NET.) מ-VBS מוזמן לקחת ספר או מדריך טוב, ולהתחיל להבין את היופי של JS.
בגלל שמבחינה טכנית, עובדתית JScript עדיפה (שימי לב, gemini, המילה היא JScript כשזה נוגע ל-engine של MS ו-Javascript כשזה נוגע ל-engine של NS, אף פעם לא Java script - אין חיה כזאת). את יכולה לשאול "מה ההעדפה האישית שלך", כאן יכולים להכנס טעמי נוחות ובורות. אבל האמת היבשה היא ש--פשוט-- JScript עדיפה, מכיוון שלכמה אנשים יש בעיה עם אנגלית, הנה תרגום קצר של הנקודות במאמר (לא כולל את ה-performance tests, אלה ברורים מהגרפים): * ל-VBS אין תמיכה ב-short circuit condition, זה אומר שגם אם תנאי מסויים החזיר false היא תמשיך לתנאי הבא במקום לצאת מהתנאי. יש כאן הפסד ביצועים גדול ככל שהתנאים יותר גדולים, וגם איבוד פונקציונליות חשוב וסיבוכיות קוד ללא שום צורך. אין צורך לציין ש-JS תומכת ב-short circuit. * VBS לא תומכת בהוספת מתודות ותכונות לקלאסים או אובייקטים אחרי שהם הוגדרו, זה אומר שאין יכולת להרחיב קלאסים של ברירת מחדל (RegExp ב-VBS). * VBS מטפלת במערכים בצורה נוראית, ReDim כל פעם שגודל משתנה היא רק דוגמה אחת. JS תומכת במערכים דינאמיים מלאים וגם ניתן ליצור associative arrays (מין dictionary יעיל פי כמה). * ל-VBS יש ממשק "שטוח" ופשוט, כל המתודות שוכבות להם בסקופ הגלובאלי. JS היא מבוססת אובייקטים, לכל data type (מחרוזת, מספר, בוליאני וכו´) ואובייקט יש את המתודות והתכונות שנוגעות אך ורק לו ונשאבות מהקלאס שלו. * VBS איטית מאוד בהמרת סוגי נתונים יחסית ל-JS. * JS מעריכה תנאים הרבה יותר מהר מ-VBS (ככל שיש יותר תנאים הפער גדל). * ל-JS יש סינטקס דומה ל-C, התוצאה היא קוד הרבה יותר קצר ולעניין מ-VBS, ולרוב הרבה יותר קריא לאנשים בעלי רקע מוקדם בתכנות. * VBS לא תומכת בתנאים טרנאריים (שבהם ניתן להשתמש inline). כמובן ש-JS תומכת בהם בצורה מלאה. * ל-VBS אין אפילו הערות על פני מספר שורות, ניתן לשים הערה רק על שורה יחידה בכל פעם. * VBS לא תומכת בפרמטרים אופציונליים לפונקציות, תמיד יש חובה לשלוח את כולם, JS תומכת בהם. * ב-JS יש יכולת להכריז על משתנה ולתת לו ערך באותו הזמן, VBS לא תומכת בהשמה כאשר משתנה מוגדר. * ל-VBS יש מכניזם קטן ולא יעיל לטיפול בטעויות. JS תומכת ב-try ,catch, throw ו-finally. התוצאה היא טיפול מדוייק ותמציתי בכל טעות - בכל סקופ. * JS תומכת ב-RegExps מילוליים, תכונה שנותנת יצירה מהירה יותר, קצרה יותר וטובה יותר של RegExp. כמובן, VBS לא תומכת ב-RegExps מילוליים, האפשרות היחידה היא שימוש בקלאס ה-RegExp האיטי והכבד (ראו גראף - JS מהירה פי 12.5!). * VBS מתייחסת באופן שונה להשמה של אובייקטים והשמה של משתנים רגילים, JS מתייחסת אליהם שווה בשווה. * מכיוון שרוב האנשים משתמשים ב-JS גם בצד הלקוח, הרבה יותר קל להשתמש באותה השפה גם בצד השרת, זה גם נותן את היתרון של שימוש חוזר בקוד. * אין אפשרות לרשת מקלאסים. ואלה רק חלק מהיתרונות ש-JS מציעה בהשוואה למגבלות ש-VBS מציעה. אין ספק ש-JS עולה על VBS מבחינה טכנית ומבחינת ביצועים, המשתנה היחיד שנשאר הוא הניסיון (או חוסר הניסיון) של המתכנת. מתכנתים חסרי ניסיון (או בעלי ניסיון ב-VB) יעדיפו את VBS מכיוון שהיא נראית יותר כמו אנגלית ופחות כמו שפת תכנות. לכן הם יראו אותה כאופציה הקלה ביותר להגיע לתוצאות. אפילו שהתוצאות יהיו הרבה יותר טובות בשימוש ב-JS. בקיצור, כל מי שרוצה להתפתח הלאה (זה יעזור כשיתחילו לעבור ל-NET.) מ-VBS מוזמן לקחת ספר או מדריך טוב, ולהתחיל להבין את היופי של JS.