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

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 28/03/2017 - 15:52
נושא ההודעה: המלצה על מדריך java?

מחפש מדריך טוב ל java למתחילים
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 28/03/2017 - 16:13
נושא ההודעה:

לא להתחיל ללמוד.

לעבור לפייתון או C לפי הצורך.

הסיבה היחידה שג'אווה שימושי זה לאנדרואיד אבל לא ציינת את זה אז אני משער שזה לא בשביל זה.

ואם עדין אתה מתעקש הנה קישור:
http://www.greenteapress.com/thinkapjava/thinkapjava.pdf
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 28/03/2017 - 17:53
נושא ההודעה:

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

הודעה פורסם: 28/03/2017 - 18:52
נושא ההודעה:

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


אני לא המגיב שהמליץ לך ללמוד C או פייתון,
אך אני מתכנת ביום יום בפייתון - זאת העבודה שלי Smile

אני יכול להגיד לך שמנסיוני שיחסית קל לדלג בין שפות ״חדשות״,
למשל אם תלמד ג׳אווה ותרצה לדלג לפייתון או לC# חס וחלילה יהיה לך דיי קל, כי העקרונות די דומים,
אבל לדלג ללC רגיל יהיה לך קצת קשה - לי לפחות זה קצת קשה למרות המדריך הטוב שאיתו אני לומד -
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
קורס חינמי מעולה!
אני שובר שיניים על מצביעים והקצעת זכרון - שזה משהו שממש לא קיים/לא בשימוש יום יומי במערכות חדשות..

אם אתה רוצה ״רק״ להתנסות בתכנות ולצבור קצת יכולת כתיבת קוד,
תלמד פייתון
אם אתה רוצה להיות ״קרנליסט״ תלמד C, ולאחר מכן אולי C++,
אם אתה רוצה לפתח למובייל, כנראה שכדאי יהיה להתחיל מג׳אווה..
יש את נושא ה-Web אני פחות בקיא בו, אבל בגדול הכל הולך Smile חוץ מ-C, C זה השטן..
אבל ב-Web יש ים טכנולוגיות שמשתנות כל יום, go, ruby, php, node js כל יום בערך יש טרנד חדש, אבל יחסית פשוט לעבור מטרנד לטרנד..

בשורה התחתונה,
לדעתי באמת כדאי לך להתחיל מפייתון, ואחר כך לעבור לג׳אווה או C כמו שהבחור אמר

נ.ב. ג׳אווה סקריפט וג׳אווה הקשר ביניהן מקרי לחלוטין,
הsyntax דומה, אך הייעוד כנראה ממש ממש שונה..

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

הודעה פורסם: 29/03/2017 - 16:03
נושא ההודעה:

אתה לא מחרטט כלל – סגרת לי פינה חשובה.. ועכשיו תורי לחרטט אבל הפעם באמת Smile

מתוך דבריכם ועיון ברשת מצטירת לי תמונה שכזו:
יש משחק-פשרות: נוחות משתמש מול יעילות – כשדרושה מהירות (זמן אמיתי, קרנלים וכו) יותר מתאימה C – כלומר פחות "תיווך" בין המשתמש לבין שפת המכונה של המעבד, על חשבון נוחות ומהירות הפקת התוכנה. מתאים למערכות רזות ויעילות, "צבא קטן וחכם/מהיר ועצבני”. כשהמהירות פחות קריטית, ניתן לקבל יותר נוחות ומהירות הפקת תוכנה עם הקבוצה השניה שנקראת למיטב הבנתי Object Oreinted – מישהו יכול במשפט או שנים להסביר מה זה?? התרגום לעברית לא משהו… אני מבין ש C++ היא משהו היברידי שמשלב את שני העולמות, ולדבריך, אם משתמשים בה גם בקרנלים, אז השילוב די מוצלח, אבל עדיין לא מגיעה לרמת הנוחות של OO – אחרת היתה מיתרת את השימוש של OO.

