מהיא C#?
זאת שפת תכנות מבית מיקרוסופט, מאוד נפוצה בשוק וממש דומה בצורת התחביר ל-JAVA.
היתרונות שלה, כתיבה מאוד מהירה של קוד, מאוד נוח לעצב ממשקים גרפיים, בנוייה כך שהיא יכולה להשתלב עם עוד הרבה טכנולוגיות ושפות שונות ועוד. כמות המתכנתים ב-C# עצומה ומכאן שכמות העזרה שניתן לקבל באינטרנט וכמות הדוגמאות שניתן להוריד רבים גם כן. לפני כמה שנים התחילו לעבוד על יישום לא רשמי של השפה לתוך פלטפורמות נוספות (מאק ולינוקס) בשם MONO
מה רע?
תפקידו של MONO לממש את המכונה הוירטואלית של C# בלינוקס ומאק. הבעיה עם MONO שהיא מיישמת טכנולוגייה ששייכת למיקרוסופט ואנשי הלינוקס מודעגים שמיקרוסופט ימצאו דרכים לתבוע אותנו על שימוש בפטנטים שלהם. אני אתן לכם דוגמאות לתוכנות שכבר כתובות ב C# והרבה ממכם ניסיתם אותן או עובדים איתן:
banshee, F-SPOT, Gnome-DO
העיניין הוא שככל שיגדל מספר התוכנות שכתובות בשפה זאת, מה יהיה עם אובונטו ברגע שמיקרוסופט תדרוש פתאם להסיר את כל התוכנות האלו ממערכת ההפעלה?
לאחרונה, היתה הודעה באינטרנט מצד נציג מיקרוסופט שהם מבטיחים לא לתבוע כל עוד נשתמש בחלק מטכנולוגייה של השפה (אנו בעכרון לא צריכים יותר מאלו) ואני אגיד לכם שאני לא יודע עד כמה זה באמת רשמי ועד כמה יש להם באמת מילה.
רציתי לספר לכם את זה כי אני בטוח שחלקכם לא מודעים בכלל לכל הסיפור הזה.
http://www.workswithu.com/2009/07/07/mono-now-safe/
http://news.cnet.com/8301-13505_3-10280924-16.html
http://ldn.linuxfoundation.org/blog-entry/microsoft-vs-tomtom-abandon-mono-right-now
מהצד הנטרלי שלי:
אני בזמני החופשי לומד C# (זה מה שרוצים היום בשוק העבודה וכסטודנט חשוב לי להתקבל לעבודה כל שהיא בתחום התכנות כמה שיותר מהר). התחלתי לכתוב תוכנה קטנה שבקשו ממני וכתבתי אותה על לינוקס, ב-MONO DEVELOP שהיא סביבת העבודה הרישמית של MONO. לקחתי את התוכנה וניסיתי לקמפל אותה בוינדוס עם סביבת העבודה המפורסמת - ויזואל C# בגירסה 9, גיליתי (וזה היה צפוי) שהתוכנה התקמפלה מצויין. אני מוכרח לציין, ניסיתי לקרוא לכמה פונקציות ב C# שתפקידן לשמור את הגדרות של תוכנית לתוך קובץ והן לא התקמפלו על MONO כי MONO עדיין לא מיישם את כל הפונקציונליות של C# ועדיין ישנם חלקים חסרים. גם לא ניסיתי ליצור ממשקים גרפיים דרך MONO אבל ראיתי שהוא עובד מול ספריות- GTK+ (אפילו בגירסה לוינדוס..) וגם שם יכולות להופיע בעיות אי תאימות רבות.
http://mono-project.com/Main_Page
משהו שרציתי לשתף:
בגלל כל ההתעניינות שלי בנושא עליתי על שני פרוייקטים מעניינים שלא מצריכים טכנולוגייה של מיקרוסופט ועדיין מחזיקות את אותם היתרונות של C# או לפחות חלקן:
1. השפה - JAVA
מחזיקה ביתרון של תאימות להרבה טכנטולוגיות קיימות כגון התחברות למסדי נתונים וגם מספיק לכתוב קוד אחד שירוץ גם על לינוקס וגם על וינדוס וגם על מאק וכדומה שזה חוסך הרבה עבודה.
עם הפרוייקט שמצאתי, ניתן להשתמש בסיפריות של GTK+ עם JAVA וזה נותן לנו כל מה שאנחנו צריכים בשביל לכתוב תוכנה איכותית שמותאמת בצורה אידיאלית לסביבת העבודה של גנום.
http://java-gnome.sourceforge.net/4.0/
2. השפה - VALA
הרעיון הוא ליצור שפה שמאוד דומה בתחביר ל C# ו-JAVA שמומרת בסופו של דבר ל C ואז מקומפלת.
אנו מרוויחים קלות כתיבה של קוד והתוכנה מרוויחה מהירות של שפת C.
השפה מאוד צעירה ולא מושלמת אבל היתרון שלה שהיא באה מתוך הקהילה. אין עבורה הרבה מדריכים, והינה כמה קישורים:
http://live.gnome.org/Vala
http://en.wikibooks.org/wiki/Vala_Programming
וגם אני לא יכול שלא להזכיר את Python:
זאת שפת סקריפט ולכן עובדת יותר לאט אבל קלות הכתיבה והתמיכה ב GTK+ ממנה הופכים אותה לשפה שגם ראויה לציון. בשפה זאת נכתבו לא מאט ישומים כגון נגן המוסיקה - Exaile.
השפות שציינתי מחזיקות ביתרונות של שפות עיליות, כלומר נותנות אפשרות לכתוב תוכנה בקלות ובמהירות בפחות שורות קוד, אפשרות לאתר את הבאגים בקלות וגם מצמצמות את הסיכוי לכתוב באגים, שפות כאלו חסר בעולם הלינוקס...
מהצד השני כניסת של C# ללינוקס מביאה איתה גם יתרונות כגון:
1. כמות עצומה של מתכנתים שיכולים לתרום קוד לפיתוח הלינוקס
2. יתווספו עוד עבודות בתחום הלינוקס כי הפיתוח ללינוקס לא ידרוש הסבה מצד המתכנתים שלא תכנתו בלינוקס.
3. הסבה של תוכנות קיימות מוינדוס ללינוקס ביתר קלות שזה ישלים את החסר במאגרי התוכנה שלנו.
4. נורה קל ללמוד את השפה מכמות התמיכה שקיימת באינטרנט עבורה.
אני רציתי להראות לכם את שני צידי המטבע...
בקיצור, סתם רציתי לספר לכם את כל זה בשביל לא לשמור את זה בבטן
זאת שפת תכנות מבית מיקרוסופט, מאוד נפוצה בשוק וממש דומה בצורת התחביר ל-JAVA.
היתרונות שלה, כתיבה מאוד מהירה של קוד, מאוד נוח לעצב ממשקים גרפיים, בנוייה כך שהיא יכולה להשתלב עם עוד הרבה טכנולוגיות ושפות שונות ועוד. כמות המתכנתים ב-C# עצומה ומכאן שכמות העזרה שניתן לקבל באינטרנט וכמות הדוגמאות שניתן להוריד רבים גם כן. לפני כמה שנים התחילו לעבוד על יישום לא רשמי של השפה לתוך פלטפורמות נוספות (מאק ולינוקס) בשם MONO
מה רע?
תפקידו של MONO לממש את המכונה הוירטואלית של C# בלינוקס ומאק. הבעיה עם MONO שהיא מיישמת טכנולוגייה ששייכת למיקרוסופט ואנשי הלינוקס מודעגים שמיקרוסופט ימצאו דרכים לתבוע אותנו על שימוש בפטנטים שלהם. אני אתן לכם דוגמאות לתוכנות שכבר כתובות ב C# והרבה ממכם ניסיתם אותן או עובדים איתן:
banshee, F-SPOT, Gnome-DO
העיניין הוא שככל שיגדל מספר התוכנות שכתובות בשפה זאת, מה יהיה עם אובונטו ברגע שמיקרוסופט תדרוש פתאם להסיר את כל התוכנות האלו ממערכת ההפעלה?
לאחרונה, היתה הודעה באינטרנט מצד נציג מיקרוסופט שהם מבטיחים לא לתבוע כל עוד נשתמש בחלק מטכנולוגייה של השפה (אנו בעכרון לא צריכים יותר מאלו) ואני אגיד לכם שאני לא יודע עד כמה זה באמת רשמי ועד כמה יש להם באמת מילה.
רציתי לספר לכם את זה כי אני בטוח שחלקכם לא מודעים בכלל לכל הסיפור הזה.
http://www.workswithu.com/2009/07/07/mono-now-safe/
http://news.cnet.com/8301-13505_3-10280924-16.html
http://ldn.linuxfoundation.org/blog-entry/microsoft-vs-tomtom-abandon-mono-right-now
מהצד הנטרלי שלי:
אני בזמני החופשי לומד C# (זה מה שרוצים היום בשוק העבודה וכסטודנט חשוב לי להתקבל לעבודה כל שהיא בתחום התכנות כמה שיותר מהר). התחלתי לכתוב תוכנה קטנה שבקשו ממני וכתבתי אותה על לינוקס, ב-MONO DEVELOP שהיא סביבת העבודה הרישמית של MONO. לקחתי את התוכנה וניסיתי לקמפל אותה בוינדוס עם סביבת העבודה המפורסמת - ויזואל C# בגירסה 9, גיליתי (וזה היה צפוי) שהתוכנה התקמפלה מצויין. אני מוכרח לציין, ניסיתי לקרוא לכמה פונקציות ב C# שתפקידן לשמור את הגדרות של תוכנית לתוך קובץ והן לא התקמפלו על MONO כי MONO עדיין לא מיישם את כל הפונקציונליות של C# ועדיין ישנם חלקים חסרים. גם לא ניסיתי ליצור ממשקים גרפיים דרך MONO אבל ראיתי שהוא עובד מול ספריות- GTK+ (אפילו בגירסה לוינדוס..) וגם שם יכולות להופיע בעיות אי תאימות רבות.
http://mono-project.com/Main_Page
משהו שרציתי לשתף:
בגלל כל ההתעניינות שלי בנושא עליתי על שני פרוייקטים מעניינים שלא מצריכים טכנולוגייה של מיקרוסופט ועדיין מחזיקות את אותם היתרונות של C# או לפחות חלקן:
1. השפה - JAVA
מחזיקה ביתרון של תאימות להרבה טכנטולוגיות קיימות כגון התחברות למסדי נתונים וגם מספיק לכתוב קוד אחד שירוץ גם על לינוקס וגם על וינדוס וגם על מאק וכדומה שזה חוסך הרבה עבודה.
עם הפרוייקט שמצאתי, ניתן להשתמש בסיפריות של GTK+ עם JAVA וזה נותן לנו כל מה שאנחנו צריכים בשביל לכתוב תוכנה איכותית שמותאמת בצורה אידיאלית לסביבת העבודה של גנום.
http://java-gnome.sourceforge.net/4.0/
2. השפה - VALA
הרעיון הוא ליצור שפה שמאוד דומה בתחביר ל C# ו-JAVA שמומרת בסופו של דבר ל C ואז מקומפלת.
אנו מרוויחים קלות כתיבה של קוד והתוכנה מרוויחה מהירות של שפת C.
השפה מאוד צעירה ולא מושלמת אבל היתרון שלה שהיא באה מתוך הקהילה. אין עבורה הרבה מדריכים, והינה כמה קישורים:
http://live.gnome.org/Vala
http://en.wikibooks.org/wiki/Vala_Programming
וגם אני לא יכול שלא להזכיר את Python:
זאת שפת סקריפט ולכן עובדת יותר לאט אבל קלות הכתיבה והתמיכה ב GTK+ ממנה הופכים אותה לשפה שגם ראויה לציון. בשפה זאת נכתבו לא מאט ישומים כגון נגן המוסיקה - Exaile.
השפות שציינתי מחזיקות ביתרונות של שפות עיליות, כלומר נותנות אפשרות לכתוב תוכנה בקלות ובמהירות בפחות שורות קוד, אפשרות לאתר את הבאגים בקלות וגם מצמצמות את הסיכוי לכתוב באגים, שפות כאלו חסר בעולם הלינוקס...
מהצד השני כניסת של C# ללינוקס מביאה איתה גם יתרונות כגון:
1. כמות עצומה של מתכנתים שיכולים לתרום קוד לפיתוח הלינוקס
2. יתווספו עוד עבודות בתחום הלינוקס כי הפיתוח ללינוקס לא ידרוש הסבה מצד המתכנתים שלא תכנתו בלינוקס.
3. הסבה של תוכנות קיימות מוינדוס ללינוקס ביתר קלות שזה ישלים את החסר במאגרי התוכנה שלנו.
4. נורה קל ללמוד את השפה מכמות התמיכה שקיימת באינטרנט עבורה.
אני רציתי להראות לכם את שני צידי המטבע...
בקיצור, סתם רציתי לספר לכם את כל זה בשביל לא לשמור את זה בבטן
אין תגובות:
הוסף רשומת תגובה