עבור לתוכן

כמה שאלות בנוגע לשפת התכנות Python

Featured Replies

פורסם

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

אז.. השאלה הראשונה שלי היא.. האם Python היא באמת שפת התכנות הראשונה המומלצת ביותר?

השאלה השניה [והחשובה ביותר] שלי היא איזה סוג של תוכנות אני יכול "לבנות" בשפת Python?

השאלה השלישית ואחרונה שלי בינתיים היא מה ההבדל Python ל-C++ לדוגמה, מה אני יכול לעשות בC++ שאני לא יכול לעשות בPython וההפך?

תודה רבה לעוזרים =]

פורסם

פייטון היא בהחלט שפה טובה גם למתחילים.

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

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

אל תכתוב בכתב מודגש אם לא צריך.

פורסם

ב-++C גם אפשר לכתוב תוכניות שיתממשקו עם מערכת ההפעלה (דרייברים וכו').

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

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

פורסם

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

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

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

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

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

פורסם

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

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

http://www.mono-project.com/Main_Page

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

C++ ממש לא בדיחה גרועה ויש תחומים שלא הייתי רוצה לגעת בהם עם שפות כמו פייטון או גאוה או סי-שארפ.

אבל את דעתי לגבי פייטון כבר אמרתי :)

פורסם

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

לגבי #C - קראת את הSPEC? אף אחד לא מספיק מפגר לממש את זה בעצמו חוץ מMS שמקדמים אותה. גם ככה ההבדל בין #C לJAVA זה סה"כ מקרו, אז די.

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

פורסם

לגבי C#, אתה קראת ? הסתכלת באתר של מונו שרשמתי ? המימוש שלהם הוא תואם 100% ל C# 2 ותואם כמעט באופן מלא (כולל LINQ ומרבית שאר הדברים) עם C# 3 כבר כיום (ואפילו יש להם איזה 50% תאימות מול SilverLight), אז כנראה שהם לא המפגרים...

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

ההבדל בין C# ל JAVA הוא ממש לא מקרו, במיוחד לא ב C# 3 שמאפשר תכנות לאמבדה ושאילתות type safe בשפה עצמה, נכון שהבסיס והרעיון שלהם זהה, אבל ככל שהזמן עובר הם רק מתרחקות.

וכרגיל, יש תכנות ויש תכנות ויש מקום לכולם.

פורסם

זה שהופכים את #C ל"השפה שיש בה הכל" בדיוק הופך אותה לשפה שלא צריך ללמד ראשונה.

ולזה התכוונתי.

מרחיבים אותה אינסוף, והיא לא פשוטה.

פורסם

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

פורסם

עדיין נשמע לי הרבה יותר מדי רעש לעומת ללמוד משהו פשוט.

ארכיון

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

דיונים חדשים