כותרות TheMarker >
    ';

    פרטי קהילה

    מחקר ופיתוח

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

    אינטרנט והייטק

    חברים בקהילה (1517)

    eicher077
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    היזם
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    nonetheless
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    אמיר לשם
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    ששת שצ
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    kobi345
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    יוסי קרמר
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    לואיס קרול
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    תנועת כמוך
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    פטשניק
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    פורום

    מו"פ - כללי

    דיונים בכל נושא הקשור למו\"פ

    באיזו שפה לבחור (Java / C++ / .Net)

    8/1/08 00:37
    1
    דרג את התוכן:
    2008-01-27 17:18:43
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    שלום לכולם.

     

    לאחר שראיתי דיונים אודות אפליקציית web מול אפליקציית desktop 

     ולאחר הדיון על בחירת פלטפורמה לאפליקציות ווב - PHP vs. ASP.NET

    הייתי רוצה להעלות את הדיון אודות פלטפורמות פיתוח לאפליקציות desktop. 

     

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

      

     אסקור בקצרה את ההתלבטויות שלי: 

     

    ++C

       יתרונות: 

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

         - הוכיחה את עצמה לאורך 20+ שנים 

     
       חסרונות:

        - הפיתוח הרבה יותר איטי

        - הקוד הרבה יותר קשה לתחזוקה 

        - מחייבת לקמפל חלק מהקוד בנפרד לכל מערכת הפעלה על כל גרסותיה (XP/2000/98...)

        - הרבה דברים צריך לממש לבד

     

    שפות ה-VM כלומר - C# / Java 

       יתרונות:

        - פיתוח מהיר יותר

        - תחזוקת קוד קלה כמו גם מעקב אחר באגים

        - המון ספריות מובנות בתוך השפה

        - חוסך עודף גרסאות למערכות הפעלה שונות 

     

        חסרונות:

        - מחייב את המשתמש להתקין VM

        - יש האטה בביצועים 

     

    יתרונות יחודיים ל-Java

        - עובד גם במערכות הפעלה אחרות (כבר כמה שנים. דוגמא טובה - Eclipse)

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

        -  זה לא של Microsoft

     

     יתרונות יחודיים ל-#C

        - פיתוח GUI בצורה מאוד נוחה

        - קלה מאוד ללימוד 

        - יש הרבה תוכניתנים בשוק (אפילו בלי תואר)

     

     

     נושאים מעניינים לשילוב בדיון:

     - לקראת סוף הדיון מעבר ל-C#  כותב miqe עובדה מאוד מעניינת. ה-VM של Java מספק את רעיון ה-platform independence הרבה יותר טוב מ-C#

    - מעבר בין מערכות הפעלה שונות (Linux / Unix / Mac / Windows) האם יש דרכים יעילות?

    - שילוב של מספר שפות בפרוייקט


     

     

     

     

     

     

    מה אתם חושבים? מעתה קל יותר להוסיף תגובה. עוד...
     

    הוספת תגובה על "באיזו שפה לבחור (Java / C++ / .Net)"

    נא להתחבר כדי להגיב.

    התחברות או הרשמה   

    8/1/08 17:36
    0
    דרג את התוכן:
    פורסם ב: 2008-01-08 17:36:14
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    יתרון נוסף של סביבת .NET הוא בשילוב נוח יחסית של קוד Native בתוך האפליקציה (למשל באמצעות C++/CLI ומשם ל-C++/Native)

     

    אחת הבעיות שעדיין יש ל-.NET הוא נושא ה-deployment. למרות ש-MS מאוד דוחפים את ההתקנות ל-client עדיין לא תמיד אפשר לסמוך על איזו גרסה יש על המחשב ויש צורך להתקין את ה-.NET framework (שתופס לא מעט מקום בקובץ ההתקנה ועל הדיסק). בעיה אחרת היא סביבת פיתוח VS2005/8 מעצבנת למדי.

     

    למרות זאת לדעתי על ה-desktop סביבת .NET היא בכל זאת ה-default בשני סייגים -1.  C++ טובה כאשר יש צורך לרדת לרמת ה-low level ב-windows (גם מבחינת ה-UI וגם מבחינת הפונקציונליות הרגילה) וכאשר לא ניתן לבצע escape בצורה טובה מתוך c#/vb ל-c++.

     

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

     


    --
    מנהל קהילת מחקר ופיתוח:
    http://randd.cafe.themarker.com
    8/1/08 23:55
    0
    דרג את התוכן:
    פורסם ב: 2008-01-08 23:55:54
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

     

    צטט: גנאדי 2008-01-08 17:36:14

     

    ...למרות זאת לדעתי על ה-desktop סביבת .NET היא בכל זאת ה-default בשני סייגים...


     

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

     

    תגידו "צרות של עשירים" ? אולי, אבל לא בהכרח.

     

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

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

     

    אגב לגבי ה-C++/CLI  זה באמת מגניב. אנחנו עושים עכשיו Refactoring למערכת פנימית שבנוייה מ-C מכוער מאוד שהתחילו לבנות אותו לפני כ-15 שנה והאפשרויות שזה פותח זה פשוט מדהים.

     

     


    --
    עמנואל
    9/1/08 05:43
    0
    דרג את התוכן:
    פורסם ב: 2008-01-09 05:43:07
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    דע-עקא כי שאלה כזו עלולה להצית מלחמת-דת :-)

     

    אם בחרת ג'אווה, גם אני סבור שעלייך להתחיל מ-RCP של Eclipse. זו סביבת פיתוח מדהימה, לא פחות. בונוס משמעותי הוא היכולת להשתמש בתשתיות תוכנה פתוחות וחינימיות הזמינות היום בג'אווה. עיון באתרי Apache ו-CodeHaus ידגים היטב את העושר הזה.

     

    עם האמור לעיל, עבור יישום פשוט עד בינוני (המוגבל למע"ה Windows), הייתי בוחר ב-Dot Net.  

     

    -שרון 

    9/1/08 11:16
    1
    דרג את התוכן:
    פורסם ב: 2008-01-09 11:16:10
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    שאלה עם הרבה אמוציות (לחלק מהאנשים...).

    שים לב שיש אפשרות (עם מבנה האפליקציה הוא client-server)

    שהclient יפותח בדוט נט והserver בJava או C++. (יש לא מעט חברות שעושות את זה).

    חוץ מזה, אם זה קוד ישן של C++ שעובר upgrade הייתי בודק אם יש שם שימוש בWin API או ספריות אחרות ספציפיות לwindows, וכמה קל להשיג את הפונקציונליות הזו מ-Java.

    מנסיון והכרות גם עם eclipse וגם עם VS - אני חולק על גנאדי בעניין VS.

    אפילו שזה לא קוד פתוח, VS הוא סביבת פיתוח מצוינת, עם debugger מצוין, intellisense חזק, refactoring אוטומטי , API נוח לפיתוח add-ins וקסטומיזציה.

    גם eclipse מצוין..

     

    9/1/08 12:05
    0
    דרג את התוכן:
    פורסם ב: 2008-01-09 12:05:48
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    אין תשובה נכונה, כי השאלה לא נכונה.

     

    לשאול "איזה טכנולוגיה עדיפה לפיתוח אפליקציות שולחניות?" בלי לדבר על מי הלקוח, מה האפליקציה ובאיזה חברה זה מתבצע זה חסר פואנטה.

    זה כמו לשאול "איזה בית הכי טוב?" בלי לציין מי הדייר הפוטנציאלי, באיזה מדינה ואזור בונים ומה המגבלות הכספיות.

     

    כל תשובה רצינית לשאלה שמנסה למצוא "Silver bullet" טכנולוגי ל-"בעיה" טכנית נידונה להיכנס לוויכוחים עקריים על מי פורס איפה ומי גורר מה לאיפה.

     

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

     

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

     

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

    אבל WPF היא סה"כ ממשק גרפי, ואחד מאוד-מאוד מורכב בתור זה שדורש אימוץ של הרבה מאוד מוסכמות (שאישית אני חולק על רובן).

     

    בנושא Visual Studio כ-IDE. שוב, אין כאן אפילו טיפת וויכוח ש-VS היא ה-IDE הטובה ביותר בעולם. כמות הפרסים שהיא קיבלה לבד אמור להגיד את זה. עזוב את זה שהסיבה שאין מתחרה רציני בעולם הדוט-נט ל-VS זה לא כי אין קהילת קוד פתוח. זה כי VS פשוט הכי טובה שיש. יש IDEים אחרים כמו SharpDevelop שהוא גם טוב ובסטנדרטיים של ג'אווה הוא כנראה היה נחשב IDE פוטנציאלי ב-Top 5. אבל VS פשוט מספר 1.

    IDE צריכה לתת כל-כך הרבה מענה לכל-כך הרבה דברים וכתיבת קוד זה רק אחד מהם. מי שאוהב Eclipse ואת סגנון כתיבת הקוד שלו מוזמן להוריד Resharper. מדובר על תוסף צד-שלישי שתורם מבית Jetbrains (אותה חברה שאחראית ל-Eclipse) שמתלבש על Visual Studio ומביא את Eclipse לתוך Visual Studio.

     

     


    --
    ג´סטין-יוסף אנג´ל,
    יועץ Net. בכיר
    Microsoft Most Valueable Proffesional

    אתר http://www.JustinAngel.Net
    בלוג http://blogs.Microsoft.co.il/blogs/JustinAngel
    סלולרי 0546-567789
    משרד 03-9504364
    דוא\"ל J@JustinAngel.Net
    10/1/08 11:01
    0
    דרג את התוכן:
    פורסם ב: 2008-01-10 11:01:31
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

     

    צטט: justin-josef angel 2008-01-09 12:05:48

    אין תשובה נכונה, כי השאלה לא נכונה.

     

    לשאול "איזה טכנולוגיה עדיפה לפיתוח אפליקציות שולחניות?" בלי לדבר על מי הלקוח, מה האפליקציה ובאיזה חברה זה מתבצע זה חסר פואנטה.

    זה כמו לשאול "איזה בית הכי טוב?" בלי לציין מי הדייר הפוטנציאלי, באיזה מדינה ואזור בונים ומה המגבלות הכספיות.

     

    כל תשובה רצינית לשאלה שמנסה למצוא "Silver bullet" טכנולוגי ל-"בעיה" טכנית נידונה להיכנס לוויכוחים עקריים על מי פורס איפה ומי גורר מה לאיפה.

     

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

     

     

     

    אין פה מטרה לעורר מלחמת דתות, למרות שאני יודע שהשאלה מאוד טעונה.

    המטרה היא בעצם להגדיר עבור קבוצות של מקרים מתי לבחור ובמה.

     

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

     

    באפליקציות שולחניות העיניין הוא אחר. יש צורך בשפה (או בפלטפורמה) נוחה ויעילה מבחינת בניית GUI, מבחינת עבודה עם מערכת ההפעלה (לפעמים), מבחינת הקשר עם השרת וכד'... וכל זה צריך  או שואף לעבוד על כל מערכת הפעלה לסוגיהן, ועם כל דפדפן לגירסותיו (אם בכלל מותקן), ולשתף פעולה עם כל הגנה אפשרית (FW, AV, IPS... לסוגיהן) וכד'...

     

     כפי שהבנתם - אני לא מדבר על אפליקציות פנים משרדיות אלא כאלו שנועדו להפצה המונית.

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

     

     ופה יש לי בעיה קטנה. האם כל משתמש יסכים להתקין 150 MB של  ה-Framework בשביל תוכנה שתופסת בקושי 30 MB ? 

     

    חוץ מזה, שיש הרבה בעיות של חוסר תאימות בין הספריות של .Net לספריות של Java לדוגמא ביישום של WebServices / SOAP. הבעיות אומנם פטירות אבל ...

     

    מה דעתכם ? 


    --
    עמנואל
    10/1/08 17:04
    0
    דרג את התוכן:
    פורסם ב: 2008-01-10 17:04:41
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    פיתוח אפליקציות שולחניות בדוט נט דומה לפיתוח אפליקציות WEB בדוט נט.

    גם בפיתוח ל-WEB יש מגוון עשיר של פקדים וטכנולוגיות שמסוגלות לבצע חצי מהכל.

     

    רק דבר אחד לא ברור לי:

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

     

    זה נימוק הזוי לחלוטין שמנותק מכל קריטריון של ניהול פרוייקטים.

     בסופו של דבר, לא מביטים שורה-שורה על עלות של פרוייקט, אלא על הסה"כ.

     

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

     

    מה אכפת לי ש-mySql הוא חינם אם אני צריך להביא מומחה כדי לקנפג כל דבר שם, לעומת סיקוול סרבר שהרבה ידידותי למפתחים? (עד רמה מסויימת)

    אפילו אורקל עדיף בעייני על mySql למרות העלות הגבוהה שלו, כי הוא יותר מתאים למפתחים מאשר מאשר mySql.

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

     הדרך הכי טובה לדאוג לזה היא להשתמש בטכנולוגיה הכי ידידותית והכי מיין-סטרים.

     

    הדבר הכי יקר בתחום התוכנה היום זה - אנשים.

    לא תוכנות, לא מערכות הפעלה, לא הברזלים של השרת, ולא IDE.

    אנשים.

     

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

     

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

    הכל היה על שרתים עם מערכת הפעלה חלונות, ועם Visual Studio כ-IDE, עם סיקוול כ-DB ועם AD שמנהל את הרשת הפנימית.

    ובחודש אחד של תוכניתן בכיר - אני יכול לשלם את כל זה.

     

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

     

    לא אומר שזה דוט נט, כי שוב - אני לא מבין כלום בסיפיפי או ג'אווה.

    אבל פרודקטיביות של מפתח שווה לי פי אלף (בתרשים כספי) מאשר איזה מערכת הפעלה יש לשרת.

     

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

     

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

     

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

     

    ושוב, לא אומר שוב דבר רע נגד החברים מצד.

    צריך לתת כבוד ל-IntelliJ של ג'אווה על הדגש לפרודקטיביות של קוד.

    צריך לתת כבוד לאורקל על זה ש-DBA אחד טוב שלהם יודע הכל על המסד.

    צריך לתת כבוד לסיפיפי על זה שבעבודה Unmanaged הוא הרבה יותר רלוונטי משאר הטכנולוגיות.

     

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

     

     

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

    ו-Winforms ו-WPF עובדים יפה מאוד גם בלינוקס על מונו.

    Silverlight גם נתמך מעל חלונות, לינוקס ו-Mac OS, וגם מעל הדפדפנים פיירק-פוקס, אקספלורר וספארי.


    --
    ג´סטין-יוסף אנג´ל,
    יועץ Net. בכיר
    Microsoft Most Valueable Proffesional

    אתר http://www.JustinAngel.Net
    בלוג http://blogs.Microsoft.co.il/blogs/JustinAngel
    סלולרי 0546-567789
    משרד 03-9504364
    דוא\"ל J@JustinAngel.Net
    13/1/08 18:50
    1
    דרג את התוכן:
    פורסם ב: 2008-01-13 18:50:58
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    לפני שאכניס ראשי למחלוקת, אתוודה: אני שייך ל"דת" של אנשי ה-C++. אבל.

     

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

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

     

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

     

    דוגמא קטנה: לפני שנה בערך קראתי ראיון עם מנכ"ל "דיג". הוא סיפר אז שהמידע אצלם יושב על חווה של מאה שרתי אפאצ'י חינמיים למהדרין. נכנסתי באותו היום לאתר הבית שלהם. היה שם לינק לתמונה של כל אנשי החברה. עשרה בערך כאלו היו שם. אז מה היה לנו? כנראה שאיש הסיסטם עלה יותר מסיסטם של MS, ומן הסתם גם שלושת המפתחים (או משהו כזה) עלו יותר מאשר בוגרי קורסים של MS. אבל החלופה, במקרה זה, היתה להחזיק רשיונות עבור 100 שרתים (היום מדובר כבר מן הסתם בהרבה יותר). כך שזו דוגמא מצויינת למצב בו עדיף לשלם קצת יותר למומחה ולחסוך ברשיונות.

     

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

     

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

     

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

     

    בהצלחה!

     

    מיכאל


    --
    Miqe - הרצאות וייעוץ בתחומי הנדסת תוכנה.
    Qliqa - לגלוש 2.0.
    14/1/08 01:49
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 01:49:03
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    מיכאל - מסכים איתך.

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

     

    הנה לינק כדי שיהיה זמין גם בעתיד:

    http://randd.cafe.themarker.com/view.php?t=287006


    --
    מנהל קהילת מחקר ופיתוח:
    http://randd.cafe.themarker.com
    14/1/08 11:07
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 11:07:53
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    עמנואל - למה הגעת למסקנה שדוט נט זה לא טוב לצד השרת?

    14/1/08 13:00
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 13:00:59
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

     

    צטט: liorebel 2008-01-14 11:07:53

    עמנואל - למה הגעת למסקנה שדוט נט זה לא טוב לצד השרת?

     

    א. נתחיל מזה שהעלויות לא מסתכמות רק בלקנות שרת חלונות או לא. זה תגובת שרשרת אחת גדולה:

    1. אתה קונה שרת MS Windows Server

    2. ואז אתה צריך MS SQL Server

    3. מה עם תחנות עבודה לכל מפתח ?

    ...+ Windows + Office + Visual Studio + Visio + VSS

    4. וזה לא מסתיים שם, שאר התוכנות שאתה צריך לעבודה שוטפת הן גם כן בתשלום, ולו רק בגלל שזה רץ תחת Windows. אם זה Photoshop, אם זה Anti Virus  ועוד הרבה כלי עזר נוספים, שאגב יש להם מתחרים איכותיים בחינם, אם רק תבחר לעבוד ב-Linux.

     

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

     

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

     

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

     

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

     

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

     

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

     

     

    תודה רבה על התגובות המגוונות. 


    --
    עמנואל
    14/1/08 19:41
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 19:41:37
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

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

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

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

     



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

    /null/text_64k_1#

    מה אתם חושבים? מעתה קל יותר להוסיף תגובה. עוד...
     

    הוספת תגובה על "באיזו שפה לבחור (Java / C++ / .Net)"

    נא להתחבר כדי להגיב.

    התחברות או הרשמה