החלטתי ללמוד שפת תכנות, VB.NET ליתר דיוק, צריך את עצתכם - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

החלטתי ללמוד שפת תכנות, VB.NET ליתר דיוק, צריך את עצתכם


Gnome

Recommended Posts

טוב אז קודם כל זה לא עוד אחד מהת'רדים של "תמליצו לי על שפה ללמוד". הרצתי חיפוש פעמים ורוב ולמדתי הרבה אך לא קיבלתי תשובה על מוחלטת על השאלה שלי.

המצב הוא כזה: יש לי איזשהו נסיון קטן מאוד בתחום התכנות ואיזשהו ידע בסיסי בכמה שפות אך בעיקר ב-VB6 (אם את מה שיש במדריכים של DR-VB.CO.IL אתם מגדירים כבסיס אז אני יודע קצת יותר מזה). אבל העניין הוא שאני מחפש שפה מעט חזקה, חדשה, רצינית ומפותחת יותר מאשר VB6. לכן חשבתי התלבטתי בין VB.NET לבין C#. החלטתי לבסוף ללכת על VB.NET (תקנו אותי אם חושבים אחרת) מאחר ואחרי הכל מדובר בקומפיילר זהה שמתרגם את הדברים בצורה דומה מאוד, כך ששתי השפות מסוגלות פחות או יותר לאותו הדבר, וההבדל העיקרי הוא דווקא בצורת הכתיבה, הניסוח וכד'. לכן מכיוון שיש לי בסיס דווקא ב-VB6 החלטתי ללמוד את הגרסה החדשה שלה.

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

אני רוצה להיות מסוגל לפתח יישומים ותוכנות מסובכות ברמה גבוהה יחסית, ושהשפה לא תגביל אותי.

השאלה שלי היא קודם כל האם בחירתי ב-VB.NET ולא ב-C# היא נבונה, או אם בכלל עליי ללמוד משהו אחר יותר מתקדם.

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

סליחה על הדבר הארוך הזה :P

אשמח לקבל תשובה :)

עריכה: אשמח גם אם תמליצו לי על ספר לימוד, חשבתי על סדנת הלימוד הוצאת הוד עמי. תודה ;)

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

אני אישית ממליץ לך ללמוד C# העולם לכיוון הזה למרות שבגדול הם יתנו לך את אותו ברמה הבסיסית.

ומכיוון שאני בא מהC# אני יכול להמליץ לך על הוצאת הספרים WROX

הפסר שאני למדתי ממנו ואני משתמש בו הוא Proffesional C# 2005 שלהם

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

ואם אתה נעול על VB אז יש להם גם ספרים מצויינים בשבילם

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

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

אממ אוקיי קודם כל תודה על התגובה. :)

לא אין לי בעיה עם אנגלית, וגם אני לא נעול על VB.NET, אלא פשוט מאחר ולשתי השפות יכולת דומה, אז חשבתי אולי עדיף VB.NET כי היא יותר קלה לכתיבה והניסוח בה יותר פשוט, במיוחד מאחר ויש לי רקע כלשהו (בסיסי למדי) ב-VB6.

השאלה שלי היא האם באמת C# עדיפה? והאם יש הדבל משמעותי בין C# הראשונה ל-2005, והבדל משמעותי בין VB.NET ל-2005? האם זה הבדל משמעותי כמו זה בין ה-VB6 ל-VB.NET למשל?

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

vb.net פותחה תוך כדי צורך לתמוך לאחור באפליקציות שנכתבו ב- vb 6

בשנות ה- 80 העליזות אכן vb6 היתה שפה מאוד נוחה אינטואיטיבית לכתיבת אפליקציות חלונאיות

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

באותם ימים אם רצית לפתח ב- object oriented וממשק תכנות נוח היו לחברות מתחרות אחרות מוצרים מצויינים להציע ומשום לא הצליחו

למשל ל- borland היה ממשק גרפי לפיתוח חלונאיות ב- object oriented עם ה- C++Builder לדעתי הרבה יותר חזק מה- visual c++

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

C# שלא כמו vb.net פותחה מ-scretch (כלומר מהתחלה) בלי שום צורך לתמוך אחורנית באפליקציות ישנות , וככזו היא יותר יעילה וחזקה

C# מתועדת טוב יותר באינטרנט , מרבית הדוגמאות ב- .net הן בשפה זו

אם תעבוד אי פעם בצוות תמצא שרוב הפרוייקטים הם ב- c# ואנשי הצוות מבינים אותך רק ב- C#

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

לא אמרתי מילה על java שכבודה במקומה מונח , והיא לא רק שפה אחרת זו פלטפורמה אחרת (J2EE)

כל עוד אנחנו מדברים על .net אז C# עדיפה יותר מ- vb.net

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

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

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

בחיים לא ראיתי קוד VB.NET, אבל בהנחה שהוא דומה ל-VB6 אז הוא תועבה של חוקי דיקדוק שרירותיים. VB6 מעצבן אותי ולכן אניי מעדיף כבר MFC (באותם פעמים הבודדות שכתבתי משהו GUI-י).

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

