דיון מהי באמת vb6 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

דיון מהי באמת vb6


eli_vb

Recommended Posts

טוב למעשה למדתי c c++ ו vb6 שפת c# למדתי די מלמעלה אבל שאר השפות אני ממש חזק בכל אופן אני יודע שפה בפורום לא בדיוק מעריכים את השפת vb6 אני מסכים היא קצת מיושנת אבל היכולות שלה לפי דעתי חזקים מאד רק צריך לדעת איך מה בדיוק יש ב c# שאין ב vb6 ואגב אני מדבר למי שיודע את שפת c# ו vb6 קח שיוכל להגיד מדיוק ולא מהשארות

אגב ב vb6 אני יכול לבנות כל תוכנה שאני רק רוצה (ואפי' תוכנות לפלאפונים למי שלא מאמין וגם תוכנות של הנדסאות אלקטורניקה דהיינו תוכנה שמדליקה מנורה חיצונית וכדו')

קישור לתוכן
שתף באתרים אחרים

שמע, בעיקרון בכל שפת תכנות רצינית אפשר להשתמש. אתה יכול לכתוב תוכניות טובות גם בקובול.

היתרון העיקרי של #C הוא הנוחות והכלים שבאים עם השפה. VB6 היא שפה שהתמיכה בה נפסקה, ויותר ויותר אנשים עוברים לדוטנט. יש יותר חבילות לדוטנט, משכללים ומשפרים את הפלטפורמה, ומתאימים אותה לטכנולוגיות מודרניות.

חוץ מזה, למתכנתים חדשים לא הייתי ממליץ על VB6, פשוט כי היא לא תלמד אותם פרדיגמות תכנותיות נכונות.

קישור לתוכן
שתף באתרים אחרים

אני עבדתי במשך שנה רק עם VB6 שאחריה עברתי ל-C# . מאז השנה ההיא אני עובד כמעט אך ורק על C# (זה היה לפני שמונה שנים בערך).

VB6 זה דבר מחפיר מחפיר מחפיר. ברור שאפשר לעשות עם זה דברים מדהימים. אבל זה לא אומר שהכלי עצמו לא מחורבן.

זה מתחיל בדברים קטנים כמו הסינטקס הזוועתי - כמו ששניצל טוען פה מעליי - אם אתה נכנע לשפה אתה פשוט נהיה גרוע יותר. מוותרים לך על כל מיני דברים קטנים ובכלל זה מאד לא נוח לעבודה. וזה לא כי הייתי רגיל למשהו אחר - אני התחלתי באותו זמן לעבוד עם VB ו-C++.

השפה עצמה מאד מוגבלת באפשרויות באופן יחסי. אין לך גישה לשום דבר טיפה עמוק, אפילו בשביל דברים פשוטים צריך ולהסתבך עם APIים של .

חוצמזה היא בנויה בצורה חרא. הביצועים של דברים שכתובים ב-VB זה בדיחה. והכי גרוע - ה-Debug שם מלא באגים בעצמו - למשל סדר הארועים בעליית Form שונה בין זמן Debug לזמן ריצה. אתה מדמיין כמה קשה לתפוס באג בעליית מערכת שקורה רק כשאתה לא מדבג אותה?? כמובן שאם אתה כבר מודע לעניין הסדר הדפוק זה נהיה קל, אבל כשנתקלנו בזה פעם ראשונה... סיוט :s07:

גם בכל מערכת גדולה שכתובה ב-VB6 שיצא לי לראות היו בעיות ביצועים קשות וזליגות קשות - יכול להיות שהתוכניתנים יכלו לעשות עבודה יותר טובה. אבל אותם אנשים כתבו אחלה מערכות ב-C# שלא עשו בעיות לאף אחד...

לסיכום, אני לא חושב שיש שום סיבה לעבוד עם VB6, לפחות מאז שיש C# 1.0. אין שום דבר שאפשר לעשות שם שאי אפשר לעשות ב-C#. פשוט אין שום יתרון ל-VB.