אני יותר קרוב למה שכתבת: "אם אתה רוצה ״רק״ להתנסות בתכנות ולצבור קצת יכולת כתיבת קוד". חושב שבעידן הנוכחי לימוד שפת תכנות ברמת שימוש יומיומי צריכה להיות כמו לימוד שפה שניה (כמובן כמו בכל דבר, בתלות בזמן הפנוי, כישורים וכו). ראשית זה חשוב ועשוי לפתוח הזדמנויות עתידיות, יכולת דיאלוג עם תכנתים, ושנית עשוי לעזור לפתרון בעיות ביומיום.
אני מתלבט בתור התחלה בין ג’אווה לפייתון – רוצה להרוויח גם את האנדרואיד ומכיוון שלא נראה בעתיד הקרוב שילוב של פייתון עם אנדרואיד, אז נוטה יותר לג’אווה. האישור שלך שהמעבר הוא יחסית קל עוזר. ממבט חטוף על תחומים רבים: חבילות של הפצות לינוקס, מוצרי צריכה כמו טלוויזיות וכו, פייתון מתקבעת כשפה שולטת נכון לעכשיו. נראה שפייתון הצליחה לשלב נוחות ויעילות שמתאימה למגוון רב של ישומים (גם היא היברידית?)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
משה-נחמיאסלא בפורום כעת ת.הצטרפות: 01/09/2010 · הודעות: 300 ·
 

הודעה פורסם: 29/03/2017 - 16:50
נושא ההודעה:

עשית סלט Smile
לגבי הענין של הפשרות זה די נכון, ב-C/C++ אלו שפות מהירות מבחינת ביצועים אבל יחסית קשות למתחילים, מצד שני יש שפות כמו פייתון שהיא שפת אינטרפרטר שרצה לאט יותר אבל קל יותר לעבוד איתה.
אגב, C++ היא גם OO (ועוד דברים), C לא.

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

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

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

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

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

הודעה פורסם: 29/03/2017 - 18:34
נושא ההודעה: אוי וואי...

הכלל הראשון שצריך לדעת כששואלים "איזו שפת תכנות ללמוד" הוא:
רוב התשובות שתקבל יהיו בעיקר על בסיס דת!

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

המציאות כמובן שונה:
מתכנת רע יכול בקלות לכתוב קוד ב-C, שירוץ הרבה יותר לאט מקוד שכתב מתכנת טוב ב-Python.

האמת היא שיש הרבה גורמים שמשפיעים על ביצועים של תוכנה.
למשל, ה-JVM, המכונה הווירטואלית שמריצה תוכנות Java, יודעת לעשות JIT - תרגום "בדיוק בזמן" של קוד Java לקוד מכונה כדי שירוץ מהר יותר.

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

מה שאתה צריך להבין קודם כל, כשאתה בא ללמוד תכנות, זה:
השפה היא רק כלי אחד!

כדי ליצור תוכנית צריך לדעת הרבה מעבר לשפת תכנות.

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

כלי הפיתוח ייצרו יישום כזה עבורך אוטומטית, יש להם תבנית לזה, אבל לא תמצא שם את הידיים והרגליים, לפני שתלמד על מודל היישום של Android, ה-API של המערכת, ואיך בונים ומנהלים שם GUI.

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

שלב הבא אפשר להבין כל מיני דברים מסביב.

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

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

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

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

אחד ממאפייני שפות תכנות, שמחלק אותן לשתי קבוצות הוא:
managed או unmanaged.

כלומר: האם השפה מטפלת בניהול זיכרון בעצמה, או משאירה את הטיפול בידי המתכנת.
שפת C היא unmanaged. היא משאירה למתכנת לנהל לבד את הזיכרון, ונותנת לו גישה ישירה לזה.
Java ו-Python הן managed.
הן כוללות ניהול זיכרון אוטומטי.

נשמע כיף, קל ופשוט נכון?
אז זהו, שלא!

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

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

כמו שציינתי, לכל אחד יש שפה אהובה, ושפה שנואה.
שפה אהובה עלי היא Python, למרות שאת רוב העבודה שלי אני עושה ב-Java (כי אני עובד בעיקר על Android).
ולא - Java מוטמעת כ"כ עמוק במערכת הזו, שלא סביר שהיא תוחלף במשהו בעתיד הנראה לעין.

השפה השנואה עלי ביותר היא JavaScript, שאגב גם הסינטקס שלה לא ממש דומה ל-Java כי היא weakly typed (לא משנה כרגע מה זה).

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

כמה קריטי?
לא יודע. תלוי מה תרצה לעשות עם הידע הזה, וכמה רחוק תרצה להתקדם.

לימוד C ישלים חלק מהחורים האלה "על הדרך", אבל ייתכן שההשלמה הזו תהיה אתגר בשבילך.

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

בהמלחה!

--לב
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/04/2017 - 12:00
נושא ההודעה:

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

