כמה שאלות של מתחיל..
-
שלום לכולם!
אני חדש כאן בפורום, ובתחום הזה בכלל..
התחלתי ללמוד לפני כחודש תכנות (c#) בכוחות עצמי..
בשעות היום אני לומד בכולל ואת הערב אני מקדיש ללימוד הנושא, תוך שאיפה להתמקצע בתחום.
אז אם יש לכם עצות מהניסיון איך ללמוד ומה, אשמח לשמוע (כרגע אני לומד #C).
למדתי את התחביר הבסיסי, ואת הנושא של המחלקות וההורשה וכדו'.
אני מנסה לכתוב תוכנה לגבאים (בשביל הלימוד..)
ואני קצת מסתבך..
אז קודם כל שאלה טכנית:
במחלקת המתפללים אני מגדיר ENUM של סוג, שנותן 3 אפשרויות: כהן, לוי, ישראל. אבל אח"כ כשאני בא לממש אותו בconstructor של המחלקה, אני מקבל הודעת שגיאה שא"א להזין אליו ערכים. מה אפשר לעשות?חוצמיזה, אני מנסה להבין האם כדי לבנות תוכנה כזאת, צריך לבנות מחלקות של אנשים ומתפללים וכן על זה הדרך? האם לא יותר פשוט לעשות טבלה עם נתונים ופשוט כל פעם לשלוף אותם משם? או בשביל מה בעצם צריך את כל הדרך המסורבלת הזאת של הגדרת קלאסים וממשקים?
חוצמיזה, אם אני רוצה לעשות ממשק משתמש קלאסי (כגון דרך WPF או windowsForm) האם עדיין צריך לכתוב את התוכנה בצורה הזאת, או ששם זה משהו אחר..
אני מבין שזו שאלה של בור.. אבל לא הביישן למד..שאלה נוספת האם יש טעם ללמוד WindowsForm וגם WPF או שהשני מחליף את הראשון לגמרי?
תודה רבה!!פורסם במקור בפורום CODE613 ב14/05/2015 12:50 (+03:00)
-
חוצמיזה, אני מנסה להבין האם כדי לבנות תוכנה כזאת, צריך לבנות מחלקות של אנשים ומתפללים וכן על זה הדרך? האם לא יותר פשוט לעשות טבלה עם נתונים ופשוט כל פעם לשלוף אותם משם? או בשביל מה בעצם צריך את כל הדרך המסורבלת הזאת של הגדרת קלאסים וממשקים?
קשה לקלוט את התועלת של OOP מיד, אבל זה בסיס בתכנות.
אם זה למטרות לימוד אז אין שאלה למה צריך, עכשיו תלמד, וכשתשתפשף תבין לבד למה אתה זקוק לזה.שאלה נוספת האם יש טעם ללמוד WindowsForm וגם WPF או שהשני מחליף את הראשון לגמרי?
תלמד אחד מהם.
פורסם במקור בפורום CODE613 ב14/05/2015 15:17 (+03:00)
-
שלום! מקוה שתתמיד איתנו גם אחרי שכבגר לא תהיה ירוק (אלא כריש בס"ד)!
@avr416חוצמיזה, אני מנסה להבין האם כדי לבנות תוכנה כזאת, צריך לבנות מחלקות של אנשים ומתפללים וכן על זה הדרך? האם לא יותר פשוט לעשות טבלה עם נתונים ופשוט כל פעם לשלוף אותם משם? או בשביל מה בעצם צריך את כל הדרך המסורבלת הזאת של הגדרת קלאסים וממשקים?
יפה מאוד שקלטת את ה"מונחה אובייקטים" שזה שאיפה להסתכל על הכל כאובייקטים. אבל ודאי שאינך חייב לשום מתודולגיה.
אבל הכי מעניין זה מה שאתה שואל "בשביל מה בעצם צריך את כל הדרך המסורבלת הזאת של הגדרת קלאסים וממשקים"
במילים אחרות בשביל מה החיה הזאת ששמה OOP.
אז התשובה היא כדי להעביר כמה שיותר את התפיסה האנושית שלך לקוד ה"גולם". במקום שאתה תידע שיש מתפלל, אך הקוד יתייחס אליו כרשומה נוספת, ואתה בכח הידע שלך תתרגם את הסתום בקוד לבעל משמעות כל פעם מחדש בעזרת לוגיקה בראש שלך ולפי זה תפעל עליו בהתאם פעולות, אתה פורס את התפיסה שלך בפני המחשב. ואז שאתה כבר לא צריך להיכנס לתוך הגולמות של הקוד הרבה יותר קל לכתוב ולהחזיק ראש ב"מערכת" אותה אתה בונה.
הכי טוב זה דוגמאות. אני מקוה לכתוב על זה בשבוע הקרוב בל"נ.חוצמיזה, אם אני רוצה לעשות ממשק משתמש קלאסי (כגון דרך WPF או windowsForm) האם עדיין צריך לכתוב את התוכנה בצורה הזאת, או ששם זה משהו אחר..
הכל אותו דבר. C# זה C#, והממשק זה סתם ספרייה מוכנה.
אני מבין שזו שאלה של בור.. אבל לא הביישן למד..
ממש לא שאלה של בור, וגם אם כן זכותך להיות בור במתכנות כמו שאני בכל מה שלא תכנות (סידור פרחים למשל. אבל אני מניח שגם אתה לא מבין בזה :)).
שאלה נוספת האם יש טעם ללמוד WindowsForm
אין טעם. הוא לא מחליף לגמרי (הWinFoms נחשב לקומפקטי בתוכנות זעירות), אבל זה כבר לא שווה דקה לימוד לדעתי.
פורסם במקור בפורום CODE613 ב14/05/2015 15:54 (+03:00)
-
ספר לימוד C#
בהצלחה.פורסם במקור בפורום CODE613 ב14/05/2015 20:04 (+03:00)
-
תודה רבה לכולם על קבלת הפנים החמה! אשמח להחכים ולדעת ולהיות חלק מהקהילה..
אני מבין את החשיבות של הOOP, אבל לא ברור לי אם אני רוצה לבנות תוכנה עם ממשק משתמש בWPF האם גם בשביל זה אני צריך להגדיר מחלקות וכדו' או שבשביל זה אני מכניס בממשק טבלה והמשתמש מזין לתוכה את נתוני המתפללים, ואח"כ אני יכול להגדיר פונקציות שיפעלו עליה, או כל דבר אחר. או שגם בשביל זה הכי טוב זה לבנות מחלקות, ואח"כ לממש אותם דרך ממשק המשתמש (שאת זה עדיין אין לי מושג איך עושים.. אבל אני מניח שזה השלב הבא שאני צריך ללמוד, כלומר WPF..)?
למדתי דרך 2 ספרים של הכנה לבגרות 5 יח"ל במחשבים(עיצוב תוכנה מבוסס עצמים: ויסודות במדעי המחשב בשפת [url]: http://www.tau.ac.il/~csedu/yesodotoop/yesodot_csh_main.html[/url]). הם די ברמה בסיסית, אבל הם נתנו לי את ההבנה והחשיבה של דרך התכנות.. ולא רק את המידע איך מממשים פונקציה / לולאה וכדו' בלי להבין בשביל מה צריך את זה..
עכשיו אני לומד ב#C על כוס קפה שהוא טוב, אבל קצת תמציתי מדי ואני מחפש משהו יותר עדכני ושיתן לי יותר מידע מה מאחורי הדברים, ולא רק שיסביר לי איך כותבים קלאס או ממשק ולא יותר (הספר הזה בעיקר נותן לך את המידע איך לממש בשפה, ופחות מסביר בשביל מה זה נצרך..) אולי אנסה בספר של קורנר..
מחפש ספר או מדריך טוב ללמוד בו WPF, או לשמוע המלצות מה השלב הבא? (כמובן שאני צריך לתרגל הרבה כתיבה של מחלקות ולהרחיב את הידע שלי על מה שעומד מאחורי הדברים.. ולכן החלטתי לנסות לכתוב פרוייקט קטן כדי לתרגל את מה שלמדתי.. )
האם ללמוד ASP.NET MVC, SQL? או שיש דברים יותר בסיסים שצריך להשלים, כיון שאין לי מושג איך כותבים תוכנה שיכולה גם להסתנכרן עם מאגרי מידע באינטרנט/GPS ודברים כאלה? או שזה מה שאני אלמד בASP ודומיו?
אם מישו יוכל לעשות לי קצת סדר בנושאים הללו אשמח..
תודה רבה!פורסם במקור בפורום CODE613 ב14/05/2015 20:35 (+03:00)
-
מצאתי גם את הספר הזה באנגלית: c# 2010 all in one for dummies אתה יכול להוריד אותו מכאן בחינם בקובץ PDF
ולתרגם אותו בעזרת גוגל טרנסלט.. (פשוט לעשות העתק הדבק ישירות מהקובץ..)
ניסיתי קצת לקרוא אותו הוא נראה מאד יסודי ומוסבר, אבל זה קצת מלאה למי שלא כ"כ מבין אנגלית, כמוני.
אשמח אם מישו יעזור לי ויענה על שאלותי הקודמות.
שבת שלום ומבורך לכולנו ולכל עם ישראל!פורסם במקור בפורום CODE613 ב15/05/2015 12:40 (+03:00)
-
אם אני רוצה לבנות תוכנה עם ממשק משתמש בWPF האם גם בשביל זה אני צריך להגדיר מחלקות וכדו' או שבשביל זה אני מכניס בממשק טבלה והמשתמש מזין לתוכה את נתוני המתפללים, ואח"כ אני יכול להגדיר פונקציות שיפעלו עליה, או כל דבר אחר. או שגם בשביל זה הכי טוב זה לבנות מחלקות, ואח"כ לממש אותם דרך ממשק המשתמש (שאת זה עדיין אין לי מושג איך עושים.. אבל אני מניח שזה השלב הבא שאני צריך ללמוד, כלומר WPF..)?
C# נשארת אותה שפה בכל הפלפורמות. WPF זה פלטפורמה אחת. אני ממליץ לך ללמוד אותה אם אתה רוצה לעשות תוכנות שולחניות.
האם ללמוד ASP.NET MVC, SQL? או שיש דברים יותר בסיסים שצריך להשלים, כיון שאין לי מושג איך כותבים תוכנה שיכולה גם להסתנכרן עם מאגרי מידע באינטרנט/GPS ודברים כאלה? או שזה מה שאני אלמד בASP ודומיו?
אם מישו יוכל לעשות לי קצת סדר בנושאים הללו אשמח..
תודה רבה!כמעט כל תוכנה שתכתוב תהיה קשורה לנתונים. אז כדאי קצת לעבור על SQL.
ASPNET MVC זה פלטפורמה (ווב) + וMVC זה ללמוד מתודלוגיה (סגנון תכנות, תבנית עבודה). זה מאוד מומלץ אבל זה חתיכת לימוד.לא יודע כ"כ לכוון אותך כי ייתכן שכדאי להתחיל אחרת ממה שצעדתי אני. אני שנים הייתי בWPF. כעת אני קצת נמצא בMVC.
פורסם במקור בפורום CODE613 ב17/05/2015 14:39 (+03:00)
-
תודה רבה על התגובות המושקעות!! אני מאד נהנה לקרוא את הדברים שלך!!
אם אני מבין נכון, נכון לומר שwpf זה פלטפורמה לפיתוח תוכנה שולחנית עם ממשק משתמש מעוצב גרפית. אבל המימוש של התוכנה עדיין משתמש באותה שפה, ולכן גם כאן יש צורך לבנות מחלקות וכדו' ולא מספיק (או שלא מומלץ..) לבנות כמה טפסים שפשוט מזינים אוטומטית את הנתונים ישירות למסד הנתונים המרכזי..
סליחה אם חפרתי יותר מדי בנושא..הבנתי שעכשיו מיקרוסופט מאפשרים לפתח אפליקציה שיודעת לרוץ על כל סוגי הפלטפורמות (מחשב נייח/נייד) האם זו פלטפורמת פיתוח שונה, או שזה שכלול של WPF? כמו כן, האם נכון לומר שASPNET זה בעצם פלטפורמה לתכנות אתרי אינטרנט, או שלאו בהכרח?
ושאלה אחרונה (כרגע..) אני מבין מדבריך שעד עכשיו בעיקר התעסקת עם WPF, אז האם בעצם עדיף לקחת נושא אחד ללמוד אותו היטב ולהתמקצע בו או שעדיף (או שצריך) לנסות להקיף וללמוד כמה פלטפורומות כי בסוף צריך לדעת להשתמש בכל הכלים? כלומר, האם עדיף סיני או עוקר הרים :lol:
(כמו כן, האם יש ספר מומלץ ללימוד WPF?)
תודה רבה רבה!!פורסם במקור בפורום CODE613 ב17/05/2015 19:18 (+03:00)
-
אם אני מבין נכון, נכון לומר שwpf זה פלטפורמה לפיתוח תוכנה שולחנית עם ממשק משתמש מעוצב גרפית. אבל המימוש של התוכנה עדיין משתמש באותה שפה
בדיוק.
ולא מספיק (או שלא מומלץ..) לבנות כמה טפסים שפשוט מזינים אוטומטית את הנתונים ישירות למסד הנתונים המרכזי
אין כזה דבר. לא שלא מומלץ, זה פשוט לא קיים. בשביל זה יש את אקסס או תוכנה שמישהו בנה, בWPF למשל
הבנתי שעכשיו מיקרוסופט מאפשרים לפתח אפליקציה שיודעת לרוץ על כל סוגי הפלטפורמות (מחשב נייח/נייד) האם זו פלטפורמת פיתוח שונה, או שזה שכלול של WPF?
פותח כבר, רק השתדרג לקראת WIN10 לרוץ גם על פלפורמות זרות (מק לינוקס אנדואיד).זה פלטפורמה חדשה מעט, דומה מאוד מאוד לWPF. רק מוגבלת בכמה דברים מטבעה - התוכנה רצה בתוך ארגז חול - כמו JS בדפדפן שלא יכול לעשות הרבה בלי רשות.
כמו כן, האם נכון לומר שASPNET זה בעצם פלטפורמה לתכנות אתרי אינטרנט, או שלאו בהכרח?
בדיוק.
האם בעצם עדיף לקחת נושא אחד ללמוד אותו היטב ולהתמקצע בו או שעדיף (או שצריך) לנסות להקיף וללמוד כמה פלטפורומות כי בסוף צריך לדעת להשתמש בכל הכלים? כלומר, האם עדיף סיני או עוקר הרים :lol:
לא יודע...
מצד אחד צריכים להשקיע בכל דבר שלומדים, אבל מאידך הפיזור עוזר להחליט במה לבנות מערכת, מה החסרונות והתירונות של כל פלטפורמה.(כמו כן, האם יש ספר מומלץ ללימוד WPF?)
אני קניתי את הספר הזה WPF 4.5 Unleashed. אבל יש הרבה אחרים.
יש גם מדריכים אינטרנטיים לרוב:
http://webmaster.org.il/articles/wpf
http://www.codeproject.com/Articles/22980/WPF-A-Beginner-s-Guide-Part-of-n כבד ובאנגלית - אבל יסודי.
http://www.wpftutorial.net/LearnWPFin14Days.html
https://joshsmithonwpf.wordpress.com/a-guided-tour-of-wpf/ תוכן לסדרה בcodeprojectפורסם במקור בפורום CODE613 ב18/05/2015 11:28 (+03:00)