הסיבה היחידה שממשיכים עם הפארסה הזאת (VB7 עאלק)היא כדי לתמוך אחורה במפתחים שעובדים עם VB, אבל גם זה הולך ונעלם, למזלנו...

קישור לתוכן
שתף באתרים אחרים

טוב קודן כל מי שקצת יודע ב vb6 אפשר לכתוב ב consol קצת api (נכון הדרך ארוכה יותר מ c# אבל לא זה מה שקשה) דבר שני עבד לי תוכניות שכתבתי ב vb6 על windows vista בכל אופן מה שאני רואה הוא שבעצם הכל קיים ב vb6 סה"כ קצת יותר עבדוה ומאמץ בכל אופן (שגם לא בטוח) עכשיו לגבי תיכנות api ב c# נשמע לי קצת יותר קשה מאשר ב vb בכל אופן ב vb.net (שאני אישית ממש לא מאריך את השפה הזאת למי שיודע vb6 ברמה גבוהה מאד יבין למה) עכשיו לגבי כל האוביקטים הקיימים ב c# וכל השאר הכל קיצורי פקודות של api נכון קיצרו את הדרך אבל לא זה מה שיעשה את החוזק של השפה ולגבי הטענה ש vb6 לא עובדת ב וכדו' גם C# לא עובדת על הכל אני בכל אופן יודע על ולגבי מצביעים גם זה אפשרי ב vb6 ע"י api נכון למי שיודע ולגבי המהירות אין לי מושג למה חושבים ככה (אולי בגלל הנקודה שב vb6 א"א להקצות גם זה נובע מחוסר ידיעה כי ב api פשוט אני עושה את זה )

אני חושב שכתבתי פה דברים שהרבה לא האמינו אבל כן זה קיים כמו לדוגמא של מצביעים ב vb6 שימוש ב getproceesheap ו copymemorey של api והקצאת ב vb6 ע"י api נוספים

עדיין לא ראיתי משהו מיוחד (חוץ מזה שקיצרו את הדרכים וזה הרבה פחות מקורי למי שמבין כי בסה"כ לשלוח את ה api מעמצך יש לזה מעלה יותר מאשר המהדר שישלח וזה פשוט)

קישור לתוכן
שתף באתרים אחרים

חבל שבעיקר התעלמת מהטיעונים שלנו ומצאת טיעונים אחרים. גישה ל- api היא לא מה שעושה את השפה לחזקה (אגב, אין שום בעיה לגשת ל- api גם ב-#C, בשום צריך לדעת איך לעשות import).

נ.ב. עשה טובה, תרווח ותפסק את ההודעה שלך. מאוד קשה לקרוא אותה ככה.

קישור לתוכן
שתף באתרים אחרים

לגבי הטיעון שסביבת העבודה של vb6 לא נוחה. זה לא טענה סה"כ עניין של הרגל

לגבי הטיעון דליפות וכד'. לא יודע. לא נתקלתי בזה. ופשוט בעיית תיכנות שלא חשב עלייה מראש

ואגב אני לא בא לומר לבנות מערכות ענקיות ב vb6. זה אני גם לא יבנה ב c#. יש את c c++ בשביל זה החוזק שלהם אף אחד מהשפות האלו לא מתקרב

לא הבנתי את הטענה לגבי ה debug וסדר העלייה של הפורום

קישור לתוכן
שתף באתרים אחרים

עלייה של Form 'מורכבת' מכמה ארועים - אני לא זוכר את השמות המדוייקים ב-VB אבל אני מתכוון למשהו בסגנון Form_load, Form_activated, Form_resize וכו' - זו שרשרת ארועים שמתרחשת לפני, תוך כדי ואחרי ש-Form 'עולה' ב-VB (וגם ב-C# בצורה קצת שונה).

הסדר שבו הארועים האלה קורים הוא קבוע, בכל ריצה רגילה של התכנית. נגיד (ואני ממציא, כי אני לא זוכר את הסדר) קודם כל Form_activate ואז Form_resize. אבל אם אתה מדבג אז הם יקפצו לך בסדר שונה :nixweiss:

אתה מקבל ככה באגים שאי אפשר לשחזר כי בדיבאג זה כן עובד. נגיד בקוד אני מסתמך על איזהשהו אתחול מידות שקורה ב-Form_resize - בדיבאג הכל יעבוד תקין, כי זה הארוע הראשון. בזמן ריצה, יהיו מלא באגים כי הוא ירוץ אחרון.

שוב, כשיודעים את הסדר הנכון ואת העובדה שהדיבגר מפגר, אין בעיה להתגבר על זה. אבל זה מופרך לדעתי שהעניין הזה בכלל קיים...

נוחות זה באמת עניין של העדפות, אבל סביבת העבודה של VB6 נראית כמו מה שהיא - סביבת עבודה שתוכננה לפני עשור פחות או יותר. מה לעשות, דברים התקדמו מאז.

לגבי מערכות ענקיות, אין שום בעיה לכתוב אותם ב-C#. זה כן נועד לזה. זאת שפה מספיק חזקה ויציבה כדי להתמודד עם מערכות בכל גודל שיש היום.

מבחינת ביצועים, ויעילות אפשר להגיע עם C# לרמות מאד מאד קרובות ל-C++ (ולחסוך חסכון ענקי בזמן על הדרך).

שמע בגדול הכל עניין של העדפות, מי שרוצה לעבוד עם VB6 מוזמן, אין עם זה שום בעיה. אבל באמת, איפה היתרון? חוץ מ'אני רגיל ל-VB6 אז נוח לי להשאר איתה' איזה סיבה יש למישהו בכלל לשקול לעבוד על זה...?

וגם זה טיעון שאישית אני לא מסכים איתו בכלל, אבל ניחא.

קישור לתוכן
שתף באתרים אחרים

צודק ואגב קושי של לעבור זה לא הקושי הגדול כי אני כתבתי תוכניות ב c ו c++ והתחבירים דומים מאד (גם למדתי קצת c# פעם) אבל יש קטע אחד שאני שונה כל ה visual studio איטי בצורה מטורפת (למי שרגיל למשהו אחר) יש איזה דבר תחליפי

קישור לתוכן
שתף באתרים אחרים

למרות ש-.NET הרשמית קיימת רק למערכות , המטרה היא שהשפה תהיה cross-platform ככל האפשר (ואגב, יש לה מימוש למערכות הפעלה אחרות שנקרא Mono). שימוש ב- API מתוך שכתובה בשפת VM הוא דבר שאתה תרצה להימנע ממנו ככל האפשר. זה לא דבר שקשה לעשות אותו ב-C#, אבל במרבית המקרים אין סיבה טובה שתשתמש בקריאות API ישירות.

לגבי היתרונות של .NET על VB6, יש אינספור. בסופו של דבר .NET תוכננה כמשהו שאמור להתעלות על המגבלות של COM, VB ו-MFC.

ל-.NET יש המון כלים חדשים שמאפשרים לך לעשות דברים שב-VB6 היה לך קשה הרבה יותר, החל מדברים יחסית קטנים כמו Anchor של כל האלמנטים ב-GUI ועד לדברים גדולים כמו WPF.

גם אם נתעלם מהפיצ'רים שמציעות הספריות הסטנדרטיות של כל אחת מהשפות ונתמקד רק בשפות עצמן: ל-.NET יש מודל מאוד חזק של Object oriented ו-Type safety. היא לא מאפשרת קיצורי דרך שיגרמו לך לצרות אחר כך (בניגוד ל-VB ששם יכלת להשתמש במשתנים מבלי להגדיר אותם).

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...