28-08-2011, 00:06
|
|
|
|
חבר מתאריך: 25.04.11
הודעות: 9,931
|
|
C# async CTP, and some more stuff
בשם ההשכלה.
קודם כל אני רוצה לציין שזה במידה מסוימת הוכחה לזה שכל שפות התכנות בסופו של דבר הולכות ונהיות LISP. שהיא בלי ספק אחרי 50 שנה שפת התכנות הכי מתקדמת בעולם
מדובר על תוספת לקומפיילר של C# שמוסיפה לשפה יכולות של Furutes או Promises. התוספת קצת דומה לצורה ש Asynchronous workflows בF# נראים. המימוש מאחור קצת מגעיל, והרבה פחות אלגנטי וגמיש מ Workflows בF# אבל הסינטקס הרבה יותר פשוט ומובן.
בכל מקרה, התוספת הזאת מוסיפה יכולת תכנות אסינכרוני, מאוד אלגנטיות כחלק מהשפה. זאת בלי ספק תוספת מאוד חזקה לתכנות מודרני ועתיר ביצועים, ומאוד מאוד מקלה על הסיבוך והכאב ראש בקוד אסינכרוני. כבר לא צריך יותר לכתוב מכונות מצבים מסובכות בשביל לכתוב קוד אסינכרוני. ולא צריך לריב עד המוות עם Erorr Handeling. בסופו של דבר מקבלים קוד מאוד פשוט שנראה מאוד סינכרוני, דיקלרטיבי, ודיי נאיבי, ובעצם עושה, הרבה מאוד הוקוס פוקוס מאחורה ומתאים להתמודד עם משימות מאוד כבדות.
הCTP המקורי יצא באוקטובר 2010 , וCTP שני יצא באפריל 2011. לי יצא להתעסק איתו רק עכשיו, ואני ממליץ בחום.
Anders Hejlsberg מציג את הCTP המקורי:
http://channel9.msdn.com/Blogs/Char...troducing-Async
שוב Anders Hejlsberg בPDC 2010 עם ההכרזה המקורית על הCTP וגם חלק על Compiler as a service שזה עוד משהו שאמור להיות בC# 5.0
http://channel9.msdn.com/events/PDC/PDC10/FT09
וידאו שיצא ביחד עם הCTP השני ומדבר גם קצת על העתיד של C# הדובר זה המנהל פרוייקט של C# (מספר שתיים בפרוייקט):
http://channel9.msdn.com/posts/Mads...efresh-Overview
עוד הרצאת וידאו עם הדגמות:
http://tv.devexpress.com/#AsyncFrom...h;Webinar.tag;1
פרק ראשון בסדרת מאמארים של סקוט גו על זה (יש 13 מאמרים):
http://msmvps.com/blogs/jon_skeet/a...troduction.aspx
וזה לינק להורדה של הCTP עצמו (תוסף ל Visual studio 2010):
http://msdn.microsoft.com/en-us/vstudio/gg316360
עוד דברים מעניינים:
Axum:
שפת תכנות חדשה ומשעשע של Microsoft DevLabs (לא מוצר אמיתי), לפיתוח מקבילי מבוסס על הActor Model (היריעה קצרה מידיי בישביל להסביר)
וויקי
http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx
Reactive Extensions:
הרחבה מאוד מעניינת ל.NET שמאפשרת תכנות מקבילי בצורה שהיא Data Driven או Event Driven אבל בצורה מאוד שונה מאיך שאירועים נראים בC# הרגילה. אחת הAPI המעניינות שראיתי. קצת קשה לתפיסה בהתחלה אבל ממש מעניינת. הAPI בעצם מאפשר להסתכל על אירועים, גם ממש אירועים של .NET וגם במובן המופשט כמו הודעות שנכנסות לסוקט, כאיברים שנכנסים לCollection (אוסף- רשימה). באיזה שהוא מקום זה בא לענות על חלק מרכזי ממה שהC# Async בא לענות עליו, אבל מכיוון הסתכלות מאוד שונה.
http://msdn.microsoft.com/en-us/data/gg577609
נערך לאחרונה ע"י Benjamin Willard בתאריך 28-08-2011 בשעה 00:14.
|