אני מתנסה עם java כרגע ומשחק קצת עם אנדרואיד - זה נחמד ויש לי איזה צורך באפליקציה אישית וברגע שאסיים אותה אז אעבור לפייתון. אבל בהקשר של סוגי השפות השונות: מקומפלות (C) ביניים (JAVA) ומתורגמות (פייתון) - מענין אותי לדעת האם ניתן לראות את קוד המקור במקרים הנל? אני שואל את זה משני הכיווינים: מכיוון של רצון לדעת איך התכנת עשה פעולה מסוימת וללמוד מכך, ומכיוון של הגנה על סודיות הקוד. אני מניח ששפה מקומפלת - לאחר קימפול לא ניתן להבין מה קורה בקוד המקור, אבל מה קורה עם java או פייתון - האם ניתן להוציא את קוד המקור מתוך אפליקציה במכשיר? במקרה נכנסתי לממיר לוויני שלי ומצאתי שם קבצי פייתון שניתן לראות את קוד המקור - האם זה כך בכל המקרים עם פייתון? האם ניתן להסתיר את הקוד אם מעונינים?

לסיום: אשמח להמלצה על אפליקציה טובה להרצת קוד java על מכשיר אנדרואיד (מדובר על קוד java לא אפליקציה)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
eאורח · ·
 

הודעה פורסם: 07/04/2017 - 12:44
נושא ההודעה:

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

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

לשאלתך: אני לא חושב שיש דבר כזה הרצת קוד java שהוא לא אפליקציה על מכשיר אנדרואיד
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/04/2017 - 13:57
נושא ההודעה:

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

לשאלתי: כנראה שלא הובנתי נכון - כוונתי לאפליקציה שתריץ תוכנית java קטנה על אמולטור/טרמינל במכשיר אנדרואיד -לצורך חישוב מסוים שאני צריך לבצע מדי פעם. מצאתי משהו אבל היא לא עובדת כל כך טוב ולכן בקשתי המלצה למשהו טוב - משהו כמו האפליקציה הזו:
https://play.google.com/store/apps/details?id=ab.java.programming
תודה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
eאורח · ·
 

הודעה פורסם: 07/04/2017 - 15:16
נושא ההודעה:

כלים ל-reverse engineering של APK או JAR לא חסר
http://www.javadecompilers.com/apk
http://jd.benow.ca/
אל תצפה לתוצאות שיהיו קריאות ונוחות להבנה אבל כמו שאמרתי סודות לא ממש אפשר לשמור ככה.

לעניין השני אם מדובר בחישוב שאתה חוזר עליו אז למה אתה לא הופך אותו פשוט לאפליקציה?
הדברים האחרים שמצאתי בנושא הם ישנים ולא עובדים בגרסאות חדשות של אנדרואיד. אולי אפשר להתקין לינוקס על אנדרואיד ובתוכו להתקין JDK, נראה לי פתרון נורא מסובך אם זה בכלל יעבוד.
או שאם יש לך חיבור לרשת פשוט תשתמש במשהו online:
http://www.javarepl.com/term.html
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/04/2017 - 17:14
נושא ההודעה:

הבנתי... ברגע שהופכים את קבצי ה java והאנדרואיד לאפליקציה (APK) אז זה כבר לא קריא ונדרש לבצע reverse engineering ובכדי להבין את התוצאה דרוש נסיון ופענוח. האם מפתחי האפליקציות נוהגים לפרסם באתר שלהם את קוד המקור או כל אחד עושה כרצונו?
במקרה של קוד java נטו ופייתון אני מניח שברוב המקרים זה בקוד מקור

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

צודק - זו הכוונה - אבל לעתים זה משהו פשוט ללא צורך ב GUI ואין כח לייצר אפליקציה...
לדוגמא בפייתון ראיתי את האפליקציה הזו וחשבתי שאויל יש מקבילה ל java:
https://play.google.com/store/apps/details?id=enurisoft.com.pythoninterpreter
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
queency3אורח · ·
 

הודעה פורסם: 11/04/2017 - 11:23
נושא ההודעה: queency3

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

הודעה פורסם: 12/04/2017 - 08:05
נושא ההודעה:

ציטוט:
מי אמר שאין פיתון לאנדרואיד ?
אני התקנתי מפרש פיתון לאנדרואיד !

אני שאלתי על הרצת תוכניות java על אנדרואיד
האם התכוונת למפרש פייתון כמו שהצגתי בפוסט הקודם?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. אורח [פיסקלטור]
  5. אורח
  6. משה-נחמיאס
  7. אורח
  8. אורח
  9. אורח [e]
  10. אורח
  11. אורח [e]
  12. אורח
  13. אורח [queency3]
  14. אורח