PDA

View Full Version : گفتگو: معرفی دست اندر کاران و پایه گذاران و برتربن های سی شارپ



Arash_janusV3
چهارشنبه 05 بهمن 1390, 12:43 عصر
سلام
هدف از ایجاد این تاپیک این است که ببینیم افرادی که پایه گذار سی شارپ هستند چه کسانی اند؟
برترین های سی شارپ در دنیا چه کسانی هستند؟
اصلا سی شارپ در دنیا با افراد چه کارهایی انجام می دهد؟
و از دوستان خواهشمندم در این تاپیک اطلاعات خودشون رو در اختیار دیگران هم بگذارند
با سپاس

Arash_janusV3
چهارشنبه 05 بهمن 1390, 12:45 عصر
Anders Hejlsberg
Turbo Pascal (1981), Delphi (1999), C#‎‎‎(~2000)


اندرس هگلسبرگ
معمار تمامی نسخه های کامپایلر توربو پاسکال و همچنین سه نسخه اولیه بورلند دلفی است
و در حال حاضر در شرکت غول مایکرو سافت رهبر و مدیر گروه
برنامه نویسی سی شارپ C#‎‎‎‎
می باشد .

ژورنال تكنيكي Simple Talk (http://www.simple-talk.com/default.aspx) كه به معرفي پيشگامان تكنولوژي هاي مايكروسافت از جمله دات نت مي پردازد، مصاحبه اي با آندرس هلسبرگ معمار و طراح اصلي زبان برنامه نويسي سي شارپ انجام داده است. در اين مصاحبه هلسبرگ به عنوان نابغه هفته ژورنال در ماه مارچ 2009 برگزيده شده است كه ضمن بيان تاريخچه اي از كارهاي انجام شده توسط هلسبرگ سوالات جالبي در حوزه زبان سي شارپ مطرح شده است. يكي از سوالات پيرامون سي شارپ 4.0 مي باشد. Richard Morris (http://www.simple-talk.com/author/richard-morris/) كه اين مصاحبه را با هلسبرگ انجام داده است مي پرسد : " به نظر شما معرفي نوع جديد پويا در سي شارپ 4.0 چگونه ميزان كارايي و قابليت اطمينان اپليكيشن ها را تحت تاثير قرار خواهد داد؟" و هلسبرگ پاسخ مي دهد:" نوع پوياي سي شارپ 4.0 امكان بسيار بسيار ساده و آساني براي برقراري ارتباط با هر چيزي كه نوع استاتيك دات نت دراختيار شما قرار نمي دهد، فراهم مي كند. از جمله اين موارد مي توان COM and OLE Automation libraries، آبجكت مدل JavaScript و HTML، آبجكت ها از زبان هاي پويا مانند Python و Ruby و سرويس هاي مبني بر REST وب را نام برد. براي استفاده از موارد ذكر شده به جاي فراخواني Reflection توابعي چون Type.InvokeMember و ScriptObject.Invoke، مي توان به راحتي با تايپ نام توابع، آنها را براي زمان اجرا به صورت پويا رزرو كرد. C#‎‎ 4.0 تركيب موفق دو نوع برنامه نويسي استاتيك و پويا در كنار يكديگر مي باشد و به اين ترتيب استفاده از هر دو در يك زبان ميسر خواهد شد. من انتظار هر دو ويژگي كارايي و قابليت اطمينان را از نسخه جديد دارم. مانند IronPython و IronRuby، سي شارپ 4.0 نيز از (Dynamic Language Runtime (DLR براي تمامي فراخواني هاي دايناميك بهره مي برد و DLR‌ نيز براي فراهم كردن كارايي بسيار بالا طراحي شده است."

(http://www.simple-talk.com/content/article.aspx?article=)منبع (http://www.simple-talk.com/content/article.aspx?article=673)

modern_amin
چهارشنبه 05 بهمن 1390, 16:22 عصر
اهداف طراحی زبان
استاندارد ECMA این اهداف طراحی زبان را برای #C بر آورده می‌سازد: • سی شارپ یک زبان برنامه سازی ساده، مدرن، برای اهداف عمومی و شی گرا است. • به دلیل اهمیت داشتن موضوع نیرومندی و دوام و بهره وری برنامه نویس، زبان دارای چک کننده Strong Type، چک کننده مرزهای آرایه، تشخیص حالتهایی که یک متغیر مقدار دهی اولیه نشده‌است، قابلیت انتقال کدها و Garbage Collection خودکار است. • این زبان برای استفاده در اجزای توسعه نرم‌افزار برای دستیابی به مزایای سیستم‌های توزیعی در نظر گرفته شده‌است. • قابلیت انتقال برنامه نویس بسیار مهم است، خصوصاً برای آن دسته از برنامه نویسانی که با زبان‌های C و C++ آشنا هستند. • پشتیبانی از این زبان برای بین‌المللی شدن بسیار مهم است. • زبان سی شارپ برای نوشتن برنامه‌ها برای سیستمهای تعبیه شده و میزبان در نظر گرفته شده‌است، از سیستم‌عامل‌های پیچیده بسیار بزرگ گرفته تا توابع اختصاصی بسیار کوچک. • هر چند برنامه‌های نوشته شده با #C طوری هستند که از لحاظ حافظه و پردازنده مورد نیاز مقرون به صرفه باشند، ولی خود زبان از لحاظ اندازه و کارایی به خوبی زبان‌های C و اسمبلی نیست.

modern_amin
چهارشنبه 05 بهمن 1390, 16:23 عصر
تاریخچه
در سال ۱۹۹۹، شرکت سان اجازه استفاده از زبان برنامه نویسی جاوا را در اختیار ماکروسافت قرار داد تا در سیستم‌عامل خود از آن استفاده کند.جاوا در اصل به هیچ پلت فرم یا سیستم‌عاملی وابسته نبود، ولی ماکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم‌عامل بودن جاوا را از آن برداشت.شرکت سان پرونده‌ای علیه ماکروسافت درست کرد و ماکروسافت مجبور شد تا زبان شی گرای جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند. در طول ساخت دات نت، کلاس‌های کتابخانه‌ای با زبان و کامپایلر SMC نوشته شدند.در سال ۱۹۹۹ آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و همانند C بود با خواص شی گرایی. ماکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی .NET در PDC در سال ۲۰۰۰ این زبان به سی شارپ تغییر نام یافت و کتابخانه کلاس‌ها و runtime در ASP.NET به#C منتقل شدند. مدیر و سرپرست طراحان در ماکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبان‌های برنامه سازی++Borland، Delphi، Turbo Pascal، Visual C به آسانی در دستورالعمل‌های سی شارپ قابل رویت است و به همان خوبی در هسته CLR.

modern_amin
چهارشنبه 05 بهمن 1390, 16:24 عصر
ویژگی‌ها
برخی از تفاوت‌های زبان سی شارپ با C و ++C عبارتند از:

هیچ تابع یا متغیر سراسری(Global) وجود ندارد، تمام متدها و اعضا بایستی در داخل کلاس‌ها تعریف شوند.این امر ممکن است، هر چند برای استفاده از متغیرها و توابع عمومی باید از متدها و متغیرها در کلاس‌های عمومی استفاده کرد.
متغیرهای عمومی، بر خلاف C و ++C، نمی‌توانند بلاک‌های پیوستی را در بر بگیرند.
سی شارپ دارای یک نوع داده بولی است (bool).برخی از عبارت‌ها مانند while و if که شرطی هستند، نیازمند یک عبارت نوع بولی هستند.همان طور که ++C نیز دارای نوع داده بولی است، این نوع داده به راحتی می‌تواند به یا از Integerها تبدیل شود، و عبارتی مانند (if(a نیازمند این امر است که a از یک نوع قابل تبدیل به bool یا اشاره گر باشد.کامپایلر سی شارپ برنامه نویس را در این شرایط مجبور به استفاده از عباراتی می‌کند که به درستی یک مقدار bool را برمی‌گردانند. بنابراین دستوری مانند (if(a = b باعث بروز خطا می‌شوند.(به جای = بایستی از == استفاده شود)
در سی شارپ، اشاره گرهای به حافظه بایستی فقط در داخل بلوکهای unsafe استفاده شوند و برنامه در این حالت برای اجرا نیاز به اجازه از کاربر دارد. بیشتر دسترسی شی از طریق شی امن است که یا همیشه در حال اشاره به شی صحیح موجود است یا یک مقدار Null دارد. اشاره گری به شی به درد نخور یا بلاک حافظه رندم غیر ممکن است.اشاره گر نا امن می‌تواند به نمونه‌ای از value-type، آرایه، رشته یا بلاکی که حافظه به آن داده شده‌است اشاره نماید. کدی که به عنوان نا امن علامت نخورده باشد، هنوز می‌تواند اشاره گرها را از سیستم بازیابی یا در آن ذخیره کند ولی نمی‌تواند مرجع جدیدی به آنها اختصاص دهد.
حافظه ساماندهی شده نمی‌تواند صریحا آزاد شود، ولی به طور خودکار به عنوان به درد نخور تلقی می‌شود.انتخاب آدرس‌های به درد نخور حافظه نفوذ ناپذیر است. هم چنین #C با استفاده از عبارات، پشتیبانی مستقیمی از پایان اجباری می‌کند(پشتیبانی از اصطلاح Resource Acquisition Is Initialization).
وراثت چندگانه از کلاس‌ها در این زبان پشتیبانی نمی‌شود.البته یک کلاس امکان ارث بری از تعداد نامحدود واسط‌ها را دارد.پشتیبانی نکردن از وراثت چندگانه به دلیل اهداف معماری این زبان در CLI و برای جلوگیری از پیچیدگی است.
سی شارپ بسیار typesafe تر از C++ است. تنها تبدیلات ضمنی مثل تبدیل نوع داده کوچکتر به بزرگتر یا تبدیل نوع مشتق شده به نوع پایه به طور پیش فرض و بدون خطا صورت می‌پذیرد.هیچ تبدیل ضمنی ای میانBooleanها و Integerها وجود ندارد و هر تبدیل user-defined بایستی به صراحت با یکی از کلمات explicit یا implicit نشانه گذاری شود. تبدیل b به a در حالتی که a یک Integer و b یک double باشد در زبان C++ مجاز است اما در سی شارپ به یک خطای زمان کامپایل منجر می‌شود(بایستی به صورت explicit تعریف شود)
اعضای Enumeration در داخل محدوده شخصی خود قرار دارند.
#C قابلیت syntactic sugar را برای توابع متداول، اکسسورها و ماجول‌های کسول شده در یک کلاس به صورت ویژگی‌ها قرار داده‌است.
اکسسورها که خاصیت نیز گفته می‌شوند در زبان سی شارپ قادر به کنترل دسترسی اعضا و معتبرسازی داده‌ها هستند.

تمام انواع بازتابی(Reflection) و بازیابی(Recovery) قابل استفاده‌است.
در حال حاضر (۳ ژوئن ۲۰۰۸) دارای ۷۷ کلمه رزرو شده‌است.
.
.
منبع: ویکی

modern_amin
چهارشنبه 05 بهمن 1390, 16:27 عصر
چارچوب دات‌نت یا همان (.NET Framework) یک فناوری نرم‌افزاری است که بر روی بسیاری از نسخه‌های سیستم‌عامل مایکروسافت ویندوز قابل اجراست و به سیستم‌عاملهای دیگر از جمله لینوکس و مکینتاش نیز وارد شده است.این چارچوب شامل مجموعه ای زبانهای برنامه نویسی است که سی شارپ و ویژوال بیسیک مهمترین آنها می باشند. مجموعه ای از کتابخانه‌های بسیار غنی جهت کمک به سهولت توسعه نرم‌افزار در این چارچوب قرار گرفته اند که در قالب بخشهای عمده ای همچون فناورهای ASP.NET و ADO.NET و بسیاری فن آوری‌های خاص دیگر ارائه می شوند که تعداد آنها در نسخه‌های اخیر همگام به خاص تر شدن اهداف مایکروسافت بیشتر شده است.

بخش کامپایلر این چارجوب یک Just in Time Compiler است به این معنی که کد تمام زبانها به یک زبان میانی به نام اسمبلی ترجمه شده و توسط یک ماشین مجازی (Virtual Machine) بر اساس نیازها و مشخصات هر سیستم‌عامل و سخت‌افزار به اجرا در می آیند.کتابخانه‌های از پیش نوشته شده که در این چارچوب قرار دارند و در واقع پایه‌های اشیاء و کلاس‌های اصلی (Base Classes) این چارچوب را تشکیل می‌دهند بخش وسیعی از نیازهای برنامه نویسی را تحت پوشش قرار می‌دهند. از این جمله می‌توان به واسط‌های گرافیکی کاربر، دسترسی به پایگاه‌های داده، رمزنگاری، برنامه‌های تحت وب، الگوریتم‌های کار با اعداد و ارتباطات شبکه‌ای را نام برد.

در ژوئن سال ۲۰۰۰، شرکت مایکروسافت ایجاد چهارچوب نرم‌افزاری دات‌نت، به همراه یک زبان برنامه نویسی جدید به نام سی شارپ را اعلام کرد. چارچوب دات‌نت یک مجموعهٔ وسیع از امکانات برنامه‌نویسی است.

زبانهای سی‌شارپ (#C) و ویژوال بیسیک دات‌نت (وی‌بی دات‌نت) و ای‌اس‌پی دات‌نت (ASP.NET) همگی از چارچوب دات‌نت استفاده می‌کنند. برنامه‌های نوشته شده در این چهارچوب، ابتدا به زبان میانی مایکروسافت و متاداده (metadata) ترجمه شده و سپس توسط CLR اجرا می‌شوند. دات نت باعث شد که قدرت برنامه نویسی در زبانهای تحت این چارچوب یکسان شود و تفاوت فقط در نوع کد نویسی باقی بماند. چون ابزار و قدرت در دات نت از خواص دات نت است، نه زبان.

تغییر عمده‌ای که در برنامه نویسی با دات نت نسبت به گذشته قابل رویت است نحوه اتصال به پایگاه داده است که علاوه بر روشهای قدیمی مانند DAO و ADO می‌توان از فناوری جدید ADO.NET استفاده کرد
.
.
منبع ویکی

sobaisobai
چهارشنبه 05 بهمن 1390, 20:30 عصر
سلام
بهتر بود خلاصه ای توضیح میدادی و در آخر هم منبع (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C%E2%80%8C%D8%B4%D8%A7%D8%B1%D9%BE)رو میذاشتی
باتشکر

Arash_janusV3
دوشنبه 17 بهمن 1390, 15:31 عصر
با تشکر از دوست خوبمون به خاطر این عکسی که در اختیار گذاشتند

عکس تیم برنامه نویسی سی شارپ (http://barnamenevis.org/showthread.php?326443-%D8%B9%DA%A9%D8%B3-%D8%AA%DB%8C%D9%85-%D8%B3%D8%A7%D8%B2%D9%86%D8%AF%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

مهدی-گیک
پنج شنبه 30 بهمن 1399, 20:46 عصر
تازه هم آندرس هلسبرگ زبان تایپ اسکریپت و #F
ساخته پشتیبانی میکنه