انواع زبان های برنامه نویسی و کاربرد آنها - کد تجاری دسته‌بندی نشده\nمرداد ۳, ۱۳۹۸ /5 دیدگاه /در دسته‌بندی نشده, مقالات /توسط مریم عمرانی\nدر این مقاله به معرفی انواع زبان های برنامه نویسی موجود در دنیا و کاربرد آنها خواهیم پرداخت.\nاستارتاپ هایی مانند گوگل، نتفلکس، اسپاتیفای، یوتیوب و ناسا از زبان برنامه نویسی پایتون استفاده می کنند که این موضوع اعتبار و محبوبیت پایتون را به نمایش می گذارد.\nبه گفته گوگل:\nزبان برنامه نویسی پایتون از ابتدا تا کنون یک بخش مهم از گوگل بوده و همانقدر که سیستم رشد می کند و کامل می شود، مهم باقی خواهند ماند.\nپایتون زبان برنامه نویسی است که دستورهای آسان، کوتاه و قابل درک آن باعث شده است روزانه به تعداد طرفداران آن افزوده شود.\nساده بودن دستور های این زبان باعث خوانایی کدهایی که به وسیله این زبان نوشته شده می شوند.\nهمچنین برنامه تولید شده دارای خطوط کمتری از کد ها خواهد بود.\nزبان برنامه نویسی پایتون جزء زبان های برنامه نویسی سطح بالا (High Level) هست.\nبنابراین نزدیک بودن دستورات آن به ذهن انسان و قابل درک بودن آن موجب می شود آن را به راحتی یاد بگیرید و بکار ببرید.\nافراد تازه کاری که سابقه برنامه نویسی ندارند و می خواهند به راحتی و به سرعت یک زبان برنامه نویسی را یاد بگیرند، زبان برنامه نویسی پایتون انتخاب خوبی برای آن ها خواهد بود.\nزبان برنامه نویسی پایتون ، یک زبان general-purpose یا عمومی است.\nزبان برنامه نویسی پایتون بر روی سیستم عامل هایی مانند ویندوز – مک – لینوکس – رزبری پی آی – یونیکس – اندروید – IOS اجرا می شود.\nاگر به دنبال ساخت نرم افزاری هستید که بر روی سیستم عامل های مختلف اجرا شود می توانید از زبان برنامه نویسی پایتون استفاده کنید.\nالبته برنامه نویسی با این زبان نیاز به نصب یک مفسر خاص برای هر سیستم عامل دارد.\nزبان برنامه نویسی پایتون جزء زبان های تفسیری interpreted به شمار می رود.\nتفسیری بودن زبان برنامه نویسی پایتون باعث می شود واسط گرافیکی برنامه ای که با این زبان نوشته شده است به سرعت ساخته شود.\nعلاوه بر این، برنامه نویس ها می توانند کدهایی که دارای پیچیدگی هستند را به آسانی دیباگ کنند و کدها را ویرایش کنند.\nبرنامه نویسانی که برای تولید نرم افزار هایشان از زبان برنامه نویسی پایتون استفاده می کنند نگرانی در مورد مدیریت حافظه ندارند.\nچرا که این زبان در زمان اجرای نرم افزار قسمت هایی از حافظه که بیهوده اشغال شده اند را بازیابی می کند.\nبه این ویژگی پایتون که به صورت اتوماتیک در زمان اجرای برنامه رخ می دهد Garbage collection یا آشغال روبی می گویند.\nپایتون برای انجام Garbage collection ، از ۲ کامپوننت به نام های reference counting collector و generational garbage collector که به gc module معروف است، استفاده می کند.\nکامپوننت reference counting بخش عمده ای از عملیات Garbage collection را برعهده دارد .\nکار این کامپوننت این است که آبجکت هایی که مورد نیاز نیستند را سریعا نابود کند.\nاما کامپوننت reference counting دارای ایراد هایی است که garbage collector مسئول برطرف کردن آن ها است.\nپایتون یک زبان برنامه نویسی شی گرا است.\nاین ویژگی موجب می شود که برنامه نویس ها نرم افزارهایی بسازند که راحتی قابل اجرا و دیباگ کردن باشد.\nقابلیت منحصربفرد زبان برنامه نویسی پایتون این هست که شما می توانید آن را با زبان های دیگر ترکیب کنید.\nمثلا می توانید برنامه ای بسازید که ترکیبی از C# و زبان برنامه نویسی پایتون باشد.\nOpen-source بودن این زبان می تواند باعث شود که نرم افزارهایی که با این زبان ساخته میشود بطور رایگان قابل استفاده، مدیریت و توزیع باشد.\nیکی از ویژگی های زبان برنامه نویسی پایتون پایین بودن سرعت آن هست.\nاین ویژگی به این دلیل است که این زبان یک زبان برنامه نویسی پویا می باشد.\nبه دلیل پویا بودن زبان برنامه نویسی پایتون شما این امکان را دارید که در زمان اجرای برنامه تغییراتی در آن ایجاد کنید.\nData science و data analysis در زبان برنامه نویسی پایتون\nاز زبان برنامه نویسی پایتون برای آنالیز داده ها استفاده میشود.\nپایتون در این زمینه می تواند به ساخت برنامه هایی برای تجزیه و تحلیل داده ها کمک کند کمک کند.\nSecurity در زبان برنامه نویسی پایتون\nدلیل امنیت بالای زبان برنامه نویسی پایتون این هست که بطوری طراحی شده که می تواند با صورت خودکار با رایج ترین تهدیدهای امنیتی مقابله کند.\nMachin learning و artificial intelligence زبان برنامه نویسی پایتون\nثبات، انعطاف و ابزارهای آماده ۳ پارامتر مهم برای آماده سازی پروژه های هوش مصنوعی است که زبان برنامه نویسی پایتون هر سه قابلیت را دارد.\nویژگی هایی که از آنها نام بردیم از جمله:\nدارا بودن کتابخانه ها و فریمورک های لازم برای artificial intelligence\nعدم وابستگی به پلت فرم های مختلف\nباعث می شوند که الگوریتم های پیچیده هوش مضنوعی و Machin learning به راحتی قابل پیاده سازی باشد.\nکتابخانه های فوق العاده زبان برنامه نویسی پایتون\nاین کتابخانه ها باعث شده اند که زبان برنامه نویسی پایتون برای ساخت برنامه های تحت وب قدرتمند مورد توجه برنامه نویسان وب قرار بگیرد باشد.\nنقاط قوت زبان برنامه نویسی پایتون\nمختصر بودن دستورات\nاتوماتیک سازی کارهای تکراری\nادغام موثر سیسستم ها\nدارا بودن کتابخانه ها و فریمورک های متنوع\nنقاط ضعف زبان برنامه نویسی پایتون\nارورهای زمان اجرا\nنامناسب بودن برای موبایل و بازی سازی\nپیشرفته نبودن دسترسی به دیتابیسس\nاستفاده بیش از حد حافظه\nقابل شناسایی بودن باگ ها در زمان اجرا\nمحدودیت های طراحی زبان برنامه نویسی پایتون\nسی شارپ زبان برنامه نویسی فوق العاده ای است که درهای بسته زیادی را به روی برنامه نویسان گشوده.\n. این زبان در سال ۲۰۰۰ توسط آقای آندرس هلزبرگ ساخته شد و توسط دو استاندارد برنامه نویسی ECMA و ISO تائید شده است.\nاصلی ترین هدف های طراحی این زبان عبارت است از\nانجام سرویس های وب\nساخت برنامه های قوی\nویژوال استدیو برای تولید آسان برنامه با زبان برنامه نویسی سی شارپ و .NET Framework امکاناتی فراهم کرده است.\nاین امکانات شامل یک محیط برای ویرایش کدها، طراحی کننده واسط کاربری و دیباگ کننده می باشد.\nسی شارپ از نظر بهره وری بسیار شبیه به ویژوال بیسیک و از نظر قدرت به c++ شبیه می باشد.\nبعلاوه، دستورات این زبان شبیه به دستورات زبان برنامه نویسی جاوا است.\nبنابراین افرادی که از این زبان برای ساخت برنامه هایشان استفاده می کنند می توانند همیشه شخصی را پیدا کنند که هر دو زبان جاوا و سی شارپ را درک کند.\nزبان برنامه نویسی جاوا توسط شرکت sun به بازار معرفی شد. این شرکت قصد داشت تا کنترل طراحی و تکامل زبان جاوا را در دست داشته باشد.\nدر همان زمان شرکت مایکروسافت هم می خواست نقشی در تکامل زبان برنامه نویسی جاوا داشته باشد.\nمایکروسافت تصمیم گرفت جاوا را تغییر دهد اما با مخالفت شرکت sun روبرو شد.\nبه همین دلیل در نهایت مایکروسافت زبان خودش یعنی C# را به وجود آورد.\nزبان برنامه نویسی سی شارپ علاوه بر object-oriented بودن، component-oriented نیز می باشد.\nسی شارپ یک زبان با دستورهای بسیار ساده و general- purpose است بنابراین به واسطه این زبان امکان ساخت نرم افزار برای هر پلتفرمی وجود دارد.\nامنیت برنامه های سمت سروری که با زبان سی شارپ نوشته می شوند به واسطه کامپایلی بودن آن تامین می شود.\nاین امنیت به گونه ای است که هکرها به راحتی نمی توانند به کدها نفوذ کنند.\nچرا که در برنامه هایی که با زبان C# ساخته شده اند، یک هکر باید نرم افزار شما را کرک یا مجددا کامپایل کند.\nخاصیت زباله روبی خودکار زبان سی شارپ چگونه به شما کمک می کند ؟\nاولا که به موجب این خاصیت شما برای تولید نرم افزار خود به آزادسازی حافظه نیاز نخواهید داشت. چراکه حافظه ای که توسط “اشیاء بدون کاربرد” اشغال شده است به طور خودکار پاکسازی می شود .\nثانیا این زبان مطمئن می شود که اشیاء مختلف از محتوای یکدیگر استفاده نکنند، بنابراین شما نگرانی در مورد امنیت حافظه نخواهید داشت.\nکتابخانه قدرتمند دات نت\nASP.Net کتابخانه خارق العاده ای است که به وسیله مایکروسافت طراحی و تولید شده.\nبا استفاده از این کتابخانه می توانید امکانات متفاوتی را به نرم افزار های خود اضافه کنید.\nقابلیت های این کتابخانه باعث می شود پروسه تولید نرم افزار را سریع تر جلو ببرید.\nCommon language run time(CLR) :\nیک جزء از کتابخانه دات نت است و در واقع یک محیط برای اجرای کدها است.\nCLR با فراهم کردن سرویس های متنوع موجب می شود تا کدها و پروسه توسعه نرم افزار راحت تر انجام شود.\nLINQ و Lambda\nLINQ و Lambda دو تکنولوژی مهم و کاربردی که سی شارپ در کنار خود دارد.\nاین دو تکنولوژی به دلیل توانایی هایی که در فراخوانی، مرتب سازی، گروهبندی و فیلتر کردن داده های بانک اطلاعاتی دارند به شدت مورد توجه کاربران C# قرار گرفته اند.\nبه عبارتی LINQ و Lambda در سی شارپ فرآیند های جست و جو یا پرس و جو را برای برنامه نویسان راحت کرده اند.\nخاصیت Multi Thread در سی شارپ\nشاید جالب باشد که بدانید در سی شارپ با استفاده از خاصیت چندنخی یا Multi third می توانید چند عملیات را بصورت همزمان و موازی جلو ببرید.\nمثلا در صورتی که یک سرور چند نخی نباشد، آن سرور قادر نخواهد بود که بطور همزمان به درخواست چند کاربر پاسخ دهد.\nکه در سی شارپ چنین نگرانی برای برنامه نویسان وجود ندارد.\nهمچنین با استفاده از تکنولوژی چندنخی در یک برنامه می توان از فریز شدن آن در زمان اجرا جلوگیری کرد.\nبنابراین با خیال راحت با سی شارپ می توان برنامه هایی با قدرت اجرای همزمان چند فرآیند تولید کرد.\nاین زبان قدرت ویژه ای به توسعه دهندگان برنامه های تحت ویندوز می دهد.\nپروژه های ویندوز فرم در سی شارپ معروف به WinForms موجب شده اند که عملیات پیاده سازی یک واسط گرافیکی برای نرم افزارهای دسکتاپی بسیار آسان باشد.\nتولید کنندگان نرم افزار برای اجرای ویندوز اپلیکیشنی که با زبان سی شارپ نوشته شده است، نیازی به انجام تنظیمات خاصی ندارند.\nتوسعه دهندگان بازی های کامپیوتری به شکل گسترده ای از C# برای ساخت بازی در unity استفاده می کنند.\nعلاقه مندانی که مایلند در صنعت بازی نقشی داشته باشند می توانند به زبان برنامه نویسی سی شارپ اتکا کنند.\nasp.net و MVC ابزاری برای توسعه دهندگان وب\nسی شارپ به دلیل داشتن دو فریمورک محبوب asp.net و MVC ،برای توسعه دهندگان وب هم می تواند گزینه مناسبی باشد.\nاین دو فریمورک ابزار و سرعت بالای توسعه نرم افزار را برای برنامه نویسان وب فراهم می کنند.\nمایکروسافت برای برای توسعه دهندگان خود قابلیت ساخت موبایل اپلیکیشن را هم فراهم کرده است.\nسی شارپ علاوه بر ویندوز و وب در دنیای موبایل هم به وسیله زامارین برای خود جایی باز کرده است.\nزامارین ابزاری است که برای ساخت اپلیکیشن های موبایل از C# استفاده می کند. اپلیکیشن هایی که توسط زامارین تولید می شوند برای تمام سیستم عامل هایی مانند اندروید و IOS قابل استفاده هستند.\nو در نهایت برای ساخت وب سایت می توانید از سی شارپ نیز استفاده کنید.\nمزایای زبان برنامه نویسی سی شارپ\nپرس و جو آسان\nمتناسب با کلیه پلت فرم ها\nمعایب زبان برنامه نویسی سی شارپ\nامکان پذیر نبودن ایجاد تغییرات در زمان اجرا\nوابستگی به پلتفرم ویندوز\nPHP معروف ترین زبان اسکریپتی سمت سرور هست که روزانه افراد زیادی به جامعه کاربران این زبان افزوده می شود.\nنزدیک به ۸۰% از وب سایت هایی که در اینترنت وجود دارند از زبان php استفاده می کنند.\nرسانه اجتماعی فیسبوک کار خود را با این زبان آغاز کرده است و کماکان از آن استفاده می کند.\nهمچنین سایت ویکی پدیا، بعلاوه سیستم های مدیریت محتوا مانند وردپرس، مگنتو، دراپال و جوملا از این زبان استفاده می کنند.\nبه همین دلیل از بین رفتن php شایعه ای بیش نمی تواند باشد و این زبان همچنان از محبوبیت برخوردار است.\nمزیت پی اچ پی برای کاربران جدید آن این است که می توانند آن را به راحتی بیاموزند.\nو برنامه نویسان حرفه ای می توانند از مزایای ویژگی های پیشرفته php بهره مند شوند.\nچشم گیرترین ویژگی زبان برنامه نویسی php قابلیت ترکیب شدن آن با زبان html است که جلوتر در مورد آن توضیح خواهیم داد.\nزبان php یک زبان general-purpose است.\nبنابراین برنامه نویسانی که از این زبان استفاده می کنند می توانند برای اکثر پلتفرم ها نرم افزار بسازند.\nزبان php همانند زبان های دیگر کارهایی از قبیل جمع آوری داده های یک فرم، تولید محتوای پویا و ارسال و دریافت داده را انجام می دهد اما توانایی این زبان فراتر و گشترده تر می باشد.\nمهمترین و پایه ای ترین هدف این زبان “اسکریپت نویسی سمت سرور” است.\nاین به این معنا است که اسکریپت ها در زمان اجرا بر روی سرور اجرا (تفسیر) می شوند.\nبنابراین نرم افزارهای سمت کاربران نیازی به نصب php بر روی سیستمشان را ندارند.\nکافی است که یک مرورگر برای کلاینت، یک وب سرور و یک ابزار برای ترجمه php وجود داشته باشد.\nاسکریپتی بودن این زبان مزیت هایی برای کاربران آن به همراه دارد:\nعملکرد یک سیستم را بالا می برد\nبروزرسانی امن و غیر قابل تاثیر گرفتن از مرورگر ها\nبا استفاده از php شما قادر خواهید بود اسکریپت نویسی command-line interface هم انجام دهید.\nبه که برای اجرای این نوع برنامه نیازی به سرور یا مرورگر نخواهید داشت.\nگرچه php یک زبان مخصوص سمت سرور هست اما برنامه نویسان از آن برای تهیه برنامه های تحت ویندوز نیز استفاده می کنند.\nدر صورتی که یک برنامه نویس php را به خوبی بداند می تواند برای ساخت پروژه های ویندوزی سمت کلاینت از ویژگی های پیشرفته این زبان استفاده کند.\nPHP-GTK ابزاری است که php کاران برای ساخت ویندوز application ها می توانند استفاده کنند.\nPhp به دلیل قابل اجرا بودن بر روی انواع سیستم عامل و وب سرور ها به کاربران خود آزادی عمل می دهد:\nسیستم عامل هایی که php بر روی آن ها قابل اجرا است :\nبنابراین این زبان یک زبان cross platform شناخته می شود.\nPhp همچنین برروی انواع سرور ها قابل استفاده است. از جمله : Apache و IIS\nبعلاوه این زبان توانایی برقراری ارتباط با سایر سرویسس ها را دارد:\nLDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (on Windows) WDDX\nپشتیبانی از انواع مختلفی از بانک اطلاعاتی به عنوان یکی از ویژگی های مهم بانک اطلاعاتی یاد می شود.\nدیتابیس MySQL معروف ترین بانک اطلاعاتی است که همراه php مورد استفاده قرار می گیرد.\nدلیل این همراهی چیزی نیست بجز مطابقت MySQL و PHP با هم می باشد.\nدر هر صورت این زبان برنامه نویسی می تواند برای نگهداری داده ها از دیتابیس های دیگری نیز استفاده کند. مانند :\nآنچه موجب زنده ماندن زبان PHP شده است کتابخانه های این زبان است.\nبا استفاده از کتایخانه های php می توان اپلیکیشن های تحت وب را به آسانی با استفاده از ساختارهای پایه توسعه داد.\nدلیل اصلی استفاده از این کتابخانه ها عبارت است از:\nبالا بردن سرعت توسعه نرم افزار است\nرفع نیاز ها و بالا بردن عملکرد کسب و کار ها\nکاهش حجم کار\nدیباگ کدهای PHP\nساخت API های کاربر پسند\nتوابع آماده جهت استفاده در وب سرویس ها\nمعروف ترین کتابخانه های این زبان عبارتند از :\nبرنامه نویسان زبان PHP بسته به نیاز و هدفشان، از این کتابخانه ها استفاده می کنند مانند : (امنیت، استفاده آسان، گستردگی نرم افزار)\nامنیت در زبان PHP\nامنیت در زبان PHP یکی از موارد بحث برانگیز می باشد چراکه از این زبان به عنوان یک زبان نا امن نام برده شده است.\nیکی از نیازهای برنامه نویسانی که از زبان پی اچ پی استفاده می کنند پیدا کردن راهی برای برقراری امنیت نرم افزارهایشان هست.\nقابلیت های ذاتی زبان PHP برای ایمن سازی نرم افزار ها تا حدودی کار برنامه نویسان را برای حفاظت از نرم افزارهایشان در برابر تهدیدهای امنیتی، آسان می کند.\nاز مهمترین ویژگی های پی اچ پی می توان به ترکیب آن با HTML اشاره کرد.\nبه این صورت که PHP می تواند HTML تولید کند . HTML می تواند به PHP اطلاعات منتقل کند.\nنقاط قوت زبان برنامه نویسی PHP\nزبان برنامه نویسی php علاوه بر شی گرا بودن می تواند روالمند نیز باشد.\nدارای مستندات گسترده است\nپشتیبانی توسط اکثر وب سرور ها\nبروزرسانی منظم و متناسب با تکنولوژی های روز\nکوتاه بودن مدت زمان یادگیری\nقابلیت ادغام آسان با HTML\nپشتیبانی گسترده انواع دیتابیس\nعدم وابستگی به مرورگر ها\nآزادی عمل جهت انتخاب وب سرور\nدارا بودن کتابخانه های متنوع\nآسان بودن نگهداری از نرم افزارها\nنقاط ضعف زبان برنامه نویسی PHP\nبطور ۱۰۰ درصد شی گرا نیست\nلازم است برنامه نویسان این زبان علاوه بر PHP ،کتابخانه های آن را بیاموزند\nامکانات اضافه کتابخانه های PHP سرعت و عملکرد وب سایت را پایین می آورند.\nاوایل دهه ۱۹۹۰ بود که شخصی به نام James Gosling یک زبان برنامه نویسی شی گرا به نام جاوا را به بازار عرضه کرد.\nاین زبان از سال ۱۹۹۶ تا سال ۲۰۱۹ نزدیک به ۱۲ بار بروز رسانی شد.\nزبان برنامه نویسی جاوا با هدف “به راحتی” قابل استفاده بودن و همچنین کامپایل و دیباگ آسان توسعه یافته است.\nبرنامه نویسان زبان جاوا را یک زبان قدرتمند می شناسند به دلیل اینکه دارای ویژگی های زیر است:\nمدریت حافظه قوی\nامنیت به دلیل عدم وجود اشاره گر ها\nزباله روبی (garbage collection) اتوماتیک\nاز زبان برنامه نویسی جاوا می توان در زمینه های متفاوتی از جمله برنامه های تحت وب، موبایل، بازی و راه حل های تجارت الکترونیک استفاده کرد.\nزبان برنامه نویسی جاوا به این دلیل نسبت به زبان C++ راحت تر است که، مدیریت حافظه و زباله روبی در آن به صورت اتوماتیک انجام می شود.\nتمرکز بر روی آبجکت ها، ایجاد و دستکاری آن ها باعث می شود این زبان جزء زبان های برنامه نویسی شی گرا باشد.\nاما زبان جاوا به طور کامل شی گرا محسوب نمی شود.\nبرای اینکه یک زبان برنامه نویسی بطور کامل شی گرا محسوب شود باید دارای ویژگی های زیر باشد:\nتمامی نوع های از پیش تعریف شده، شی به شمار می روند.\nتمامی نوع هایی که کاربران تعریف کرده اند شی به شمار می روند.\nتنها متدهایی می توانند بر روی یک شی اعمال شوند که در همان شی تعریف شده باشند.\nاز میان این ۷ ویژگی زبان های شی گرا، زبان برنامه نویسی جاوا تنها دارای ویژگی های ۱ تا ۴ می باشد. بنابراین یک زبان کاملا شی گرا به شمار نمی رود.\nزبان برنامه نویسی جاوا چگونه بر روی پلتفرم های مختلف اجرا می شود ؟\nبرنامه نویسانی که از جاوا استفاده می کنند به راحتی قادر هستند نرم افزار خود را بر روی سیستم عامل های مختلف اجرا کنند.\nچرا که این زبان هیچ وابستگی به پلت فرم های مختلف ندارد.\nعدم وابستگی زبان جاوا به پلت فرمها، به این دلیل است که این زبان برای خود یک برنامه به نام “مترجم” دارد.\nدر هنگام اجرای برنامه ای که به زبان جاوا نوشته شده است، مترجم جاوا bytecode را به کد هایی تبدیل می کند که سیستم عامل آن ها را متوجه شود.\nبایت کد یک کد غیرقابل وابسته به پلتفرم ها است بنابراین می تواند بر روی پلتفرم های مختلف اجرا شود.\nمترجم زبان برنامه نویسی جاوا چیست ؟\nنرم افزاری است که برای اجرای کدهای جاوا از یک ماشین مجازی استفاده می کند.\nماشین مجازی زبان برنامه نویسی جاوا چیست ؟؟\nماشین مجازی جاوا یا JVM که مخفف عبارت Java Virtual Machine است، در واقع یک برنامه است که به “نرم افزارهای مبتنی بر جاوا” خدماتی می دهد.\nبایت کدهای حاصل از کامپایل را به کدهای ماشین تبدیل می کند و به اجرای برنامه در پلتفرم های مختلف کمک می کند.\nیک محیط اجرای قابل حمل برای برنامه های مبتنی بر زبان برنامه نویسی جاوا فراهم می کند.\nJVM زبان برنامه نویسی جاوا چگونه به وجود می آید؟\nJVM توسط JRE یا همان “محیط زمان اجرا”ی جاوا (Java Runtime Environment) ایجاد می شود.\nruntime environment در واقع نرم افزاری است که برای اجرای نرم افزارهای دیگر طراحی شده است.\nJRE زبان برنامه نویسی جاوا چه کاری انجام می دهد؟\nفایل کلاس ها را بارگذاری می کند\nمطمئن می شود تا برای اجرای برنامه، به حافظه و دیگر منابع سیستم دسترسی وجود داشته باشد\nJVM را ایجاد می کند\nو در نهایت JRE و JVM هر دو بخش هایی از JDK هستند.\nJDK یا Java Development Kit کامپوننت کلیدی برای ساختن نرم افزارهای جاوا است.\nJDK در واقع یک محیط توسعه نرم افزار است به این معنا که شما می توانید برنامه ها را در آن بنویسید و آن ها را اجرا کنید.\nاین کامپوننت علاوه بر JRE و JVM شامل مفسر و کامپایلر جاوا نیز می باشد.\nJRE = JVM + libraries to run Java application.\nJDK = JRE + tools to develop Java Application.\nو در نهایت آخرین سوال :\nبرای اجرای نرم افزارهای مبتنی بر زبان برنامه نویسی جاوا، JDK باید نصب شود یا JRE :\nدر صورتی که بخواهید یک برنامه یا اپلیکیشن میتنی بر زبان برنامه نویسی جاوا را اجرا کنید، JRE به تنهایی کافی خواهد بود.\nدر صورتی که قصد تولید و اجرای یک برنامه مبتنی بر جاوا را دارید به JDK نیاز خواهید داشت.\nیکی از مهم ترین قابلیت هابرای برنامه نویسان “چند نخی” بودن یک زبان برنامه نویسی است. زبان جاوا نیز از این قابلیت برخوردار است.\nبنابراین برنامه هایی که توسط جاوا نوشته می شوند میتوانند چند عملیات را بطور همزمان اجرا کنند.\nآیا زبان برنامه نویسی جاوا هم یک زبان cross- platform یا چند سکویی است؟\nبله. جاوا این امکان را برای برنامه نویسان فراهم کرده است تا برنامه هایی که با این زبان می نویسند را بتوانند بر روی انواع سیستم عامل ها اجرا کنند.\nسیستم عامل هایی از جمله :\nزبان جاوا برای آنکه برنامه نویسان بتوانند نرم افزارهای خود را توسعه دهند، دارای ۳ پلتفرم است:\nJava SE- Simple : این پلتفرم به نام J2SE مشهور است. J2SE مسئولیت فراهم سازی تمام API های ضروری برای توسعه اپلیکیشن های تحت ویندوز را بر عهده دارد. همچنین برای برنامه نویسی سرورها نیز مورد استفاده قرار می گیرد.\nJava EE : نسخه Enterprise جاوا که به J2EE مشهور است. این پلتفرم امکان ساخت کامپوننت های سمت سرور را فراهم می کند. همچنین توانایی پاسخگویی به درخواست-پاسخ های تحت وب را خواهند داشت.\nاین ویژگی پلت فرم J2EE باعث می شود برنامه هایی که با زبان جاوا ساخته می شوند قادر باشند با کلاینت های تحت اینترنت ارتباط داشته باشند. کلاینت هایی مانند : مرورگرهای وب، کلاینت های CORBA-based ، REST و سرویس های وب SOAP.\nبه طور کلی از این پلتفرم برای تهیه برنامه های تحت وب و اپلیکیشن‌های تجاری و سازمانی استفاده می شود.\nJava ME : معروف به J2ME یک پلتفرم ساده برای تهیه اپلیکیشن های موبایلی به نام Java Micro Edition است. این پلتفرم برای برنامه نویسی embedded device نیز مورد استفاده قرار می گیرد.\nزبان جاوا چگونه به دیتابیس های مختلف دسترسی دارد؟\nبرنامه نویسانی که از زبان زبان برنامه نویسی جاوا برای ساخت نرم افزارهایشان استفاده می کنند می توانند برای نگهداری داده هایشان از هر بانک اطلاعاتی از جمله Oracle، MySQL و دیگر دیتابیس ها استفاده کنند.\nاما جاوا برای اتصال به بانک های اطلاعاتی مختلف از یک API به نام JDBC یا Java Database Connectivity استفاده می کنند.\nبنابراین به هر دیتابیسی که توسط JDBC قابل دسترسی باشد می توان متصل شد و داده ها را رد و بدل کرد.\nبا بانک اطلاعاتی ارتباط برقرار کند\nدستورات SQL را به بانک بفرستد\nنتایج برگشتی از بانک را دریافت و پردازش کند\nارتباط با بانک را قطع کند\nاپلت جاوا چیست ؟\nنرم افزارهای کوچک اما پویایی که توسط زبان جاوا ساخته می شوند را اپلت می گویند. اپلت ها می توانند از طریق اینترنت برروی مرورگر های سازگار با جاوا اجرا شوند.\nتفاوت بین برنامه های جاوا و اپلت های جاوا این هست که محیط اجرای آن ها متفاوت است.\nاپلت های جاوا بر روی مرورگرهای سازگار با جاوا یا AppletViewer اجرا می شوند. این اپلت ها به عبارتی در یک صفحه وب جاسازی می شوند و بر روی مرورگر کلاینت اجرا می شوند.\nبرای مثال فایل های فلشی که در وبسایت ها استفاده می شدند نوعی اپلت بودند.\nامنیت در زبان برنامه نویسی جاوا به چه صورت است؟\nجاوا جهت برقراری و بهبود امنیت برای برنامه نویسان از چند ابزار مختلف استفاده می کند که عبارتند از:\nJVM : جهت برقراری امنیت دارای مکانیزم های زیر است:\nType-safe reference casting\nStructured memory access (no pointer arithmetic)\nChecking references for null\nSandboxes : امنیت کاربران را در برابر برنامه های خطرناک در شبکه برقرار می کند. این هدف با اجرای برنامه های جاوا در محیط sandbox برقرار می شود.\nاستفاده از API های امنیتی\nزبان برنامه نویسی جاوا چه کاربردهایی دارد؟\nموبایل اپلیکیشن ها\nوب سرور ها و اپلیکیشن سرور ها\nاتصالات پایگاه داده\nنقاط قوت زبان برنامه نویسی جاوا :\nقابل اجرا بر روی همه پلتفرم ها مانند Windows, Mac, Linux, Raspberry Pi ، Sun Solaris ،\nآموزش و استفاده از این زبان آسان است\nOpen-Source و رایگان\nامن – سریع – قدرتمند\nتعداد زیادی از برنامه نویسان جاواکار هستند\n(ویژگی های Portable ، Platform independent، Architecture neutral در مورد جاوا هر سه به یک معنا هستند. در واقع به قابلیتی که JVM برای برنامه های تحت جاوا به ارمغان می آورد اشاره دارد : “اجرا شدن بر روی پلتفرم های مختلف”)\nنقاط ضعف زبان برنامه نویسی جاوا :\nاستفاده زیاد از حافظه به دلیل اجرا بر روی JVM\nبه دلیل نیاز به پردازش و حافظه بیشتر ، هزینه سخت افزار افزایش پیدا می کند\nزباله روبی آن کنترل نمی شود\nبرنامه نویسان تولید کننده برنامه های تحت وب برای برنامه نویسی سمت کلاینت نرم افزار خود می توانند به زبان اسکریپتی و قدرتمند جاوا اسکریپت اعتماد کنند.\nهدف اصلی زبان جاوا اسکریپت بهبود بخشیدن به تعاملات یک کاربر با صفحات وب است.\nزبان جاوا اسکریپت باعث می شود صفحات وب بسیار پویاتر و زنده تر به نظر برسند.\nدیگر کاربرد این زبان در توسعه بازی ها و اپلیکیشن های موبایل است.\nبرنامه نویسان می توانند کدهای جاوا اسکریپت را در صفحات وب HTML بنویسند.\nبنابراین این کدها به صورت خودکار در زمان اجرای یک صفحه وب بارگذاری می شوند.\nاسکریپت هایی که با زبان جاوا اسکریپت نوشته می شوند برای اجرا نیازی به کامپایل شدن نخواهند داشت. چرا که به صورت plain text اجرا می شوند.\nمزیتی که جاوا اسکریپت برای صفحات وب فراهم می کند این است صفحات استاتیک را به صفحاتی که با کاربران تعامل می کند تبدیل می کند.\nاین قابلیت باعث می شود هرگاه بازدیدکنندگان صفحات وب شما درخواستی به سمت سرور می فرستند، منتظر بارگذاری مجدد یک صفحه نشوند.\nدر واقع جاوا اسکریپت باعث می شود درهنگام پاسخگویی و پردازش درخواست های کاربر نیازی به بارگذاری صفحه جدیدی نباشد.\nاین کار را از طریق افزودن Behavior به صفحه وب انجام می دهد.\nبعلاوه این زبان باعث می شود بارگذاری تصاویر، اسکریپت ها و آبجکت ها بدون نیاز به بارگذاری مجدد صفحه انجام شود.\nجاوا اسکریپت به برنامه نویسان این امکان را می دهد تا به صفحات وب خود Animation اضافه کنند.\nافزودن انیمیشن توسط جاوا اسکریپت به یک صفحه وب باعث می شود که صفحه وب برای کاربران جذاب بنظر برسد.\nهمچنین موجب می شود کار کردن با یک صفحه وب آسان باشد.\nزبان جاواسکریپت که برای ساخت صفحه وب سمت کلاینت مورد استفاده قرار می گیرد، با سرعت بالایی در مرورگر کاربران اجرا می شود.\nگرچه کدهای این زبان برای اجرا به منابع خارجی نیز نیاز دارند، اما این موضوع برروی سرعت اجرا تاثیر زیادی ندارد.\nهمچنین صفحه وبی که به وسیله این زبان ساخته می شود نیازی به کامپایل شدن در سمت کلاینت ندارد . همین مورد موجب می شود به سرعت اجرای آن افزوده شود.\nپیاده سازی و آموختن این زبان آسان خواهد بود.\nقابلیت همکاری این زبان با سایر زبان ها به محبوبیتش در دنیای برنامه نویسان افزوده است . جاوا اسکریپت می تواند بدون توجه به پسوند یک فایل، در یک صفحه وب قرار بگیرد.\nهمچنین می توان از زبان برنامه نویسی جاوا اسکریپت درون اسکریپت های زبان های دیگری مانند پی اچ پی و پرل استفاده کرد.\nبرنامه نویسان می توانند با استفاده از کامپوننت ها، اسلایدر هایی که میتوان توسط این زبان برای صفحات وب ایجاد کرد به زیبایی و جذابیت صفحات وب خود بیفزایند.\nدر صورتی که بخواهید عملکرد وبسایت و وب اپلیکیشن خود را بالا ببرید و بهبود ببخشید، جاواسکریپت گزینه مناسبی برای شما خواهد بود.\nچرا که با این زبان می توانید قطعه کد های کوتاه بنویسید.\nبعلاوه این زبان دارای توابعی هست که می توان برای حلقه ها و دسترسی به درخت DOM استفاده کرد.\ncallback های جاوا اسکریپت\nیکی از مشکلاتی که در برنامه نویسی مطرح است blocking operations می باشد.\nهرگاه یک عملیات برای ادامه کار خود به جواب عملیات دیگری وابسته باشد blocking operations رخ می دهد.\nاکثر زبان ها برای رفع این مشکل از تکنولوژی چند نخی استفاده می کنند.\nچندنخی باعث می شود برنامه ها غیرقابل پیشبینی باشند و کدنویسی و دیباگ کردن آنها مشکل باشد.\nاین درحالی است که جاوا اسکریپت برای حل این مساله از callback ها استفاده می کند. و این اطمینان را به برنامه نویسان میدهد که جریان اجرای برنامه را کنترل خواهد کرد.\nجاوا اسکریپت به دلیل سازگاری که با زبان HTML و CSS دارد به عنوان “زبان مرورگر” شناخته می شود.\nاین زبان با ویژگی هایی که دارد از جمله cross-platform، اسکریپتی و شی گرا بودن امکانات زیادی را برای توسعه دهندگان وب فراهم می کند از جمله :\nانیمیشن های پیچیده و خاص\nدکمه های قابل کلیک\nشی گرایی در جاوا اسکریپت چگونه است؟\nنکته جالب در مورد شی گرا بودن آن این است که جاوا اسکریپت بر اساس پروتوتایپ ها شی گرا است نه کلاس ها.\nپروتوتایپ ها در جاوا اسکریپت این امکان را فراهم میکنند تا هر شی بتواند از شی دیگری ارث بری داشته باشد.\nاگر تصمیم به انتخاب زبان جاوا اسکریپت دارید باید از سایر ویژگی های این زبان مطلع باشید.\nمثلا، جاوا اسکریپت دارای یک ورژن پیشرفته برای برنامه های سمت سرور است مانند Node.Js .\nجاوا اسکریپت به دلیل مختلفی جزء زبان های dynamic به حساب می آید. از جمله :\nمتغیر های داینامیک\nتعریف متغیر و نوع آن در زمان اجرا\nتعریف تابع در زمان اجرا\nجاوا اسکریپت توانایی اجرا بر روی هر سیستم عاملی و همه مرورگرهای وب را دارد.\nجاوا اسکریپت از نظر امنیت چگونه است ؟\nاین زبان اساسا برای مرورگرها طراحی شده است. بر همین اساس جاوا اسکریپت کم ترین دسترسی به CPU و حافظه را دارد.\nپس میتوان نتیجه گرفت که جاوا اسکریپت یک زبان برنامه نویسی امن است.\nکاربردهای جاوا اسکریپت :\nگرچه از جاوا اسکریپت به عنوان زبان برنامه نویسی front-end در پروژه های تحت وب نام برده می شود اما برنامه نویس ها از این زبان در زمینه های دیگر نیز استفاده می کنند. برای مثال :\nاز جاوا اسکریپت می توانید برای ساخت بازی های تحت وب که در مرورگر ها اجرا می شوند، استفاده کنید.\nمعمولا توسعه دهندگان اپلیکیشن های موبایل برای توسعه یک اپلیکیشن، از یک زبان خاص استفاده می کنند. مثلا جاوا برای اندروید و سویفت برای IOS.\nاما با استفاده از فریمورک های مختلف زبان جاوا اسکریپت می توان از آن برای ساخت اپلیکیشن های موبایل استفاده کرد.\nدر جاوا اسکریپت فریمورکی به نام Meteor وجود دارد که توسعه دهندگان می توانند با استفاده از آن اپلیکیشن های تحت وب خود را به اپلیکیشن های موبایل (اندروید و IOS)ترجمه کنند.\nاپلیکیشن های وب و سرور\nگرچه جاوا اسکریپت زبانی برای تهیه صفحات وب تعاملگرا می باشد. اما کتابخانه ها و فریمورک ها، آن را به یک زبان چند منظوره تبدیل کرده اند.\nجاوا اسکریپت این قابلیت را دارد تا برای تولید برنامه های تحت وب و سرور اپلیکیشن ها مورد استفاده قرار بگیرد.\nبه همین دلیل این زبان می تواند علاوه بر برنامه نویسان front-end ، برای برنامه نویسان back-end نیز یک ابزار ارزشمند باشد.\nفریمورک های معروف زبان جاوا اسکریپت :\nReact توسعه صفحات وب با ترافیک بالا – ترکیب DOM با سایر اپلیکیشن ها را ساده می کند\nAngular HTML را به صفحه اضافه می کند و برای اتصال داده ها از تفسیر attribute ها استفاده می کند\nMithril جهت توسعه SPA یا Single Page Application استفاده می شود\nEmber برقراری data-binding دو طرفه\nمدیریت UI های پیچیده\nPolymer ساخت المان های یک وبسایت\nVue جهت توسعه SPA یا Single Page Application استفاده می شود\nAurelia آخرین نسخه از جاوا اسکریپت که توانایی پیاده سازی هر interface ای را دارد.\njQuery جی کوئری به شما کمک میکند که کدی بنویسید که cross-browser باشد\nBackbone.js جهت توسعه SPA یا Single Page Application استفاده می شود\nمزایای زبان برنامه نویسی جاوا اسکریپت :\nسازگاری کامل با HTML و CSS\nتعامل گرایی را به صفحات وب اضافه می کند\nسازگاری با دیگر زبان ها\nواسط کاربری زیبا\nناهمگام بودن جهت رفع مشکل blocking operations\nچند منظوره بودن (وب – موبایل – وب سرویس)\nعدم وابستگی به یک شرکت خاص که موجب رشد سریع این زبان می شود\nمعایب زبان برنامه نویسی جاوا اسکریپت :\nپایین بودن امنیت سمت کلاینت به دلیل اینکه ممکن است مورد سو استفاده قرار بگیرد\nغیر قابل پیشبینی بودن عملکرد اسکریپت های سمت کلاینت چرا که نتیجه کدهای سمت سرور همیشه ثابت است\nعدم وجود وسیله ای برای دیباگ کردن\nاهمیت داده ها و تحلیل آن ها در کسب و کارهی مختلف موجب بوجود آمدن زبان های برنامه نویسی مانند زبان برنامه نویسی r شده است.\nR یک زبان و یک محیط برای پردازش های آمارای و گرافیکی است که می تواند در عملیات تحلیلی پژوهشی مورد استفاده قرار بگیرد.\nبطور کلی از این زبان توسط متخصصین آمار برای پردازش های آماری، تحلیلگران داده برای داده کاوی یا آنالیز داده ها استفاده می شود.\nهمچنین محققین و فروشندگان برای بازیابی، آنالیز و تصویرسازی داده هایی که دارند، از این زبان استفاده می کنند.\nدر واقع زبان برنامه نویسی r یک مجموعه یکپارچه از امکانات نرم افزاری را برای برنامه نویسان فراهم می کنند.\nبرنامه نویسان می توانند از این مجموعه استفاده کنند و نرم افزارهایی تولید کنند که با تحلیل و تغییر داده ها، انجام محاسبات و نمایش گرافیکی آن ها مسیر کسب و کارها را تسهیل می بخشند. از جمله:\nسهولت ذخیره سازی و مدیریت داده ها\nایجاد ابزارهایی برای انجام محاسبات بر روی آرایه ها و ماتریس های خاص\nفراهم آوردن یک مجموعه بزرگ از ابزارها برای آنالیز داده ها\nفراهم آوردن تسهیلات گرافیکی برای آنالیز داده ها\nمحیط برنامه نویسی با زبان r یک محیط command-line اسکریپتی است.\nشما قادر به ذخیره مراحل تجزیه و تحلیل اطلاعات پیچیده خواهید بود.\nذخیره کردن این مراحل این امکان را برای شما فراهم می کند تا برای داده های مشابه، همان مراحل را مجددا استفاده کنید.\nهمچنین دیگران می توانند به راحتی نتایج تحقیقات را بررسی کنند و اشتباهات کار خود را بررسی کنند.\nآنالیز داده ها در زبان r دارای چند مرحله است :\nآیا یادگیری و استفاده از زبان برنامه نویسی r سخت است؟\nدر گذشته زبان برنامه نویسی r به عنوان یکی از زبان های مشکل و گیج کننده به حساب می آمد.\nاما مالکین این زبان برای رفع این مشکل مجموعه ای از پکیج ها به نام tidyverse پدید آوردند. با استفاده از این پکیج ها کار کردن با این زبان، استفاده از داده ها و تهیه گراف ها دیگر کار مشکلی نیست.\nچند نمونه از این پکیج ها عبارتند از :\nKeras و TensorFlow که این توانایی را به کاربران می دهد تا تکنیک های خوبی برای ماشن لرنینگ پدید آورند.\nهمکا ری زبان r با دیگر زبان های برنامه نویسی\nاز زبان های پایتون، C ، C++ و جاوا می توان در زبان برنامه نویسی r استفاده کرد.\nآنچه باعث افزایش محبوبیت زبان برنامه نویسی r در طول زمان شده است چیزی نیست به جز دستورات رسا و واسط کاربری کاربرپسند آن.\nزبان برنامه نویسی r تعداد زیادی روش های آماری و گرافیکی برای کاربران خود فراهم می کند. این روش ها عبارتند از :\nالگوریتم های زبان ماشین\nسری زمانی (time series)\nاستنتاج های آماری ( statistical inference )\nمدلسازی خطی و غیر خطی\nتست های آماری کلاسیک\nزبان برنامه نویسی r بیشترین استفاده را در صنعت دارد. برای مثال اولین انتخاب دولت در صنعت بهداشت و سلامتی برای تحلیل داده ها زبان r خواهد بود.\nبعلاوه زبان برنامه نویسی r می تواند در صنعت بیمه نیز مورد استفاده قرار بگیرد.\nداروسازی دیگر صنعتی است که می توان به استفاده از زبان برنامه نویسی r در آن اشاره کرد.\nنقش زبان برنامه نویسی r در Data Science\nزبان برنامه نویسی r چگونه به داده پردازان کمک می کند ؟\nاین زبان، به داده پردازان این قدرت را می دهد تا به سرعت داده های واقعی خود را جمع آوری کنندو داده های آماری را تجزیه و تحیل کنند.\nاهمیت Data Science به گونه ای است که کسب و کارها از آن برای راه اندازی تجارتشان استفاده می کنند.\nدر صورتی که این شرکت ها هوش مصنوعی و ماشین لرنینگ را نادیده بگیرند احتمال شکستشان بالا می رود.\nاین شرکت ها برای آنکه در مورد کسب و کار خود بتوانند تصمیم گیری کنند و به موفقیت برسند به یک ابزار نیاز دارند مانند زبان برنامه نویسی r .\nدر تجارت و کسب و کارها از زبان برنامه نویسی r می توان به عنوان یک ابزار برقراری ارتباط استفاده کرد.\nابزاری که به وسیله آن می توان گزارش ها، اپلیکیشن های تحت وب و داشبوردهای مدیریتی را برای برقراری ارتباط با مخاطب تهیه کرد.\nنقش زبان برنامه نویسی r در Statistical computing\nزبان برنامه نویسی r اساسا توسط متخصصین علم امار ایجاد شده است.\nاین زبان دارای یک پکیج می باشد که دارای نزدیک به ۹۱۰۰ تابع آماری است. این توابع آماری کار را برای متخصصین آمار آسان می کنند.\nکاربران این زبان این قابلیت را دارند که از طریق نمودار داده های خود را به تصویر بکشند. این کار باعث می شود درک داده ها و تحلیل آن ها راحت باشد.\nدستورات آسان این زبان به گونه ای است که “کار با داده” حتی برای محققینی که با کامپیوتر سر و کار ندارند بسیار آسان است.\nنقش زبان برنامه نویسی r در Machine Learning\nاز زبان r می توان برای ماشین لرنینگ نیز استفاده کرد. و همچنین می تواند بسیاری از مسائل Machine Learning را حل کند مانند:\nطبقه بندی خطی و غیرخطی\nزبان r مورد استفاده افراد بسیاری از جمله علاقه مندان به Machine Learning و محققین قرار میگیرد. آنها برای پیاده سازی الگوریتم های مالی، ژنتیک، خرده فروشی، بازاریابی و مراقبت های بهداشتی از زبان برنامه نویسی r استفاده می کنند.\nزبان r یک زبان تکامل یافته است و انجام عملیات در آن به صورت موازی باعث می شود سرعت پردازش داده ها بالا باشد.\nاین زبان یک زبان open source و رایگان برای دانلود است. بنابراین شما می توانید به کدهای منبع نگاه کنید. اکثر پکیج های این زبان تحت لایسنس GNU قرار دارند و شما می توانید از آن ها استفاده کنید.\nزبان برنامه نویسی r به مرور زمان به جمع بهترین زبان های برنامه نویسی پیوسته است. از این جهت که توسط کمپانی های بزرگ مورد استفاده قرار گرفته است. از جمله :\nشرکت هایی که از زبان برنامه نویسی r استفاده می کنند:\nTwitter زیر نظر گرفتن UX\nFord تحلیل رسانه های اجتماعی برای طراحی ماشین ها\nNew York Times اینفوگرافی و روزنامه نگاری داده ها\nMicrosoft انتشار Microsoft R و افزایش توزیع R و R سرور\nHuman Rights Data Analysis Group اندازه گیری ضرر و زیان ناشی از جنگ\nGoogle تهیه راهنما برای جامعه کاربران R\nبرنامه هایی که توسط این زبان ساخته می شوند قابل اجرا برروی اکثر پلتفرم ها هستند مانند Windows ، Linux و Mac\nپکیج های زبان برنامه نویسی r مناسب بارگذاری داده ها\nDBI : برقراری ارتباط بین زبان برنامه نویسی r و پایگاه داده رابطه ای\nodbc : اتصال به بانک اطلاعاتی\nRMySQL, RPostgresSQL, RSQLite : خواندن داده ها از بانک اطلاعاتی\nXLConnect, xlsx : خواندن و نوشتن فایل های اکسل از زبان r\nForeign : باگذاری داده از برنامه های دیگر در R\nHaven : R را قادر می سازدد تا زبان بتواند از برنامه هایی مثل SAS, SPSS, Stata داده بخواند و بنویسد\nپکیج های زبان برنامه نویسی r مناسب دستکاری داده ها\ndplyr : میانبرهای ضروری جمع کردن، خلاصه کردن، مرتب کردن و ترکیب مجموعه داده ها\nTidyr : ابزاری برای تغییر چیدمان داده های شما\nStringr : تنظیمات regular expressions و character\nLubridate : ابزاری که کار کردن با داده های تاریخ و زمان را راحت کند\nپکیج های زبان برنامه نویسی r مناسب مصور سازی داده ها\nggplot2 : طراحی گرافیک زیبا\nggvis : گرافیک نحت وب و تعامل گرا\nrgl : مصور سازی سه بعدی\nhtmlwidgets : مصور سازی داده ها بر اساس جاوا اسکریپت\ngoogleVis : امکان استفاده از نمودارهای گوگل را برای مصور سازی فراهم می کند\nزبان برنامه نویسی r همچنین دارای پکیجهای دیگری برای مدلسازی داده ها، گزارش داده ها، داده های زمانی ، نوشتن کدهای با عملکرد بالا، کار با وب، طراحی پکیج شخصی است.\nنقاط قوت زبان برنامه نویسی r\nسازگاری با زبان های دیگر\nابزارهای مناسب آماری\nمتناسب با اکثر سیستم عامل ها\nدارای چندین کتابخانه قدرتمند\nنقاط ضعف زبان برنامه نویسی r\nعدم یکپارچگی الگوریتم ها با پکیج های مختلف\nدشوار بودن انتخاب پکیج مورد نیاز\nعدم وجود اسناد کامل\nوابستگی شدید به حافظه\nنا امن بودن\nزبان روبی یک زبان شی گرا و اسکریپتی است که با هدف سادگی و بهره وری تمرکز دارد.\nبرنامه نویسانی که به دنبال یک زبان با دستورات ساده برای یادگرفتن و کد نویسی هستند می توانند از این زبان استفاده کنند.\nروبی یکی از ۱۰ زبان برتر دنیا به شمار می رود. رشد این زبان به دلیل نرم افزار هایی است که توسط این زبان نوشته شده اند .\nدیگر عاملی که موجب معروفیت این زبان شده است فریمورک وب Ruby On Rails هست.\nزبان روبی در واقع ترکیبی از زبان های Perl, Smalltalk, Eiffel, Ada, Lisp می باشد.\nBasecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, Cookpad. اپلیکشن هایی هستند که توسط زبان روبی توسعه یافته اند.\nروبی یک زبان تمام شی گرا است.\nتمام شی گرا بودن آن به این دلیل است که هر آنچه که در این زبان تصور کنید یک شی محسوب می شود.\nشاید جالب باشد که بدانید روبی این امکان را برای کاربرانش فراهم می کند که بتوانند ضروری ترین قسمت های روبی را پاک کنند و یا مجددا تعریف کنند.\nهدف از این کار روبی این است که کاربرانش محدودیت نداشته باشند.\nبه عنوان مثال تفریق با استفاده از علامت – انجام می شود اما اگر کلمه minus را بخواهید استفاده کنید، می توانید آن را به کلاس Numericاضافه کنید.\nویژگی Block همچنین موجب انعطاف پذیری این زبان می شود. با استفاده از بلاک های روبی می توانید statement ها را گروه بندی کنید.\nهمچنین برنامه نویس ها می توانند به وسیله روبی یک قطعه کد به نام closure را به هر متدی اضافه کنند.\nClosure در واقع به یک متد اضافه می شود تا کار آن را توضیح دهید.\nمدیریت ارورها در زبان روبی\nیکی از ویژگی های روبی که می تواند بسیار به برنامه نویسان در تولید نرم افزارهایشان کمک کند مدیریت ارورها یا همان خطاها است.\nهمانند سایر زبان های برنامه نویسی روبی هم از خصوصیت زباله روبی استفاده می کند. بنابراین برنامه نویسانی که از این زبان برای ساخت نرم افزارهایشان استفاده می کنند لازم نیست در مورد مدیریت حافظه نگران باشند.\nکدام سیستم عامل ها زبان روبی را پشتیبانی می کنند؟\nبرنامه نویسیانی که قصد دارند از روبی استفاده کنند باید بدانند که روبی اساسا برای کار با سیستم عامل GNU/Linux توسعه یافته است.\nاما این قابلیت را دارد که بر روی سایر سیتم عامل های دیگر نیز اجرا شود. از جمله :\nفریمورک های زبان روبی\nتوسعه دهدگان برنامه های تحت وب علاوه بر زبان روبی این حق انتخاب را دارند که از فریمورک Ruby On Rails استفاده کنند.\nRuby On Rails در واقع فریمورکی برای توسعه برنامه های تحت وب می باشد.\nاین فریمورک که توسط خود ربان روبی نوشته شده است و موجب آسان شدن توسعه زبان برنامه نویسی می شود.\nشما می توانید با استفاده از این زبان، کدهای کمتری بنویسند.\nهمچنین به گفته برنامه نویسان دیگر این فریمورک باعث می شود توسعه و تولید بررنامه های تحت وب به نوعی خوش گذرانی تبدیل شود.\nRuby On Rails چگونه کار می کند؟\nبرنامه نویسانی که قصد ساختن وبسایت های پیجیده را دارند می توانند از فریموروک Ruby On Rails استفاده کنند.\nRuby On Rails در واقع مجموعه ای کدهایی هست که با زبان روبی به عنوان میانبر نوشته شده اند.\nاین میانبر ها به شما این امکان را می دهند که به سرعت اپلیکیشن های تحت وب و وبسایت بسازید.\nبسیاری از وبسایت های بزرگ دنیا توسط این فریمورک ساخته شده اند :\nBasecamp, Airbnb, Bleacher Report, Fab.com, Scribd, Groupon, Gumroad, Hulu, Kickstarter, Pitchfork, Sendgrid, Soundcloud, Square, Yammer, Crunchbase, Slideshare, Funny or Die, Zendesk, Github, Shopify\nبه دلیل اینکه برنامه ایجاد شده بر رروی سرور اجرا می شود می توان Ruby On Rails را یک پلتفرم سمت سرور تلقی کرد.\nاساس کار فریمورک Ruby On Rails ، معماری MVC می باشد.\nکاربران این زبان ترجیح می دهند برای ساخت برنامه های تحت وب به جاری زبان روبی از فریمورک Ruby On Rails استفاده می کنند. این امر به این دلیل است که ساخت برنامه های تحت وب با استفاده از فریمورک بسیار ساده تر از کدنویسی با زبان روبی است.\nزبان روبی برای توسعه وب سایت استاتیک نیز قابل استفاده است. در مقابل فریمورک Rails برای این کار مناسب نیست.\nدر صورتی که برقراری امنیت در برنامه های تحت وب شما اهمیت بالایی داشته باشد روبی و فریمورک آن هر دو امنیت را تامین می کنند والبته فریمورک Ruby On Rails توانایی بیشتر در این زمینه دارد.\nبرنامه نویسانی که از فریمورک Rails استفاده می کنند می توانند خود را برنامه نویسان Full-Stack بدانند. چرا که این فریمورک back-end و front-end را بطور همزمان پشتیبانی می کند.\nفریمورک Sinatra در زبان روبی\nاین فریمورک نیز برای ساخت برنامه های کاربردی تحت وب مورد استفاده قرار می گیرد . توسعه دهندگان وب می توانند از این فریمورک به عنوان یک زبان open source استفاده می کنند.\nاین فریمورک بر خلاف فریمورک Rails از معماری MVC استفاده نمی کند.\nفریمورک Padrino در زبان روبی\nفریمورکی که بر اساس Sinatra ساخته شده است. این فریمورک دارای ویژگی های زیر است :\nساده و کم حجم\nتوسعه آسان برنامه های تحت وب\nفراهم سازی امکان کار کردن با کتابخانه های بانک اطلعاتی\nتوسعه سریع برنامه های تحت وب\nفریمورک Cuba در زبان روبی\nبرنامه نویسان می توانند از این فریمورک برای توسعه برنامه های تحت وب با عملکرد بسیار بالا استفاده کنند.\nفریمورک Hanami در زبان روبی\nاین فریمورک با استفاده از “ساختارهای کد” و “کتابخانه های آماده”، این امکان را برای برنامه نویسان فراهم می کند تا برنامه های تحت وب خود را سفارشی سازی کنند.\nاین فریمورک این قابلیت را دارد که برنامه نویسان وبسایت هایی با سرعت بالا بطوریکه نیازی به استفاده بیش از حد از حافظه نباشد، بسازند.\nفریمورک Scorched در زبان روبی\nدر صورتی که نیاز داشته باشید درخواست های HTTP را بهبود ببخشید می توانید از این فریمورک استفاده کنید.\nبرنامه نویسانی که از این فریمورک استفاده می کنند قادر خواهند بود بدون نگرانی در مورد لایه business logic، واسط کاربری مناسبی برای برنامه های خود پیاده سازی کنند.\nاین واسط کاربری با عنوان View-First process شناخته می شود و موجب می شود که بدون نیاز به انتقال داده ها به سمت کلاینت، لایه presentation به روز رسانی شود.\nدیگر فریمورک های روبی عبارتند از:\nTrailblazer، Roda ، Goliath ، Pakyow.\nامنیت در زبان روبی :\nزبان روبی نیز مانند سایر زیان های دیگر دارای ایرادهای امنیتی و آسیب پذیر می باشد .\nبرنامه نویسانی که از این زبان استفاده می کنند برای ایمن سازی در برنامه های خود لازم است از تکنیک های خاصی استفاده کنند. مانند :\nSecurity as part of the SDLC\nآسیب پذیری های پر خطر زبان روبی :\nRedirects and Forwards\nDynamic Render Paths\nچه دیتابیس هایی را می توان به همراه زبان روبی استفاده کرد:\nموارد بالا این امکان را برای برنامه نویسانی که از زبان روبی استفاده می کنند فراهم می کند که بتوانند متناسب با هدف خود یک دیتابیس انتخاب کند.\nروبی می تواند با همه دیتابیس های نام برده شده در لیست بالا همکاری داشته باشد مشروط به اینکه از DBI استفاده کند.\nDBI در واقع یک ماژول است که یک واسط غیروابسته به بانک اطلاعاتی برای روبی فراهم می کند.\nاین واسط باعث می شود پایگاه داده مورد استفاده اتان را تغییر دهید.\nدر این میان دیتابیس هایی که برای روبی استفاده میشود نام MySQL و PostgreSQLبیشتر به چشم می خورد.\nدستورهای زبان روبی بسیار به دستورات زبان Perl و C شباهت دارد و برنامه نویسی با این دستورات بسیار ساده و واضح است.\nزبان روبی توانسته است توازن خوبی بین دو ویژگی سادگی و قدرتش برقرار کند.\nکاربرد های زبان روبی عبارتند از:\nتوسعه برنامه های کاربردی تحت وب\nایجاد کتابخانه های استاندارد\nتوسعه سرور ها\nنوشتن اسکریپت های Common Gateway Interface (CGI)\nCGI در واقع متدی است موجب پویایی صفحات و برنامه های کاربردی تحت وب می باشد.\nنقاط قوت زبان روبی\nزبان سطح بالا\nکدهای آسان و قابل درک\nتوسعه سریع و آسان برنامه های تحت وب\nتعداد بالای فریمورک\nکیفیت بالای کد ها\nنقاط ضعف زبان روبی\nجدید بودن زبان\nکم تعداد بودن داکیومنت ها\nسرعت پایین به دلیل تفسیری بودن\nزبان برنامه نویسی Go در سال ۲۰۰۹ توسط گوگل در شرایطی که تعداد زبان های برنامه نویسی کم نبود توسعه یافت تا مشکلات آن زبان ها را حل کند.\nGO همه ویژگی زبان های دیگر مانند C# ، جاوا، زبان برنامه نویسی پایتون و سایر زبان های برنامه نویسی را دارا می باشد.\nدر این شرایط اینکه مزیت رقابتی زبان برنامه نویسی go چه بود بسیار اهمیت داشت.\nبر اساس نظرسنجی که در مورد زبان برنامه نویسی go صورت گرفته. بیشتر کاربران به دلایلی که در لیست زیر نام برده شده به این زبان برنامه نویسی علاقه مند هستند:\nسادگی این زبان\nاستفاده راحت (خواندن و نوشتن کدها)\nویژگی های همزمانی\nو جواب کاربران به سوال “چه ویژگی هایی موجب بهبود زبان برنامه نویسی go می شود؟” به شرح زیر بوده است:\nقابلیت دیباگ کردن\nو چالش هایی که کاربران زبان برنامه نویسی go با آن روبرو بوده اند عبارتند از :\nمستندات نامفهوم این زبان\nمتقاعد کردن دیگران برای استفاده از این زبان\nمتقاعد کردن مدیران کسب و کار برای استفاده از این زبان\nنکته قابل توجه در مورد این زبان این است که گرچه دارای ایراداتی هست اما این زبان جوان و در عین حال قدرتمند است.\nکارایی اولین هدف زبان برنامه نویسی go می باشد.\nاین زبان اساسا برای مدیریت درخواست های بیشماری است که برنامه به صورت همزمان دریافت می کد.\nهمچنین برای ساخت سیستم های که میزان بارگذاری برروی آن ها زیاد است و از معماری چند پردازشی (CPU) استفاده می کنند ساخته شده است.\nدومین قابلیت این زبان “افزایش کارآیی برنامه نویسان” است.\nزبان برنامه نویسی go به وسیله دستورات ساده ای که دارد این امکان را فراهم می کند تا کدها به رااحتی نوشته شوند و به سرعت درک شوند.\nبرنامه ای که توسط زبان برنامه نویسی go نوشته شود به راحتی کامپایل می شود.\nبنابراین نیازی نیست در هنگام تست گرفتن از یک برنامه نگران هدر رفتن وقت خود باشند.\nهمچنین برنامه های مبتنی بر زبان برنامه نویسی go با سایر برنامه ها به هیچ گونه تداخلی برنخواهند خورد.\nاین به این دلیل است که کدهای برنامه در هنگام اجرا به یک static binary تبدیل می شوند. بر همین اساس برنامه شما به هیچ پکیج خارجی وابسته نخواهد بود .\nعلاوه بر کارایی، هدف فنی و اصلی زبان برنامه نویسی go، ساخت برنامه های تحت وب است.سرویس های تحت وب و نظارت بر سیستم ها نیز بخشی از این هدف فنی هستند.\nپشتیبانی JSON توسط زبان برنامه نویسی go\nیکی از دلایلی که موجب می شود زبان برنامه نویسی go برای توسعه وب مناسب باشد این است که این زبان فرمت JSON را بخوبی پشتیبانی می کند.\nزبان برنامه نویسی go دارای ویژگی زباله روبی خودکار نیز می باشد. به همین دلیل ساخت سیستم های بلادرنگ یا real-time با این زبان کار دشواری خواهد بود.\nاز دیگر ویژگی های این زبان برنامه نویسی می توان به وابسته نبودن این زبان به سیستم عامل ها اشاره کرد.\nویژگی های زبان برنامه نویسی go :\nبرنامه ای که توسط زبان برنامه نویسی go نوشته شده است به مترجم یا نصب چیزی در زمان اجرا، نیازی ندارد.\nامنیت زبان برنامه نویسی go\nنوع متغیر های موجود در برنامه هایی که توسط این زبان نوشته می شوند پیش از اجرا بررسی می شوند چرا که GO جزء زبان های statically typed است.\nاین خاصیت موجب می شود پیش از اجرای برنامه ارور ها مشخص شوند.\nدستورات (syntax) ساده زبان برنامه نویسی go :\nSyntax زبان برنامه نویسی go بسیار به زبان C شباهت دارد.\nبا این تفاوت که زبان برنامه نویسی go با استفاده از ۲۵ کلمه کلیدی ساده تر شده است . همچنین این توانایی را دارد تا بدون اطلاع از نوع ها و جدول نماد ها، کنورت یا تبدیل انجام دهد.\nزبان برنامه نویسی go یک زبان Multi-paradigm است چرا که هم یک زبان تابع گرا است و هم یک زبان شی گرا است.\nنکته مهم در مورد شی گرایی این زبان این است که وراثت را پشتیبانی نمی کند. این خاصیت موجب می شود تا مدیریت و درک کدها راحت باشد.\nبرنامه نویسانی که از این زبان برنامه نویسی استفاده می کنند برای نوشتن کدهای خود نیازی به IDE ندارد.\nالبته عدم نیاز زبان برنامه نویسی go به این معنا نسیت که آن ها را پشتیبانی نمی کند.\nزبان برنامه نویسی گو چه پلت فرم هایی را پشتیبانی می کند :\nزبان برنامه نویسی go هم مانند زبان جاوا به هیچ پلتفرمی واسته نیست .\nبرنامه نویسان این زبان قادر خواهند بود برنامه ای که با این زبان می نویسند را برروی هر سیستم عامل و پلتفرم متناسب با آن اجرا کنند.\nبرای یک زبان بسیار قدرتمند مانند زبان برنامه نویسی go وجود قابلیت های اضافه می تواند به محبوبیت این زبان بیفزاید.\nزبان برنامه نویسی go هم مانند زبان های دیگر دارای چند کتابخانه قدرتمند است که عبارتند از:\nزبان برنامه نویسی go دارای امنیت درونی است .\nکدهای ساده به طور معمول امنیت بیشتری نسبت به کدهای پیچیده دارند. که البته داشتن کدهای ساده خاصیت مهم زبان go است.\nنقاط قوت زبان برنامه نویسی go\nانعطاف پذیری : ساده و آسان بودن جهت خواندن و نوشتن کدها\nامکان اجرای چند عملیات به صورت همزمان و موثر وجود دارد\nعدم نیاز به ماشین مجازی\nکتابخانه های درونی\nمدت زمان اجرای کوتاه\nنقاط ضعف زبان برنامه نویسی go\nعدم پشتیبانی جنریک ها\nعدم امنیت در زمان اجرا\nزبان برنامه نویسی go کاملا شی گرا نیست\nناسازگار بودن با سرریز شدن توابع\nعدم وجود کتابخانه مناسب برای واسط کاربری در زبان برنامه نویسی go\nزبان برنامه نویسی dart\nدارت در واقع ترکیبی از بهترین ویژگی های زبان های بزرگ و ویژگی های فوق العاده خودش است.\nبه این ترتیب می توان گفت زبان برنامه نویسی dart سعی در حل عمده مشکلات برنامه نویسان را دارد.\nاین زبان توسط گوگل منتشر شده است و همچنین توسط ECMA به عنوان استاندارد شناخته شده است.\nانقلاب زبان های برنامه نویسی موبایل از سال ۲۰۱۱ با زامارین که متعلق به شرکت مایکروسافت بود شروع شد.\nمایکروسافت با ساخت زامارین سعی در حل مشکلات موبایل اپلیکیشن های هیبریدی داشت.\nدر ادامه در سال ۲۰۱۳، ionic توسط شرکت Drifty به بازار عرضه شد. این فریمورک به برنامه نویس ها کمک کرد تا بتوانند هر مهارتی که در وب داشتند را به موبایل منتقل کنند.\nدو سال بعد، فیسبوک برای ساخت اپلیکیشن موبایلی اش از React Native استفاده کرد.\nپس از این فریمورک ها، گوگل هم با استفاده از فریمورک فلاتر و زبان برنامه نویسی دارت پا به میدان توسعه دهندگان موبایل گذاشت.\nدارت تنها زبان برنامه نویسی برای ساخت اپلیکیشن های موبایلی نیست. بلکه می توان از آن برای ساخت برنامه های تحت وب، سرور ها، دسکتاپ استفاده کرد.\nاز دیگر ویژگی های زبان دارت می توان به open-source ، همه منظوره (general-purpose) بودن و شی گرا بودن این زبان اشاره کرد.\nزبان برنامه نویسی dart برای ساخت واسط کاربری بسیار قدرتمند است.\nکامپایلر زبان dart یک SDK با خود به همراه دارد. این SDK همچنین درای ابزاری است که می تواند اسکریپت های زبان دارت را به جاوا اسکریپت تبدیل کند.\nانتخاب انواع داده ای در این زبان اختیاری است.\nیعنی هنگامی که در یک برنامه به زبان دارت یک متغیر از نوع string تعریف می کنید آنگاه قادر خواهید بود که نوع آن را به Number تغییر دهید.\nدر صورتی که در یک زبان مانند جاوا اسکریپت نمی توانید این کارها را انجام دهید.\nدارت یک زبان مبتنی بر کلاس است. به این معنا که در برنامه هایی که به وسیله این زبان نوشته می شود انتظار می رود از کلاس استفاده شود.\nزبان dart تک وراثتی یا Single-inheritance است. به این معنا است که هر کلاس فرزند تنها می تواند یک والد داشته یاشد.\nبه طور کلی می توان از این زبان برای ساخت برنامه های سمت کلاینت و همچنین سمت سرور استفاده کرد.\nزبان دارت اصطلاحا زبان native نامیده می شود و این به این معنا است که متناسب با سیستم عاملی که بر روی آن اجرا می شود، کد ها را کامپایل می کند دذ واقع می توان کدهایی نوشت که برروی هر ios و انروید قابل اجرا باشد.\nهمکاری فلاتر و زبان برنامه نویسی dart :\nتیم فلاتر پس از ارزیابی ۱۰ زبان دارت را برگزید چرا که این زبان برای ساخت واسط کاربری سازگار با فلاتر مناسب بود.\nیکی از دلایل مهم پرطرفدار بون فریمورک فلاتر چیزی به جز زبان دارت نیست.\nاما دلایل فلاتر برا انتخاب زبان دارت چه بود ؟\nدارت یک زبان OAT یا Ahead Of Time است.\nبه این معنا که پیش از اجرای کدها آن ها را کامپایل میکند. OAT بودن موجب می شود این زبان native ، قابل پیشبینی ، و سریع باشد.\nدارت علاوه بر OAT بودن می تواند JIT یا Just In Time هم باشد.\nیکی از اهداف اصلی ومهم Just In Time حذف تمام دوباره کاری ها است.\nدارت امکان ساخت انیمیشن ها و کذار های زیبا در مدت زمان کوتاه را فراهم می کند.\nهمچنین قادر به زباله روبی و تخصیص آبجکت نیز می باشد.\nدارت دارای یک ماشین مجازی است که به طور مستقل از زبان دارت به عنوان یک زبان واسط (مترجم) استفاده می کند.\nفراخوانی ها و لایه های برنامه نویسی و تصویر سازی زیان دارت به راحتی قابل خواندن است.\nبنابراین فلاتر نیازی به یک زبان دیگر مانند XML و JSX نیازی ندارد.\nفلاتر دارای دستورات آسان برای آموزش و استفاده است. به این دلیل که داریا ویژگی های آشنا از زبان های استاتیک و داینامیک است.\nقوی ترین قسمت زبان دارت این است که قابلیت همکاری با asynchronous ها را دارد.\nدارت برای مقدار خروجی ناشی از اجرای برنامه هایش از نوع Future استفاده می کند. با این روش تعداد callback ها کاهش پیدا می کند.\nبرنلمه نویسان می توانند با استفاده از اسکریپت های ساده، اپلیکیشن هایی تحت موبایل یا وبی بسازند که دارای قابلیت های بساری باشد.\nدارت همچنین برای برنامه های command-line و سمت سرور هم دارای راه حل هایی است.\nزبان برنامه نویسی دارت برای برنامه نویسی اپلیکیشن های موبایل و دسکتاپ، به ترتیب از فریمورک های فلاتر و آنگولاردارت استفاده می کند.\nدارت به دلیل اینکه دارای یک کامپایلر انعطاف پذیر است این قابلیت را برای کاربران خود فراهم می کند که کدهای خود را به روش های متفاوتی اجرا کنند.\nاین روش ها که به پلتفرم مورد استفاده آن ها بستگی دارد عبارتند از :\nDart Native : ویژگی است که برای برنامه های قابل اجرا برروی موبایل – دسکتاپ – سرور و غیره مورد استفاده قرار می گیرند. Dart Native دارای ماشین مجازی است که هم دارای قابلیت کامپایل JIT و همچنین کامپایل AOT است.\nDart Web : ویژگی است که برای برنامه های قابل اجرا برروی وب مورد استفاده قرار می گیرند.\nدارت وب شما را قادر می سازد تا به کمک جاوا اسکریپت کدهای نوشته شده به زبان دارت را روی پلتفرم های تحت وب اجرا کنید.\nبه عبارتی با استفاده از دارت وب کدهایی که با زبان دارت نوشته شده اند به جاواسکرپیت کامپایل می شوند و برروی مروگر اجرا می شوند.\nدارت وب دارای کامپایلر های ” زمان توسعه یا development time ” و ” زمان تولید یا production time ” است.\nکتابخانه های زبان برنامه نویسی dart :\nامروزه یکی از ابعادی که می تواند به قدرت زبان های برنامه نویسی بیفزاید داشتن کتابخانه است . زبانن دارت نیز دارای تعداد بی شماری کتابخانه درونی است.\nاین کتابخانه های درونی به برنامه نویسان کمک می کنند تا مرتبا نیازی به تکرار روتین نداشته باشند. همچنین می تواند دارای کلاس ها، توایع، ثابت ها (constant) ها، پراپرتی ها، خطاها و type ها باشد.\nکتابخانه های رایج این زبان برنامه نویسی عبارتند از:\nکتابخانه پیش فرض زبان دارت. درهنگام برنامه نویسی با زبان دارت نیازی به وارد کردن این کتابخانه نخواهید داشت.\nاین کتابخانه برای اپلیکیشن های تحت مرورگر قابل اجرا نخواهد بود. و فقط سرور ها، اسکریپت های command-line و اپلیکیشن های موبایلی که توسط فلاتر ساخته شده اند می توانند از آن استفاده کنند.\nاین کتابخانه امکان کار کردن با File, socket, HTTP, directories, processes , clients و I/O برای برنامه های کاربردی سرور مورد استفاده قرار می گیرند.\nاین کتابخانه به صورت خودکار وارد شده است و type (نوع های داده ای) درونی و collection ها را پشتیبانی می کند.\nاین کتابخانه ثابت ها و توابع ریاضی و همچنین یک تولید کننده اعداد تصادفی را فراهم می کند.\nبه وسیله این کتابخانه برنامه نویسانی که از زبان دارت استفاده می کنند، تبدیل های داده ای را به راحتی انجام می دهند.\nسایر کتابخانه ها عبارتند از :\nکتابخانه های سفارشی سازی شده زبان برنامه نویسی dart\nبا استفاده از زبان دارت شما می توانید کدهای خود را به صورت کتابخانه یا همان Library درآورید. به عبارت دیگر این زبان به شما این امکان را میدهد تا کتابخانه سفارشی سازی شده خودت را داشته باشی.\nمزایای زبان برنامه نویسی dart\nدارای تعداد بی شماری کتابخانه و ابزار مختلف است\nساده سازی برنامه نویسی\nتابع گرا است\nدارای ویژگی async/await است\nانواع داده ای استاتیک\nپشتیبانی از جنریک ها\nقابلیت کامپایل شدن به جاوا اسکریپت\nماشین مجازی پرسرعت\nدستورات ساده و مختصر\nعملکرد در زمان اجرا سریع و قابل پیش بینی است\nقابلیت اجرا بر روی پلتفرم های Android ، IOS و وب\nمعایب زبان برنامه نویسی dart\nبه دلیل جدید بودن تعداد برنامه نویسان این زبان زیاد نیست\nتعداد منابع آموزشی زیاد نیست\nزبان برنامه نویسی کاتلین که می تواند موجب بالا رفتن بهره وری برنامه نویسان شود و با ایجاد اپ های سریع اندروید توسعه دهندگان را خوشحال کند.\nاز ویژگی های کاتلین می توان به انواع داده ای استاتیک، open-source بودن اشاره کرد.\nکاتلین نیز مانند دیگر زبان های برنامه نویسی مدرن نیز دارای خاصیت زباله روبی در زمان اجرا یا garbage collected runtime است . و براساس این خاصیت کاتلین برای برنامه نویسان یک گزینه جالب به حساب می آید.\nبرنامه نویسان می توانند برای ساخت اپلیکیشن های اندروید، JVM ، مرورگرهای مدرن می توانند از کاتلین استفاده کنند.\nاین زبان همچنین می تواند نقش یک زبان برنامه نویسی native را برعهده بگیرد.\nشی گرایی و تابع گرا بودن هم از دیگر خصوصیات این زبان برنامه نویسی است.\nدستوراهای زبان کاتلین برگرفته از چند زبان دیگر می باشد. این زبان ها عبارتند از : C#, Java, Scala\nمهم ترین اهداف زبان برنامه نویسی Kotlin عبارت است از:\nقابلیت همکاری با زبان جاوا\nفراهم سازی ابزارهای مختلف\nداستان سازگاری کاتلین با زبان جاوا :\nجاوا و کاتلین به شکلی باور نکردنی با هم تطابق دارند. در واقع هر گاه دو فایل جاوا و کاتلین در کنار هم باشند، می توانند با یکدیگر به تبادل داده بپردازند.\nJetBrain شخصی که کاتلین را طراحی کرده بسیار بر سازگاری این دو زبان برنامه نویسی تاکید داشته است.\nهدف او از این تاکید و پا فشاری این بوده که برنامه نویسان زبان جاوا بتوانند به راحتی از این زبان به کاتلین مهاجرت کنند.\nهمچنین برنامه نویسان زبان جاوا قادر هستند پروژه های خود را به کاتلین منتقل کنند.\nضمن اینکه برای این کار یک ابزار تبدیل کننده java-to-Kotlin در IDE های بزرگ وجود دارد تا این فرآیند راحت تر صورت پذیرد.\nکاتلین هم مانند جاوا بر اساس JVM ماشین مجازی کار می کند، و از کتابخانه ها و ابزارهای جاوا استفاده می کند.\nبرنامه نویسانی که با زبان های جاوا و جاوا اسکریپت کار می کنند بیش از سایر برنامه نویسان تمایل به آموختن زبان کاتلین دارند.\nدلیل این تمایل این است کاتلین کدها را به بایت کد یا جاوا اسکریپت کامپیایل می کند.\nکلاس نویسی ساده در زبان برنامه نویسی Kotlin\nیکی از بهترین ویژگی های زبان برنامه نویسی کاتلین این است که نوشتن کلاس در آن بسیار ساده است. شما می توانید به ساده ترین حالت ممکن در کاتلین کلاس بنویسید. بدون آنکه انرژی ذهنی و تایپ کردن زیادی از شما بگیرد.\nعدم وجود سرریز در زمان اجرا\nعدم وجود سرریز در زمان اجرای برنامه ای که توسط کاتلین نوشته شده است موجب بهبود توسعه اپ های اندرویدی می شود.\nاین به این دلیل است که کتابخانه استاندارد زبان کاتلین در زمان اجرا هیچ داده اضافه ای با خود به همراه ندارد.\nامنیت کاتلین در برابر داده های null\nسیستم نوع داده ای در زبان برنامه نویسی کاتلین به گونه ای طراحی شده است که خطرات ناشی از داده های null را به صفر برساند. داده های null می توانند موجب وقوع خطاهای بسیاری شوند.\nکاهش یخ زدگی و متوقف شدن برنامه در زمان اجرا\nشاید کاهش دادن تعداد توقف های برنامه در زمان اجرا بسیار سخت بنظر برسد اما کاتلین این کار را انجام می دهد.\nدر کاتلین در هنگام کامپایل پروژه این امکان وجود دارد که خطاهای مربوط به متغیرهای Null شناسایی شوند.\nگسترش کلاس ها بدون نیاز به وراثت در زبان برنامه نویسی Kotlin\nدر زبانهای برنامه نویسی دیگر برای اینکه یک کلاس توسعه پیدا کند می توان از کلاس های دیگر وراثت گرفت.\nیا در حالت دوم از دیزاین پترن ها برای توسعه یک کلاس استفاده کرد.\nدر کاتلین برای توسعه یک کلاس کافی است قابلیتی به نام extensions را فراخوانی کنید. این توسعه دو حالت دارد extension functions و extension properties .\nفراهم سازی کمتر کد نوشتن با استفاده از کاتلین\nبر خلاف زبان برنامه نویسی جاوا که لازم است همه جیز نوشته شود، کاتلین توانایی درک کد را دارد و آن را ادامه میدهد.\nاین ویژگی برای برنامه نویسانی که می خواهند در زمان صرفه جویی کنند و بهره وری اشان افزایش پیدا کند بسیار مناسب است.\nType Checks و Smart casts در کاتلین\nدر هنگام نوشتن یک برنامه و کار کردن با نوع های داده ای گاهی لازم است تا در زمان اجرا نوع آبجکت را بدانیم تا آن را به نوع مورد نیازمان تبدیل کنیم.\nدر کاتلین شما قادر هستید تا با استفاده از یک عملگر چک کنید که یک آبجکت دارای نوع داده ای متناسب با مقدار آن است یا نه.\nبه علاوه ، در برخی موارد نیازی به عملگر نیست چرا که کامپایلر تبدیل نوع یا Cast را به صورت اتوماتیک انجام می دهد. این کار را کامپایلر بسیار هوشمند کاتلین انجام می دهد.\nپوشش دادن چند پلتفرم توسط کاتلین\nتلاش برای نوشتن یک کد به یک زبان دیگر می تواند بسیار خسته کننده و زمان بر باشد. در زبان برنامه نویسی کاتلین این مسائل به دلیل Native بودن آن برطرف شده است. به وسیله زبان برنامه نویسی کاتلین شما قادر خواهید بود یک برنامه بسازید و بر روی پلتفرم های زیر آن را اجرا کنید.\nاستفاده از کاتلین برای برنامه های سمت سرور\nزبان برنامه نویسی کاتلین برای ساخت برنامه های تحت وب بسیار مناسب است.\nبا استفاده از این زبان و قابلیت های آن مانند کدنویسی مختصر و سریع می توان برنامه ای با ویژگی های مورد نیازتان بسازید.\nدر این میان کتابخانه های مبتنی هم به کمک کاتلین می آیند و به قابلیت های آن اضافه می کند مانند وضوح و گشترش پذیری آن.\nکاتلین با پشتیبانی از ویژگی Coroutines می تواند به تعداد بیشماری از کلاینت هایی با سخت افزار معمولی، خدمت رسانی کند.\nCoroutines در کاتلین روش جدید نوشتن کدهای asynchronous یا نا همگام است.\nاستفاده از کاتلین برای اپ های اندرویدی\nیکی از بهترین زبان های برنامه نویسی که برای ساخت اپلیکیشن های اندرویدی مورد استفاده قرار بگیرد کاتلین است.\nچرا که برای این کار تمام قابلیت های مورد نیاز را دارد و هیچ محدودیتی ندارد.\nسازگاری زبان کاتلین با JDK موجب می شود تا برنامه نویسان نگران اجرای اپلیکیشن های خود بر روی وسایل قدیمی اندروید نباشند.\nهمچنین سرعت اپلیکیشن هایی که به وسیله کاتلین ساخته می شوند نسبت به اپلیکیشن هایی که با جاوا ساخته می شوند بسیار بالاتر است.\nهماهنگی و سازگاری کامل کاتلین با جاوا باعث شده است که همه کتابخانه های جاوا در کاتلین قابل استفاده باشند.\nاز جمله annotation processing و databinding و Dagger.\nترکیب شدن کاتلین و جاوا اسکریپت\nچرا تبدیل کدهای کاتلین به جاوا اسکریپت اهمیت دارد ؟\nهمکاری با کدهای سمت کلاینت :\nتعامل (ساخت و آپدیت) با المان های درخت DOM\nساخت المان های گرافیکی صفحه وب با استفاده از WebGL\nهمکاری با کدهای سمت سرور\nتعامل با کدها و کتابخانه های جاوا اسکریپت درسمت سرور\nفریمورک های سمت سرور زبان کاتلین :\nSpring : یک فریمورک که امکان استفاده از ویژگی های زبان کاتلین را برای عرضه API ها فراهم می کند.\nVert.x : یک فریمورک مناسب ساخت وب اپلیکیشن های تعامل گرا است.\nKtor : یک فریمورک مناسب ساخت وب اپلیکیشن ها با استفاده از ویژگی coroutines.\nاین فریمروک موجب افزایش گسترش پذیری برنامه ها و استفاده آسان API ها می شود\nkotlinx.html : امکان ساخت کدهای HTML در اپلیکیشن های تحت وب را فراهم می کند.\nمزایا زبان برنامه نویسی Kotlin\nافزایش کارایی تیم به دلیل خوانایی کدها\nهماهنگی با جاوا\nپیاده سازی ساده به دلیل پشتیبانی توسط IDE های مختلف\nسادگی و مختصر بودن کدها\nعدم نیاز به سمی-کالن\nسبک تر بودن از جاوا\nکیفیت بالای اپلیکیشن های تولید شده در کاتلین\nمعایب زبان برنامه نویسی Kotlin\nکمبود منابع آموزش\nنوسان سرعت کامپایل\nتعداد کم برنامه نویسان کاتلین\nزبان برنامه نویسی F#\nزبان برنامه نویسی اف شارپ یک زبان open-source ، cross-platform و تابع گرا است.\nاین زبان از طریق حل مشکلات پردازش های پیچیده با استفاده از پیاده سازی راحت کد ها موجب قدرتمند شدن شرکت ها و کاربران می شود.\nبرای انواع مختلفی از اپلیکیشن ها مورد استفاده قرار می گیرد.\nزبان برنامه نویسی F# از سال ۲۰۰۵ توسط تیم تحقیقاتی Microsoft عرضه شد.\nزبان برنامه نویسی F# کار خود را به عنوان یک پروژه تحقیقاتی آموزشی شروع کرد.\nاما بعد از چند سال به یک زبان برنامه‌نویسی تبدیل شد و توسط بسیاری از شرکت های تجاری به خصوص در بخش مالی مورد استفاده قرار گرفت .\nشاید جالب باشد که بدانید زبان برنامه نویسی F# با C# بسیار تفاوت دارد\nدلیل آنکه زبان F# به وجود آمده است:\nجایگزینی یک زبان برنامه نویسی تابع گرا به جای یک زبان شی گرا که برای محاسبات و دستکاری داده ها مناسب است.\nبکارگیری ویژگی های ارزشمند برنامه نویسی که در C# وجود نداشت\nهمچنین C# در زمینه وراثت دارای مشکلاتی است که برای برطرف کردن آنها دیر است، بنابراین F# این نواقص وراثتی را نخواهد داشت\nF# به مانند زیرمجموعه زبان برنامه نویسی C# است.\nبنابراین هر کاری که زبان C# می تواند انجام دهد زبان F# نیز می تواند انجام دهد. ولی برعکس این موضوع درست نیست.\nهمزیست پذیری زبان F#\nزبان برنامه نویسی F# قابلیت همکاری وسیعی با دیگر زبان های برنامه نویسی .Net دارد.\nاین به این معنا که اگر قسمت هایی از یک برنامه به زبان F# دیگر قسمت ها به زبان C# یا VB.NET باشد، مشکلی در اجرای آن برنامه پیش نخواهد آمد\nاگر با دید تجاری به زبان F# نگاه کنیم نقش اصلی آن کاهش زمان پیاده سازی برنامه های تحلیلی در شرکت‌های پیشرفته است.\nزبان های .NET و کتابخانه های آن این توانایی را برای برنامه نویسان فراهم می کند تا پیچیدگی کامپوننت هایی مانند “موتورهای محاسبات” را رفع کنند.\nپشتیبانی نوع های داده ای جبری :\nزبان برنامه نویسی سی شارپ، نوع های داده ای جبری که باعث ایجاد داده های پیچیده از داده های ساده می شوند ،را بطور کامل پشتیبانی نمی کند .\nبرعکس زبان برنامه نویسی F# توانایی پشتیبانی داده های جبری را دارند.پشتیبانی داده های جبری موجب می شود تا زبان برنامه نویسی F# قدرت توصیف موجودیت های تجاری را داشته باشد.\nدر زبان برنامه نویسی F# شما قادر خواهید بود که مانع موقوع شرایطی که نمی خواهید شوید .\nاین هدف به این صورت که شانس نوشتن کدهای نامناسب وجود ندارد، محقق می شود.\nامنیت در زبان F#\nاز آنجایی که زبان برنامه نویسی C# به statement ها و تغییرات بستگی دارد، ترتیبی که تغییرات و جهش ها انجام می شود بسیار مهم است.\nاین درحالی است که در زبان F# ترتیب مهم نیست.\nبه این دلیل که یک برنامه در زبان F# در واقع یک عبارت یا یک فرمول بزرگ است است که از عبارات کوچیکتری تشکیل شده است.\nبنابراین جایگزین کردن statement های زبان C# با عبارت ها (Expressions) در F# می تواند موجب نوشتن کدهایی با امنیت بالا و خالی از باگ شود.\nجدا بودن داده از منطق\nدر سی شارپ شما می توانید داده ها و منطق را در کنار هم پیاده سازی کنید .\nهمانطور که می دانید در زبان برنامه نویسی سی شارپ، می توان پراپرتی ها و متدها را در کنار هم در یک کلاس یا استراکچر تعریف کرد.\nاما هنگامی که زمان عملیات سریالایز فرا می رسد، منطق موجود در کلاس باید از کلاس جدا شود.\nدر صورتی که یک زبان برنامه نویسی تابع محور پیشنهاد می دهد که منطق و داده در کنار هم مورد استفاده قرار نگیرند.\nبنابراین عملیات سریالایز کردن به JSON یا XML در F# بسیار آسان تر و صحیح تر است.\nاستنتاج نوع داده ای و دستورات آسان\nدستورات زبان برنامه نویسی سی شارپ بسیار ساده هستند. به طوریکه دستوراتی که به زبان F# نوشته می شوند نسبت به C# نیاز به تایپ بیشتری دارد.\nشفافیت زبان سی شارپ به این دلیل است که پارامترهای ورودی و مقادیر بازگشتی یک تابع دارای یک نوع مشخص است.\nزبان F# دارای یک سیستم نوع داده ای پیشرفته است.\nدر این سیستم نوع مقادیر با توجه به اینکه این مقادیر چگونه مورد استفاده قرار خواهند گرفت تعیین می شود.\nبنابراین در اغلب مواقع بهتر است در برنامه نویسی با زبان F# نوع داده ای را مشخص نکنید.\nبا اینکار به F# اجازه خواهید داد که خودش در مورد نوع داده ای تصمیم گیری کند.\nبرای بعضی از کاربران این زبان برنامه نویسی، دستورات F# برای ساخت برنامه ساده تر به نظر می رسد.\nارزیابی از چپ به راست به پایین\nدر زبان برنامه نویسی سی شارپ، ترتیبی که در آن فایل ها، کلاس ها، متدها فراخوانی می شوند اهمیتی ندارد.\nاز طرف دیگر در زبان برنامه نویسی F# ترتیب فراخوانی هر چیزی شدیدا به ترتیب فراخوانی فایل ها بستگی دارد. بنابراین شما قادر نخواهید بود چیزی که قبلا مورد استفاده قرار نگرفته است را بکار ببرید.\nاجرای کم هزینه عملیات موازی در F#\nاجرای عملیات و کدهایی که به زبان سی شارپ نوشته شده اند می تواند بسیار چالش برانگیز باشد. اما در زیان F# ، این امکان وجود ندارد که آبجکت ها پس از ساخته شدن، مدیریت شوند.\nدر زبان F# هر زمان که لازم باشد تغییراتی ایجاد شود، با اعمال تحولاتی بر روی شی اصلی یک شی جدید ساخته خواهد شد.\nپیاده سازی و تصحیح آسان کدها\nدر زبان برنامه نویسی F# یک تابع نقش یک واحد منطقی را ایفا می کند.\nاین در حالی است که در C# یک کلاس به عنوان یک واحد منطقی در نظر گرفته می شود.\nنوشتن توابع نسبت به نوشتن کلاس به انرژی و تلاش کم تری نیاز دارد.\nاین موضوع باعث می شود زبان F# ویژگی ماژولاریتی پیدا کند.\nاین خاصیت در یک زبان برنامه نویسی باعث می شود کدها به راحتی مدریت شوند.\nتمرکز بر روی نوع های داده ای Generic\nزبان F# بر استفاده از نوع های داده ای Generic تمرکز دارد.\nبه موجب این ویژگی کدها می توانند بهتر مورد استفاده مجدد قرار بگیرند. علاوه براین، احتمال بروز خطا کاهش پیدا می کند.\nتایپ پروایدر (Type Providers)\nتایپ پروایدر یک روش یکپارچه و آسان برای همکاری با منابع داده ناهمگن است.\nاین مکانیزم موجب می شود به وسیله از منابع مختلف داده ای برنامه نویسی راحت تر و ساده تر انجام شود.\nزبان برنامه نویسی F# در تولید برنامه تحت وب\nاین زبان برای ساخت برنامه های تحت وب می تواند یک ابزار کارآمد، نیرومند و مقیاس پذیر به شمار آِید.\nمناسب بودن این زبان برای برنامه های تحت وب دارای دلایل متعددی از جمله دلایل زیر است:\nسرعت اجرای برنامه هایی که به زبان F# نوشته شده اند بالا است\nF# یک زبان مختصر، دارای خوانایی بالا، type-safe است که برای توسعه سریع نرم افزارهای تحت وب مناسب است\nزبان F# به دلیل دارا بودن ویژگی ناهمزمانی می تواند موجب واکنش پذیر و مقیاس پذیر بودن نرم افزارهای تحت وب شود\nزبان برنامه نویسی F# و فریمورک های وب آن\nیک کتابخانه توسعه وب است که برای دستکاری داده ها یک وب سرور کم حجم و مجموعه ای از parser combinatorها را فراهم می کند.\nParser :در واقع یک تابع است که تعدادی ورودی را به صورت سطرهای متوالی دریافت می کندو از این ورودی ها ، داده های معنی داری تولید می کند.\nCombinatory : یک تابع است که می تواند بر روی داده های جمع آوری شده از این Parser ها اعمال شود.\nاین فریمورک در واقع کامپایلر F# به JS است که برای تولید کدهای استاندارد طراحی شده است.\nاین کدهای استاندارد می توانند قابلیت همکاری را به بالاترین میزان خود برساند.\nهمچنین این امکان را فراهم می کند تا سرویس های node.js ، نرم افزارهای دسکتاپ با استفاده از Electron و نرم افزارهای موبایل را با استفاده از React native توسعه دهید.\nیک فریمورک مدرن با قابلیت های cross-platform ، عملکرد بالا، open-source است.\nکه برای ساخت نرم افزارهای متصل به اینترنت و مبتنی بر رایانش ابری استفاده می شود.\nاین فریمورک در واقع از فریمورک Suave الهام گرفته است اما به شکل خاصی بر اساس ASP.NET Core ساخته شده است.\nبرای تهیه برنامه های قدرتمند تحت وب مورد استفاده قرار می گیرد.\nبا استفاده از این فریمورک برنامه های کاربردی end-to-end می توانند با کلاینت و سرورهایی که با F# توسعه یافته اند همکاری کند.\nاین ارتباط شامل همکاری با TypeScript ، اپلیکیشن های تحت وب و غیره می باشد.\nیک فریمورک سبک برای ساختن میکرو برنامه ها و میکرو سرویس های مبتنی بر HTTP در NET و Mono است.\nفریمورکی است که با استفاده از چندین مکانیزم، بین وب سرورها و کلاینت ها ارتباط دو طرفه برقرار می کند.\nفریمورکی برای سرویسهای وب ساده و سریع در NET و Mono است.\nASP.NET Blazor یک فریمورک وب برای اجرای NET برروی WebAssembly است که به React ، Angular ، Vue و غیره شباهت دارد.\nدیگر فریمورک های وب زبان برنامه نویسی F# عبارتند از :\nServing Requests with IHttpHandler\nServing Requests with Azure Functions\nPure F# Web API\nزبان برنامه نویسی F# در تولید برنامه های تحت موبایل و بازی\nاین زبان برنامه نویسی بر روی پلتفرم های مختلف متنوعی مانند موارد زیر قابل اجرا است:\nدستورات ساده این زبان، قابلیت همکاری آن با کتابخانه های .NET ، توانایی آن در مدیریت پیچیدگی مواردی مانند state machines و calculation engines باعث می شود که برای ساخت و توسعه بازی گزینه مناسبی باشد.\nزبان برنامه نویسی F# و فریمورک های موبایل آن\nMachine Learning با استفاده ار زبان برنامه نویسی F#\nF # به دلیل اجرای کارآمد ، مختصر بودن ، قابلیت دسترسی به داده ها و قابلیت مقیاس پذیری ، در Machine Learning بسیار مناسب است.\nاین زبان به دلیل قابلیت هایی که دارد توسط تیم های Machine Learning پیشرفته در دنیا مورد استفاده قرار گرفته است.\nبرنامه نویسی آماری و ریاضی با استفاده از زبان برنامه نویسی\nF # به دلیل تمرکز بر روی تبدیل داده ها و استفاده از برنامه نویسی تابع گرا ، در برنامه نویسی عددی و آماری مناسب است.\nاین زبان در این زمینه نیز دارای چند کتابخانه است:\nاین کتابخانه ، مجموعه بزرگی از الگوریتم های مورد نیاز در علم و مهندسی ، از جمله جبر خطی ، توابع ویژه ، آمار ، مدل های احتمال ، درون یابی و FFT ها را ارائه می دهد.\nیک کتابخانه closed-source یا open-source است که الگوریتم های عددی با کارایی بالا و همچنین قابلیت های ترسیم نمودار را ارائه می کند.\nیک کتابخانه برای محاسبه دقیق و کارآمد مشتقات. همچنین شامل تمایز نمادین و عددی است.\nیک کتابخانه برای جبر خطی است که انواع generic را پشتیبانی می کند.\nپکیج های زبان F# برای Machine Learning\nپکیج های Machine Learning در F# از طریق سازگاری این زبان با زبان هاب R، Python و جاوا قابل دستیابی است.\nپکیج های .NET را از طریق جست و جو در سایت nuget.org می توان پیدا و استفاده کرد.\nاین پکیج می تواند ماشین های برداری، درخت های تصمیم گیری، مخلوط گاوسی ، الگوریتم های عمومی مانند Ransac، Cross-validation باشد.\nML.NET یک فریمورک Machine Learning است که open source و cross-platform می باشد و توسط مایکروسافت پشتیبانی می شود.\nیک کتابخانه Machine Learning است که برای سهولت مدلسازی تکنیک های پیشبینی و خوشه بندی (clustering) مورد استفاده قرار گرفته است.\nپکیج های R\nداده های ابری ، محاسبه و پیام رسانی با استفاده از F#\nرایانش ابری به اعمال چند سرویس یکپارچه نیاز دارد.\nاستفاده از چند سرویس به یک مجموعه یکتا از تکنولوژی ها و قابلیت ها بستگی دارد.\nزبان برنامه # در این زمینه بسیار قدرتمند است.\nبه همراه توسعه اخیر رایانش ابری، اعمال چند سرویس در رایانش ابری بسیار ساده و آسان خواهد بود.\nویژگی هایی در زبان F# وجود دارد که موجب می شود زبان F# برای رایانش ابرای مناسب، مقیاس پذیر باشد. این ویژگی ها عبارتند از:\nجریان های کاری نا همزمان یا asynchronous workflows\nقابلیت های پردازش داده\nدستورات توسعه پذیر\nزبان برنامه نویسی F# و علم داده ها (Data Science)\nعلوم داده یا Data Science در واقع برنامه کاربردی است که تحلیل های آماری، machine learning، مصورسازی داده ها و برنامه نویسی را به منابع داده ای دنیای واقعی می دهد. این کار کمک می کند تا از مشکلات داده محور درک بهتری داشته باشیم.\nF # یک راه حل عالی برای Data Science است زیرا ترکیبی از اجرای کارآمد ، برنامه نویسی REPL ، کتابخانه های قدرتمند و یکپارچه سازی داده های مقیاس پذیر است.\nزبان برنامه نویسی F# بر روی چه سیستم عامل هایی پشتیبانی می شود؟\nمزایای زبان برنامه نویسی F#\nسازگاری با پلتفرم های .NET ، ویژوال استدیو و زامارین استدیو ، کتابخانه های C#\nریسک پایین :\nیادگیری زبان F# بسیار آسان است ، به راحتی می توانید عملیاتی که اهمیت ندارند مانند اسکریپت نویسی و تست گرفتن را انجام دهید.\nتوسعه سریع :\nکدنویسی با این زبان به زمان کم تری نیاز دارد.\nخصوصیاتی مانند نوع داده ای مختصر و سازگاری آن به توسعه سریع برنامه های تحت این زبان قوت می بخشد.\nدسترسی داده های سریع :\nF# دارای type providers هایی است که موجب امن بودن نوع های داده ای، دسترسی به انواع داده ها مانند SQL, CSV, JSON, XML می شود.\nخطا و هزینه نگهداری کمتر:\nبسیاری از خطاهای رایج مانند خطاهای مربوط به null و collection های خالی در زبان برنامه نویسی F# به راحتی قابل کنترل هستند.\nمدیریت پیچیدگی ها :\nF# دارای ویژگی هایی مانند یک کتابخانه Async ، موازی سازی ایمن با داده های تغییر ناپذیر\nمعایب زبان برنامه نویسی F#\nیادگیری شیب دار :\nافرادی که کمتر با زبان های برنامه نویسی تابع گرا آشنا هستند مدت زمان بیشتری برای آموزش این زبان برنامه نویسی نیاز دارند.\nساختارهای داده ای پیجیده :\nبرای دستکاری داده ها نیاز به ساختارهای داده ای پیچیده ای دارد.\nزباله روبی دارای بار زیادی است\nقانون transformation-over-mutation principle موجب می شود تا اشیاء بیشتری ساخته شود که موجب می شود مقدار باری که زباله روب باید پاک کند بیشتر باشد.\nنامگذاری چالش برانگیز\nدو تابع در زبان F# نمی توانند در یک ناحیه با یک نام در کنار هم قرار بگیرند.\nزبان برنامه نویسی گرووی\nگرووی یک زبان برنامه نویسی است که در سال ۲۰۰۳ توسط آقای جیمز استراچان به بازار عرضه شد و توسط گروه اسپرینگ سورس در حال توسعه است.\nگفته می شود قدرت واقعی زبان برنامه نویسی گرووی در تست ها و اسکریپت ها نهادینه شده است.\nدر زمانی که خوانایی کدها و سرعت نوشتن آنها از اهمیت زیادی برخوردار است، گرووی می تواند گزینه مناسبی برای برنامه نویس ها باشد.\nاین زبان در دسته زبان های چند سکویی یا cross-platform قرار دارد و مبتنی بر زبان جاوا می باشد.\nگرووی به راحتی با برنامه هایی که به زبان برنامه نویسی جاوا هستند سازگاری پیدا می کند.\nبلافاصله ویژگی های قدرتمندی از جمله قابلیت های اسکریپت نویسی به برنامه شما ارائه می دهد.\nگرووی می تواند هم به عنوان یک زبان برنامه نویسی و هم به عنوان یک زبان اسکریپت نویسی برای پلتفرم های جاوا مورد استفاده قرار بگیرد.\nبعلاوه، این زبان می تواند به بایت کدهای JVM کامپایل شود و با دیگر کدهای جاوا و کتابخانه های آن همکاری کند.\nدر واقع هم افزایی زبان برنامه نویسی گرووی و جاوا با یکدیگر و دیگر زبان های برنامه نویسی موجب شده است که گرووی به یک محیط برنامه نویسی مناسب تبدیل شود.\nبرنامه نویسان زبان جاوا می توانند به آسانی زبان گرووی را آموزش ببینند.\nچرا که دستورهای گرووی و جاوا به هم شباهت دارند.\nپروسه آموزش این زبان برای افرادی که به زبان جاوا مسلط باشد، چالش برانگیز نخواهد بود.\nهمچنین این زبان بر گرفته از زبان هایی مانند روبی،پایتون، پرل،اسمال‌تاک می باشد.\nاز دیگر ویژگی های این زبان برنامه نویسی می توان به داینامیک بودن آن اشاره کرد.\nگرچه که گرووی در عین حال یک زبان optionally-typed نیز شناخته می شود.\nOptionally-typed بودن زبان گرووی به این معنا است که برنامه نویسان این زبان می توانند نوع یک داده را مشخص کنند یا مشخص نکنند.\nاین ویژگی موجب سادگی پیاده سازی کدها، افزاریش خوانایی آنها و کاهش کدهای اضافه شود.\nبه علاوه این زبان برنامه نویسی جزء زبان های شی گرا به شمار می رود.\nبرای اینکه این زبان شی گرا باشد با مفاهیمی مانند class و object کار می کند.\nزبان گرووی طوری طراحی شده است که دستورهای آن به نسبت دستورهای زبان برنامه نویسی جاوا کوتاه تر باشد.\nعدم وجود سمی کالن های غیر ضرروی موجب می شود تا برنامه نویسی با استفاده از دستورات این زبان سریع تر و راحت تر باشد.\nهمکاری این دو زبان برنامه نویسی به اندازه ای است که می تواند با استفاده از کلاس های زبان جاوا، کدهای زبان گرووی را فراخوانی کنید بدون آنکه به کتابخانه خاصی نیاز داشته باشید.\nاگر تلاش کنید کدهایی که به زبان جاوا می نویسید را به عنوان یک برنامه با زبان گرووی اجرا کنید، بیشتر آن ها قابلیت کامپایل یو اجرا شدن را دارند.\nخاصیت DSL یا ( domain specific language) در گرووی\nبرای DSL تعاریف مختلفی ارائه شده است.\nاما در گرووی یک روش برای ایجاد API است که قدرت closure ها مورد استفاده قرار می دهد تا یک راه ساده برای ساخت داده های پیچیده ایجاد کند.\nClosure ها در واقع دروازه ای به روی برنامه نویسی تابع گرا در گرووی هستند.\nآنها قطعه کدهای قابل اجرایی که ممکن است به عنوان ورودی در اختیار بقیه متدها قرار بگیرند را فراهم می کنند.\nاین Closure ها دارای پراپرتی های ضروری برای ساخت DSL ها باشد.\nگرووی دارای یک مترجم (interpreter) به نام Groovy Console است که با استفاده از آن کدهای گرووی ترجمه خواهند شد.\nتست آسان با استفاده از گرووی\nانجام تست هایی مانند unit test و automated test را آسان می کند.\nانجام unit test در گرووی با استفاده از فریمرک Spock Framework امکان پذیر است.\nSpock Framework در مقایسه با تست Junit , TestNG انجام تست unit test را به راحت و لذت بخش می کند.\nزبان گرووی با کدام دیتابیس ها کار می کند ؟\nگرووی دارای یک ماژول به نام groovy-sql است که نسبت به فناوری JDBC تجمع یا (abstraction) بهتری را عرضه می کند.\nSQL API زبان گرووی قادر است با انواع مختلفی از بانک های اطلاعاتی تعامل کند مانند ”\nگرووی دارای فریمورک های بسیار قدرتمندی نیز می باشد. مانند Grails .\nGrails یک فریمورک full-stack وب از زبان گرووی است که هنوز به قوت خود باقی مانده است.\nبه این دلیل که باعث می شود از گرووی به عنوان جایگزینی برای زبان برنامه نویسی جاوا استفاده شود.\nگریل یک فریمورک وب نیست بلکخ یک محیط برای کمک رسانی به همه توسعه دهندگان زبان وب است.\nهیچ زبانی بر روی jvm نمی تواند مانند زبان جاوا با گرووی ارتباط برقرار کند.\nآبجکت های زیان گرووی در واقع همان آبجکت های زبان جاوا می باشند که می توانید در زبان گرووی.\nبرنامه نویسانی که به دنبال یک فریمورک سبک و کارآمد برای ساخت برنامه های HTTP قدرتمند هستند می توانند از Ratpack استفاده کنند.\nRatpack در واقع یکی از کتابخانه های زبان برنامه نویسی جاوا است که برای ساخت برنامه های real-time و با کارکرد بالا مورد استفاده قرار می گیرد.\nاین فریمورک سریع و مقیاس پذیر نسبت به سایر فریمورک ها به میزان کم تری از حافظه نیاز دارد.\nMicronaut یک فریمورک بر اساس ماشین مجازی جاوا یا JVM است.\nاین فریمورک برای طراحی برنامه های کاربردی serverless و میکروسرویس ها مورد استفاده قرار می گیرد.\nGriffon یکی دیگر از فریمورک های زبان گرووی است برای توسعه دسکتاپ اپلیکیشن ها است.\nگریفون به زبان جاوا نوشته شده است و این امکان را برای برنامه نویسان فراهم می کند تا برنامه های خود را به زبان جاوا بنویسند.\nهمچنین دیگر زبان های برنامه نویسی مانند Groovy و Kotlin نیز می توانند مورد استفاده قرار بگیرند.\nگریفون ۴ ابزار طراحی واسط دیگر مانند Swing, JavaFX, Apache Pivot, Lanterna را پشتیبانی می کند.\nGradle یک ابزار به صورت open-source برای ساخت سیستم است که بر انعطاف پذیری و عملکرد تمرکز دارد.\nاز gradle برای آماده سازی موارد لازم برای اجرای یک اپلیکیشن مورد استفاده قرار می گیرد.\nبرنامه نویسانی که از اندروید استدیو برای اجرا و توسعه نرم افزارهای خود استفاده می کنند به احتمال زیاد با کلمه gradle در هنگام اجرای برنامه موجه شده اند.\nگریدل برای ساخت سیستم یا همان build سیستم در پروژه های مختلف با زبان های مختلف مورد استفاده قرار گرفته اند.\nاین زبان ها عبارتند از php، java، kotlin، C++، Groovy و جاواسکریپت .\nجنکینز یک سیستم فوق العاده برای مدیریت ساخت پروژه ها، تست نرم افزارها , و گسترش نرم افزار ها است و برنامه نویسان از واسط کاربری آن برای پیکربندی کارها مورد استفاده قرار می گیرد.\nاین پلاگین از قدرت گرووی برای حفظ پیاده سازی و ارسال مداوم (CICD) استفاده می کند.\nمزایای زبان برنامه نویسی گرووی\nنوع داده ای استاتیک و داینامیک\nاستفاده از کتابخانه های جاوا\nسازگاری با زبان جاوا : در صورتی که با استفاده از زبان برنامه نویسی Java6 یک برنامه نوشته شود به احتمال ۹۹ درصد توسط زبان گرووی قابل درک است.\nدستورات آسان زبان برنامه نویسی است و اصطلاحاتی از زبان جاواسکریپت، پایتون و دیگر برنامه ها مانند جاوا با خود به همراه دارد.\nکد نویسی ساده\nمختصر و آسان برای کد نویسی\nگرووی یک زبان برنامه نویسی داینامیک است. این زبان می تواند در زمان اجرا برای ساخت برنامه های کاربردب مورد استفاده قرار بگیرد.\nمعایب زبان برنامه نویسی گرووی\nعملکرد ضعیف: عملکرد ضعیف این زبان برنامه نویسی به دلیل ماشین مجازی جاوا است که استفاده از زبان برنامه نویسی داینامیک را مسدود کرده است.\nبه طور کلی زبان برنامه نویسی گرووی برای برنامه نویسانی که از زبان جاوا استفاده می کرده اند بسیار مناسب است.\nاین زبان موجب می شود کارها از راه کوتاه تر و ساده تر انجام شوند.\nویژگی هایی از گرووی مانند اسکریپت نویسی و قابلیت های Domain Specific Languag موجب می شود برنامه نویسان جاواکار یک تصویر جدید از ربان java داشته باشید.\nبرچسب ها: آموزش برنامه نویسی, برنامه نویس, برنامه نویسی, برنامه نویسی تجاری, محسن مدحج, مکانیزم طبیعی, مکانیزم طبیعی ذهن, مهندس محسن مدحج\nhttp://codetejari.com/wp-content/uploads/2019/07/انواع-زبان-برنامه-نویسی-2.jpg 564 940 مریم عمرانی http://codetejari.com/wp-content/uploads/2019/01/codetejari_com_logo_programming_170.png مریم عمرانی2019-07-25 20:34:432020-08-11 01:00:47انواع زبان های برنامه نویسی و کاربرد آنها\nنازمحمد گری گفته:\nمرداد ۴, ۱۳۹۸ در ۳:۳۸ ب.ظ\nمطالب مفیدی بود ، تشکر می کنم از شما\nمهر ۱۲, ۱۳۹۸ در ۳:۵۱ ب.ظ\nحالا به نظر خودتون .. بین f# و C# کدوم زبان با کیفیت تر و قوی تره و امنیت بیشتری داره ؟\nشما کدوم رو انتخاب میکنی ؟\nآبان ۹, ۱۳۹۸ در ۱۱:۳۵ ق.ظ\nزبان های C# و C++ و C از همه بهترند\nEntity Framework چیست؟ ارتباط با دیتابیس با استفاده از انتیتی فریمورک - کد تجاری گفت:\nمرداد ۳۰, ۱۳۹۸ در ۵:۵۱ ب.ظ\n[…] در واقع پلی برای ارتباط بین دو زبان ناسازگار مانند C# و SQL […]\nمعماری سه لایه نرم افزار در سی شارپ به روش Code First - کد تجاری گفت:\n[…] شود و در موبایل با زبان دارت، جاوا،ری اکت نیتیو و سایر زبان های برنامه نویسی پیاده سازی. می […]\n©تمامی حقوق مادی و معنوی این سایت متعلق به کد تجاری می باشد. زیر نظر اختر رایانه پارس.\nکوئری نوشتن با استفاده از زبان SQL جهت بهینه سازی برنامه ها... تو هم می توانی بدون اینکه یک کد نویس عالی باشی، یک برنامه نویس حرفه ای باشی...


