ABA


"מה בתאכלס עושים עם python שאי אפשר לעשות עם JAVA או C#?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20187 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20187
איציק2
חבר מתאריך 26.4.08
2436 הודעות
   19:27   01.09.13   
אל הפורום  
  מה בתאכלס עושים עם python שאי אפשר לעשות עם JAVA או C#?  
 
   כל הזמן אני שומע מאנשים שכדאי ממש ללמוד את השפה,
בגדול לפני איזה שנה עברתי עליה בקטנה ולא נראית יותר מדי מסובכת.
השאלה היא מה בעצם היכולות שלה לעומת JAVA או C#?
אני מניח שבגלל שהיא רצה על כל מערכת הפעלה אולי יותר נכון לשאול רק על היכולות מול JAVA אבל אם אני בעיקר משתמש בוינדוס הייתי שמח לדעת גם מול C#.

תודה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  שאלה שתלויה במה אתה הולך לבצע בכל אחת מהשפות, last_test 01.09.13 21:02 1
     הבנתי תודה :), יש לך מושג אגב מזה גם perl? סתם שמעתי עליה במקרה היום גם.. איציק2 01.09.13 23:04 2
  זה לא בדיוק דברים שאי אפשר לעשות עם C#/JAVA טרה--בייט 02.09.13 14:10 3
  אני חייב לומר משהו על JAVA ו C#. ShocKi  03.09.13 11:46 4
     עם זה אני מסכים.. אבל השאלה שלי הגיע ממקום שאני לא יודע מה אפשר לעשות פה שאי איציק2 04.09.13 15:58 5

       
last_test
חבר מתאריך 20.8.13
328 הודעות
   21:02   01.09.13   
אל הפורום  
  1. שאלה שתלויה במה אתה הולך לבצע בכל אחת מהשפות,  
בתגובה להודעה מספר 0
 
   אם אתה הולך לייצר תוכנה עם ממשק משתמש מורכב, שצריכה קהל יעד ספציפי (נניח משתמשי windows) אז כמובן ש-C# היא הבחירה המובנת מאליו.

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


מעבר לכך ההבדל העיקרי בין 2 השפות הם ש-Python עובדת עם מפרש, ו-C# עוברת קומפילציה ואופטימיזציה מה-CLI Framework מה שהופך אותה להרבה יותר מהירה מ-Python, תהליך כתיבת הקוד הוא אומנם איטי יותר אבל אני מניח שזה עניין של ניסיון.

עוד הבדלים הם בעיקרים ב-syntax של השפות, Python היא שפה שדוגלת ב-shortcuts מה שנותן לך יכולות די כיפיות בשפה:

1.אין צורך להשתמש ב-new כדי לאתחל מופע של מחלקה.
2.את המילות מפתח public/private/protected יש קונבנציה אחרת כדי לעשות כל אחד מהם.
3.אין צורך להגדיר את סוג הטיפוס שהפונקציה מחזירה, או את סוג הטיפוס של ה-arguments שאתה מעביר.
4.List Comprehensions - אחד הדברים הכי מגניבים בפייתון, אתה יכול לכתוב דברים מטורפים בשורה אחת - http://www.secnetix.de/olli/Python/list_comprehensions.hawk
5.Generators - אתה יכול להגדיר פונקציה שמתנהגת כמו itreator בלולאה (בלי ההגדרה של הלולאה עצמה...) - http://wiki.python.org/moin/Generators

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איציק2
חבר מתאריך 26.4.08
2436 הודעות
   23:04   01.09.13   
אל הפורום  
  2. הבנתי תודה :), יש לך מושג אגב מזה גם perl? סתם שמעתי עליה במקרה היום גם..  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
טרה--בייט
חבר מתאריך 25.8.13
21 הודעות
   14:10   02.09.13   
אל הפורום  
  3. זה לא בדיוק דברים שאי אפשר לעשות עם C#/JAVA  
בתגובה להודעה מספר 0
 
   זו שפה עם כמה מאפיינים ייחודיים, כמו למשל שימוש באינדנטציה ע"מ לקנן ביטויים (כמו למשל מתודות ו\או לולאות), כמו למשל שהיא fully-interpreted כלומר הפיתוח נעשה בתוך ה-interpreter והקוד עובר אינטרפרטציה תוך כדי שהוא נכתב

דבר נוסף חשוב, זו שפה קרובה מאד לשפה האנגלית המדוברת, ולכן נוחה מאד לכתיבה

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

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

לחיי שפות תכנות מעניינות ומיוחדות

למי שמחפש דברים באמת מיוחדים (וגם יפים ויזואלית) - Squeak/Smalltalk

שנה טובה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   11:46   03.09.13   
אל הפורום  
  4. אני חייב לומר משהו על JAVA ו C#.  
בתגובה להודעה מספר 0
 
   זה לא רק שאלה של מה אפשר לעשות, זה גם שאלה של איך לעשות.
יש דברים למשל שאתה יכול לעשות ב C# בתכנות בשיטה פונקציונלית ואשר JAVA לא תומכת בהם. למשל lambda expressions, אשר בין היתר מאפשר לכתוב קוד קצר יותר וקריא יותר.


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
איציק2
חבר מתאריך 26.4.08
2436 הודעות
   15:58   04.09.13   
אל הפורום  
  5. עם זה אני מסכים.. אבל השאלה שלי הגיע ממקום שאני לא יודע מה אפשר לעשות פה שאי  
בתגובה להודעה מספר 4
 
   אפשר לעשות שם.
בכל אופן אחרי שיחה עם חבר הבנתי גם שיש ספריות מסוימות שיש שם ואין בC# או JAVA (מניח שלא בעיה לעשות אותן אבל הכוונה לנוחות שאם כבר קיים שם ויש ידע אפשר להשתמש בו).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net