טוב, אממ יש הרבה במה שאתם אומרים, אבל ממש שראיתי דווקא כתיבת הקוד ב-VB יותר אינטואטיבית וקלה. בנוסף לזה, בדוגמא האישית שלך Zelig, היה לך קל מפני שבאת עם נסיון בשפה דומה מאוד. לי למשל זה לא יהיה כל כך קל מאחר והרקע שלי הוא ב-VB6 (וגם בסיס מאוד יש לציין). אני בהחלט מודע לעובדה ש-C# עושה רושם יותר "יוקרתי", וש-VB עדיין עושה את הרושם של השפה המפגרת הלא מפותחת למתחילים בתחום, אבל השאלה שלי היא האם זה עדיין נכון עכשיו החל מגרסת ה-.NET ומעלה? והאם VB.NET לא תספיק לי בשביל לפתח את היישומים שלי אפילו אם הם ברמה גבוהה יחסית?

כי ממה שהספקתי להתרשם, VB.NET הרבה יותר קלה ומובנת מ-C# נכון? (מה שמאפשר התקדמות יותר מהירה בלמידת השפה גם)

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

מה שאני אומר זה שאם תלמד C# יהיה לך יותר קל לקרוא קוד בשפות אחרות. לא שיותר קל ללמוד C# מ-VB.NET.

לפי מה שאמרו לי, VB.NET ו-C# זהים מבחינת הכוח שלהם והם מתקמפלים לאותו קוד CLR.

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

ככה,

דבר ראשון והכי חשוב vb.net לא פותחה עם צורך לתמוך באפליקציות ישנות שנבנו בVB6 - לא יודע מאיפה הקריצו לך את זה.

.net בכלליות עובדת על עיקרון של מכונה וירטואלית - כמו ג'אווה. הקומפלייר מקפל את שפת העילית (c#, vb.net, cobol.net, ועוד כ-200 שפות שונות) לקוד ביינים שנקרא MSIL (Microsoft intermediate language) שהוא עקרוני לא תלוי מכונה. הCLR בזמן ריצה לוקח את הכתוב הזה ומקפל אותו לקוד native לפי המכונה עליה הוא רץ.

אם אתה מכיר טוב את ויבי6 אין שום סיבה שלא תתחיל ללמוד את vb.net.

בסופו של דבר היכולות של שתי השפות הן זהות לחלוטין - הן מתקמפלות לאותו דבר!

לאחר שתכיר את העבודה בסביבת ה.net )OOP( ,תוכל בקלות להמשיך ולעבור לבC# שהסינטקס שלו דומה יותר לג'אווה ולא c++.

לגבי VS2003 וVS2005, יש להבדיל מספרים דברים:

1- VS זהו IDE - סביבת ולא שפה.

2- VS2005 תומך הן ב.net1 .net1.1 .net2.0 וVS2003 תומך עד .net 1.1

ההבדלים בין .net 1 ל.net2 הם לא גדולים מבחינת הסיטנקס למרות שיש שינויים בGUI והוספה של פיצ'רים חדשים כמו Generics.

מה שכן נכון שבגלל שc/c++ הן השפות הטרנדיות ב10-15 שנים האחרונות רוב התוכניתנים עובדים בC# ולכן יהיה לך יותר קל למצוא דוגמאות ברשת.

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

לגבי .net3 שמישהו פה הזכיר, אז בתכלס זה .net 2.5 ולא באמת .3

אני אישית מעדיף C# היא הרבה יותר מהירה לכתיבה בגלל שאין צורך לכתוב כלכך הרבה מילים באנגלית ולכן לדעתי לאחר שמתרגלים גם הרבה יותר קלה לקריאה. אני מסתכל היום על קוד vb.net ישן ופשוט נגעל מכמות הקוד שצריך לכתוב לכל דבר.

לגבי ספרים: wrox זו הוצרה נהדרת אבל נא לא לשכוח גם את apress שמוציאים אחלה ספרים.

אם יש לך עוד שאלות אתה מוזמן..

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

ואו, טוב אוקיי תודה על התשובה המפורטת. :xyxthumbs:

אפשר לאמר שענית לי על כל השאלות שלי.

כנראה אני פשוט אזמין את הספר של WROX ל-Visual C# מאמאזון.

אם אתה מכיר טוב את ויבי6 אין שום סיבה שלא תתחיל ללמוד את vb.net.

זה באמת היה השיקול שלי, אם כי אני לא ממש מכיר אותה טוב, אלא ברמה בסיסית ביותר...

אני אישית מעדיף C# היא הרבה יותר מהירה לכתיבה בגלל שאין צורך לכתוב כלכך הרבה מילים באנגלית ולכן לדעתי לאחר שמתרגלים גם הרבה יותר קלה לקריאה. אני מסתכל היום על קוד vb.net ישן ופשוט נגעל מכמות הקוד שצריך לכתוב לכל דבר.

באמת? חשבתי דווקא שזה הפוך. שהמצב בעניין הזה הוא לטובת ה-VB.NET.

ועוד שאלה קטנה, זה אפשרי לכתוב תוכנה אחת באמצעות שתי השפות נכון? :silly:

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

LOL :lol:

אתה יכול להסביר לי מה הרעיון של ההודעה הזאת?

הרי גם ככה הת'רד בדיוק עמד לעבור עמוד כי הוא כבר מיצה את עצמו אז למה אתה מקפיץ אותו לראש הפורום בחזרה?!

הודעת ספאם מיותרת...

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

ארכיון

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

×
  • צור חדש...