گـــردهمـایی حمـایت ازپروسۀ صلـح در ولسوالی غـورماچ ولایـت فاریاب – شورای عالی صلح\nOlder Entry سیمینار رؤسای کمیته های صلح ولایتی و دارالانشاء های ولایات دایر شد\nNewer Entry نشست مشترک والیان با شورای عالی صلح دایر گردید\nمطابق پلان مطروحۀ كمیته و دارالانشای صلح ولایتی فاریاب، روز ۲۵ حمل سال روان گردهمایی وسیعی با اشتراک علماء، بزرگان، متنفذین، جوانان و مسؤولین ادارۀ محلی ولسوالی غورماچ تدویر یافت .\nمحفل با تلاوت آیاتی از قرآن عظیم الشأن آغاز گردید سپس نعمت الله سرحدی ولسوال غورماچ پیرامون اهمیت صلح، مشكلات، و نیازمندی های مردم ولسوالی غورماچ در بخش های انكشافی این ولسوالی و علاقمندی مردم برای تأمین امنیت و حمایت شان از پروسۀ صلح به تفصیل صحبت نموده، در رابطه به مشکلات آن ولسوالی گفت: از مدت دو سال به این طرف كار سرك حلقوی میمنه الی هرات در قسمت ولسوالی غوماچ توقف یافته است، در حالیكه این ولسوالی اكنون از حمایت بیشتر از یك هزار و پنجصد نفری نیروهای امنیتی برخوردار است.\nبعداً میرزا محمد حسن یكی از بزرگان قوم نیز طی صحبتی گفت: مردم ما از فعالیت های شورای عالی صلح درافغانستان بسیار راضی بوده و همیشه از آن حمایت میكنند. آنها اثرات ناگوار جنگ و نا امنی را نیز میدانند كه به غیر از بربادی وعقب مانی سودی ندارد. اكنون در اثر سعی و تلاش برادران پیوسته به پروسۀ صلح كه ملامحی الدین خان در رأس آنها قرار دارد و نعمت الله خان سرحدی ولسوال جدید غورماچ كه شب و روز در تلاش بهبود امنیت و حل منازعات قومی میباشند، وضع امنیتی نسبت به قبل بهتر شده و حالا که زمینۀ فعالیت مؤسسات در بخش های انكشافی و كار ساختمان سرك حلقوی میمنه الی هرات مساعد شده است، از كمیتۀ صلح ولایتی فاریاب میخواهیم که صدای مردم ولسوالی غورماچ را بگوش مقامات دولتی برسانند تا به مشكلات مردم غورماچ رسیدگی گردد.\nمتعاقبآ محمد اعظم قاچمس، عصمت الله قانع و گل احمد درانی، هر کدام بالنوبه پیرامون اهمیت صلح و تلاش های دولت و شورای عالی صلح به خصوص دست آورد های كمیته و دارالانشای صلح ولایتی فاریاب طی دو سال اخیر در زمینۀ پیوستن گروه های مسلح مخالف به پروسۀ صلح و تطبیق پروژه های برنامۀ صلح و ادغام مجدد و حمایت و پشتبانی جوانان از پروسۀ صلح به تفصیل صحبت نمودند. در اخیر قطعنامه یی كه بخاطر حمایت از پروسۀ صلح ترتیب شده بود توسط یكی از جوانان آن ولسوالی قرائت شد.\nمحفل پس از اهدای تحایف به چند تن از بزرگان و معززین حاضر در محفل، با دعای خیر پایان یافت.\nwebmanager - جدی ۲۹, ۱۳۹۴\nداکتر خپلواک: تطبیق برنامه مادران صلح برای پروسه صلح سودمند است


