<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های m_56660447</title><link>https://virgool.ir/feed/@m_56660447</link><description></description><language>fa</language><pubDate>2026-11-11 23:43:09</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>m_56660447</title><link>https://virgool.ir/@m_56660447</link></image><item><title>همه چیز راجب دات نت</title><link>https://virgool.ir/@m_56660447/همه-چیز-راجب-دات-نت-co8dimgmqeal</link><description>در این مقاله انواع آن دات نت و ویژگی های دات نت صحبت میکنیم پس تا آخر مقاله همراه من باشین .اول براتون توضیح میدهم که دات نت چیست تا کمی با مفهوم دات نت آشنا شویم , برای تعریف .Netاز واژه‌هایی مثل چارچوب ، فریم ورک ، سَکو و پلتفرم استفاده می‌شود . میتوان گفت که Net. تقریبا برای هر مشکلی که یک برنامه نویس با آن مواجه می‌شود ، یک راه حل دارد و در واقع از چندین ابزار تشکیل شده است . منظورم از ابزار ، تکه کدهایی است که از قبل برای انجام وظیفه‌ای خاص نوشته شده‌اند . بعضی‌ افراد .Netرا به کتابخانه هم شبیه می‌دانند که این تعریف هم درست است . میشه گفت که ابزارهای درون Net. به چند دسته تقسیم می‌شوند . به این دسته‌ها ، فضای نام (Name Space  ) می‌گویید . و یک چیز مهم که دات انواع مختلف دارد و من براتون انواع ان را توضیح میدهم . انواع دات نت اگر شما تا همین چند وقته پیش تصمیم می‌گرفتید که C#.Net را یاد بگیرید ، یک راه حل بیشتر نداشتید ؛ اینکه یک نرم‌افزار به نام Visual Studio را نصب کنید و کد نویسی با ان را شروع کنید . اما الان دیگر فقط با یک نوع Net. سر و کار نداریم . چون مایکروسافت پا به دنیایی فراتر از ویندوز گذاشته است . Net. تقریبا روی تمام دستگاه‌هایی که شما می‌شناسید پشتیبانی می‌شود . .Net Coreمیدویند که اگر شما بخواهید یک جعبه ابزار بزرگ را هر جا  با خود حمل کنید ، کارتان خیلی سخت می‌شود . به جای آن می‌توانید از یک کیف کوچک که فقط یک پیچ گوشتی و یک آچار داخل آن گذاشته ‌اید استفاده کنید . .Net Core درواقع کیف کوچکی است که می‌توانید با استفاده از آن ، فقط ابزاری که مورد استفاده نرم افزارتان است را همراه داشته باشید . یک فریمورک چند پلتفرمی و منبع باز ، NET Core هنگام توسعه برنامه‌ها بر روی هر پلتفرمی بهترین است . NET Core برای برنامه های کاربردی ابری یا تبدیل مجدد برنامه های بزرگ سازمانی به میکروسرویس ها استفاده می شود ..Net Frameworkدات نت فریم ورک در واقع همان دات نت قدیمی است که قبل استفاده میکردیم درست است که قدیمی است اما با این حال کهنه نشده .Monoو اما Mono که در اوایل توسط شرکتی غیر از مایکروسافت پشتیبانی می‌شد . اما مایکروسافت زیر نظر مدیر عامل جدید خودش ، پس از تغییر رویه و ورود به دنیای سایر پلتفرم‌ها ، به صورت رسمی از Mono پشتیبانی کرد , البته Mono در ابتدا به شکل متن باز (  Open Source)‌ بود . با Monoمیشه برای دستگاه‌های مختلف اپ تولید کرد ؛ فرقی  هم نمی‌کند برایش ، برای اندروید یا یکی از توزیع ‌های لینوکس باشد . فقط کافی است که شما یکی از زبان‌هایی که از .Net پشتیبانی می‌کنند مثل سی شارپ را یاد بگیرید و بعد برای هر دستگاهی که دوست دارید برنامه بنویسید .NET Coreدر مقابل .NET Frameworkمایکروسافت هر دو زمان اجرا را برای ساخت برنامه ها با دات نت حفظ می کند و در عین حال بسیاری از API های یکسان را به اشتراک می گذارد . این API مشترک ، استاندارد دات نت نامیده می شود .توسعه دهندگان از دات نت فریم ورک برای ایجاد برنامه های دسکتاپ ویندوز و برنامه های مبتنی بر سرور استفاده می کنند . این شامل برنامه های تحت وب ASP.NET می شود . از سوی دیگر ، .NET Coreبرای ایجاد برنامه های کاربردی سرور که بر روی ویندوز ، لینوکس و مک اجرا می شوند استفاده می شود . در حال حاضر از ایجاد برنامه های دسکتاپ با رابط کاربری پشتیبانی نمی کند . توسعه دهندگان می توانند برنامه ها و کتابخانه ها را در  VB.NET، C# و F# در هر دو زمان اجرا بنویسند .سی شارپ یک زبان شی گرا است که مشابه سایر زبان های سبک Cاست . منحنی یادگیری نباید برای توسعه دهندگانی که قبلاً با C و زبان های مشابه کار می کنند مشکل ساز باشد .F# یک زبان کراس پلتفرم است که از برنامه نویسی شی گرا نیز استفاده می کند .ویژوال بیسیک در دات نت فریم ورک با پشتیبانی محدود .NET Coreبا NET Core 2.0 موجود است .حالا چه زمانی که برنامه نویسان باید از دات نت فریم ورک استفاده کنند …دات نت فریم ورک با ویندوز توزیع شده است . به طور کلی ، از آن برای ساخت برنامه های دسکتاپ ویندوز و برنامه های سازمانی در مقیاس بزرگ با استفاده از گردش کار دات نت و ابزارهای اتصال داده استفاده می شود .دات نت فریم ورک خدماتی را ارائه می دهد که عبارتند از :· مدیریت حافظه· ایمنی نوع و حافظه· امنیت· شبکه سازی· استقرار برنامه· ساختارهای داده· API هاچه زمانی باید .NET Framework را اجرا نکنیدهمچنین چند موقعیت وجود دارد که در آنها نباید .NET Frameworkرا اجرا کنید . این موارد عبارتند از زمانی که :· چندین سیستم عامل مورد نیاز است· عملکرد و مقیاس پذیری بالا مورد نیاز است· NET Core کار می کند· چارچوب متن باز مورد نیاز استچهار جزء اصلی معماری دات نت وجود دارد :· مشخصات زبان مشترک (CLS) نحوه پیاده سازی اشیاء را تعریف می کند تا در هر جایی که دات نت کار می کند کار کنند . CLS زیرمجموعه ای از Common Type System (CTS)است - که یک روش مشترک را برای توصیف همه انواع تنظیم می کند .· کتابخانه کلاس چارچوب (FCL) یک کتابخانه استاندارد است که کلاس های قابل استفاده مجدد ، رابط ها و انواع مقادیر را جمع آوری می کند .· زمان اجرای زبان مشترک (CLR) ماشین مجازی است که فریم ورک را اجرا می کند و اجرای برنامه های دات نت را مدیریت می کند .· ویژوال استودیو برای ایجاد برنامه های کاربردی مستقل ، وب سایت های تعاملی ، برنامه های کاربردی وب و خدمات وب استفاده می شود .زبان های برنامه نویسی دات نت چیست؟سی شارپ که در سال 2000 با سر و صدای زیادی معرفی شد ، معروف ترین و پرکاربردترین زبان برنامه نویسی دات نت است . این به صورت داخلی توسط مایکروسافت به عنوان بخشی از ابتکار دات نت توسعه داده شد و بیشتر کلاس های کتابخانه استاندارد دات نت به زبان سی شارپ نوشته شده اند . این زبان شی گرا است و به گونه ای طراحی شده است که به اندازه کافی شبیه به C باشد تا برای توسعه دهندگان  C، C++ ، جاوا و جاوا اسکریپت، یادگیری و استفاده سریع آن آسان باشد .مایکروسافت در حال حاضر دو زبان برنامه نویسی دیگر را نیز در پیش زمینه دارد که می توان از آنها برای نوشتن برای .NET Framework استفاده کرد . یکی F# است ، یک زبان برنامه نویسی تابعی که بخشی از خانواده زبان های ML است که در نهایت ریشه در LISP دارد. دیگری ویژوال بیسیک ، زبان برنامه نویسی ارجمند و قابل یادگیری مایکروسافت برای توسعه برنامه های کاربردی کلاینت - سرور است . اما اینها فقط نوک کوه یخ هستند : از آنجایی که دات نت از استانداردهای باز تشکیل شده است ، هر کسی می تواند زبانی بنویسد که در بایت کد CILکامپایل می شود و می تواند توسط CLRاجرا شود . و البته در ویکی‌پدیا فهرستی بیش از 20 پروژه زبان CLI دارد . تقریباً همه آنها نشان دهنده پورت های دات نت زبان های موجود ، از پاسکال تا جاوا اسکریپت و حتی COBOL هستند .این واقعیت که این تنوع زبان‌ها می‌توانند در چارچوب دات‌نت وجود داشته باشند ، یکی از نقاط قوت این پلتفرم است . از آنجایی که همه کدها در بایت کد CILکامپایل می شوند ، دات نت واقعاً اهمیتی نمی دهد که آن را به کدام زبان بنویسید . شما می توانید زبانی را بر اساس ترجیحات خود ، نقاط قوت و ضعف مختلف هر زبان ، یا جنبه های مختلف چارچوب دات نت که هر زبان به شما دسترسی می دهد انتخاب کنید ( در اینجا تغییراتی وجود دارد ) . همانطور که اشاره شد ، بیشتر کتابخانه استاندارد به زبان #C نوشته شده بود ، اما این مانع از دسترسی شما به کلاس‌ها از طریق کدهای نوشته شده در سایر زبان‌های CLI نمی‌شود . در واقع ، مؤلفه‌هایی که به زبان‌های مختلف CLIنوشته شده‌اند ، می‌توانند آزادانه در یک برنامه دات‌نت با هم کار کنند .چگونه می توانید کتابخانه های خود را از .NET Frameworkبه .NETجدید انتقال دهید ؟پنج گزینه برای انتقال کتابخانه های شما برای هدف قرار دادن یک پلت فرم جدید دات نت وجود دارد : رها کردن ، به روز رسانی ، فورک ، چند هدف یا پل .در این مقاله ، توضیح می‌دهم که هر گزینه شامل چه مواردی می‌شود ، چه زمانی ممکن است بخواهید آن را انتخاب کنید و چگونه روی آن گزینه اجرا کنید . ما با ساده‌ترین گزینه شروع می‌کنیم ، اما به خاطر داشته باشید که باید برنامه‌ها ، کتابخانه‌ها و برنامه‌های مهاجرت خود را ارزیابی کنید تا مشخص کنید کدام گزینه در هر مورد بهترین است .رها کردناگر برنامه ای برای انتقال کتابخانه خود به .NET 5/6+ ندارید ، برای همیشه یک کتابخانه NET Framework باقی می ماند و در طول عمر خود فقط به روز رسانی های کوچکی دریافت می کند .چه زمانی انتخاب شود&#34;  رها کردن &#34; برای کتابخانه‌ای مناسب است که از فناوری‌های منسوخ شده یا بخشی از .NET 5/6+ ( فرم‌های وب ، WCF و  WF) به شدت استفاده می‌کند . برنامه‌ها و کتابخانه‌های زیادی در سازمان شما وجود خواهند داشت که از فناوری قدیمی استفاده می‌کنند ، اما بدون نیاز به بازنویسی ، به‌طور نامحدود ادامه خواهند داشت . برنامه های Web Forms یک مثال عالی هستند .برای مثال : شاید شما یک کتابخانه به نام Kramerica.WCF.Utils داشته باشید که فقط در برنامه های مبتنی بر WCF از آن استفاده می کنید . از آنجایی که WCF هرگز بخشی از .NET 5/6+ نخواهد بود ، انتقال آن کتابخانه فایده ای ندارد . فقط Kramerica.WCF.Utils را به حداقل و فقط در صورت نیاز حفظ کنید .به روز رسانی« به‌روزرسانی » کتابخانه‌های شما به معنای مهاجرت از NET Frameworkبه NET 5/6+ است و در عین حال مقداری « اتاق » در شماره‌های نسخه برای نسخه‌های اضطراری حفظ می‌شود .چه زمانی انتخاب شود ؟اگر می خواهید همه برنامه های خود را در مدت زمان کوتاهی انتقال دهید، خوب است کتابخانه های قدیمی خود را به روز کنید و به یکباره به جدید منتقل کنید . این گزینه همچنین برای کتابخانه هایی که فقط توسط تعداد بسیار کمی از برنامه ها مصرف می شوند مناسب است .و اما نحوه اجراکتابخانه ها نسخه بندی شده اند . وقتی دوباره هدف‌گذاری می‌کنید ، خطاهای کد را برطرف می‌کنید و کتابخانه « جدید » را منتشر می‌کنید ، از شماره نسخه اصلی به‌طور قابل توجهی بالاتر استفاده کنید . استفاده از یک نسخه بزرگ (به عنوان مثال، Kramerica.Utils 2.6 تا Kramerica.Utils 5.0) به مصرف کنندگان اطلاع می دهد که تفاوت قابل توجهی بین کتابخانه ها وجود دارد . اما شاید مهمتر از آن ، نسخه های کافی بین قدیمی و جدید را فراهم می کند تا امکان بازگشت به عقب را فراهم کند. در شرایط اضطراری ، اساساً می‌توانید «به گذشته» برگردید و یک نسخه جدید از یک کتابخانه قدیمی ایجاد کنید - اساساً «به دنبال واقعیت حرکت می‌کنید» .برای مثال: Kramerica.MVC.Utils از فناوری MVCاستفاده می کند که می تواند به 5/6+ منتقل شود. این کتابخانه می تواند با کمترین تغییرات در هنگام مهاجرت به روز شود. هنگام مهاجرت، کتابخانه &#34;قدیمی&#34; Kramerica.MVC.Utils 3.1 را نسخه می کنید و &#34;جدید&#34; را به Kramerica.MVC.Utils 5.0 نسخه می کنید .Forkمانند انتخاب File &gt; Save As در سند مایکروسافت ورد قبل از ایجاد تغییرات ، &#34;  forking&#34; همه همان کد منبع را در یک مخزن جداگانه کپی می کند . پس از کپی کردن ، می توانید در کتابخانه های خود مهاجرت کنید ، پلت فرم جدید دات نت را هدف قرار دهید ، و یک کتابخانه کاملاً جدید بدون تغییر یا حذف کتابخانه قدیمی خواهید داشت .چه زمانی انتخاب شود ؟اگر می‌خواهید در میان‌مدت تا درازمدت به نسخه NET Framework کتابخانه‌تان نیاز داشته باشید ، باید فورک کنید . همچنین می‌توانید این گزینه را در صورت پیچیده بودن انتقال در نظر بگیرید ( مانند زمانی که بخش‌هایی از NET Framework در کتابخانه شما در NET 5/6+ وجود ندارد ) .یک دستورالعمل برای فورکینگ این است که 80-90٪ کد &#34; همپوشانی &#34; دارند ، اما 10-20٪ به اندازه کافی متفاوت هستند، فوک کردن منطقی است. هنگامی که این نسبت معکوس می شود یا زمانی که مهاجرت بی اهمیت است، فورک کردن شما را با دو پایگاه کد تقریباً یکسان برای نگهداری و آزادسازی جداگانه می گذارد .نحوه اجرا ؟این یک فرآیند نسبتا کوتاه و چهار مرحله ای است :کتابخانه فعلی را فورک کنید .• کد منبع را کپی کنید و نام پروژه / مخزن را به طور مشابه ، مانند Utilsبه UtilsCore تغییر دهید.در فوک، آنچه را که ویژوال استودیو هدف قرار خواهد داد، تغییر دهید.• اگر بعد از این مرحله سعی کنید کامپایل کنید ، تقریباً مطمئناً با خطا مواجه می شوید .رفع خطاهای ایجاد شده توسط هدفگیری مجدد و تست .• این مرحله را تا زمانی که بدون خطا باشید تکرار کنید .کتابخانه را با نام جدیدش منتشر کنید .مثالKramerica.Network.Utils برای ایجاد Kramerica.NetworkCore.Utils فورک شده است .چند هدفایجاد یک کتابخانه بسته NuGet که شامل هر دو نسخه کتابخانه های شما ( نسخه NET Framework و NET 5/6+ ) باشد . این بسیار کارآمد است ، زیرا ویژوال استودیو تصمیم می گیرد که کدام پلتفرم دات نت را هدف قرار دهد .فیلم‌ها را به‌ عنوان یک قیاس در نظر بگیرید : اگر سه‌گانه اصلی جنگ ستارگان را به صورت نسخه چاپی بخرید ، مجموعه ‌ای از دی‌وی‌دی‌ ها و دیسک‌ های Blu-rayرا در همان بسته پیدا خواهید کرد، بنابراین می‌توانید فیلم را روی هر پخش‌ کننده‌ای که در خانه دارید پخش کنید . شما هر دو انتخاب را به طور همزمان دارید، درست مانند یک بسته NuGetچند هدفه . ( البته یک نکته : در حالی که اکثر پخش کننده های Blu-ray اکنون می توانند دی وی دی ها را پخش کنند، ما هیچ مدرکی از جانب مایکروسافت نداریم که دات نت 5/6+ هرگز قادر به استفاده از کتابخانه های Framework باشد . )مثالKramerica.Data.Models از یک بسته NuGetکه فقط شامل یک کتابخانه منفرد سازگار با Framework 4.8 است به بسته ای که شامل چندین کتابخانه، Kramerica.Data.FrameworkModels و Kramerica.Data.CoreModels است تبدیل می شود.Bridgeاگر خوش شانس هستید و کد کتابخانه شما با یک فناوری منسوخ شده به نام NET Standard 2.0 سازگار است، ممکن است بتوانید کتابخانه ای ایجاد کنید که هم در .NET Framework و هم در .NET 5/6+ بدون پیچیدگی چند هدف گیری ..NET Standard سلف .NET Coreبود و تلاش مایکروسافت برای یکپارچه سازی تمام پلتفرم های .NET قبل از .NET 5/6+ بود. این یک فناوری گیج‌کننده است، اما نکته اصلی این است که اگر کتابخانه‌های شما قبلاً.NET Framework 4.7.2 یا بالاتر را هدف قرار داده باشند، ممکن است انتخاب خوبی باشد.ادامه دی‌وی‌دی‌ها و بلوری‌های جنگ ستارگان در همان بسته، هدف قرار دادن دات نت استاندارد 2.0 مانند انتشار یک دیسک است (بیایید آن را «BluDVD» بنامیم) که به طور همزمان یک دی‌وی‌دی و دیسک بلو-ری است و در اکثر موارد قابل پخش است. پخش کننده های بلوری و دی وی دی.نویسنده:حانیه خمسهنام استاد:دکتر مریم حاجی اسمعیلی.دکترای علوم کامپیوتر از دانشگاه کینگستون لندن</description><category>m_56660447</category><author>m_56660447</author><pubDate>Tue, 05 Apr 2022 23:39:30 +0430</pubDate></item><item><title>از گاراژ تا Googleplex</title><link>https://virgool.ir/@m_56660447/از-گاراژ-تا-googleplex-lll1yqubqlsj</link><description>داستان گوگل در سال 1995 در دانشگاه استنفورد آغاز شد . لری پیج در نظر داشت استنفورد را برای تحصیلات تکمیلی در نظر بگیرد و سرگئی برین، دانش آموزی در آنجا ، مأمور شد تا او را نشان دهد . بر اساس برخی گزارش ها ، آنها در طول اولین ملاقات تقریباً در مورد همه چیز اختلاف نظر داشتند، اما در سال بعد آنها با یکدیگر همکاری کردند. آنها با کار از اتاق های خوابگاه خود، موتور جستجویی ساختند که از پیوندها برای تعیین اهمیت صفحات منفرد در شبکه جهانی وب استفاده می کرد . آنها این موتور جستجو را Backrub نامیدند . بلافاصله پس از آن ، Backrub به Google ( phew )تغییر نام داد. این نام بازی با عبارت ریاضی عدد 1 و به دنبال آن 100 صفر بود و به درستی ماموریت لری و سرگئی &#34;ب رای سازماندهی اطلاعات جهان و قابل دسترس و مفید ساختن آن برای جهانیان &#34; را منعکس می کرد .در چند سال بعد ، گوگل نه تنها توجه جامعه دانشگاهی ، بلکه سرمایه گذاران سیلیکون ولی را نیز به خود جلب کرد . در آگوست  1998، اندی بکتولشیم ، بنیانگذار  Sun، چکی به ارزش 100000 دلار برای لری و سرگئی نوشت و شرکت گوگل رسما متولد شد . با این سرمایه‌گذاری ، تیم تازه تاسیس از خوابگاه‌ها به اولین دفتر خود ارتقا دادند : گاراژی در حومه منلو پارک ، کالیفرنیا ، متعلق به سوزان وویچیکی ( کارمند شماره 16 و اکنون مدیر عامل YouTube ) . رایانه‌های رومیزی ضعیف ، میز پینگ پنگ و فرش آبی روشن صحنه را برای آن روزهای اولیه و شب‌های پایانی رقم زدند . ( سنت رنگارنگ نگه داشتن اشیا تا به امروز ادامه دارد . )حتی در ابتدا ، همه چیز غیر متعارف بود : از سرور اولیه گوگل ( ساخته شده از لگو )  تا اولین &#34; Doodle &#34; در سال 1998: یک شکل چوبی در لوگو که به بازدیدکنندگان سایت اعلام می کرد که کل کارکنان در جشنواره Burning Man بازی می کنند . « شرور نباش » روح روش‌های عمداً غیر متعارف ما را تسخیر کرد . در سال های بعد، شرکت به سرعت گسترش یافت - استخدام مهندسان ، ایجاد یک تیم فروش ، و معرفی اولین سگ شرکت ، یوشکا . گوگل از گاراژ پیشی گرفت و در نهایت به مقر فعلی خود (با نام مستعار &#34;Googleplex  &#34; ) در  Mountain View، کالیفرنیا نقل مکان کرد . روحیه انجام کارها به شکلی متفاوت باعث حرکت شد . یوشکا هم همینطور .جستجوی بی‌وقفه برای یافتن پاسخ‌های بهتر، هسته اصلی هر کاری است که ما انجام می‌دهیم. امروزه ، گوگل صدها محصول تولید می کند که توسط میلیاردها نفر در سراسر جهان از یوتیوب و اندروید گرفته تا جیمیل و البته جستجوی گوگل استفاده می شود . اگرچه ما سرورهای لگو را کنار گذاشتیم و فقط چند سگ شرکتی دیگر به آن اضافه کردیم، اشتیاق ما برای ساخت فناوری برای همه با ما باقی مانده است - از اتاق خوابگاه ، گاراژ ، و تا به امروز .اینها زبان های برنامه نویسی هستند که گوگل از آنها استفاده می کندخوش برگشتی ! هنگام کشف زبان های برنامه نویسی برای یادگیری ، شاید بهتر است به عقب کار کنید و متوجه شوید که شرکت های برتر فناوری در حال حاضر از چه زبان هایی استفاده می کنند . بیایید نگاهی به گوگل بیندازیم و از کدام زبان های برنامه نویسی استفاده می کنند ! زبان هااجازه دهید من ادامه دهم و بدون اتلاف وقت شما دقیقاً به شما بگویم چه زبانهایی هستند ، بعداً آنها را توضیح خواهم داد . زبان‌هایی که گوگل در خانه استفاده می‌کند عبارتند از : جاوا اسکریپت و تایپ اسکریپت برای قسمت جلویی آن‌ ها ، باطن آن‌ ها کمی پیچیده‌ تر است :  C، C++ ، جاوا ، پایتون و نود . چگونه بفهمم گوگل از این زبان ها استفاده می کند ؟ آنها در ویکی پدیا هستند :حالا بیایید به جزئیات همه این زبان ها بپردازیم : جاوا اسکریپت و تایپ اسکریپتبه اندازه کافی جالب توجه است که تقریباً همه محبوب ترین وب سایت ها از جاوا اسکریپت به عنوان صفحه اصلی خود استفاده می کنند ( به استثنای بسیار کمی ) . جاوا اسکریپت یک زبان شی گرا پویا است که اساساً روی قسمت جلویی تمرکز دارد ، تایپ اسکریپت در واقع یک زبان ایجاد شده توسط مایکروسافت است که تقریباً نسخه به روز شده جاوا اسکریپت است . هر دوی این زبان ها بسیار محبوب هستند ( بدیهی است که جاوا اسکریپت بیشتر است ) و اگر قصد دارید در هر شرکتی برنامه نویس شوید ، احتمالاً با Javascript یا Typescript مواجه خواهید شد .C / C++C و C++ هر دو زبان های برنامه نویسی هستند که گوگل از آنها استفاده می کند ، C یک زبان نسبتاً کامل است ، مقدار کارهایی که می توانید با C و C++ انجام دهید دیوانه کننده است ، و به نظر می رسد که هر دوی این زبان ها در گوگل بسیار استفاده می شوند . حال ، C++ یک پسوند زبان برنامه نویسی Cاست ، C++ در واقع معمولاً C با کلاس ها نامیده می شود . بسیار شبیه جاوا اسکریپت ، من C یا C++ را به عنوان یک الزام برای بسیاری از شرح های شغلی می بینم که دیوانه کننده است ، بنابراین اگر C یا C++ را یاد بگیرید ، در دراز مدت به خودتان کمک خواهید کرد .GoGo در واقع یک زبان کمتر شناخته شده است که معمولاً به عنوان Golang شناخته می شود ، این زبان در واقع توسط خود گوگل ساخته شده است . بر اساس آنچه من دیدم ، معمولاً مشخص می شود که تقریباً شبیه C است ، اما چند تفاوت قابل توجه وجود دارد . اول از همه ، Go دارای ایمنی حافظه ، جمع‌آوری زباله ، تایپ ساختاری و همزمانی به سبک CSP است ، بنابراین اگرچه به اندازه C محبوب نیست ، از زمانی که گوگل خودش آن را ساخته است ، هنوز دلایل زیادی برای یادگیری این زبان وجود دارد .Javaاین یک زبان ساده نیست ، جاوا یک زبان بسیار محبوب است که کاربردهای مختلفی دارد . جاوا معمولاً برای توسعه برنامه های موبایل یا دسکتاپ ، برنامه نویسی سیستم های تعبیه شده یا حتی انجام بسیاری از وظایف پردازش داده استفاده می شود . این در واقع یکی از اولین زبان های برنامه نویسی بود که یاد گرفتم ، اگرچه دیگر از آن استفاده نمی کنم ، مطمئناً این یک زبان بسیار قدرتمند است .  Pythonتا حالا این زبان را قبلاً استفاده نکرده بودم ، شوخی کردم ! پایتون یکی از بهترین زبان های برنامه نویسی است که تا به حال استفاده کرده ام و جای تعجب نیست که گوگل نیز از آن استفاده می کند . اول از همه ، ما شاهدیم که گوگل دوره های زیادی را برای یادگیری پایتون توسعه داده است ، زیرا این زبان گسترده ای است که آنها از آن استفاده می کنند . اگرچه آنها احتمالاً برای بیش از این از آن استفاده می کنند ، یادگیری ماشین حوزه عظیمی است که گوگل در آن سرمایه گذاری کرده است ، آنها هزاران چارچوب یادگیری ماشینی را در بسته TensorFlow خود ایجاد کرده اند ، بنابراین پنهان نیست پایتون حضور بسیار زیادی در گوگل دارد .Nodeاکنون از نظر فنی Node واقعاً یک زبان نیست ، از آنچه من دیده‌ام بیشتر یک چارچوب است . در اصل ، Node ( مخصوصا  Node . js) به توسعه دهندگان اجازه می دهد تا کد جاوا اسکریپت خود را خارج از مرورگر اجرا کنند . من مطمئن هستم که بسیاری از پروژه ها از این به منظور آزمایش کد جاوا اسکریپت خود قبل از تولید آن استفاده می کنند .شما آن را دارید ! امیدواریم این موضوع به سفر زبان برنامه نویسی شما روشن شود ، حتی اگر مدتی است برنامه نویسی کرده ام ، یادگیری زبان های دیگر برای تبدیل شدن به یک مهندس خوب بسیار مهم است .حتما شنیده اید که جاوا اسکریپت در حال حاضر محبوب ترین زبان برنامه نویسی است و پایتون یکی از زبان های محبوب در میان دانشمندان داده است . درست مانند آن ، هر زبان برنامه نویسی در صنعت در جایی که بهترین است استفاده می شود . بنابراین گوگل از چه زبان های برنامه نویسی استفاده می کند را براتون نام بردم و توضیح دادم ولی اگر می خواهید در مورد زبان های برنامه نویسی که گوگل در قسمت جلویی و بک اند استفاده می کند بدانید ، این مقاله برای شما دوست عزیزم مناسب است . در این مقاله ، تمام زبان های برنامه نویسی را که گوگل امروزه به عنوان موتور جستجو از آنها استفاده می کند ، آشنا می کنم .Front-Endبخش جلویی گوگل شامل :· نوار جستجو برای تایپ· یک ضبط کننده صدا برای گوش دادن اگر کاربر بخواهد از صدای خود جستجو کند· و لوگوی گوگلاین یک رابط کاربری بسیار ساده است تا کاربر بتواند تجربه جستجوی بهتری داشته باشد . بنابراین گوگل از دو زبان برای قسمت جلویی خود استفاده می کند :جاوا اسکریپت : جاوا اسکریپت در حال حاضر محبوب ترین زبان برنامه نویسی است . این بخش مهمی از هر برنامه وب است زیرا ویژگی های بسیاری را برای تبدیل یک برنامه وب به یک پلت فرم قدرتمند ارائه می دهد .TypeScript: TypeScript ابر مجموعه ای از جاوا اسکریپت برای اضافه کردن تایپ استاتیک اختیاری است . این توسط مایکروسافت برای توسعه پلتفرم های وب بزرگ توسعه یافته و نگهداری می شود .بنابراین جاوا اسکریپت و تایپ اسکریپت دو زبان برنامه نویسی هستند که توسط گوگل برای فرانت اند استفاده می شود .Back-Endبسیاری از الگوریتم‌ها و فرآیندها در قسمت پشتی Googleاجرا می‌شوند که کاربر در حال جستجوی یک درخواست است . کل فرآیند پشتیبان جستجوی گوگل را می توان به سه مرحله تقسیم کرد :خزیدن : جستجو در وب برای نتایج عالی؛نمایه سازی : اگر یک صفحه وب جدید یا به روز شده پیدا کند ، هر پاراگراف ، تصویر ، ویدئو و سایر فایل های موجود در پایگاه داده خود را نمایه می کند .ارائه نتایج جستجو : در نهایت ، گوگل از الگوریتم های یادگیری ماشینی برای تعیین بهترین نتایج ممکن بر اساس جستجوی کاربر استفاده می کند .اکنون در زیر همه زبان‌هایی که گوگل در قسمت پشتی آن استفاده می‌کند آورده شده است :C : C++++ یکی از سریع ترین زبان های برنامه نویسی است که عمدتاً توسط گوگل برای رتبه بندی نتایج جستجو استفاده می شود .جاوا : جاوا یک زبان برنامه نویسی شی گرا است . بسیاری از توسعه دهندگان گوگل با جاوا آشنا هستند ، بنابراین گوگل در قسمت پشتیبان نیز آن را ترجیح می دهد ، مخصوصا برای شبکه .Golang : Golang یک زبان برنامه نویسی است که توسط گوگل طراحی شده است . این شبیه به C است ، با ویژگی های بیشتری مانند امنیت حافظه ، جمع آوری زباله ، و تایپ ساختاری .پایتون : گوگل از پایتون برای یادگیری ماشینی استفاده می کند تا عالی ترین نتایج را پیدا کند و API های خزنده وب را بسازد .PHP : PHP یک زبان برنامه نویسی همه منظوره است که برای توسعه وب طراحی شده است . شایعات زیادی مبنی بر عدم استفاده از PHPوجود دارد ، اما واقعیت این است که هنوز توسط گوگل و بسیاری از پلتفرم‌ های وب دیگر در بک‌اند استفاده می‌شود .بنابراین  C++،  Java،  Golang ، Python و PHP زبان‌ های برنامه ‌نویسی هستند که توسط گوگل در بک‌اند استفاده می‌شوند .آیا گوگل برنامه نویس C را استخدام می کند؟اگرچه جایگزینی برای زبان های C پیشنهاد شده است ، اما Go آنقدر محبوب نیست که گوگل در سال 2002 انتظار داشت ، زیرا پیشنهاد می کند که Go می تواند جایگزین مفیدی باشد . این شغل توسعه ابر ، مهندسی شبکه و سیستم، مهندسی امنیت و مهندسی پایگاه داده را به عنوان بخشی از تیم ++ Googleارائه می دهد .به نظرتون گوگل روی چه چیزی ساخته شده است ؟گوگل علاوه بر ساخت ، توسعه و نگهداری برنامه های Google Docs ، از زبان برنامه نویسی جاوا استفاده می کند . برنامه‌های کاربردی کاربر و زبان‌های برنامه‌نویسی کاربردی با قابلیت جاوا اسکریپت از برنامه‌های کاربردی وب پشتیبانی می‌کنند که به‌عنوان سمت کاربر در شبکه عمل می‌کنند ، مشابه چیزی که به عنوان سمت مشتری یک سیستم سنتی شناخته می‌شود . هیچ ارتباطی بین جاوا و جاوا اسکریپت وجود ندارد .گوگل ساخته شده در چیست ؟Google1,600,000,000Java Script , Type ScriptFacebook1,120,000,000JavaScript , FlowYouT ube1,100,000,000Java Script ,Type ScriptYahoo750,000,000JavaScriptگوگل کروم چگونه ساخته می شود ؟یک فرآیند در حال توسعه توسعه تعدادی از پروژه‌ های متن‌ باز مختلف به Chromeکمک کردند ، از جمله Mozilla&#39;s Netscape Portable  Runtime، خدمات امنیت شبکه ، NPAPI ( در نسخه 45 حذف شده است ) ،  Skia Graphics Engine، SQLite و موارد دیگر . محصولات و خدمات گوگل :جستجو ،  Maps،  Translate،  Chrome،  YouTube Music،  Chromecast،  Google Play Movies &amp; TV،  YouTube،  Pixel، Connected Home ،  Pixelbook Go،  Nest Wifi، سیستم عامل Android ، Wear OS by Google ،  Chromebook،  Android Auto،  Gmail  ،  Messages،  Google Duo،  Google Chat، Google Photos  ،  Contacts،  Calendar، Keep ،  Docs،  Sheets،  Slides،  Drive،  Google Ads،  AdSense،  Analytics، Google My Businessدرباره برنامه وابسته :گوگل این برنامه ها را دارد :  Google Play Affiliate Program; برنامه وابسته Chromebooks ؛ برنامه وابسته G Suite .برنامه وابسته  Google Play:+ فیلم و تلویزیون و کتاب را پوشش می دهد+ به عنوان یک شریک در برنامه  Google Affiliates، وقتی مستقیماً به محصولات یا محتوای واجد شرایط در فروشگاه Google Play و فروشگاه‌ های خرده ‌فروش شرکت ‌کننده پیوند می‌دهید ، می‌توانید کمیسیون دریافت کنید .+ به ‌عنوان یک شریک فعال « کتاب‌ های  Play» ، وقتی مستقیماً به محصولات یا محتوای واجد شرایط در فروشگاه « کتاب‌ های Google Play » پیوند دهید ، می‌توانید 7 درصد کمیسیون دریافت کنید .+ زمانی که کتاب‌ های الکترونیکی و کتاب‌ های صوتی واجد شرایطی که ارجاع می‌دهید ، ظرف 24 ساعت پس از معرفی خریداری می‌شوند ، 7٪ کمیسیون از فروش دریافت می‌کنید .+ بینش ارزشمند در مورد عملکرد کمپین با داده های کلیک و تبدیلبرنامه وابسته  Chromebooks:+ با پیوند مستقیم به Chromebookهای موجود برای فروش در سایت‌ های خرده ‌فروشی شرکت‌ کننده ، کمیسیون دریافت کنید .+ سایت ‌های خرده‌ فروشی واجد شرایط شرکت‌ کننده در برنامه Chromebooks Affiliatesعبارتند از : Asus+ برای هر خرده‌ فروشی که برای ارسال ترافیک در تلاش‌ های تبلیغاتی خود درخواست می‌کنید ، یک شناسه وابسته جداگانه و منحصر به فرد دریافت می‌کنید .برنامه وابسته G Suite :+ برای افزایش فروش هر طرح  G Suite، بدون محدودیت سالانه ، جوایزی کسب کنید .+ از طریق مشوق های اضافی فرصت هایی برای درآمد بیشتر به دست آورید .+ محتوای تبلیغاتی و پیشنهادات ویژه مشتری+ G Suite شامل برنامه ‌هایی مانند :  Gmail،  Hangouts، Drive ،  Docs، Sheets و Calendar است.نویسنده:حانیه خمسهاستاد:دکتر مریم حاجی اسمعیلی.دکترای علوم کامپیوتر از دانشگاه کینگستون لندن</description><category>m_56660447</category><author>m_56660447</author><pubDate>Tue, 05 Apr 2022 18:54:30 +0430</pubDate></item><item><title>9 برنامه نویس برجسته زن که دنیای فناوری را متحول کردند</title><link>https://virgool.ir/@m_56660447/9-برنامه-نویس-برجسته-زن-که-دنیای-فناوری-را-متحول-کردند-xs5leg8e0rig</link><description>امروز آمده ام تا شما را با  زنان موفق برنامه نویس آشنا کنم . خانوم هایی که هم در برنامه‌نویسی موفق بوده‌اند و هم اینکه هر کدام زبان‌برنامه‌نویسی خاص خود را به وجود آورده ‌اند . البته شاید بعضی‌ افراد معتقد باشند که دنیای کامپیوتری و ماشینی فاصله زیادی با روحیه خانم ها دارد و مردان در این زمینه موفق تر هستند , اما آینده بر مدار تکنولوژی می‌چرخد و هیچ کس قصد این را ندارد که از آینده جا بماند . در این مقاله با 9 زن برنامه نویس و مخترع زبان برنامه نویسی شما را آشنا می‌ کنم پس همراه من باشید تا اخر این مقاله .Ada Lovelace : آگوستا اِیدا بایرون ( Augusta Ada King ) که متولد 10 دسامبر سال 1815 میلادی و در بریتانیا به دنیا آمده است , او ریاضی دان و نویسند و همچنین اولین برنامه نویس زن بوده . Ada  در 17 سالگی با Analytical Engine ( ماشین تحلیلی ) آشنا شد و در سال 1842 با مفهوم برنامه‌نویسی علاقه مند شد . در واقع بیشتر شهرت آدا لاولیس ، به خاطر نوشتن توضیحاتی در مورد ماشین محاسباتی مکانیکی « چارلز بابیج » است میشه گفت که Ada Lovelace یادداشت‌ها و مطالعات پیچیدهٔ « چارلز بابیج » دربارهٔ ماشین تحلیلی را از فرانسه به انگلیسی ترجمه کرد و این مفهوم را توضیح داد و این در حالی است که نه تنها او این یادداشت‌ها را ترجمه کرد ، بلکه برداشت و ایده‌های مبتکرانهٔ شخصی خودش را دربارهٔ انجام محاسبات از طریق ماشین‌ها به آن‌ها اضافه کرد که همین یادداشت‌ها امروزه به عنوان اولین الگوریتم دنیا شناخته می‌شوند . همچنین Ada Lovelace یک نابغهٔ ریاضی بود و این ویژگی را از مادرش به ارث برده بود به طوری که شنیده شده اسنت « چارلز بابیج » به او لقب جادوگر اعداد را داده بود .احتمالا براتون جالب خواهد بود که Ada Lovelace ( آدا لاولیس ) تو سن 12 سالگی پرواز پرندگان را مورد بررسی قرار داده بود و توانسته بود موادی را بررسی کند که می‌توانستند به عنوان بال‌های مصنوعی به کار گرفته شوند و در 13 سالگی شروع به نوشتن نتایج تحیقاتش دربارهٔ پرواز کرد و آن را Flyology ( پروازشناسی ) نامید اما مادرش مانع این کار او شد چونکه سبب شده بود آدا از خواندن درس‌هایش غفلت کند . آدا در ۳۶ سالگی به خاطر ابتلا به سرطان رحم درگذشت و در کلیسای سنت ماری ماگدالن در کنار پدری که هیچگاه نمی‌شناختش ، چونکه آدا در شرایطی به دنیا آمده بود که پدرش انتظار داشت ، صاحب یک فرزند پسر شود . اما یک ماه بعد از به دنیا آمدن ادا ، آنابلا مادر آدا , همسر بایرون , از او جدا شد و اگر چه طبق قوانین بایرون حق داشت که سرپرستی آدا را به مادرش ندهد ، اما اجازه داد آنابلا ، آدا را با خود به خانه پدر بزرگش ببرد . در سال ۱۸۲۴ لرد بایرون درگدشت ، تا زمان مرگ او هیچ ارتباطی با دخترش برقرار نکرد و مادر آدا , و در نهایت Ada Lovelace ( آدا لاولیس ) در کنار پدرش به خاک سپرده شد .یک سال بعد از فوت Lovelace Ada ( آدا لاولیس ) در سال ۱۹۵۳ ، یادداشت‌ های فراموش‌ شده او ، مجددا انتشار شد , و همچنین وزارت دفاع آمریکا به پاس قدردانی از Lovelace Ada ( آدا لاولیس )  ، نام یک زبان برنامه ‌نویسی ایجاد شد توسط این دپارتمان ، را زبان برنامه‌نوسی آدا نامید . و همچنین عکس های Lovelace Ada ( آدا لاولیس ) روی برچسب‌ های هولوگرام محصولات مختلف مایکروسافت ، دیده می‌شود .و خب حالا بریم خانم برنامه نویس بعدی که کسی نیست جز خانم گریس هاپر (Grace Hopper) گریس هاپر (Grace Hopper) : خانم گریس هاپر یکی از اولین خانم های موفق برنامه نویس قرن و ملقب به ملکه‌ کد نویسی و همچنین عضو نیرو دریایی ارتش آمریکا بودند . شنیده شده است که خانم گریس هاپر (Grace Hopper) معتقد بوده است که زبان‌های برنامه‌نویسی باید مثل زبان گفتار ساده و قابل فهم باشد . خانم گریس هاپر حتی با ابداع اصطلاح “ debugging ” عیب یابی نیز معروف هستند . ایشان نقش مهمی در ایجاد یکی از زبان‌ های برنامه نویسی به نام COBOL مخفف ( common Business-oriented language ) داشته است . زبان COBOL در سال 1959 میلادی توسعه پیدا کرد ، که هنوز هم در حال استفاده است و از این زبان در کارهای تجاری و مالی استفاده می‌کردند . خانم گریس هاپر (Grace Hopper)  در تمام مدت زندگی خود و حتی بعد از مرگش جوایز زیادی دریافت کرد . گریس هاپر در سال 1992 يعني در سن 86 سالگي در روز جشن سال نوی میلادی فوت کرد . بدن بی جان هاپر با تمام مدال‌ها و افتخارات نظامی اش در گورستان آرلینگتون به خاک سپرده شد.نفر بعدی از لیست زنان برنامه نویس خانم سینتیا سالمون (Cynthia Solomon ) هستند . خانم سینتیا سالمون (Cynthia Solomon ): محققان آمریکایی در اواخر دهه 1960 میلادی دنبال ایجاد زبانی برای کودکان بودند . زبانی که  بیشتر مبتنی بر کلمات باشد و کمتر از اعداد و نماد ها در آن استفاده شده باشد . درباره خانم سینتیا سالمون (Cynthia Solomon ) میتونم بگم که یکی از محققانی بودند که در زمینه هوش مصنوعی و بر روی زبان برنامه نویسی Lips کار می‌کرد . توانست او با استفاده کردن از زبان برنامه نویسی Lips زبان جدیدی به نام Logo اختراع کند که این زبان مبتنی بر گرافیک است و در آموزش برنامه نویسی کودکان استفاده می‌شود .و اما نفر بعدی خانم Radia Perlman(رادیا پرلمن) هستند . خانم Radia Perlman (رادیا پرلمن): خانم دکتر Radia Perlman که یک مهندس شبکه و طراح نرم افزار است که اکثرا ایشان را به عنوان “ مادر اینترنت ” میشناسند . ولی خودش دوست ندارد از او با این عنوان یاد شود . خانم Radia Perlman (رادیا پرلمن)  کسی است که &#34; پروتکل درخت پوشا &#34; را اختراع کرد ، پروتکلی که تحول عظیمی در علم شبکه‌سازی کامپیوتری را رقم زد و این امکان را فراهم کرد که هر کامپیوتر ارسال‌کننده‌ پیام ، فقط یک مسیر برای ارسال اطلاعات به کامپیوتر مقصد داشته باشد . خانم رادیا پرلمن زمانی که مشغول به خواندن کارشناسی ارشد خود در دانشگاه MITبودند , روی زبان برنامه نویسی LOGOکار می کردند . اولین زبان برنامه نویسی که بطور ویژه برای کودکان ایجاد شده است . خانم دکتر رادیا پرلمن بعداز ساخت نسخه ساده تر ، TORTIS که می تواند توسط کودکان پیش دبستانی استفاده شود ، پرداخت . در حال حاضر ایشان در شرکت اینتل مشغول به کار است و بیش از 50 امتیاز sun را به خود اختصاص داده است . همچنین خانم دکتر رادیا پرلمن کتابهای زیادی را درباره امنیت شبکه نوشته است .و خب خانم موفق تاریخ فناوری کسی نیست جز خانم کارن اسپارک جونز ( Karen Sparck Jones ) بریم و با ایشان و زندگیشون آشنا بشیم .خانم کارن اسپارک جونز ( Karen Sparck Jones ) : خانم اسپارک جونز تو سالهای 1974 تا 2002 در لابراتوار یا همان آزمایشگاه کامپیوتر دانشگاه کمبریج مشغول به کار بودند و کار خود را روی پردازش زبان های طبیعی و بازیابی اطلاعات متمرکز کرده بودند . خانم اسپارک جونز یک برنامه نویس رایانه ای بودند که میشه گفت ایشان پایه و اساس موتورهای جستجوگر مدرن را پایه گذاری کردند . روزنامه نگار نلی بولز در روزنامه نیویورک تایمز می نویسد : “ وقتی اکثر دانشمندان در تلاش بودند تا از مردم برای گفتگو با رایانه استفاده کنند ، خانم کارن اسپارک جونز به رایانه ها یاد داد که به جای آن ، زبان انسان را درک کنند . اما در واقع خانم اسپارک جونز , یشتر بخاطر مقاله ۱۹۷۲ خود در Journal of Documentation معروف شد ، که در آن مفهوم فرکانس اسناد معکوس را معرفی کرد . میشه گفت که مهمترین کار او مفهوم فرکانس معکوس سند (  IDE) در اندازه گیری بازیابی اطلاعات بود که هنوز هم در بیشتر موتورهای جستجو استفاده می شود .مفهوم فرکانس اسناد معکوس , روشی برای شمارش تعداد دفعاتی که یک عبارت در یک سند ظاهر می شود تا اهمیت این عبارت را تعیین کند . جستجوگر های گوگل ، یاهو و بینگ سه نمونه از پر استفاده‌ ترین سیستم‌ های بازیابی اطلاعات هستند که به کاربران برای بازیابی اطلاعات متنی ، تصویری ، ویدئویی و غیره کمک می‌کنند .یکی دیگر از خانم های موفق برنامه نویس , خانم ادل گلدبرگ (Adele Goldberg ) است .خانم ادل گلدبرگ (Adele Goldberg ) : خانم ادل گلدبرگ دانشمند در زمینه علوم کامپیوتر و اهل ایالات متحده آمریکا است . ایشان در دهه 70 میلادی به تیم توسه‌دهندگان small talk پیوسته و نقش مهمی در ایجاد این زبان داشته است . Smalltalk هم زبانی بود که با هدف آسان کردن برنامه نویسی برای همه افراد توسعه یافت . ایشان نقش زیادی در بخش ‌هایی مانند تعریف مفاهیم زبان و ایجاد محیط توسعه یکپارچه داشت . این زبان ، شی‌گرا و دینامیک می‌باشد و از ترکیب آن با زبان c در توسعه سیستم عامل iosاستفاده شده است . یکی از زبان‌های شی‌گرایی ، سی شارپ است .و اما نفر بعدی در لیست خانم های برنامه نویس , خانم باربارا لیسکف ( Barbara Liskov ) ؛ دانشمند علوم رایانه هستند . خانم باربارا لیسکو ( Barbara Liskov ) : باربارا لیسکو(  Barbara Liskov) یکی از تأثیرگذار ترین زنان آمریکایی در حوزه علوم کامپیوتر است . باربارا لیسکو دانشمند علوم رایانه است . ایشان در سال ۲۰۰۸ جایزه تورینگ را به علت « ابداعات اساسی در طراحی زبان برنامه‌نویسی » دریافت کرد . در سال ۲۰۰۸ خانم باربارا لیسکف دومین زنی بود که جایزه ‌ی تورینگ را دریافت کرد ؛ همچنین در سال ۲۰۰۴ نیز مدال جان فون نیومن را دریافت کرد . او « استاد موسسه » در دانشگاه MIT است که بالاترین درجه استادی در این دانشگاه به حساب می‌آید . ایشان سرپرستی گروهی از محققان را به عهده داشت که توانستند زبان CLU را ابداع کرده و گامی بزرگ در جهت متحول کردن توسعه زبان‌های برنامه نویسی بردارند . لیسکو زبان برنامه‌نویسی CLU و Argusرا ابداع کرده , ایشان با ابداع زبان CLU توانست مفاهیمی چون انواع داده‌ های انتزاعی (  Abstract Data Types) و پیمایش (  Iterators) را نیز به برنامه نویسی وارد کند . نوآوری ‌های باربارا لیسکو در بسیاری از زبان‌های برنامه‌‌نویسی شی گرا به کار برده شده و تا به حال شاهد حضور این نوآوری‌ها در Mac OS X , Objective-C , Visual Basic.NET و جاوا بوده‌ایم . باربارا لیسکو تا سن ۷۲ سالگی در دانشگاه MIT مشغول به تدریس بوده و همچنین، نویسنده‌ی سه کتاب و صدها مقاله تخصصی است .Hedy Lamarr (هدی لامار) : هدی لامار یکی از ستاره‌ های سرشناس سینما است ؛ بنابراین ممکن است تعجب کنید که چرا او در لیست برنامه نویسان زن ما قرار دارد , اما با این حال صاحب یکی از اختراعات مهم تاریخ به شمار می‌آید . در حقیقت با وجود تمام شهرت هدی لامار در دنیای سینما ، هدی لامار بیشتر در دنیای کامپیوتر به خاطر اختراعش که پایه‌ی مخابرات طیف گسترده شد معروفیت دارد . در واقع خانم هدی لامار سیستم ارتباطی را ایجاد کرد که بعداً پایه ای برای  WiFi ، GPS و Bluetoothشود . این اختراع ، در اصل یک سیستم هدایت رادیویی بود و به متفقین کمک کرد تا در جنگ جهانی دوم پیروز شوند . فناوری که لامار ابداع کرده بودFHSS  نام داشت که مخفف Frequency-hopping spread spectrum است . از همین فناوری برای توسعه شبکه‌های وایرلس و شبکه‌های تلفن موبایل بهره‌برداری شد .  بدون این فناوری گوشی‌های موبایل نمی‌توانستند بدون تداخل فرکانسی با هم با دکل ‌های مخابراتی ارتباط برقرار کنند . باز هم بر همین پایه بود که ایجاد فناوری وای فای و بلوتوث ممکن شد . شش دهه طول کشید تا لامار و آنتیل به عنوان مخترعان سیستم مخابراتی وایرلس به رسمیت شناخته شوند . لامار و خانواده وی هرگز در ازای استفاده از آن در جنگ یا فن آوری های جدید مدرن معرفی نشده اند . حتما شما نمی دانستید كه چگونه این ستاره هالیوود چهره فناوری را تغییر داده است .و اما آخرین برنامه‌ نویسی که به شما معرفی می‌کنم کسی نیست جز خانم سوزان کاره (Susan Kare  ) مبدع آیکون‌های رابط کاربری . خانم سوزان کاره (Susan Kare  ) : اگر شما مخاطب عزیز مشتری دائمی و قدیمی محصولات کمپانی مک بوده اید یا آشنایی و ارتباطی با گرافیک و طراحی کامپیوتری داشته باشید ، احتمالاً نام Susan Kare (سوزان کاره )به گوش شما خورده است . سوزان یکی از گرافیست‌ های بنام تاریخ است که بسیاری از آیکون‌ های سیستم‌ عامل های اولیه مکینتاش مانند  Lasso، Grabber و Paint Bucket و هم چنین سبک حروف سیستم عامل هایی نظیر Chicago که برای آیپاد هم استفاده شده است و از این‌رو او را بیشتر با عنوان طراح آیکون می‌شناسند . استیو جابز و استیو وزنیاک ممکن است اپل را ایجاد کرده باشند ، اما این مهارت طراحی سوزان کر بود که تجربه کاربر اپل را برای نسل ها تعریف کرده و لبخند امضا را به Macintosh بخشید . سوزان در کنار استیو جابز کار کرده و تا به حال کمک‌ های بسیاری را برای توسعه‌ ی ظاهر مکینتاش به انجام رسانده است . از جمله کارهای وی در مکینتاش می‌توان به المنت ‌های مختلف نمایشگر مانند آیکون خط فرمان اشاره کرد ، سوزان ظاهر این آیکون را تنها با نگاه کردن به یک نشانه ‌ای که در یکی از کتاب‌ های وی وجود داشت ، الهام گرفت . کارهای سوزان تنها در کمپانی ‌های اپل و مایکروسافت خلاصه نمی‌شود ؛ او همچنین در فیسبوک نیز مشغول به کار شده و آیکون‌های « هدیه‌ های دیجیتالی » فیسبوک را نیز طراحی کرده است . شاید بیشترین و جالب توجه‌ترین کارهای اخیر او در Glam Mediaاست که سوزان کاره در آنجا با عنوان بنیان گذار و مدیر مشغول به کار است . و یک موضوع جالب درمورد Kare , قبل از استخدام اپل و پیشتاز شدن به طراحی گرافیک مجسمه ساز بود .بعد از زمان ترک اپل ، مؤسسه ی خود را در سال 1989 با نام مؤسسه ی طراحی سوزان کاره تأسیس کرد ، که در آن هزاران آیکون را برای مشتریان خود طراحی کرد . حال سوزان صاحب یک موسسه‌ ی دیجیتالی (  kare.com) در سن‌ فرانسیسکو است و همچنین سوزان در سایت اینترنتیkareprints.com  پرینتی از طراح‌ های گرافیکی خود را به فروش می‌رساند .سوزان در یکی از مصاحبه‌ های خود در سال 1984 در خصوص محبوبیت و جذابیت ظاهر مک گفته :در تنها 20 دقیقه می‌توان به یک نفر نحوه ‌ی استفاده از کامپیوتر را آموزش داد که سهولت این آموزش به دلیل وجود آیکون‌ هایی است که باعث می‌شود تا کاربر به آسانی یاد بگیرد . همچنین خانم Kareبا مدرک پی اچ دی هنر های زیبا از دانشگاه نیویورک فارغ التحصیل شد . خبرهای جدید حاکی از پیوستن او به شرکت Pinterest است . به تازگی Pinterest خبر داده است که خانم Kare به عنوان یکی از مدیران طراحی محصول به تیم هنری این شرکت ملحق خواهد شد. این هنرمند در این سمت به صورت دائمی و تمام وقت به عنوان یکی از کسانی که مسئولیت طراحی رابط کاربری و طراحی محصول وب سایت و اپلیکیشن های Pinterest را دارند فعالیت خواهد کرد. نویسنده:حانیه خمسهنام استاد:دکتر مریم حاجی اسمعیلی.دکترای علوم کامپیوتر از دانشگاه کینگستون لندن</description><category>m_56660447</category><author>m_56660447</author><pubDate>Mon, 04 Apr 2022 14:30:38 +0430</pubDate></item><item><title>همه چیز درباره ی رباتیک</title><link>https://virgool.ir/@m_56660447/همه-چیز-درباره-ی-رباتیک-h1lbgjfig7nf</link><description>اول از هرچیزی یک تعریف مختصری از ربات داشته باشیم بدونیم ربات چیه و از چه چیز هایی ساخته میشود و اولین ربات چه زمانی ساخته شده و در آخر هم درمورد برنامه ریزی ربات براتون میگم , پس همراه من باشین تا آخر این مقاله .توی دنیای امروزه ما شاهد ربات های پیشرفته ای هستیم که قادر هستند با انسان هم تعامل برقرار کنندو دستورات راهم به صورت صوتی دریافت کنند و درعین حال پردازش کرده و پاسخ دهند و همچنین انجام وظیفه کنند . اما ربات های امروزی با اولین رباتی که ساخته شده خیلی پیشرفت کرده اند در واقع  اولین رباتی که ساخته شد اینطوری پیشرفته نبود و خبری از هوش مصنوعی و یادگیری ماشین و سرعت پردازشی بالا نبود . ساخت اولین ربات ها به قبل از میلاد مسیح برمیگرده و حتی به هزاران سال پیش اجداد ما دنبال ساخت ماشین‌هایی مانند ربات‌های امروزی بودن و دوست داشتن کارها بصورت اتوماتیک انجام بشن . میتونم ربات را اینطوری تعریف کنم , ربات یک دستگاه الکترومکانیکی است که قادر است به روشهای مختلف به محیط واکنش نشان دهد ، به صورت مستقل تصمیم بگیرد یا طبق فرمانی یک وظیفه ی مشخص را انجام دهد و همچنین ربات ماشینی است که معمولاً قابل برنامه‌ریزی توسط رایانه بوده و قادر به انجام خودکار شماری از اعمال پیچیده است. همچنین بر پایه تعریفی از بریتانیکا ربات دستگاهی است که به صورت خودکار عمل می‌کند جایگزین تلاش انسانی می‌شود و ممکن است در ظاهر شبیه انسان‌ها نباشد . حالا ما در اطرافمان لوازم رباتی زیادی داریم که بعضی از انها ربات محسوب نمیشوند و ما فکر میکینم ربات هستند مانند یک توستر ، یک لامپ یا یک ماشین را نمی توان به عنوان یک ربات در نظر گرفت چرا که آنها نسبت به محیط اطراف خود عکس العملی نشان نمی دهند . اما یک جارو برقی با صفحه خورشیدی که در اطراف اتاق به دنبال نور خورشید می گردد ، می تواند یک ربات در نظر گرفته شود . ربات‌ها معمولاً در مواردی استفاده می‌شوند که بتوانند کاری رو بهتر از یک انسان انجام دهند یا در محیط پر خط فعالیت کنند مثل اکتشافات در مکان‌های خطرناک مانند آتش‌فشان‌ها که می‌توان بدون به خطر انداختن انسان‌ها انجام داد . علم رباتیک درا صل در صنعت به‌کار می‌رود و ما تأثیر آن را در محصولاتی که هر روزه استفاده می‌کنیم ، می‌بینیم . حالا میخوام بهتون اولین ربات رو معرفی کنم که حدود  اوایل قرن یکم , پیش از میلاد مسیح چنین مکانیزمی را طراحی و ساخته شده است . اولین ربات توسط باستان شناسان پیدا شده و اولین ربات اسمش ماشین آنتیکیترا هستش . ماشین آنتیکیترا برای انجام محاسبات اخترشناسی طراحی شده بود . ماشین آنتیکیترا شاید اولین دستگاهی بود که در آن چرخ‌دنده به کار رفته است .ماشین آنتیکیترا در سال ۲۰۰۷ بازسازی شده .دومین ربات اسمش هست لئوناردو, که توسط اقای لئوناردو داوینچی در تاریخ ۱۴۹۵ میلادی ربات لئوناردو را طراحی کرده بوده که در یاداشت‌های ایشان پیدا شده . و این نشان می‌دهد که انسان و بخصوص افراد متفکر جامعه در گذشته نیز دنبال مفهموم ربات و ساخت آن بودند , و مدلی از ربات لئوناردو همراه لوازم اجزای داخلیش در برلین قرار دارد .در زمان های قدیم ربات های زیادی ساخته شده اند که البته چند موردی هم شبیه ربات بودن , یکی از آنها The Steam Manکه یک ماشین شبیه انسان بود با موتور بخار که توسط Zadoc Dederick در سال ۱۸۶۸ میلادی ساخته شد . هزینه ساخت نمونه اولیه این ربات ۲۰۰۰ دلار معادل                       در ۳۹۴۵۸ دلار در سال ۲۰۲۰ شده بود .بعدا ربات‌هایی مثل Eric در سال ۱۹۲۸ و Elektroدر سال ۱۹۳۸ ساخته شدن که Elektro ربات انسان‌نما بود که می‌توانست راه برود ، حرف بزند و همچنین سیگار بکشد.ولی بنظر تا این زمان از تاریخ‌ ربات‌ها خیلی هم کاربردی و مهمتر از همه قابل برنامه‌ریزی هم نبودن .حالا بریم سراغ ربات های جدید و صنعتی و ببینیم اولین بار این ربات های امروزی توسط چه کسی ساخته شدن و برای چه کاری خلق شدن .ربات Unimate: این اولین ربات صنعتی بود که در خط تولید از آن استفاده شد . ربات Unimate توسط George Devol ( جورج دوول ) در سال ۱۹۵۴ طراحی و ساخته شد , واژه اتوماسیون به معنای خودکار سازی اولین بار توسط ( جورج دوول ) در جهان مطرح شد . ربات یونیمیت با هدف جا به جایی قطعات بین چند نقطه , ساخته شد بود که توسط جک های هیدرولی حرکت میکرد و تنها فقط از سه درجه آزادی برخودار بودش و بعد از دوسال یعنی در سال 1956 توسط جورج دوول با همکاری ژوزف انگلبرگر ( Joseph Engelberger )  , شرکت یونیمیشن (  Unimation ) را تاسیس تاسیس کردند و لقب اولین شرکت سازنده ربات های صنعتی در جهان را از آن خود کردند . در سال 1962 , اولین ربات صنعتی شرکن یونیمیشن در کارخانه خودرو سازی جنرال موتورز (  GMC) برای انجام فرایند جوش نقطه ای و ریخته گری نصب گردید .در سال های بعد شرکت های زیادی برای تولید ربات های صنعتی اقدام نمودند از جمله شرکت های : ABB , KUKA , FUNUC و ...شرکت آلمانی , KUKAدر سال 1973 اولی ربات شش محوره جهان را طراحی و تولید کرد که نامش  Famulus است . که سال بعدش شرکت ASEA که امروزه به نام ABBمعروف است , اولین ربات صنعتی خودش را که از کنترلر میکروپروسسوری به منظور پردازش برنامه ربات استفاده میشود را با عنوان IRB6  به بازار معرفی و عرضه کرد . فدراسیون بین المللی رباتیک ( IFR ) , تعدا ربات های نصب شده در سر تا سر جهان را در سال 2015 حدود 1,664,000 دستگاه پیش بینی نموده است . میشه گفت که 90 درصد از ربات های نصب شده در جهان , ربات های صنعتی هستند که حدود نیمی از آنها در کارخانجات خودروسازی به کار گرفته شده اند .میدونین اولین بار واژه ربات در چه زمانی و و توسط کی گفته شده ؟شاید براتون جالب باشه واژه « ربات » یا “ robot ” اولین بار سال ۱۹۲۱ توسط آقای « کارل چاپک » از نویسندگان کشور جمهوری چک در یکی از آثارش با عنوان « کارخانه ربات‌سازی روسوم » به کار برده شد .  واژه ربات را او در کتاب کارخانه ربات‌سازی روسوم ( . R . U . R ) معرفی کرد و مفهوم آن را تبیین کرد .حالا میدوین ربات ها از چه لوازمی ساخته شده؟با من در این مقاله همراه باش تا با هم یاد بگیریم لوازم ربات ها از چیست . از وسایل مکانیکى و الکتریکى: شاسى ها ، موتورها ، منبع تغذیه و باقی وسایل . .– حسگرها ( که براى شناسایى محیط ) دوربین ها– عملکردها ( براى انجام اعمال لازم ) بازوى ربات ، چرخ ها ، پاها و…– قسمت تصمیم گیرى ( برنامه اى براى تعیین اعمال لازم ) : حرکت در یک جهت خاص ، دورى از موانع ، برداشتن اجسام و…– قسمت کنترل ( براى راه اندازى و بررسى حرکات ربات ) : نیروها و گشتاورهاى موتورها براى سرعت مورد نظر ، جهت مورد نظر ، کنترل مسیر و …به نظرتون چطوری میتونیم ساخت ربات را یادبگیریم؟طراحی و ساخت ربات ها شامل رشته‌های مختلفی هستش از جمله مکانیک ، الکترونیک ، علوم کامپیوتر ، برنامه‌نویسی و در سطح پیشرفته هوش مصنوعی هم درگیر می‌شود .در واقع برنامه نویسی ربات آخرین مرحله در ساخت ربات است . میشه گفت که در مراحل اولیه باید موتورهای محرک ، الکترونیک ، سنسورها و فریم ربات را تهیه کرد و همچنین قطعات را جایگذاری کرده و بعد برنامه نویسی ربات را انجام داد و اما ربات بدون برنامه نویسی ، ربات فقط یک وسیله معمولی خواهد بود.  حالا برای برنامه نویسی ربات از چه زبان هایی میشه استفاده کرد ؟ برای کد نویسی میکروکنترلرها زبان های برنامه نویسی بسیاری وجود دارد که در ادامه بهتون معرفی میکنم : زبان Java : زبان Java جدید تر از C می باشد و به دلیل اینکه برنامه های جاوا در داخل سیستم عامل مجازی ماشین مجازی اجرا می شوند از امنیت بالایی برخوردارند . برخی از شرکتها مثل Parallax میکروکنترلر های خود را به گونه ای می سازد که با زبان Java قابل کدنویسی هستند .  زبان Basic : میتونم بگم که یکی از اولین زبان های برنامه نویسی که به طور گسترده استفاده می شد و البته هنوز هم در برخی از میکروکنترلرها (Basic Micro ، BasicX ، Parallax) برای ساخت ربات های آموزشی استفاده می شود .  زبان های C / C++ : C یکی از محبوب ترین زبان های برنامه نویسی است و یک زبان سطح بالا می باشد که برای برنامه نویسی سطوح پایین سیستم (مثلا در سطح سیستم عامل یا نرم افزار) مناسب هستش .زبان #NET / C. : زبان اختصاصی شرکت مایکروسافت می باشد که از آن برای توسعه برنامه های کاربردی خود در Visual Studio استفاده می کند . Netduino و FEZ Rhino نمونه هایی از کاربرد آن می باشد .زبان Processing (Arduino) : یک نوع از زبان ++C است که البته برنامه نویسی با آن نسبت به زبان ++C ساده تر شده است .  زبان Assembly : یکی از زبان های برنامه نویسی هستش که بسیار نزدیک به زبان ماشین است ، به همین دلیل استفاده از آن بسیار خسته کننده است . زبان Assembly زمانی کاربرد دارد که نتوان با استفاده از زبان های سطح بالا کد خاصی را نوشت و البته دقت و سرعت بالاتری نسبت به زبان های سطح بالا نیز دارد .  معمولاً برای برنامه نویسی در سطح CPU کاربرد دارد .  زبان Python : و اما زبان برنامه نویسی پایتون یکی از محبوب ترین زبان های برنامه نویسی می باشد .  یک زبان سطح بالا است و یادگیری آن بسیار ساده می باشد .در بخش برنامه نویسی می ‌توانید خلاقیت‌ های بیشتری داشته باشید و کدهای پیچیده‌ تری را بنویسید تا ربات شما کار های زیادی را انجام بدهد .  ولی خب برای شروع ابتدا نیازه شما با مبانی برنامه نویسی آشنا بشید و ببینید اصلا برنامه چیه و ذهنیت یک برنامه نویس را پیدا کنید , و البته اگر مبانی برنامه نویسی را خوب یاد بگرید هر زبان برنامه نویس باشد برای شما آسان خواهد شد. ولی برای شروع زبان‌هایی مانند C یا پایتون خوب هستن اما چون در آردوینو با C و ++Cکد مینویسن شاید مفید باشه این دو را برای شروع انتخاب کنید . ابتدا C را یاد بگرید و بعد شی‌گرایی را در ++C یاد بگیرید و با مفاهیمی مانند شی و کلاس آشنا بشید . ولی اگر بخواهید متخصص رباتیک شوید و در سطح پیشرفته فعالیت کنید قطعا باید برنامه‌‌نویسی را خوب یاد بگیرید ولی هر مسیری را شروع کنید خود مسیر راه را نشون میده .میتونم بگم معمولاً ، هر میکروکنترلر به یک زبان خاصی برنامه نویسی می شود , که در ادامه چند مثال براتون معرفی میکنم :میکروکنترلر آردوینو ( Arduino ) : که از نرم افزار آردوینو استفاده می کند و با استفاده از زبان Processing قابل برنامه نویسی است .میکروکنترلر Basic Stamp : که از زبان PBasic استفاده می کند .میکروکنترلر Basic Atom : که از زبان Basic Micro استفاده می کند .میکروکنترلر Javelin Stamp از شرکت Parallax : که از زبان Javaاستفاده می کند .برای برنامه نویسی میکروکنترلر به طور خلاصه باید مراحل زیر طی شوند :دفترچه راهنمای کاربر را بررسی کنید .forum یا انجمن سازنده میکروکنترلر را بررسی کنید .برای پیدا کردن نمونه کدها ، اینترنت را بررسی کنید .برای درک نحوه کد نویسی ، دفترچه راهنما ( manual ) را بخوانید .نکات کلیدیکدها را به صورت بخش بخش و خوانا بنویسید و در یک فایل مشخص روی کامپیوتر ذخیره کنید تا به راحتی قابل دسترس باشد .هر بخش را با توضیحات یا comment گذاری شرح دهید : با comment گذاری به راحتی می توان فهمید که هر خط کد چه کاری انجام می دهد. هر چقدر که در برنامه نویسی پیشرفته تر شوید ، می توانید به جای comment گذاری برای هر خط کد برای مجموعه ای از کدها comment بگذارید .نسخه های مختلف کد را ذخیره کنید و بر روی همان فایل کپی نکنید : زیرا اگر که روزی متوجه شوید که 200+ خط کد شما کامپایل نمی شود ، دیگر نیازی نیست که کدها را خط به خط چک کنید و در عوض می توانید به نسخه ذخیره شده قبلی برگردید و در صورت لزوم آن را تغییر دهید . کد ، فضای زیادی از حافظه را اشغال نمی کند ، پس می توانید با خیال آسوده چندین نسخه کد را ذخیره کنید .هنگام debug کردن کدها ، ربات را روی زمین یا میز قرار ندهید تا ربات از لبه میز پرت نشود یا بر روی زمین وارونه نشود و اگر دیدید که ربات در حال نابودی خودش است آن را از برق بکشید .اگر کدی درست کار نمی کند ، برق را خاموش کنید زیرا هیچ اشکالی خود به خود رفع نمی شود و اگر ربات را از برق خارج نکنید ممکن است بخشی از آن خراب شود .یادگیری توابع و درک عملکرد آنها کمی مشکل است ولی اگر در برنامه ای یک قطعه کد دائما در حال تکرار باشد بهتر است که از توابع استفاده کرد تا برنامه ، ساده تر و بهینه شود .خب بریم سراغ برنامه نویسی کنترلر موتور کد نویسی این بخش کمی سخت تر هستش ، چونکه هیچ نمونه کدی مخصوص آردوینو در دسترس نیستش . کنترلر به پین Tx ( سریال ) آردوینو متصل شده و قبل از هر اقدامی منتظر یک “ بایت شروع ” است .0x 80 ( بایت شروع )0x 00 ( فقط مخصوص این کنترلر موتور می باشد ، اگر مقداری غیر از بایت شروع به کنترلر برسد ، هیچ اقدامی نمی کند ) .سیگنال هر موتور را به یک پین دیجیتال در آردوینو وصل کنید . ( موتورها را مستقیماً به آردوینو وصل نکنید چونکه هنگام آپلود کدها در آردوینو ، مشکل پیدا می کنند ) .سرعت موتورها از ( 0 تا 127 هگزا دسیمال است ) .من برای پیاده سازی این قسمت قطعه کدی به صورت زیر نوشتم :پس در نتیجه قرار دادن تک تک کدها در کنار هم سبب می شود که ربات به حرکت در بیاید . شاید تا اینجای کار یاد گرفته باشید که  میکروکنترلر Arduino ( مغز ربات ) هستش . خوشبختانه برای برنامه نویسی سنسور فاصله که ربات با استفاده از این سنسور ها بچرخد یا به بالا و پایین , جلو و عقب حرکت کند , در نرم افزار آردوینو نمونه کد آماده وجود دارد که آدرس آنFile - &gt; Examples - &gt; Analog - &gt; AnalogInOutSerial می باشد و همچنین برای حرکت سروو موتور ( چرخش و بالا و پایین رفتن ) نیز نمونه کد آماده وجود دارد و آدرس آن File - &gt; Examples - &gt; Servo - &gt; Sweep می باشد . در زیر کدهای این بخش نوشته شده است . توجه کنید که نوشته های بعداز علامت ( // ) به معنی توضیحات یا comment است .نویسنده:حانیه خمسهاستاد:دکتر مریم حاجی اسمعیلی.دکترای علوم کامپیوتر از دانشگاه کینگستون لندن</description><category>m_56660447</category><author>m_56660447</author><pubDate>Mon, 04 Apr 2022 13:27:00 +0430</pubDate></item></channel></rss>