ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin

פרסום תגובה

Re: ג'יימס גוזלינג עונה על זה ועוד (ניקוד: 1)
ע"י shlomif ב 16/04/2004 - 12:37


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




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

מאמרו המצוין של פול גראהם - "הכריכה של ג'אווה"

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





  1. לתוכנית ג'אווה טיפוסית לוקח הרבה זמן רק להתחיל לרוץ. תוכניות של C או Perl או שפות דומות מתחילות לרוץ מייד.


  2. ג'אווה אינה פורטבילית ו-obiquitous כמו C ובמידה מועטת יותר Perl. כדי שאוכל להריץ ג'אווה
    בכל מקום, אני תלוי ברחמיה של Sun.


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


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


  5. גא'ווה די נופלת בין הכיסאות במעבר בין C ל-Perl/Python/Tcl/Ruby. אם אני רוצה קוד מהיר, אני אשתמש ב-C. אם אני רוצה הרבה אמצעים high-level, אני אשתמש ב-Perl. בד"כ אין לי סיבה להשתמש ב-Java.




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




שמך: פינגווין אנונימי [ משתמש חדש ]

נושא:


תגובה:

אפשר HTML:  <a> <b> <big> <blockquote> <br> <code> <del> <div> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <iframe> <li> <ol> <p> <param> <pre> <strike> <strong> <table> <td> <th> <tr> <tt> <ul>