غفلت/ بخش دوم - موسسه قرآن و نهج البلاغه\nغفلت/ بخش دوم\n«رَبِّ ارْجِعُونِ، لَعَلّی اَعْ\nمَلُ صالِحاً فیما تَرَکْتُ کَلاّ؛ (گوید) پروردگارا! مرا (به دنیا) باز گردان تا شاید به تدارک گذشته عمل صالحی بجای آورم. (به او خطاب می‌شود که) هرگز نخواهد شد.»\n«اَوَلَمْ نُعَمِّرْکُمْ ما یَتَذَکَّرُ فیهِ مَنْ تَذَکَّرَ وَجآءَکُمُ النَّذیرُ فَذُوقُوا فَما لِلظّالِمٍینَ مِنْ نَصیرٍ» «(در جواب، خداوند به آنها می‌گویند:) آیا ما به اندازه‌ای که آنکه اهل پند گرفتن بود پند گرفته بود به شما عمر ندادیم (مثلاً ۶۰ سال یا بیشتر یا کمتر) و برای شما پیامبری آمد (که شما را از چنین روزی بیم داد. حال که از فرصت‌ها و نیز عمر خود بهره نگرفتید) پس بچشید (عذاب جهنم را) که ظالمین (در اینجا دیگر) یاوری ندارند.»\nآیا به اندازه‌ای که متذکر بشوی عمر به تو ندادیم؟ خطاب قهر خدا می‌گوید: «فُذُوقُوا» بچشید این عذاب را در جهنّم، برای اینکه ظالم یاور ندارد. این ظالم به چه کسی ظلم کرده است؟ ظلم به خود برای چه ظلم به خود؟ برای این که می‌توانسته با پنجاه سال عمر، با شصت یا هفتاد سال عمر، سعادت دنیا و آخرت را بخرد، می‌توانسته برای دیگران سعادت درست کند، با عمر می‌توانسته است افتخارها بیافریند، اما غفلت از عمر و غفلت از جوانی، موجب شد جوانی به هدر رود؛ و این عمر و جوانی به قدری نعمت بالایی است که در روایت دارد وقتی اهل محشر وارد صف محشر می‌شوند، هنوز به حساب و کتاب نرسیده، یک بازرسی از آنها می‌شودو در آن با\nزرسی، از این دو چیز سؤال می‌شود: اول از عمرش و دوم از جوانیش.\nما امانت خود را به عالَم وجود عرضه داشتیم\nاستعداد پذیرفتن را نداشت، ولی انسان استعدادش را داشت. امانت ما را قبول کرد. اما قرآن می‌فرماید:\nقبر مشکل است، در روایات می‌خوانیم کسی را دفن کردند. وقتی پیامبر اکرم ـ صلّی الله علیه و آله و سلّم ـ رسیدند که خاک روی قبر ریخته\nبود. آن حضرت دست روی قبر گذاشتند. حمدی خواندند، و به اندازه‌ای گریه کردند که از اشک چشم مبارک‌شان قبر تر شد.\n«برای این مکان یک فکری باید کرد. باید عمل کرد. بی‌عمل نمی‌شود.» در روایات می‌خوانیم: قبر هر روزه ما را صدا می‌کند. در این عالم غوغائی است؛ ما کریم. اگر گوش شنوا باشد هر روز صدای قبر را می‌شنود. قبر صدا می‌کند صاحب من! من خانه‌ی تاریکم برای من نور بفرست. من بی‌مونسم برای من مونس بفرست. من مار و عقرب دارم. این اعمال زشت تو مار و عقرب شده است چیزی بفرست. یعنی توبه و انابه مار و عقرب را می‌کشد. من بی‌فرشم برای من فرشی بفرست. و بالأخره قبر مرتّب ما را صدا می‌کند. می‌آئی در شکم من. مواظب باش! برای این خانه فکری کن. این خانه را آباد کن.\nعالم برزخ آیا یک سال است یا یک میلیون سال معلوم نیست. ده میلیون سال یا یک میلیارد سال معلوم نیست. این عالم برزخ عمل می‌خواهد. امام صادق ـ علیه السلام ـ می‌فرماید: شیعیان من! عالم برزخ مال خودتان است. شما روز قیامت مورد شفاعت ما واقع می‌شوید. اما مواظب عالم برزخ و قبرتان باشید! برای این یک میلیون سال و بیشتر چه تهیه کردی؟ روز قیامت روز مشکلی است. روز قیامت روزی است که انسان از نظر قرآن حاضر است خود و همه چیزش داده شود ولی رها شود؛ اما فایده‌ای ندارد.\nقرآن کریم می‌فرماید: انسان در روز قیامت این جور می‌شود؛ این جور می‌خوا\n«یُبَصَّرُونَهُمْ یَوَدُّ الْمُجْرِمُ لَوْ یَفْتَدی مِنْ عَذابِ یَوْمِئذٍ بِبَنیهِ وَ صاحِبَتِهَ وَ اَخیهِ وَ فَصیلَتِهِ الَّتی تؤویهِ وَ مَنْ فِى الاَرْضِ جَمیعاً ثُمَّ یُنْجیهِ کَلاّ…» «(در روز قیامت همه افراد) به یکدیگر نمایانده می‌شوند. (آنگاه انسان) مجرم دوست داردکه پسر، همسر، برادر، قوم و خویش و همه‌ی اهل زمین را به عنوان فدیه تقدیم کند تا خود (از آتش جهنم) رها شود. خیر، (این آرزو محال است برآورده شود.)»\n. سوره قصص، آیه ۸۳. & lt;BR>. سوره نساء، آیه ۱۴۵.\n. دنباله‌ی آیه ۳۷ از سوره فاطر.\n. سوره احزاب، آیه ۷۲.\n. بحارالانوار، ج۱۰۳، ص۶۵.\n. بحارالانوار، ج۶، ص۲۶۷.\n. سوره معارج، آیات ۱۱ تا ۱۵.


