|
28-03-2010, 15:00
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
ציטוט:
במקור נכתב על ידי hellfrost
תראה ההתרשמות שלנו היא מאוד שונה, ובאה מכיוונים שונים, אתה אני מבין איש סיסטם אני מפתח, הנקודות הסתכלות שונות לחלוטין...
1. לגבי ג'אווה אני לא יודע איזה אפליקציות אתה מכיר מי כתב אותן ואיך, אבל אני יודע עובדתית שרב האפליקציות בעולם האנטרפרייז נכתבות בJAVA, ובזמן האחרון יותר ויותר גם בפיננסי, והן עובדות מעולה...
|
אולי. האפליקציות שאני מכיר הן בעיקר של חברת Atlassian - לצערי המפתחים אצלנו התלהבו קשות מהמוצרים שלהם, וקנו אותם למרות ריג'קטים על צורת העבודה שלהם ממני (ונחש מי צריך לטפל בבעיות). מדובר במוצר די "רציני" (הם דורשים - ומקבלים - אלפי דולרים על רכישת רשיון שלו עם עדכונים לשנה עבור 250 משתמשים בלבד) - והוא פשוט בולע זיכרון ברמה שלא תאמן, למרות שהוא לא עושה שום דבר מסובך (לעניות דעתי...) משאילתות פשוטות ל DB ורינדור HTML. משהו מקביל ב PHP לא היה צורך יותר מכמה מגהבייטים של זיכרון... הנ"ל צורך כבר גיגה שלם, והיד עוד נטויה.
אפליקציה נוספת שאני מכיר, היא אפליקציה שמפותחת אצלנו in-house. גם שם יש צריכת זיכרון שערורייתית למוצר, שלמיטב הבנתי, בכלל לא מטפל בכמויות גדולות מדי של מידע, אלא שוב, עושה בעיקר בקבלה ושליחה של הוראות, ועדכון נתונים ב DB.
ובאופן כללי, בתור משתמש בטכנולוגיה מאז כיתה ב' (קצת יותר מעשרים שנה...) - יש לי "תחושה" שכזו, שתמיד שראיתי את ההודעה Out of memory - ג'אווה הייתה מעורבת שם. כמובן שאני לא שוכח את ימי הדוס העליזים - אבל שם ההודעה הייתה אחרת! Program too big to fit in memory (הו, הפרגמנטציה!)
ציטוט:
במקור נכתב על ידי hellfrost
2. אי אפשר באמת לקרוא לGC של .NET, כאילו יש פונקציה אבל הוא מחליט אם בא לו לעבוד אחרי שקוראים לו. תראה .NET זה טכנולוגיה חדשה יחסית שהולכת ומשתפרת והולכת ומתחזקת והIIS הולך איתה בהתאם. היא לא מושלמת אבל שום דבר לא מושלם בעולם, עדיין עובדתית הזמני פיתוח בה קצרים בהרבה מבC++ ושות' . עצם זה שאתה יוצא פה נגד ה OOP מראה שאין לך ניסיון בפיתוח מערכות גדולות.OOP זה לא קסם, אבל שימוש נכון בעקרונות שהוא מביא איתו מוביל לפיתוח יותר נכון ומהיר של מערכות בסדר גודל, כל העקרונות האלה היו קיימים גם לפני, אבל שימוש נכון בOOP מביא אותם איתו בצורה מובנת. דא זה ממש לא בעיה ליצור באגים במערכת שיקרו רק בתרחישים מסויימים, שריסט יסדר: קשינג, קשינג בDAL, לוגיקה שמשותפת לכל הלקוחות... הרבה יותר קל להאשים את הIIS מלחפש את הבאגים במה שהמתכנת כתב.... וד"א צברתי לאחרונה גם פזם לא רע עם C++ על לינוקס אז יש לי בסיס טוב להשוואה...
|
נכון, אי אפשר. הכוונה הייתה לזה שצריך להשמיד מידע בשביל שהוא ינוקה, אפילו אם ברור מה flow של התוכנה שלא יהיה בו שום שימוש בעתיד. (לצורך ההשוואה, ב C, וכמובן ב PHP, כשפונקציה נגמרת, כל המידע המקומי שלה מושמד, כי אין בו צורך יותר... לא צריך לעשות את זה ידנית. יוצא דופן הוא כמובן הקצאות זיכרון ידנית באמצעות malloc. במקרה זה, אתה באמת צריך לעשות את ה GC לבד [ולכך השוויתי] - אבל ב PHP אין צורך ב malloc, ולכן... ! )
ציטוט:
במקור נכתב על ידי hellfrost
3. אני לא מכיר מספיק פייתון, ממה שאני מכיר CPYTHON אמור להיות יותר רציני מהשאר ובו חייבים לקמפל...
הבעיה שלי עם C ו C++ זה שהן פשוט לא נוחות לעבודה, יש בהן המון כוח, וכיף לתחנת בהן, אבל לי אישית חסר ה GC וחסרים אלמנטים של תכנות פונקציונלי שאני מתחיל לאהוב יותר ויותר.
ד"א לגבי השכנוע .NET הוא לחם חוקי היום, אבל אני גמיש, מחר אני אשמח להתפתח באסמבלי או ברובי
|
אני מסכים איתך שזמן הפיתוח ב C ו ++C הוא ארוך מאוד. אבל האשכול עסק בפיתוח אפליקציות Web, ואני מכיר מעט מאוד אתרים שאפליקציית ה Web שלהם נכתבת ב C (יש כאלה שנאלצים לעשות כן, משום שהם צריכים ביצועים ויעילות ברמות מטורפות, ואז, כמובן, אין שום ברירה אחרת. נדמה לי שב Slashdot הם עושים/עשו זאת בעבר... ואני משער שגם גוגל עושים זאת ב backend שלהם, שחייב להיות ממש מהיר...)
אם טרם ניסית PHP, אני בהחלט ממליץ שתעשה זאת לפני שאתה רץ לאסמבלי ולרובי... אני מאמין שתופתע לטובה.
|
|