Java vs .Net - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

Java vs .Net


guyl3

Recommended Posts

היי , אני עובד בתחום ההיטק ומעוניין לעשות הסבה מקצועית ; מתעתד ללמוד את אחת מהשפות הרשומות מעלה ,חייב לציין שאין לי נסיון בתחום התכנות/לא מבין עדיין מושגים (אולי קצת) ,רציתי לדעת בפשוטות מה ההבדלים בין שפות התכנות הללו עד כה הבנתי שתכנות בשפת NET. מיועדת יותר למשתמשי מערכות WIN (ויצירת GUI) ובשפת JAVA ניתן להישתמש כמעט בכל מערכות ההפעלה אך עובדת בעיקר ברקע ?!

בנוסף אודה לכם אם תוכלו לשפוך אור על הנושא ועל הניסיון החויות שלכם בתכנות ....

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

קודם כל נתחיל בשני תיקונים:

א. דוטנט היא לא שפה, אלא פלטפורמה. השפה שבה כותבים היא בד"כ #C או VB.NET.

ב. אין שום בעיה לכתוב GUI בג'אווה. אמנם ב-#C בד"כ יותר קל לכתוב GUI (בעיקר בזכות עורך ה-GUI של Visual Studio), אבל תוכל למצוא הרבה תוכנות שנכתבו לחלוטין בג'אווה, לדוגמה Eclipse ו-Azureus/Vuze.

בשפת ג'אווה אכן ניתן לכתוב תוכניות שירוצו על כל מערכת הפעלה (מה שנקרא - Compile once, run everywhere). זה עובד ע"י כך שהשפה מתקמפלת לפורמט מסוים (שנקרא java byte-code). את הקוד הזה מריצה תוכנה בשם Java Virtual Machine (בקיצור JVM). לכל מערכת הפעלה יש JVM משלה, ככה שאפשר להריץ את אותו קוד על מערכות הפעלה שונות.

#C גם בנויה על אותו עיקרון, רק שהמקבילה שלה ל-JVM (שנקראת CLR) קיימת, באופן רשמי, רק בחלונות. קיים פרוייקט בשם mono שהוא בעצם CLR למערכות הפעלה אחרות, אבל הוא לא נתמך רשמית ע"י מיקרוסופט ופחות טוב מהגרסה של חלונות.

חוץ מזה, יש דיונים ארוכים מאוד לגבי איזו שפה עדיפה, והם בערך כמו דיונים על Intel vs. או PC vs. ... אין תשובה חד משמעית. בכל מקרה, מתכנת טוב אמור לדעת ללמוד שפת תכנות חדשה יחסית בקלות, ככה שגם מישהו שיש לו 5 שנים נסיון ב-#C יוכל לעבור לג'אווה תוך זמן קצר, אם יצטרך (או להיפך כמובן).

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

אז מה היתרונות של .NET. מול ה JAVA

כי

בשפת ג'אווה אכן ניתן לכתוב תוכניות שירוצו על כל מערכת הפעלה

אז זאת אומרת שמתכנת שעובד עם JAVA נתח השוק שלו יותר גדול? (באופן תיאורתי !?)

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

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

האם ישנה דרך /ניתן לשלב את שני הפלטפורמות גם יחד - למשל אני רוצה לפתח אלפיקציה שתעבוד על אנדרויד ותיקח את בסיס הנתונים שלה מ SQL או כל database אחר

באיזה פלטפורמה יותר קל /מהיר לפתח

י

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

אתה מערבב פה מושגים לא קשורים. אין קשר בין database ו-SQL לשפות תכנות (כל שפת תכנות יכולה לתקשר עם כל database באמצעות הממשק המתאים).

ולשאלתך האחרת:

יש דיונים ארוכים מאוד לגבי איזו שפה עדיפה, והם בערך כמו דיונים על Intel vs. או PC vs. ... אין תשובה חד משמעית.

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

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

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

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

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

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

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

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

כיום בהייטק .NET הרבה יותר נפוצה מאשר JAVA.

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

באופן כללי נהוג (נפוץ) גם לכתוב אתרי ב C#.

מבחינת ביצועים בסרבר סייד זה דיי שקול אבל לפעמים נוטה לטובת JAVA במיוחד בעבודה עם עצים בינאריים. בתוכנה שהיא צורכת משאבים קטלנית ומשתמשת המון בחיפושים בינאריים הייתי משתמש בJAVA. מבחינת כתיבת קוד לדעתי יותר אינטואיטיבי לכתוב ב .NET C# ובכלל העולם הרבה יותר קל ב c#.

בסוף כשכותבים תוכנה ב99% מהפרוייקטים רוצים לקבל פרוייקט מוכן וטוב בקצת זמן.

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

כפי שאמרתי אין לי נסיון בתחום ! :s07:

האם היום מספיק ללמוד פלטפורמה מסויימת/.NET/ JAVA. במכללה במסגרת של 340 שעות

או שעדיף לבוא עם רקע מסויים או של בC# ? ( כרגע יש לי נסיון כטכנאי שלמדתי בתקופת הצבא לפני 3 שנים והסמכות של בנוסף ידע רחב שצברתי )

השאלה באה בגלל שאני באמת רוצה לעשות הסבה מקצועית ...ולא סתם

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

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

שנה קורס ואז מה תקבל?

להייטק מתקבלים אם אתה תותח תכנות ללא נסיון בחברות, תותח תכנות מיחידות צה"ל, או מהנדס תוכנה \ מדעי המחשב.

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

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

רוצה עוד דעות בנושא.....

הציעו לי בטכניון - במחלקה ללימודי המשך 340 שעות (שנה לימודים ) NET.

או

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

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

ארכיון

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

×
  • צור חדש...