مطالب مرتبط با خانواده در هوداد\nیکی از بزرگ‌ترین مشکلات و شکایاتی که افراد حقیقی نسبت به یکدیگر دارند، توهین و فحاشی است. توهین، فحاشی و اهانت موضوع و وصف کیفری دارند. کلمه توهین یک کلمه عامه است که قانون‌گذار آن را در فصل پانزدهم قانون مجازات‌های اسلامی به اسم هتک حرمت آورده است. در قانون ۸۳۹، توهین چه سبک و […]


دولت فرانسه 15میلیار یورو جهت احیای صنعت هواپیمایی کمک می‌کند\nکد خبر: ۳۳۲۳۹۹\n۲۱ خرداد ۱۳۹۹ - ۰۶:۲۹\nدولت فرانسه از بسته نجات ۱۵ میلیارد یورویی (۱۶.۹ میلیارد دلاری) برای احیای صنعت هواپیمایی این کشور درپی بحران مالی ناشی از شیوع کرونا خبر داد.\nبه گزارش پول نیوز به نقل از آسوشیتدپرس، درپی بحران مالی ناشی از شیوع کرونا، دولت فرانسه اعلام کرد مبلغ 15 میلیارد یورو (16.9 میلیارد دلار) را به عنوان بسته نجات اقتصادی برای صنعت هواپیمایی این کشور از جمله شرکت هواپیماسازی ایرباس و خطوط هوایی ایرفرانس در نظر گرفته است.\nوزرای دارایی، حمل و نقل، دفاع و محیط زیست فرانسه امروز از این طرح نجات برای صنعتی که اشتغال صدها هزار نفر در فرانسه را فراهم کرده است، رونمایی کردند.\nدر ازای دریافت این کمک، شرکت‌ها ملزم به سرمایه‌گذاری بیشتر و سریعتر در هواپیماهای برقی، هیدروژنی یا سایر هواپیماهای کم مصرف هستند، زیرا فرانسه قصد دارد صنعت حمل و نقل هوایی خود را به «پاک ترین» صنعت در جهان تبدیل کند.\nبرونو لومر، وزیر دارایی فرانسه گفت: ما همه تلاش خود را برای پشتیبانی از این صنعت فرانسوی بکار خواهیم گرفت چرا که برای حاکمیت، شغل و اقتصاد بسیار مهم است.\nاین پول شامل سرمایه‌گذاری مستقیم دولت، یارانه، وام و ضمانت وام می‌شود. این کمک مالی همچنین شامل صندوق ویژه‌ای است که به طور مشترک توسط دولت، ایرباس و سایر تولید کنندگان بزرگ تأمین می‌شود تا از تأمین کنندگان کوچک حمایت کند.\nاین بسته نجات همچنین شامل 7 میلیارد یورو وام و تضمین وام است که دولت قبلاً به ایرفرانس وعده داده بود. تقریباً تمام هواپیماهای این شرکت تحت تأثیر ویروس کرونا زمین گیر شده اند.\nبرچسب ها: پول نیوز ، کروناویروس ، دولت فرانسه ، صنعت هواپیمایی ، یارانه