איך להתחיל ללמוד תכנות? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך להתחיל ללמוד תכנות?


Albetron

Recommended Posts

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

1.איך כדאי להתחיל ללמוד תכנות.

2.מאיזה שפה כדאי לי ספציפית להתחיל..

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

אגב, בינתיים הבחור השאיל לי ספר שמדריך צעדים ראשונים לC# בשילוב עם טכנולוגיית NET.

קישור לתוכן
שתף באתרים אחרים

  • 3 שבועות מאוחר יותר...

כמובן שאין תשובה אחת נכונה, והכי חשוב פשוט להתחיל במשהו ולהתמיד.

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

אתה יכול להתחיל פה:

http://wiki.python.org/moin/BeginnersGuide

אגב, השפה הינה קרוס-פלטפורם, כלומר אתה יכול להריץ אותה על וינדוס, וכו' ללא הבדל.

קישור לתוכן
שתף באתרים אחרים

  • 1 חודש מאוחר יותר...

תלוי מה המטרה שלך. לידע אקדמי אין מנוס מלהתחיל בשפות native ורק אחרך כך לעבור לשפות שהן managed. בכיוון ההפוך המעבר יהיה מאוד קשה.

אם זה רק כתחביב אז אין בעיה ישר להתחיל ב-Java או C#.

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

קישור לתוכן
שתף באתרים אחרים

תלוי מה המטרה שלך. לידע אקדמי אין מנוס מלהתחיל בשפות native ורק אחרך כך לעבור לשפות שהן managed. בכיוון ההפוך המעבר יהיה מאוד קשה.

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

ואני מכיר די והותר אנשים שמעולם לא למדו שפות native, ולא הזדקקו להן מעולם.

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

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

קישור לתוכן
שתף באתרים אחרים

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

זאת דעתי, זה שבאת"א לא ככה מלמדים זכותם, אני חושב שזה לא נכון. ואגב זה שמישהו סיים מדעי המחשב לא אומר שהוא מבין לעומק. ומי שלא מבין C לעומק בחיים לא יהיה יותר ממתכנת . בלי C אי אפשר לעשות כמעט שום דבר שהוא low level.

קישור לתוכן
שתף באתרים אחרים

א. על סמך מה אתה אומר את זה? אני מאוד לא מסכים עם האימרה הזו.

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

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

קישור לתוכן
שתף באתרים אחרים

א. על סמך מה אתה אומר את זה? אני מאוד לא מסכים עם האימרה הזו.

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

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

א. הגיון גרידא.

ב. אין Embedded אין Real Time אין עבודה עם דריברים אין ממש עבודה עם (כן יש ספרית C# ל-ORGE אבל אתה לא ממש יכול לכתוב משהו כבד, כי הביצועים לא ברי השוואה ל-Native).

ללמוד C זה רק בתור בסיס ל-C++. עבודה עם C זה רק אם אתה צריך לעבוד עם משהו embedded שאין לו קומפיילר C++.

בתור מי שחסר כל ניסיון והבנה בתחום וכן שואף להעמיק ולקבל בסיס טוב בו, עם איזו שפה\שפות הייתם ממליצים להתחיל?

אם אתה רוצה ללמוד לתכנת בשביל הכיף Java או C#.

אם אתה רוצה ללמוד לתכנת בשביל לדעת איך מחשב עובד אז C\C++.

קישור לתוכן
שתף באתרים אחרים

א. במילים אחרות, אין לך שום ביסוס לטענה שלך.

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

ולא לומדים C בתור בסיס ל-++C. אם רוצים ללמוד ++C אז לומדים ++C, לא C.

אני מסכים שבשביל לדעת איך מחשב עובד ברמת הlow level מומלץ ללמוד ++C/C.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...