TheReaper פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 ARC מבצע את אותו תפקיד שהGC של ג'אווה מבצע רק בצורה אחרת, חכמה יותראין פה איזה קסם, כל קומפיילר צריך לשחרר זיכרון בדרך כלשהי. פשוט Arc עושה את זה בצורה חכמה ואוטומטיתבמקום להשאיר רשימה בצד של קריאות לרפרנס, Arc מגלה בזמן קומפילציה מתי צריך לשחרר את המשתנה ומוסיף את הנקודות שחרור בצורה אוטומטית. אין פה קסם, רק תחכוםאין שום צורך לדעת איך מערכת ההפעלה עובדת כדי לתכנת בC. זאת שטות גמורה. אתה יכול לכתוב את אותו קוד של ג'אווה בC נטו ע"י תרגום של סינטקס. אתה עוד פעם זורק את ה"מימוש הגרוע" של GC בזמן שהוא עובד בצורה זהה לכל שאר הGC שקיימים. אפל היא היחידה שקידמה מערכת בסגנון של ARCAS הוא באמת IDE טוב. כמו שintellij הוא IDE טוב לJAVAזה שהם לא טובים כמו VS וXCODE לא אומר שהם לא טובים בעצמם. זה שVS הוא הIDE הכי טוב בשוק זה עובדה ידועה חוץ מזה שהכל פה זה דעה סובייקטיבית שלך שלא בהכרח מייצגת את המציאותולהשתמש בNDK זה נחמד אבל ממש לא רלוונטי לרוב האנשים. אתה בונה קוד בג'אווה אתה באמת רוצה להתעסק עם ספריות שכתובות בC/++?נו ו? KITKAT עודכן עד 4.4.4 ועכשיו L מעודכן עד 5.0.2. יש איזה בעיות אבטחה קריטיות שאתה מכיר בKITKAT שלא נסגרו? או שאתה פשוט רוצה התראת עדכון כל חודש כדי להרגיש טוב עם עצמך? קישור לתוכן שתף באתרים אחרים More sharing options...
Sargon פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 אין פה עיניין של חוכמה. כמו שאמרת... Arc מכניס קוד שמשחרר זיכרון בזמן קומפלציה. לעומת זאת GC צריך כל הזמן לנתח את התוכנית בזמן ריצה ולראות איזה זיכרון בשימוש ואיזה לא ולשחרר בהתאם. שזו פעולה יותר מסובכת בזמן ריצה.החיסרון של Arc שהוא לא מטפל בכל מיקרי הקצה אבל יש לזה פתרון שאתה מכניס AUTORELEASEPOOL לקוד.אין צורך לדעת איך מערכת ההפעלה עובדת בשביל לתכנת בC? שוב תלוי מה אתה עושה. אם אתה כותב תוכנית פשוטה שמדפיסה HELLO WORLD או משהוא בסגנון אז אוליי אתה צודק. אבל ברגע שתרצה לכתוב תוכנית בינונית או גדולה יותר אתה צריך להבין איך הזכרון הווירטואלי עובד, איך הזיכרון עובד עם THREADS, וכו וכו.כן כי כל GC שהיה קיים אי פעם השתמש באותו האלגורתים. כי אין יותר מדרך אחת מלכתוב אלגוריתם GC שמנקה זיכרון של תוכנית בזמן ריצה... :\ זה היה סארקזם אם לא הבנת.שוב זה שNDK וC++ לא רלוונטי לרוב האנשים זה ברור. גם תיכנות לא רלוונטי לרוב האנשים. תלוי מה אתה עושה.תכנת שכותב רק בJAVA ולא מבין מה קורה כשהוא כותב ב C או ב C++ הוא תכנת עם יכולות מאוד מוגבלות מבחינת הטכנולוגיות שהוא יכול להשתמש בהם.הממ... בא נראה... לANDROID אין ספריית ווידאו נורמלית בAPI שלו. יש אבל את FFMPEG... אופס! FFMPEG כתוב ב C. כנראה שתכנת הJAVA שלך לא מתאים לתפקיד בחברה שדורשת אפלקצייה עם יכולות ווידאו מתקדמות.חוץ מזה שלהבין איך מערכת ההפעלה עובדת עוזר להבין הרבה דברים שקשורים לזיכרון וביצועים גם אם אתה עובד עם JAVA.תמיד יש בעיות אבטחה. לא נראה לי שהגענו למצב שיש לנו מערכת הפעלה עם 0 בעיות אבטחה.עד לא מזמן היתה בעיית אבטחה ב OPENSSL שLINUX וANDROID עושות בה שימוש כבד שבעצם כל מי שהכיר את הפירצה הזו יכל לעקוף את התקשורת המאובטחת שOPENSSL מתיימר להבטיח.וזה עוד בפרוייקט OPEN SOURCE שאמור להיות יותר מאובטח כי כולם יכולים לקרוא אותו.מסתבר שהבעיה עם OPEN SOURCE שלמרות שכולם יכולים לקרוא את הקוד, אף אחד לא באמת טורח לעבור על כל הקוד ולהבין אותו. כך שבאגים חמורים שכאלה יכולים להתחבא בקוד במשך עשרות שנים. למרות שהוא פתוח לכולם. קישור לתוכן שתף באתרים אחרים More sharing options...
TheReaper פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 הצורך לדעת איך מערכת ההפעלה עובדת (איזו מהם?) מופיע בתחומים מסויימים של תכנות אבל לא בכולם. אתה יכול לכתוב תוכנית שמבצעת חישובים מתמטיים של פולינומים בלי שום ידע במערכות הפעלה נטו ע"י אימפלמנטציה "טיפשה"לדעת איך threads עובדים משותף לכל שפה שהיא multithreaded, אם לא תדע מה אתה עושה אתה תיתקל בבעיות בכל שפהרוב הGCים עובדים בצורה דומה לזה של ג'אווה. Arc הוא היחיד מסוגו עד כמה שאני יודע וזה שאפו לאפל אבל לא בהכרח סימן שחור לכל שאר השפותאפשר להשתמש בNDK בלי בעיה. אתה דיברת על לדאבג/לקמפל(במקרים מסויימים). השימוש עדיין קייםתמיד יש בעיות אבטחה,כן. אבל אם לא יצא עדכון ל5 למה שיצא עדכון ל4? העדכוני אבטחה בנתיים יצאו במקביל ל2 העצים ונראה שהמצב ימשיך (2 ו3 נזנחו)בכלל, כל הויכוח הזה עקר. אפילו אם אני אצליח להוכיח שJAVA על אנדרואיד זה הדבר הכי טוב בעולם זה לא ישנה. מתכנת בוחר את הפלטפורמה למוצר ואז השפה כבר נבחרת בשבילו. לעיתים יש אופציות (מולטי פלטפורם לדקסטופ למשל) ולפעמים אין בכלל (מק). עדיין, השיקולים הגדולים של בחירת שפה זה קודם כל התאמה לפלטפורמה/התאמה למציאות הקיימת בצוות פיתוחכך יצא שהייתי צריך לעשות דברים שבתכלס ניתן לעשות בכל שפה (עם רמת נוחות משתנה) דווקא על מטלב. ככה זה קישור לתוכן שתף באתרים אחרים More sharing options...
Sargon פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 בסופו של דבר גם JAVA וגם C++ רצות על אותה מערכת ההפעלה, אבל בJAVA יש לך מנגנונים שונים לעבוד עם MULTI THREADING לעומת C++, למרות שהם דומים.בC++ אתה צריך להבין יותר איך מרחב הכתובות הווירטואלי עובד. איך הרצה של קוד על Core של CPU עובדת וכו וכו.למשל עוזר לדעת מה זה BRANCH PREDICTION בשביל C++ אבל בJAVA זה כבר ברמה אחת יותר מופשטת.נו ויש מכשירים לא כל כך ישנים שיש להם רק ICS והם לא מקבלים עדכוני אבטחה. הבעיה היותר גרועה היא שGOOGLE לא מודיעה ללקוחות שלה שהיא מפסיקה לתמוך במכשירים שלהם. ואז הם לא יודעים בכלל שהם בסכנה.ומי אמר שאני לא משתמש ב JAVA? אני מתכנת במספר שפות ולמספר פלטפורמות. JAVA זה נחמד לשימושים מסויימים, אבל לשימושים שאני צריך לADNRIOD שזה ביצועים ועיבוד תמונה היא די גרועה. קישור לתוכן שתף באתרים אחרים More sharing options...
TheReaper פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 מישהו אמר שאתה לא משתמש? הויכוח עדיין עקר. שפה בוחרים לפי הפלטפורמה ולא לפי גחמות אישיות.וגוגל לא צריכה להודיע לאף אחד על הפסקה לתמיכה מלבד ליצרניות. הם יודעות על כל BRANCH מתי נגמר הפיתוח וצריכות להתאים את עצמםאו שהם יביאו את הגרסא הבאה או שישארו תקועים בעץוכמה מכשירים אתה מכיר שעובדים על ICS? כאלה שבני פחות מ4מכשירים משנת 2011 כמו הנוט מתעדכנים עד JB ויכולים להריץ בדרך כלל עד לוליפופ. הבעיה היא שאין גרסא מהיצרניתואתה כל הזמן מדבר על סכנות.קרא את הכתבה הבאה שמדברת על האירוע שאתה כנראה מתבסס עליו http://www.xda-developers.com/is-google-the-only-one-to-blame-for-missing-security-fixes/ קישור לתוכן שתף באתרים אחרים More sharing options...
Sargon פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 שפה בוחרים לפי איזה עבודה אתה צריך לבצע. בANDROID יש לך כמה אפשרויות, זה לא אומר שחייבים לבחור תמיד JAVA באנדרויד.ואין מכשירי NEXUS שלא מתעדכנים ל LOLLIPOP? נראה לי שגם להם Google מפסיקה לתת עידכוני אבטחה. אז נראה לי שהטענה שם מסיתה את הטיעון האמיתי שהוא שGOOGLE מפסיקה לתת עידכוני אבטחה למכשירים עם גירסא יותר נמוכה מ4.4, בין אם של גוגל ובין אם לא.למה שכל החברות יהיו חייבות לעדכן ל LOLLIPOP? צריך לעדכן גם מכשירים ישנים לLOLLIPOP? אין בזה הגיון.זה כמו שתאמר לי שמחשב PC עתיק חייב להתעדכן לWINDOWS 10 אם הוא רוצה לקבל עידכוני אבטחה. כל מי שיש לו Windows 7 אכל אותה. קישור לתוכן שתף באתרים אחרים More sharing options...
TheReaper פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 קראת את הכתבה שקישרתי אליה? מהרגע שלוליפופ יצאה לREPO יש 9 חודשים שבהן יצרניות יכולות לשחרר מוצרים חדשים לשוק עם המערכת הקודמת ומאז אי אפשר יותרגוגל מכניסה את השינויים לקוד ואם הבעיה היא קריטית היא יכולה להוציא את הפאץ' גם לגרסאות קודמותשום דבר לא מונע מהיצרנית לקחת את הקוד הזה (יש לה גישה) ולהטמיע אותו כעדכון. רובן פשוט לא רוצות להתעסק עם זהגוגל הבינה את הבעייתיות והחל מלוליפופ יש אפשרות לעדכן דרך הפליי סטור יותר רכיבי מערכת (כאלה מועדים לפורענות שגוגל מכירה) מבלי שזה יכנס כעדכון מערכת שלם שצריך לדחוף OTAגוגל לא מונעת מאף אחד לתקן את הגרסאות הקודמות של המערכת. היא פשוט לא עושה שום דבר שמקדם את זה יותר מדי (שוב, עד כדי 1/2 גרסאות אחורה)בנוגע לנקסוס, כל המכשירים עד נקסוס 4 קיבלו כבר עדכון ללוליפופ. המכשיר נקסוס אחד לפני 4 שלא מקבל עדכון הוא הgalaxy nexus וגם אליו אני בטוח שתמצא אימג' לוליפופ מצד שלישיהנה http://forum.xda-developers.com/galaxy-nexus/development/rom-aosp-lollipop-wee-stock-t2971379 קישור לתוכן שתף באתרים אחרים More sharing options...
Gil28 פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 זה שמתכנת ב-java לא צריך להכיר לעומק את כל נבחי מערכת ההפעלה זה דווקא יתרון. ברוב מוחלט של הפעמים בטח נוח יותר ליצור בלוק שהוא synchronized מאשר להתחיל לממש mutex. ואם כן יש לי מושג מה קורה? נהדר, אני יכול לפתח נייטיב לאנדרואיד בדיוק כמו המפתח המקביל ל-iOS. קישור לתוכן שתף באתרים אחרים More sharing options...
Sargon פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 בגלל זה JAVA פופלרית. אבל אפילו בJAVA אם אתה רוצה לכתוב דברים יותר מסובכים כדאי שתדע מה זה זיכרון ווירטואלי למשל.כן רק שאתה לא יכול לדבג בנייטיב בANDROID. שזה חיסרון אדיר.(לא מדבר על STACK TRACE או LOGCAT) קישור לתוכן שתף באתרים אחרים More sharing options...
Gil28 פורסם 2015 בפברואר 23 Share פורסם 2015 בפברואר 23 בהחלט יש כלים עמו DS-5 קישור לתוכן שתף באתרים אחרים More sharing options...
Sargon פורסם 2015 בפברואר 24 Share פורסם 2015 בפברואר 24 ל ARM DS-5 עדיין חסרים הרבה כלים שיש אותם בXCODE למשל. ושוב אי אפשר לדבג C++ באנדרויד אז לא יודע איך זה קשור בכלל. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.