
مقالات برنامه نویسی سایت
به عبارت ساده سی اس اس (CSS) زبانی است که با استفاده از آن می توان ظاهر کدهای زبان های Markupیی همچون اچ تی ام ال را تغییر داد. در واقع اچ تی ام ال (HTML) ساختار یک صفحه از وب سایت را ایجاد می کند و این در حالی است که سی اس اس (CSS) نحوه به نمایش در آمدن عناصر مختلف زبان اچ تی ام ال (HTML) را مشخص می سازد:
the relationship between html and css
برای روشن شدن مطلب، زبان اچ تی ام ال (HTML) را به اسکلت یک ساختمان تشبیه می کنیم. همانطور که در تصویر فوق می بینیم اسکلت ساختمان عاری از هرگونه زیبایی ظاهری فقط چهارچوب اصلی ساختمان را مشخص می سازد. در سمت چپ، همان سازه را می بینیم که با اعمال قوانین سی اس اس (CSS) ظاهری متفاوت به خود گرفته است. همانطور که در سمت چپ تصویر می بینیم با اعمال سه سری متفاوت از قوانین سی اس اس (CSS) توانسته ایم ساختاری یکسان را به سه مدل مختلف نمایش دهیم.
زبان CSS مخفف واژگان Cascading Style Sheet به معنی "الگوهای آبشاری" است. علت اختصاص صفت Cascading به معنی "آبشاری" به این زبان این است که قوانین این زبان به صورت آبشاری یا از بالا به پایین اعمال می شوند. برای روشن شدن این مسئله ابتدا نیاز است تا راه های مختلفی که از آن طریق می توان کدهای سی اس اس (CSS) را روی یک سند اچ تی ام ال (HTML) اعمال کرد مورد بررسی قرار دهیم:
به طور کلی سه راه برای استفاده از کدهای سی اس اس در یک سند اچ تی ام ال وجود دارد که عبارتند از:
Inline: منظور از این اصطلاح این است که می توان کدهای سی اس اس (CSS) را در قالب Attribute، داخل تگ های اچ تی ام ال (HTML) استفاده کرد. برای روشن شدن این مطلب کد زیر را مد نظر قرار می دهیم:
این یک پاراگراف است
همانطور که می بینیم داخل تگ آغازین
کلیدواژه style را نوشته و یک علامت مساوی مقابل آن قرار می دهیم. سپس داخل علامت های " " به هر تعداد Property که بخواهیم می توانیم مورد استفاده قرار دهیم و آن ها را با یک فاصله از یکدیگر جدا می سازیم. تا حد ممکن استفاده از این نوع نوشتن کدهای سی اس اس (CSS) توصیه نمی شود چرا که اگر بخواهیم روزی مقادیر یک تگ را تغییر دهیم، می بایست شروع به ویرایش کلیه کدهای سی اس اس (CSS) در کلیه فایل های اچ تی ام ال (HTML) نماییم.
2. Internal: منظور از این اصطلاح این است که می توان کلیه کدهای سی اس اس (CSS) را در تگ یک سند اچ تی ام ال (HTML) نوشت:
این یک پاراگراف است
در نسخه های قبلی اچ تی ام ال (HTML) برای تگ
این یک پاراگراف است
همانطور که در کد فوق می بینیم، ابتدا تگ را کامنت کرده ایم سپس در تگ ابتدا تگ های
منبع
https://natilos.ir/
در این میان، انتخاب بین این دو زبان برنامهنویسی، عموماً کار آسانی نیست و بسته به نیازهای توسعه وب، این انتخاب تغییر خواهد کرد. البته بسیاری از کاربران متخصصی که از هر دو زبان در توسعه پروژههای خود استفاده کردهاند، زبان برنامهنویسی PHP را بسیار بهتر از ASP.NET میدانند. در این مقاله، قصد داریم که این دو زبان را با یکدیگر از دیدگاههای مختلف بررسی کنیم و بهدرستی ادعای این دسته از متخصصین، برسیم. با ما همراه باشید.
مقایسه از دیدگاه بودجه و هزینهها
وقتی صحبت از ASP.NET میشود، نام مایکروسافت و خدمات مختلف آن نیز در پی خواهد آمد. بنابراین ASP.NET زبان برنامهنویسیای است که با حمایت مایکروسافت تولید و ارائه شده و برای استفاده از خدمات آن، نیاز به فعالسازی و پرداخت هزینه خواهید داشت. این هزینه، شامل استفاده از سرویس میزبان ویندوزی نیز خواهد بود. در سوی دیگر، PHP بر پایه سیستمعامل لینوکس طراحی و توسعهیافته و به دلیل متنباز بودن لینوکس، هزینههای مربوط به ارائه خدمات جهت توسعه آن از بین میرود. در همین راستا، سرویس میزبان لینوکسی نیز برای PHP توصیه شده است که نسبت به نسخه ویندوزی آن، هزینهای بهمراتب کمتر خواهد داشت. بنابراین در رقابت میان ASP.NET و PHP از دیدگاه میزان هزینه طراحی و توسعه، همیشه این PHP است که پیروز خواهد شد. اگر تا به حال آموزش برنامه نویسی PHP آکادمی آی تی را مشاهده نکرده اید همین حالا این کار را انجام دهید.
آموزش PHPآموزش مرتبط: دوره صفر تا صد آموزش PHP پروژه محور
مقایسه از دیدگاه پشتیبانی و راهنمایی
قطعاً میدانید که PHP، محبوبترین زبان برنامهنویسی تحت وب سمت سرور است که در بسیاری از وبسایتها و سامانههای تحت وب، مورداستفاده قرار میگیرد. این مزیت، باعث شده است تا فرومها، گروههای تخصصی و اسناد آموزشی و عیبیابی فراوانی برای آن در اینترنت وجود داشته باشد که به تازهکارها یا کسانی که در توسعه پروژههای خود دچار مشکل شدهاند، کمک کند. این در حالی است که ASP.NET، حرفی در مقابل PHP نخواهد داشت و طیف مخاطبین کمتری را نیز شامل میشود.
برتریPHP نسبت بهASP
مقایسه از نظر سرعت عملکرد و پیادهسازی
با توجه به موارد یادشده، با اندکی جستجو در اینترنت، بهراحتی میتوانید کدهای آماده و ماژولهای رایگان توسعه برای PHP را پیدا کنید. حتی پروژههای متنباز آماده بسیار زیادی در کاربردهای مختلف برای PHP تدارک دیدهشده است که باعث تسریع روند توسعه پروژههای مبتنی بر PHP خواهد شد. پس از پیادهسازی، PHP برای اجرا نیاز به وب سرور Apache و پایگاه داده MySQL دارد که جزو بهینهترین ابزارها برای توسعه وب به شمار میروند. تناسب و تطابق این عناصر، باعث شده است که وبسایتهای مبتنی بر PHP سرعت اجرا و مدیریت بسیار زیادی داشته باشند.
در سوی دیگر، ASP.NET معمولاً بسیار تخصصیتر بوده و بهسادگی امکان یافتن یک ماژول رایگان در آن وجود ندارد. بنابراین فرایند طراحی وبسایت با این زبان برنامهنویسی، عموماً وقتگیرتر و طولانیتر خواهد بود. البته باید این نکته را نیز بیان نمود که سرعت اجرای وبسایتهای مبتنی بر ASP.NET نیز به لطف وب سرور IIS مایکروسافت، چندان کندتر از PHP نیست، ولی همچنان نیاز به در نظر گرفتن بودجه جهت پشتیبانی و استفاده از خدمات در آن دیده میشود.
مقایسه از دیدگاه سادگی فراگیری و توسعه
یادگیری PHP، از یک نظرگاه کلی، بسیار ساده از ASP.NET بوده و کاربر را درگیر پارامترهای تخصصی و پیچیده نخواهد نمود. این در حالی است که ASP.NET، تا حد زیادی مشابه زبانهای مبتنی بر چهارچوب .NET مایکروسافت، مانند C# و ویژوالبیسیک بوده و پیچیدگیهای بیشتری نیز دارد.
همین تفاوت باعث شده است که اکنون چهارچوبهای توسعه فراوان و قدرتمندی برای PHP به وجود آیند که ازجمله معروفترین آنها، میتوان به لاراول (Laravel) و سمفونی (Symphony) اشاره کرد. این فریمورکهای قدرتمند PHP، باعث شدهاند که برنامهنویسان بتواند با مقدار کدهای کمتر، در مدتزمان کوتاهتری به نتایج محاسبات خود دست یابند. پیشنهاد میکنیم آموزش لاراول را از دست ندهید.
منبع
https://academyit.net/
امروزه جاوا اسکریپت در جاهای مختلف حضور دارد و کارهای متنوعی با آن انجام میشود. هرچند جاوا اسکریپت را کنار HTML و CSS هسته وب میدانند اما از این زبان سطح بالا و مفسری به جزء وب در ساخت اپلیکیشنهای موبایل، بازیهای رایانه ای، برنامههای دسکتاپ و غیره نیز استفاده میشود. از مدتها قبل یکی از آرزوهای برنامه نویسان جاوا اسکریپت این بود که بتوانند کدهای خود را به جز مرورگر کاربر در سمت سرور هم اجرا کنند. یعنی به کمک جاوا اسکریپت بتوانند ظاهر و منطق سرویس تحت وب خود را در کنار هم ایجاد کنند و دیگر برای برنامه نویسی سمت سرور سراغ زبان هایی مثل PHP یا Ruby نروند. یکی از محیطهای هایی که به برنامه نویسان اجازه میدهد کدهای جاوا اسکریپت خود را سمت سرور اجرا کنند، Node.js میباشد. در این آموزش بررسی میکنیم که Node.js چیست و چه کاربردهایی دارد.
َNode.js چیست ؟
Node.js یک پلتفرم سمت سرور مبتنی بر موتور جاوا اسکریپت گوگل کروم (V8 Engine) میباشد. Node.JS تمام چیزهایی که برای اجرای یک برنامه نوشته شده به زبان جاوا اسکریپت را نیاز دارید برایتان فراهم میکند. آقای Ryan Dahl در سال 2009 Node.JS را معرفی کرد تا نشان دهد جاوا اسکریپت قدرتمندتر از این حرفها است که فقط برای پویاسازی صفحات وب در فرانت اند استفاده شود. در واقع به کمک Node.js زبان برنامه نویسی جاوا اسکریپ به جای اجرا درمرورگر در محیط سرور اجرا میشود. Node.js به شما اجازه میدهد به آسانی و سادگی برنامههای تحت شبکه مقیاس پذیر و بزرگ بنویسید.
جاوا اسکریپت از سال 1995 در حال پیشرفت بود. هر چند این زبان تا مدتها قبل حضور موفقی در سمت سرور نداشت و و تلاش هایی که توسط برنامه نویسان انجام شده بود، به مرور زمان از ذهن توسعه دهندگان دیگر محو میشد. تا اینکه با معرفی نود جی اس در سال 2009 مهره برگشت و به مرور زمان جاوا اسکریپت بیشتر و بیشتر در سمت سرور مورد استفاده قرار گرفت.
Node.js فریم ورک نیست
قبل از اینکه بدانیم Node.js چیست بهتر است درباره این صحبت کنیم که نود جی اس چه چیزهایی نیست. نود جی اس یک فریم ورک جاوا اسکریپت نیست. فریم ورک به مجموعه ای از کتابخانهها و استانداردها گفته میشود که کار با یک زبان خاص را آسانتر کرده و مانع انجام کارهای تکراری و یکنواخت توسط برنامه نویس میشوند.
فریم ورکهای زیادی با زبان جاوا اسکریپت طراحی شده اند و در بخشهای مختلف مورد استفاده قرار میگیرند. برخی از فریم ورکهای معروف جاوا اسکریپت عبارتند از: Angular، React، Meteor.js، Vue.js و غیره. استفاده از این فریم ورکها تا حد زیادی کارایی و امنیت محصول ما را بالا برده و درمقابل هزینهها را هم کاهش میدهد.
پس دقت داشته باشید که Node.js فریم ورک نبوده و تعریف دقیق آن "محیط اجرایی" یا "run-time environment" میباشد. در واقع نود جی اس کمی فراتر از فریم ورک رفته و دامنه کاربردهای آن کمی بیشتر از فریم ورک میباشد. Node.js محدود به برنامههای تحت وب نبوده و میتوان از آن در ساخت میکروکنترلر ها، Rest APIها، بستههای سیستم عامل، رباتیک و حتی در مراحل پیشرفته در ساخت برنامه برای هواپیمای بدون سرنشین نیز استفاده کرد.
چرا باید از Node.js استفاده کنیم؟
Node.js چیست ؟
Node.js بازدهی و انعطاف بالایی دارد
نود در کنار V8 engine از زبان برنامه نویسی C++ استفاده کرده و سرعت بسیار بالایی دارد. هم V8 هم Node.js به صورت مرتب آپدیت شده و با قابلیتهای جدید جاوا اسکریپت هماهنگ میشوند، همینطور بازدهی آنها بالاتر رفته و مشکلات امنیتی آنها نیز برطرف میشود. همینطور به دلیل استفاده از زبان جاوا اسکریپت انتقال فایل JSON (متداولترین قالب انتقال داده در وب) به طور پیش فرض بسیار سریع خواهد بود.
Node.js کراس پلتفرم است
پلتفرم هایی مثل Electron.js یا NW.js به شما اجازه میدهند با نود جی اس برنامههای دسکتاپ بسازید. به این ترتیب میتوانید برخی از کدهای برنامه تحت وب خود را در محیط ویندوز، لینوکس و مک اواس استفاده کنید. در واقع به کمک نود جی اس، همان تیمی که روی نسخه وب محصول کار میکنند، بدون نیاز به دانش تخصصی در زبانهای C# یا Objective C یا سایر زبان هایی که برای ساخت برنامههای Native به کار میروند، میتوانند یک برنامه دسکتاپ بسازند.
Node.js میتواند با میکروسرویسها ترکیب شود
اکثر پروژههای بزرگ در اول کار ساده بودند و در یک نسخه MVP معرفی شده بودند. اما به مرور زمان این سرویسها بزرگتر شده و نیاز به اضافه کردن قابلیتهای جدید در آنها حس میشد. گاهی وقتها بزرگ شدن سرویس و اضافه کردن امکانات جدید به محصول میتواند برای تیم توسعه دهندگان تبدیل به یک کابوس شود. اما یک راه حل مناسب برای حل این مشکل استفاده از میکروسرویس است. میکروسرویس کمک میکند برنامه خود را بخشهای کوچک تقسیم کنید که هر بخش میتواند توسط تیم متفاوت و حتی زبانی متفاوت نوشته شود. نود جی اس در کار با میکروسرویسها عملکرد بسیار خوبی دارد.
Node.js چه کاربردهایی دارد؟
ساخت برنامههای تک صفحه ای (SPA)
SPA مخفف single-page app بوده و برنامه هایی گفته میشود که تمام بخشهای آن در یک صفحه پیاده سازی میشود. از SPA بیشتر برای ساخت شبکههای اجتماعی، سرویسهای ایمیل، سایتهای اشتراک ویدئو و غیره استفاده میشود. یکی از معروفترین سایت هایی که به این شکل ساخته شده است، سرویس اشتراک ویدئو یوتیوب است. از آنجایی که نود جی اس از برنامه نویسی نامتقارن یا asynchronous به خوبی پشتیبانی میکند، برای ساخت برنامههای SPA انتخاب خوبی به حساب میآید.
ساخت برنامههای RTA
RTA مخفف real-time app میباشد. یعنی برنامه هایی که به صورت لحظه ای دارای تغییرات مختلفی هستند. به احتمال زیاد قبلا با این نوع برنامهها کار کرده اید. برای مثال Google Sheets، Spreadsheets یا Slack از این دست برنامهها هستند. در کل برنامههای تعاملی، ابزارهای مدیریت پروژه، کنفرانسهای ویدئویی و صوتی و سایر برنامههای RTA عملیاتهای سنگین ورودی/خروجی انجام میدهند.
ساخت چت روم
یکی از معروفترین نمونههای برنامه RTA چت رومها و پیام رسانها هستند. احتمالا روزانه از پیام رسان و چت رومهای مختلف استفاده میکنید و دوست دارید یک چت روم برای خودتان بسازید. در واقع نود جی اس یک انتخاب عالی برای این کار است. اگر قصد ساخت چنین محصولی را دارید، باید به موارد مختلفی مثل تحمل ترافیک زیاد کاربران، سبک بودن محصول، سرعت بالای ارسال پیامها وغیره توجه داشته باشید. تمام این موارد به کمک نود جی اس و یک فریم ورک جاوا اسکریپت مثل Express.js در سمت سرور قابل پیاده سازی است.
ساخت بازیهای آنلاین تحت مرورگر وب
ایده ساخت چت روم جذاب است، اما جذابیت آن زمانی بیشتر میشود که یک بازی هم برای مرورگر وب بنویسید و کنار آن بازی یک چت روم هم ارائه کنید. به کمک نود جی اس میتوان به توسعه بازی تحت وب پرداخت. در واقع با ترکیب تکنولوژیهای HTML5 و ابزارهای جاوا اسکریپت ( مثل Express.js یا Socket.io یا غیره ) میتوانید بازیهای دوبعدی جذابی مثل Ancient Beast یا PaintWar بسازید.
جمع بندی
وقتی از برنامه نویسی سمت سرور صحبت میکنیم، احتمالا اولین چیزی که به ذهنتان میرسد PHP است، بعد هم احتمالا ذهنتان به سمت مایکروسافت و تکنولوژی ASP.Net میرود. اما جاوا اسکریپت هم با معرفی نود جی اس و امکانات قابل قبول در حوزه برنامه نویسی سمت سرور هم ورود کرد. نود جی اس یک محیط اجرایی رایگان برای زبان جاوا اسکریپت است که کارهای متنوعی انجام میدهد. نود جی اس رایگان است، یک جامعه بزرگ از برنامه نویسان پشت آن قرار دارند و یک پکیج منیجر بسیار قدرتمند به نام NPM یا Node Package Manager برای آن ساخته شده که نزدیک به نیم میلیون پکیج در آن قرار دارد. هر چقدر بیشتر با این پلتفرم کار کنید این سوال برایتان به وجود میآید که چرا زودتر سراغ نود جی اس نرفتم. اگر تجربه ای از کار با نود جی است دارید خوشحال میشویم با ما و کاربران سون لرن به اشتراک بگذارید.
منبع
https://7learn.com/
در این درس از نقشه راه طراحی سایت، به معرفی یک کتابخانهی قدرتمند میپردازیم. npm بحث امروز ماست. همراه ما باشید.
npm چیست؟
npm یک کتابخانهی بزرگ است که یک نصاب و Package Manager به حساب میآید. این کتابخانه Open source و رایگان میباشد.
NPM برگرفته از نام Node Package Manager و به معنای یک نرمافزار مدیریت بسته node.js است.
اگر از node.js اطلاعی ندارید نگران نباشید. به طور خلاصه، node.js یک محیطی برای اجرای کدهای جاوا اسکریپت در سمت سرور است.
به طور معمول کدهای جاوا اسکریپت در سمت کاربر و در مرورگر اجرا میشوند. اما محیط node.js شرایطی را فراهم میکند که میتوان از کدهای جاوا اسکریپت در سمت سرور هم استفاده کرد.
معرفی زبان javaScript
Package Manager چیست؟
در حین برنامهنویسی گاهی لازم است در پروژه، از یک یا چند کتابخانه استفاده کنیم.
در گذشته لازم بود حتماً این کتابخانهها را دانلود و به پروژه اضافه میکردیم.
گاهی وابستگی یک کتابخانه به چند فایل یا کتابخانهی دیگر کارکردن را بسیار پیچیده میکرد. زیرا باید تمام آن فایل و کتابخانههای وابسته را نیز به پروژه اضافه کنیم!
از این رو ابزاری به نام Package Manager ایجاد شد تا اعمالی مثل نصب، بروزرسانی و حذف کتابخانهها را به صورت خودکار انجام دهد.
از مزایای استفاده از Package Managerها این است که نیازی نیست به فکر اضافه کردن فایلهای جانبی و وابسته به کتابخانهی اصلی باشیم. این ابزار قادر است این کتابخانهها را دانلود و نصب نماید.
موارد کاربرد npm
افزودن پکیج های مختلف به پروژه
اجرا کردن پکیج ها بدون دانلود با استفاده از اجرای دستور در (CLI (command line
بروزرسانی آسان پکیج های استفاده شده
اشتراک گذاری کدها با سایر کاربران npm
کنترل آسان ورژن پروژه
npm دارای یک command line است که برای دانلود و نصب نرمافزار استفاده میشود.
npm چه کاربردی دارد؟
نصب npm
برای نصب این ابزار محبوب به نصب Node.js نیاز دارید. یعنی شما باید از طریق آدرس ابتدا node.js را نصب کنید تا npm همراه آن نصب شود.
بعد از نصب node.js برای اطمینان از نصب npm کافیست cmd ویندوز را باز کنید و دستور npm –v را تایپ کنید تا ورژن آن نمایش داده شود.
منبع
https://adminesite.com/
بسیاری از برنامه نویسان قدیمی و افرادی که علاقه زیادی به مایکروسافت و برنامه های انحصار طلب مایکروسافت نداشتند اصلی ترین علت را انحصار طلبی و عدم توانایی اجرا در سایر پلتفرم ها مطرح مینمودند. مایکروسافت در چند سال اخیر به لزوم اوپن سورس، چند پلتفرم بودن پی برده است که سیستم هایی نظیر Azure و سایر سرویس ها را برای رفع این نواقص ارائه داده است. یکی از پروژه های اساسی مایکروسافت در زمینه برنامه نویسی NET CORE. میباشد. مایکروسافت اساسی ترین پلتفرم برنامه نویسی خود را با این پروژه ارائه داده است. NET CORE. پلت فرم اوپن سورس و سریع میباشد که برای همه دیوایس ها از جمله موبایل، وب ، اپلیکیشن های ویندوزی ، لینوکس و MAC میباشد که شما قادر هستید برنامه های خود را با این فریم ورک و پلتفرم جدید به راحتی قابل حمل کرده و در تمامی دیوایس ها پیاده کنید.
ویژگیهای اساسی NET CORE. چیست؟
اوپن سورس: اولین ویژگی مثبتی که همه برنامه نویسان را مجددا به سمت مایکروسافت کشانده است اوپن سورس بودن آن میباشد که شما میتوانید این پلتفرم را بسته به نیاز خود شخصی سازی کنید.
NET CORE. و برنامه های اجرا شده در این پلتفرم بسیار سبک و کم حجم میباشند.
Cross Platform میباشد، شما با NET CORE. به معنای کامل میتوانید بصورت یکپارچه در تمامی سیستم عامل ها و دیوایس ها پروژه خود را پیاده کنید.
توسعه راحت و سریع NET CORE. باعث شده است پروژه ها و استارت آپ های زیاد به جهت راحتی در تیم برنامه نویسی این پلتفرم را انتخاب کنند.
پشتیبانی از Github و نیوگت برای برنامه های اوپن سورس
هزینه های پایینتر، از دیگر مشکلات برنامه های ویندوزی هزینه نگهداری و منابع مورد نیاز آنها بود. با کاهش محسوس حجم برنامه ها و منابع مورد نیاز میتواند یکی دیگر از بهترین مزیت های NET CORE. را هزینه نگهداری پایین آن درنظر گرفت.
پشتیبانی از خط فرمان بسیار قدرتمند برای نصب بسته های پیش نیاز
.NET CORE جایگزین دات نت فریم ورک میباشد؟
بسیاری از متخصصین در ابتدای ارائه دات نت کور بر این باور بودند که مایکروسافت در حال آماده سازی جهت کوچ به سمت اوپن سورس میباشد و به احتمال زیاد آینده دات نت فریم ورک رو به اتمام میباشد و بایستی جای خود را به دات نت کور بدهد. ولی طبق بررسی های انجام شده قرار نیست چنین اتفاقی بیافتد و فعلا تا اطلاع ثانوی مایکروسافت همچنان قصد ارائه آپدیت و امکانات جدید به دات نت فریم ورک را دارد.
در حال حاضر شما توسط دات نت کور میتوانید برنامه های تحت وب، کتابخانه ای و کنسول را برنامه نویسی کنید. البته همانطور که میدانید در برنامه های Asp.net خیلی وقت هست که مایکروسافت از وب فرم پشتیبانی نمیکند و در صورتی که قصد استفاده از Asp.net روی پلتفرم .NET CORE میبایست حتما روی MVC پروژه های خود را پیاده سازی کنید.
کتابخانه هایی که برای دات نت فریم ورک و ابزارهایی که برای آن تهیه شده است به قدری زیاد هست که برنامه نویسان .Net احتمالا با شنیدن این موضوع که هنوز دات نت کور ابزارهای بسیار کمتری نسبت به .Net دارد نا امید خواهند شد. ولی نبایستی فراموش کرد که پلتفرم جدید مایکروسافت بسیار جدید میباشد و نیاز به زمان زیادی دارد تا همانند .Net از لحاظ کلاس ها، ابزارها و … تکمیل گردد.
بعد از ارائه موفق .NET CORE مایکروسافت اعلام کرده است که Asp.NET 5 و همچنین MVC5 قابلیت اجرا پیاده سازی بر روی دات نت کور را دارا میباشند. همچنین هم اکنون در صورتی که شما برنامه خود را با .NET CORE و ASP.NET 5 پیاده سازی کرده اید میتوانید برنامه های خود را علاوه بر ویندوز با Mono Runtime روی لینوکس و مک اجرا کنید.
.NET CORE روی سرورهای فعلی ویندوز اجرا میگردد؟
یکی از اساسی ترین سوالات برنامه نویسان مخصوصا برنامه نویسان .NET این هست که آیا میتوانند برنامه های Asp.Net که بر پایه .Net Core پیاده سازی شده اند را روی سرور ویندوز اجرا کنند؟ جواب این سوال شاید برای خیلی از کاربران ساده تر از این میباشد که بخواهیم روی آن بحث کنیم، ولی واقعیت این هست که در حال حاضر تمامی شرکت های هاستینگ سرور های خودرا آماده برای .Net Core نکرده اند. با توجه به اینکه اجرای این برنامه ها کمی متفاوت میباشد احتمالا شرکت هایی که به امنیت بیشتر اهمیت میدهند هنوز ریسک این را نپذیرند که در اولین فرصت .Net Core را پشتیبانی کنند. البته کنترل پنل محبوب پلسک بصورت پیش فرض از .Net Core پشتیبانی میکند و حتی در نسخه جدید Onyx هنگام نصب پلسک میتوانید .Net Core را براحتی بدون هیچ دانشی نصب کنید.
در انتها پیشنهاد میگردد در صورتی که برنامه نویس .Net هستید شک نکنید که بایستی به دات نت کور کوچ کنید و در اولین فرصت شروع به یادگیری آن کنید. همچنین در صورتی که میخواهید برنامه نویسی را شروع کنید باهم پیشنهاد میگردد در کنار سایر زبانها و پلتفرم ها، دات نت کور را نیز در لیست انتخاب پلتفرم یادگیری خود نیز قرار دهید.
mvc چیست؟
الگوی معماری MVC یک الگوی معماری انعطافپذیر، واضح و قدرتمند برای برنامهنویسی شیگرا و چند لایه است که با استفاده از آن میتوان قسمتهای مختلف برنامه را از هم جدا نموده و خصوصا در پروژههای تیمی، توسعه را بسیار سرعت میبخشد. استفاده از MVC نیازمند رعایت قواعد آن شامل نامگذاری و پوشهبندی است، با استفاده از MVC، نه تنها کار تیمی راحتتر میشود، بلکه از نوشتن کدهای تکراری نیز جلوگیری میشود. در این سری از آموزش برنامه نویسی با ما همراه باشید.
دیاگرام الگوی معماری MVC
آموزش mvc
برای شروع یادگیری چارچوب MVC تسلط به اصول شیگرایی توصیه میشود. الگوی معماری MVC در اکثر فریمورکها استفاده شده است، بنابراین پیشنیاز درک نحوه کار فریمورکها، آشنایی با این الگوی معماری است. در ادامه به آموزش mvc میپردازیم.
الگوی معماری MVC
MVC یک الگوی طراحی نیست، بلکه یک الگوی معماری است به این معنی که راهی را توصیف میکند که ساختار برنامه و قابلیتها و تعاملات هر بخش از برنامه با قسمتهای دیگر را مشخص میکند. الگوی معماری MVC از سه جز منطقی اصلی به نامهای مدل، ویو و کنترلر تشکیل شده است که هر کدام جنبه مشخصی از برنامه را کنترل میکنند.
روتر (Router) در معماری mvc
در MVC ایده کلی، وجود یک فایل index.php برای ارسال کلیه درخواستها به آن است، درخواستها با کمک روتر، مسیریابی میشوند. روتر کنترلر مورد نظر را فراخوانی میکند و کار روتر همینجا تمام می شود. دفت کنید که وظیفه روتر در برخی فریمورکها بیشتر است که در بخشهای بعدی مربوط به MVC این مورد را کاملتر توضیح خواهیم داد، فعلا در همین حد از ما بپذیرید که روتر یا مسیریاب وظیفه مسیریابی درخواستهای کاربر را دارد.
کنترلر (Controller) ها در mvc
در بخش روتر توضیح دادیم که کار روتر چیست، اما شاید بپرسید دلیل استفاده از روتر چیست، مستقیما از کنترلر استفاده کنیم، فرض کنید کاربر آدرس زیر را فراخوانی کند:
index.php?c=controller&m=action¶m1=val1¶m2=val2
در فایل روتر مشخص شده که این کد باید کدام اکشن از کدام کنترلر را فراخوانی کند و پارامتر را به آن تحویل دهد. همانطور که متوجه شدهاید کنترلر ام وی سی یک کلاس است که برای پردازش درخواستهای ارسالی به لینکهای مشخص ساخته شده است، اکشن نیز متدی از این کلاس است که وظیفه خاصی را انجام دارد. البته شاید بابت کاربرپسند بودن لینکهای بالا مشکل داشته باشید که با فعالسازی ماژول mod_rewrite میتوانید لینکهای خود را مثلا به شکل زیر یا هر شکلی دوست دارید اختصاصیسازی نمایید:
baversion.com/class/method/param1/param2/
حتی میتوانید به روتر بگویید که برای درخواستهایی که مثلا به آدرس baversion.com/blog ارسال شد، متد index از کلاس Blog را فراخوانی کند که میگویند اکشن index از کنترلر Blog فراخوانی شده است، پارامترهای بعدی نیز ممکن است با استفاده از دستورات مشخص شده در روتر، حتی کنترلر و اکشن دیگری را فراخوانی کند، مثلا برای وبلاگ کلاسی باشد که یک اکشن مسئول پردازش درخواستهای مربوط به پستها، اکشن دیگر مربوط به دستهبندیهای مطالب و هر اکشنی برای یک عملی باشد، برای صفحه مدیریت کنترلر Admin و با توجه به درخواستهای مختلف، اکشنهای متفاوتی فراخوانی شوند.
در واقع کنترلر یک کلاس برای اجرای دستورات خاصی توسط متدهایش است، که روتر با توجه به قواعد تصمیم میگیرد که چه کنترلر و اکشنی باید فراخوانی شود و روتر کاری به اینکه کنترلر در بدنه متدش قرار است چه کاری انجام دهد ندارد. علاوه بر این کنترلر واسطی بین مدل و ویو است، یعنی وظیفه کنترلر این است که درخواست و پارامترها را پردازش کند و تصمیم بگیرد که آیا نیاز است که مثلا دادهای ذخیره یا تغییر داده شود، یا باید چیزی نمایش داده شود.
مدل (Model) در معماری mvc
مستقیما دادهها، منطق و قواعد برنامه را مدیریت میکند، کار با بانک اطلاعاتی. دستورات CRUD در این قسمت نوشته میشوند و تمام ارتباطات با دیتابیس باید از طریق همین لایه انجام پذیرد. مهمترین بخش از منطق برنامه مدل است.
کنترلر ورودیها را دریافت و تبدیل به دستوراتی برای مدل و ویو میکند، اگر این دستورات قرار باشد کار ذخیره داده مثلا ویرایش یک فایل یا تغییر یا افزودن دادهای در دیتابیس را انجام دهند، متد مورد نظر از مدل فراخوانی میشود و مدل وظیفهاش را انجام میدهد و در صورت نیاز دادههایی را برمیگرداند، کنترلر دوباره دادهها را بررسی میکند تا ببیند نیاز است مدل دیگری فراخوانی شود یا باید آنها را برای نمایش به ویو بدهد.
ویو (View) در معماری mvc
این لایه وظیفه نمایش محتوا به کاربر را دارد، همچنین اطلاعات و ورودیهای کاربر را نیز گرفته و به لایه کنترلر میدهد و مانند مدل ارتباطی دو طرفه با کنترلر دارد. ویو دادهها را در قالب مناسب نمایش میدهد.
بازی زندگی (Life Game)
برای اثبات مفاهیم ارائه شده از بازی زندگی طراحی شده از سوی Conway به عنوان مسئله استفاده کردهایم. این بازی بدون بازیکن است و قواعد سادهای دارد:
دنیا از یک ماتریس تشکیل یافته است که در آن هر سلول دو حالت زنده یا مرده دارد.
تنها ورودی بیرونی، حالت اولیه است.
تعامل سلول جاری با سلول همجوار افقی، عمودی و قطری حالت کنونی سلول را تعیین میکند.
یک سلول زنده که کمتر از دو همسایه آن زنده باشند، میمیرد.
یک سلول زنده که دو یا سه همسایهاش زنده باشند، برای نسل بعدی زنده میماند.
یک سلول زنده که بیش از سه سلول همسایهاش زنده باشند، میمیرد.
یک سلول مرده که دقیقاً سه سلول همسایهاش زنده باشند، زنده میشود.
بنابراین طرح ما این است که یک ماتریس بزرگ داشته باشیم و آن را با مقادیر تصادفی (0 یا 1) پر کنیم و این حالت اولیه را ارسال کرده و نتیجه را رندر کنیم، سپس حالت بعدی را محاسبه کرده و آن را مجدداً رندر کنیم و این مرحله اخیر را چندین بار تکرار کنیم.
ما میخواهیم این راهحل را با سه راهبرد پیادهسازی کنیم: جاوا اسکریپت خالص، وباسمبلی، و وب ورکرها. پیچیدگی زمانی الگوریتم ما روی همه رویکردها برابر با (O(m*m است که n عرض دنیا و m ارتفاع آن است. از آنجا که رندر برای هر سه رویکرد یکسان است، آن را در اندازهگیریهای خود لحاظ نمیکنیم.
جاوا اسکریپت محض
معماری زیرساختی برای این رویکرد شامل ایجاد یک بازی جدید و سپس ایجاد و ارسال حالت نخست (ماتریسی پر شده از 0 و 1) به آن است. کامپوننت game این حالت را نگهداری میکند و تابعی به نام next بازمیگرداند که حالت بعدی را هنگام فراخوانی بازگشت میدهد. در این صورت تابع ()getNextState را از فایل environment.js فراخوانی میکنیم که پیادهسازی جاوا اسکریپت خالص است.
const next = game(
document.getElementById('game'),
COLUMNS,
LINES,
createGameMatrix(LINES, COLUMNS), // generates the initial state
strategy(
STRATEGY,
COLUMNS,
LINES,
initialConfig
) // Defines which strategy to use to calculate the next state
function loop() {
next().then(() => {
requestAnimationFrame(loop);
loop()
const next = game(
document.getElementById('game'),
COLUMNS,
LINES,
createGameMatrix(LINES, COLUMNS), // generates the initial state
strategy(
STRATEGY,
COLUMNS,
LINES,
initialConfig
) // Defines which strategy to use to calculate the next state
function loop() {
next().then(() => {
requestAnimationFrame(loop);
});
};
loop();
داخل کامپوننت environment.js همچنان مسئله را به تابعهای تخصصی کوچکتر افراز میکنیم. بدین ترتیب به روشی آسانتر میتوانیم بهینهسازی کامپایلر JIT را تحریک کنیم. این بهینهسازیها را در مقاله بعدی بررسی خواهیم کرد. این تابعها به محاسبه حالت کنونی همسایههای فوقانی، تحتانی و کناری پرداخته و همه حالتهای گوشهای را پوشش میدهند.
میانگین سرعت این محاسبه حالت از 9 تا 4 میلیثانیه برای یک ماتریس 800×450 متفاوت است. برای مشاهده تصویر در ابعاد اصلی روی این لینک کلیک کنید.
ممکن است از این که چقدر این محاسبات برای حالت بعدی متفاوت هستند و یا این که چرا این همه تابع وجود دارد شگفتزده شوید. برای پاسخ به این سؤال باید با طرز کار کامپایلرهای JIT آشنا باشیم و بدانیم که چگونه این وضعیت موجب شده است که جاوا اسکریپت امروزه تا این حد سریع باشد. در بخش بعدی این نوشته این موضوع را بررسی میکنیم.
اندکی از تاریخچه جاوا اسکریپت
جاوا اسکریپت در سال 1995 از سوی «برندن آیک» (Brendan Eich) طراحی شد و هدف وی ارائه زبانی بود که طراحان به کمک آن بتوانند اینترفیسهای دینامیک را با آن به سادگی پیادهسازی کنند. به بیان دیگر جاوا اسکریپت برای این ساخته نشده که سریع باشد؛ بلکه هدف اولیه این بود که لایه رفتاری را به صفحههای HTML به روشی راحت و سرراست اضافه کند.
ایتنرنت در دهه 90 میلادی
زمانی که جاوا اسکریپت معرفی شد، اینترنت این گونه به نظر میرسید.
جاوا اسکریپت در ابتدا یک زبان تفسیری بود. بدین ترتیب فاز آغازین سریعتر میشد، چون مفسر تنها کافی بود که خط نخست کد را بخواند تا بتواند آن را به بایتکد ترجمه کرده و به طرز صحیح اجرا کند. برای نیازهای اینترنت در دهه 1990 میلادی، جاوا اسکریپت این کار را به طرز خوبی انجام میداد. مشکل زمانی بروز کرد که اپلیکیشنها رفتهرفته پیچیدهتر شدند.
در دهه 2000 میلادی فناوریهایی مانند Ajax موجب شدند که وب اپلیکیشنها، پویاتر شوند، جیمیل در سال 2004 و گوگل مپ در سال 2005 آغازگر روندی برای استفاده از این فناوری ایجکس بودند. این روش جدید برای ساخت وب اپلیکیشنها موجب شد که بیشتر بخش منطقی برنامه در سمت کلاینت نوشت شود. در این زمان جاوا اسکریپت باید عملکرد خود را ارتقا میداد و این اتفاق در سال 2008 با ظهور گوگل و موتور V8 آن که همه کدهای جاوا اسکریپت را به طور بیدرنگ به بایتکد کامپایل میکرد رخ داد. اما اینک شاید بپرسید طرز کار کامپایلرهای JIT چگونه است؟
آشنایی با طرز کار کامپایلرهای JIT
اگر بخواهیم کامپایلرهای JIT را به طور خلاصه توضیح دهیم، زمانی که کد بارگذاری شد، کد منبع به یک بازنمایی درختی تبدیل میشود که «درخت ساختار مجرد» (Abstract Syntax Tree) یا AST نامیده میشود. پس از آن بسته به این که از چه موتور/سیستم عامل/پلتفرمی استفاده میشود، یا یک نسخه مبنا از کد کامپایل میشود و یا بایتکد تولید میشود که باید تفسیر شود.
در این مرحله profiler به رصد و گردآوری دادههای اجرای کد میپردازد. البته این توضیح بسیار مختصر بوده و تفاوتهایی در میان موتورهای مرورگر مختلف در این زمینه وجود دارد.
در گام نخست، همه چیز از تفسیر عبور میکند، این فرایند تضمین میکند که کد پس از ایجاد AST سریعتر اجرا میشود. زمانی که قطعه کدی چندین بار اجرا میشود، مانند تابع ()getNextState ما، تفسیر عملکرد خود را از دست میدهد، زیرا باید قطعه کد یکسانی را به طور مکرر تفسیر کند و زمانی که این اتفاق بیافتد profiler این قطعه کد را به صورت «کد گرم» (Warm Code) علامتگذاری میکند و «کامپایلر مبنا» (Baseline Compiler) وارد عمل میشود.
کامپایلر مبنا
برای این که طرز کار JIT را بهتر نشان دهیم از این پس از قطعه کد زیر به عنوان مثال استفاده میکنیم:
function sum (x, y) {
return x + y;
}
[1, 2, 3, 4, 5, '6', 7, 8, 9, 10].reduce(
(prev, curr) => sum(prev, curr),
function sum (x, y) {
return x + y;
}
[1, 2, 3, 4, 5, '6', 7, 8, 9, 10].reduce(
(prev, curr) => sum(prev, curr),
0
);
زمانی که پروفایلر یک قطعه کد را به صورت «کد گرم» علامتگذاری میکند، JIT کد را به کامپایلر مبنا میسپارد که یک کد کامپایل شده میسازد و در همین حال پروفایلر همچنان به گردآوری دادهها در ارتباط با فراوانی و انواع کدهای اجرا شده ادامه میدهد. زمانی که این بخش از کد اجرا میشود (در مثال فرضی ما بخش ;return x + y است) JIT تنها کافی است این بخش کامپایل شده را مجدداً اجرا کند. زمانی که کد گرم چندین بار به روش مشابه فراخوانی شود، به صورت «کد داغ» (hot code) علامتگذاری میشود.
کامپایلر بهینهساز
زمانی که یک قطعه کد به صورت کد داغ علامتگذاری شود، «کامپایلر بهینهساز» (Optimizer Compiler) یک نسخه باز هم سریعتر از این کد میسازد. این وضعیت تنها بر مبنای این فرضیه عمل میکند که کامپایلر بهینهساز، نوع متغیرها یا شکل شیءهای مورد استفاده در کد را بهینهسازی میکند. در مورد مثال فرضی ما میتوان تصور کرد که «کد داغ» ;return x + y هر دو مقدار x و y را به صورت number فرض میکند.
مشکل این است که در مواردی کد با چیزی مواجه میشود که کامپایلر بهینهساز انتظار ندارد، برای نمونه در مورد مثال ما با (‘sum(15, ‘6 فراخوانی میشود، چون y یک string است. زمانی که این اتفاق میافتد، پروفایلر فرض میکند که فرضیات آن اشتباه بوده است و همه چیز را کنار گذاشته و به نسخه کامپایل شده مبنا (یا تفسیری) باز میگردد. این مرحله «غیر بهینهسازی» (Deoptimization) نام دارد. برخی اوقات این اتفاق چنان مکرر رخ میدهد که حتی نسخه بهینه شده نسبت به نسخه مبنا کندتر میشود.
جمعبندی
برخی موتورهای جاوا اسکریپت در خصوص کمّیت تلاشهای بهینهسازی محدودیتهایی دارند و زمانی که به این حد برسند دیگر برای بهینهسازی تلاش نمیکنند. برخی دیگر مانند V8 به صورت شهودی زمانی که میبینند احتمالاً کد «غیربهینهسازی» خواهد شد از بهینهسازی آن اجتناب میکنند. این فرایند bailing out نام دارد.
بنابراین به طور خلاصه مراحل کامپایلر JIT را میتوان به صورت زیر توصیف کرد:
تجزیه
کامپایل
بهینهسازی/غیر بهینه سزی
اجرا
Garbage Collector
منبع
https://blog.faradars.org/
پایتون چیست : امروزه تعداد زبان های برنامه نویسی بسیار زیاد است و هر کدام کاربردهای مختلفی دارند. هر کدام از این زبانها مزایا و معایب خودشان را دارند. یکی از زبان های برنامه نویسی مطرح بین برنامه نویسان پایتون است که روز به روز به میزان محبوبیت آن اضافه می شود. از این زبان برنامه نویسی برای انجام کارهایی زیادی از جمله برنامه نویسی هوش مصنوعی، توسعه وب، ساخت اپلیکیشن های موبایل و دسکتاپ استفاده می شود. اگر برای شروع آموزش پایتون و انتخاب آن با شک، تردید و سوالات زیادی در حال دست و پنجه نرم کردن هستید، ادامه این مطلب را از دست ندهید تا بدانید زبان برنامه نویسی پایتون چیست و چه کارهایی را می تواند انجام دهد. همچنین اگر تجربه برنامه نویسی با متلب و انجام پروژه متلب را دارید می توانید مقاله مقایسه متلب و پایتون را مطالعه کنید.
پایتون یک زبان برنامه نویسی سطح بالا تفسیر شده برای برنامه نویسی عمومی است. این زبان دارای یک فلسفه طراحی است که بر خواندن کد، به خصوص با استفاده از فضای خالی مهم استوار است. Python دارای یک سیستم نوع پویا و مدیریت حافظه خودکار است و پارادایم های چندگانه برنامه نویسی را پشتیبانی می کند. مفسر پایتون برای بسیاری از سیستم عامل ها در دسترس است.
پایتون چیست و چگونه بهوجود آمد؟
زبان برنامهنویسی پایتون در سال ۱۹۹۱ میلادی توسط یک برنامهنویس هلندی بهنام خیدو فان روسوم (Guido van Rossum) ایجاد شد، این زبان با قابلیتهای فراوان و شگفتانگیزی که دارد تحولی در دنیای برنامهنویسی بهوجود آورده است، از توسعهی برنامههای تحت وب گرفته تا ایجاد بازیهای رایانهای!
خیدو فان روسوم خالق زبان برنامه نویسی پایتون
در سالهای اخیر، پایتون مورد توجه بسیاری از برنامهنویسان بوده و روز به روز بر تعداد آنها افزوده میشود، هرچند هنوز در ایران هنوز جایگاه خود را پیدا نکرده است، ولی میتوان آیندهی روشنی برای آن تصور کرد، زیرا کاربردهای فراوانی داشته و در برنامهنویسی بسیاری از وبسایتهای معتبر مورد استفاده قرار گرفته است.
پایتون یک زبان اسکریپتی است که کدهای آن در پلتفرم های لینوکس، ویندوز، مکینتاش، سیستم عاملهای موبایل و حتی پلیاستیشن قابل اجراست و بهدلیل قابلیتهای فراوانی که دارد، به یکی از زبانهای مورد علاقهی برنامهنویسان وب تبدیل شده و شرکتهای بزرگی مثل گوگل، یاهو، اینستاگرام، ناسا، یوتیوب و… در سطح بالایی در حال استفاده از آن هستند.
زبان برنامه نویسی پایتون چه ویژگی هایی دارد؟
اولین و مهمترین ویژگی این زبان «سادگی و آسانی» آن می باشد. این ویژگی آموزش پایتون را به یکی از بهترین گزینه ها برای انتخاب کسانی تبدیل کرده است که قصد دارند برای اولین بار به آموزش برنامه نویسی بپردازند. پایتون را خیلی سریع می توانید یاد بگیرید و به سرعت کدنویسی را با آن شروع کنید. اما اشتباه نکنید، سادگی پایتون به معنای ضعیف بودن آن نیست، بلکه python یک زبان برنامه نویسی مفسری، چندمنظوره و سطح بالاست که از شی گرایی و برنامه نویسی ساختار یافته به طور کامل پشتیبانی می کند.
از این زبان برنامه نویسی به طور گسترده در دنیا استفاده میشود و برای آن فرقی نمی کند که هدف شما از استفاده آن ایجاد وب اپلیکیشن و برنامه نویسی دسکتاپ است و یا حتی برنامه نویسی هوش مصنوعی و یادگیری ماشینی، این زبان به بهترین نحو از عهده تمام آن ها بر خواهد آمد و به جرات میتوان ادعا کرد که در دیگر زمینه های برنامه نویسی شما را تنها نخواهد گذاشت. برای اینکه بدانید که مهمترین ویژگی های پایتون چیست که آن را به چنین زبان قدرتمندی تبدیل کرده است، باید با ساختار آن آشنا شوید.
پایتون زبانی قدرتمند و منعطف است که ساختاری بسیار منظم و کدنویسی در آن بسیار راحت است. این زبان برنامه نویسی تمرکز زیادی روی خوانایی کدها دارد، به طوری که هر کسی میتواند به راحتی کدهای این زبان را بخواند و با آن ارتباط برقرار کند. همانطور که اشاره شد، پایتون از انواع روشهای برنامه نویسی مثل پروسهای، تابعی و البته شیء گرایی پشتیبانی میکند. همین مورد باعث شده که در پروژههای بزرگ و حساس روی پایتون حساب باز کنند.
مفسری بودن این زبان یعنی کدهای پایتون خط به خط توسط مفسر ترجمه میشوند. مفسر پایتون برای سیستم عامل های مختلف وجود دارد. وظیفه این مفسر تبدیل کدهای پایتون به زبان ماشین و سپس اجرای آن ها است. بسیاری از توزیعهای لینوکس به طور پیشفرض پایتون و مفسر آن را دارند و شما بدون نیاز به انجام هیچ اقدامی میتوانید کدنویسی را در این سیستم عامل شروع کنید. همچنین فایل نصبی نسخه ویندوز و سیستم عامل مک هم از سایت پایتون قابل دانلود است.
هر نرم افزار یا ابزار جدید که معرفی میشود، برای انتشار از یک پروانه یا مجوز (License) استفاده میکند. این مجوزها ماهیت برنامه را مشخص میکنند و به بقیه نشان میدهند که چطور باید از نرم افزار استفاده کرد. مثلا نرم افزارهای آزاد ۴ سطح آزادی را به برنامه نویس تضمین میدهند و لایسنس GPL این چهار سطح را در خود جا داده است. ۴ سطح آزادی که نرم افزارهای آزاد باید از آن پیروی کنند عبارتند از:
کاربران بتوانند نرم افزار را به هر منظوری استفاده کنند.
کابران بتوانند نرم افزار را تغییر دهند و به سورس کد برنامه دسترسی داشته باشند.
کاربران بتوانند یک نسخه از نرم افزار را بازنشر کنند.
دیگر کاربران بتوانند نسخههای بازنشر شده را ویرایش کرده و دوباره انتشار دهند.
پایتون تحت پروانه اختصاصی خودش به نام PSFL یا Python Software Foundation License منتشر میشود. این مجوز کاملا مشابه مجوز GPL است، اما در بند چهارم سختگیری کمتری برای بازنشر نرم افزارها در نظر گرفته است. به همین دلیل توسعه دهندگان به راحتی برای این زبان کتابخانه های زیادی طراحی کرده اند و به لطف آنها پایتون کتابخانههای مشهوری دارد که در توسعه و پیشرفت آن نقش مهمی ایفا کردند. این کتابخانهها بودند که پایتون را محبوبتر کرده و پای این زبان را به حوزههای مختلفی مثل طراحی سایت، طراحی اپلیکیشن، هوش مصنوعی و داده کاوی باز کردند.
مزایای پایتون چیست؟
حضور ماژول های شخص ثالث
Python (PyPI) شامل چندین ماژول شخص ثالث است که باعث می شود Python بتواند با بسیاری از زبان ها و سیستم عامل های دیگر ارتباط برقرار کند.
کتابخانه های پشتیبانی گسترده:
پایتون کتابخانه استاندارد بزرگی را ارائه می دهد که شامل موضوعات مختلف مانند پروتکل اینترنت ، عملیات رشته ، ابزارها و سرویس های وب و رابط های سیستم عامل است. بسیاری از کارهای برنامه نویسی پر کاربرد قبلاً در کتابخانه استاندارد نگاشته شده اند که باعث می شود طول کد به طور قابل توجهی کاهش داده شود.
منبع باز:
زبان پایتون تحت مجوز OSI تأیید شده است که استفاده و توزیع آن را آزاد می کند ، از جمله برای اهداف تجاری. علاوه بر این ، توسعه آن توسط جامعه ای انجام می شود که از طریق میزبانی کنفرانس ها، برای کد آن همکاری می کنند و ماژول های بی شماری را برای توسعه آن فراهم می کنند.
یادگیری سریع و آسان:
، پایگاه گسترده کاربران و توسعه دهندگان فعال باعث شده است تا یک بانک منابع اینترنتی غنی برای ترغیب توسعه و ادامه پذیرش زبان ایجاد شود.
ساختار داده های کاربر پسند: :
پایتون دارای ساختار داخلی داده ها و فرهنگ نامه ها است که می تواند برای ساخت سریع داده های زمان اجرا سریع استفاده شود.
بهره وری و سرعت:
پایتون دارای طراحی شی گرا تمیز است ، قابلیت های کنترل پیشرفته یک فرایند را فراهم می کند ، و توانایی های ادغام و پردازش متن دارد ، که همه اینها به افزایش سرعت و بهره وری آن کمک می کند. پایتون گزینه ای مناسب برای ساخت برنامه های پیچیده دارای چند پروتکل تحت شبکه محسوب می شود.
مزایای پایتون
معایب پایتون چیست؟
سرعت:
پایتون کندتر از C یا C ++ است. پایتون یک زبان سطح بالا است ، برخلاف C یا C ++ به سخت افزار نزدیک نیست.
توسعه موبایل:
پایتون یک زبان خیلی خوب برای توسعه موبایل نیست. این یک زبان ضعیف برای محاسبات موبایل است. به همین دلیل است که برنامه های اندکی در تلفن های همراه مانند Carbonnelle در آن ساخته شده اند.
مصرف حافظه:
پایتون برای کارهای فشرده حافظه گزینه مناسبی نیست. به دلیل انعطاف پذیری انواع داده ها ، مصرف میزان حافظه پایتون نیز زیاد است.
دسترسی به پایگاه داده:
پایتون با دسترسی به بانک اطلاعات محدودیت هایی دارد. در مقایسه با فن آوری های رایج مانند JDBC و ODBC ، لایه دسترسی به پایگاه داده Python کمی توسعه نیافته و بدوی است.
خطاهای زمان اجرا:
برنامه نویسان پایتون در زمینه طراحی زبان چندین موضوع را ذکر کردند. از آنجا که این زبان به صورت پویا تایپ می شود ، به آزمایش بیشتری نیاز دارد و دارای خطاهایی است که فقط در زمان اجرا نشان می دهد.
منبع
https://www.prjmarket.com/
جاوا JAVA يک زبان برنامه نويسي است که درسال 1994 توسط يکي از مهندسين شرکت سان (sun) به نام جيمز گوسلينگ نوشته شد، جيمز از نوشتن برنامه با ++C خسته شده بود و جاوا را براي رفع نيازهاي خود طراحي کرد. مثل لينوکس ترودلز که لينوکس (Linux) را براي استفاده خود پديد آورد.جيمز ابتدا نام اين برنامه را oak گذاشت. در آنزمان شرکت sun از توسعه oak منصرف شد ولي با پيشرفت و گسترش اينترنت و مشخص شدن قابليت هاي برنامه و تطابق بعضي ويژگي هاي آن با نيازهاي اينترنت شرکت sun پروژه oak را فعال نمود و نام جاوا را براي آن برگزيد.
نام جاوا از Jsut Another Vague Acronym گرفته شده است و دليل آن اين بود که تيم برنامه نويسان جاوا به قهوه خيلي علاقه داشتند. اين موضوع در لوگوي جاوا هم مشهود است!!
نگارش نسخه اول جاوا در سال 95 آغاز شد و در سال 97 نسخه 1/1 و در سال 98 نسخه 1/2 به بازار ارايه شد. البته تا کنون نسخه هاي متفاوت با قابليت هاي متفاوت به بازار ارايه شده است. جاوا زبان مادر براي سيستم عامل سولاريس است، مثل بيسيک براي سيستم عامل ويندوز و زبان سي براي يونيکس.
مهم ترين ويژگي جاوا اين است که اساسا شي گراست به اين معني که توانايي استفاده مجدد و مکرر از کدهاي از پيش نوشته شده را دارد.
ويژگي ديگر جاوا اين است که بر روي سيستم هاي مختلف کار مي کند مثلا برنامه اي که شما با يک سيستم اينتل نوشته ايد به راحتي روي يک سيستم مکينتاش و يونيکس اجرا مي شود و اين عامل اصلي موفقيت جاوا است.
سادگي، قابل انتقال بودن، کارايي بالا، استحکام، پويايي و ايمني بالا از ديگر قابليت هاي جاوا است.
معمول ترين برنامه هايي که با جاوا نوشته مي شود Applet ها هستند. Applet برنامه اي پويا است که در يک صفحه وب اجرا مي شود و براي ديدن آن به مرورگري نياز است که جاوا را پشتيباني کند. علاوه بر اين شما مي توانيد با جاوا برنامه هاي کاربردي، چند منظوره وسطح بالا بنويسيد مثل نرم افزارهاي سرويس دهي شبکه يا سرويس دهنده پست الکترونيک.
جاوا در واقع يک زبان برنامه نويسي شي گرا وبسيار قدرتمند است و تمام خصوصيت هاي ++C و C را داراست. البته خصوصيت هاي مشکل ساز آن مثل وراثت و اشاره گرها را کنار گذاشته است. برنامه نويساني که با C++ آشنا هستند خيلي راحت و سريع مي توانند JAVA را ياد بگيرند. با جاوا کد نويسي بسيار آسان تر است و کدها و کلاس ها و کتابخانه هاي آماده جاوا باعث مي گردد نوشتن يک برنامه با جاوا از نظر تعداد خطوط و زمان لازم تقريبا يک سوم يک برنامه ++C است.
.NET رقيب JAVA؟
.NET فرمي است که به وسيله مايکروسافت MicroSoft براي ساخت سايت ها با قابليت هاي زياد و متفاوت ايجاد شده است به طوري که قسمتي از يک پروژه را مي توان با ++CV و بخش ديگر را با برنامه اي ديگر نوشت و در نهايت کل آن توسط يک واسطه به نام MSIL ترجمه شده و در محيط .NET قابل اجرا است.
J2EE (نسخه جديد JAVA) به وسيله شرکت SUN و با همکاري شرکت هاي IBM و HP تهيه شده است. در اين قالب تنها زباني که مورد استفاده قرار مي گيرد جاوا است، و بر خلاف .NET که فقط روي محيط هاي سازگار با ويندوز عمل مي کند، مستقل از سخت افزار است.
بين .NET و JAVA کدام را انتخاب کنيمًـ؟
- قابليت انتقال برنامه ها روي سيستم هاي مختلف و شعار اصلي جاوا يعني: "يک بار بنويس و هر جا استفاده کن" (Writeonce-Run anywhere) موضوعي بسيار حايض اهميت است که بسته به نياز شما و نوع برنامه شما مي تواند خيلي مهم باشد.
- در محيط هايي که چند نوع سيستم سخت افزاري وجود دارد قطعا برنامه هاي تحت جاوا مناسب تر است ولي اگر در محيط مورد نظر شما از سيستم عامل ويندوز استفاده مي شود استفاده از .NET هزينه کمتري در برخواهد داشت.
- .NET ويژگي هايي دارد که با آن مي توان سايت هاي جذاب و زيباتري ساخت اما در سايت هاي پيچيده و بزرگ و جايي که کارايي مهمتر از ظاهر است بهتر است از جاوا استفاده کنيم.
- تصور کنيد نياز به برنامه اي داريد که در آن چيزهايي به صورت ديناميک ايجاد مي شوند و پس از طي يک سري عمليات بر روي آنها از بين مي روند، در اين نوع برنامه ها تعقيب اشيايي که در برنامه ساخته مي شوند، تخصيص و مديريت حافظه تماما بر عهده برنامه نويس است. اما جاوا داراي يک سيستم خودکار مديريت و پاکسازي حافظه است که بسياري از مشکلات را آسان کرده است.
هر تکنولوژي که ايجاد مي شود؛ هر برنامه اي که مورد توجه عموم قرار مي گيرد قطعا مورد توجه نفوذگران هم واقع مي شود، هر سيستمي که بخواهد بماند و پيشرفت کند نياز به ايمني دارد و اينجاست که سدهاي حفاظتي جاوا و مدل هاي امنيتي آن که حاصل تلاش زبردست ترين برنامه نويسان دنياست مورد توجه قرار مي گيرد. مدل چهار لايه امنيتي جاوا جلوي خيلي از اقدامات خرابکارانه و نفوذي را مي گيرد، ولي هيچ سدي 100درصد غير قابل نفوذ نيست!!
در هر حال انتخاب بين اين دو نياز به بررسي دقيق، آينده نگري و مشخص شدن اهداف دراز مدت و ميزان سرمايه گذاري شما دارد زيرا هزينه هايي که يک برنامه جاوا دربر دارد در اکثر موارد چندين برابر يک برنامه .NET خواهد بود.
منبع
https://behpardazan.com/اطلاعات کامل در مورد زبان برنامه نویسی PERL
زبان برنامه نویسی PERL یک زبان برنامه نویسی با سطح بالا، که ساختارش شبیه به زبان برنامه c دارد. پیشینه زبان برنامه نویسی پرل توسط لری وال در سال ۱۹۸۷ منتشر گردید، معنی اصلی این کلمه به معنای مروارید است.این زبان همه منظوره و دینامیک می باشد. پرل بعضی از خصوصیات زبانهایی چون Sed ،Sh lisp ،Awk را دارا می باشد و در اکثر سیستم عامل ها کاربرد دارد زبان برنامه نویسی پرل برای فایلهای نوشتنی مورد استفاده قرار میگیرد. در ادامه مطلب آموزش یادگیری ماشین لرنینگ با پایتون نیز برای شما مفید خواهد بود.
مخترع زبان پرل لری وال متولد سال ۱۹۵۴ آمریکا است وی نویسنده، زبان شناس و همینطور برنامه نویس است بیشترین شهرت وی بخاطرنوشتن زبان پرل می باشد.
اطلاعات کامل در مورد زبان برنامه نویسی PERL
دنیای برنامه نویسی بسیارگسترده است. هر زبان خصوصیات و ویژگی و کدهای دستوری مختص به خود را دارد که ما در اینجا میخواهیم در رابطه با خصوصیات زبان برنامه نویسی PERL و کاربردش آشنا شویم.
برنامه نویسی زبان کاملا ساده ای که حاوی مجموعه ای از دستورالعملهاست که به صورت کد و تکیه بر قانون های معین نوشته و به کامپیوتر داده می شود تا چه کاری را باید انجام دهد.
زبانی که از طریق آن با کامپیوتر ارتباط برقرار و به آن می گویید که باید چه کاری را انجام دهد، زبان برنامه نویسی اطلاق می شود. برنامه نویسی این امکان را برای برنامه نویسان فراهم کرده که در زمینه برنامه نویسی مثل ابزارهای پیچیده برنامه نویسی، محاسبه نوآوری داشته باشند.
آموزش پایتون جادی
آموزش پایتون جادیین به این منظور است که دو برنامه نویس یک وظیفه را با دو زبان برنامه نویسی مختلف بنویسند و اجرا نمایند که کاملا به علم آن دو نسبت به زبان برمی گردد.
کاربرد زبان برنامه نویسی PERL
زبان برنامه نویسی PERL بصورتی بود که بر پایه سیستم عامل یونیکس (چندکاربره) پایه گذاری شد و روند گزارش گیری را راحت ساخت، همینطور روی ویندوز ماکروسافت نیز در حال اجرا می باشد.
در سال ۲۰۰۰ نسخه ۶ زبان برنامه نویسی پرل که در واقع تکمیل نسخه ۵ شروع به بازنگری کرد در واقع لری وال نسخه ۵ پرل را بر پایه نسخه ۴ زبان برنامه نویسی PERL جمع آوری و در سال ۱۹۹۴ منتشر کرد.
زبان برنامه نویسی perl چیست؟
ویژگی های بسیاری به نسخه ۵ زبان برنامه نویسی پرل اضافه شد از جمله ویژگی ها:
متغیرهای واژگانی و ماژول ها
اشیاء
ماژول های مکانیسمی و مراجع
پونی یک کلمه ی مخفف برای زبان پرل و پلی برای ارتباط نسخه ۵ پرل با نسخه ۶ بود هدف این پروژه تضمین کردن میلیونها خط برنامه در نسخه ۵ پرل برای هزاران شرکت در جهان بود که نسخه ۵ بازنویسی مفسر شود و روی ماشین نسخه ۶ اجرا گردد.
نماد زبان برنامه نویسی PERL
اصولا نماد زبان برنامه نویسی PERL را با شکل شتر نشان میدهند که نمادی غیر رسمی شناخته شده است.نماد جایگزین توسط بنیاد پرل یک پیاز است در پیاز مروارید نماد پیانو بصری است که به شرکت های Perl Mongers, Perl.org, PerlMonks مجوز می دهد.
ویژگی ها
ویژگی های زبان برنامه نویسی پرل به طورکلی همانند ساختار زبان c می باشد در واقع با متغیرها و ساختارهای سابروتین است. همه ی متغییرها با سیگیل (sigil) پیشرو که به متغیرها این اجازه را میدهد که در رشته ها به طور مستقیم تکرار بشوند.
ویژگی ها
کاربرد sigil
در زبان پرل این امکان را می دهد که نشانگر بیان نوع نماد است تا نوع متغیر مثلا: sigil برای دسترسی به لیستی از مقادیر در هش برای آرایه (نماد “a”)مورد استفاده قرار می گیرد تا اینکه بخواد برای متغیر (“%”) کاربرد داشته باشد. باهم نگاهی به مقاله ی آموزش علم داده (Data Science) با پایتون نیز داریم.
زبان پرل در واقع کار برنامه نویسی را راحت و سریع کرد بطوریکه جوابگوی بسیاری از سخت افزار کامپیوترهای گران قیمتی که با برنامه c و فروترن کار میکردند.متن باز بودن این زبان خیلی حائز اهمیت است. یک مترجم زبان برنامه نویسی پرل حدودا به یک فاز کامپایل تقسیم و به مرحله اجرا می رسد.
ویندوز
معمولا کاربر مایکروسافت ویندوز یکی از توزیعهای دودویی Perl را برای ویندوز۳۲، گاها ,Active Perl Strawberry پایه گذاری میکنند. کامپایل زبان برنامه نویسی پرل از کد منبع در ویندوز است، علت وجود نصب ماژول های cpan برای این خاطر است که بسیاری از تأسیسات کامپایلر، C مورد نظر را ایجاد نمیکنند. به خصوص ابزاری که در C نوشته شدهاست.
زبان برنامه نویسی PERL یک نوع زبان تفسیر است، توانائی ارائه کارایی درحین مشکلها را دارد. در چنین شرایط سخت، برنامههای مهم میتوانند بر روی زبانهای دیگری چون زبان C نوشته بشوند، که بتوانند با انعطاف بیشتر به Perl متصل شده آن هم از طریق مکانیسم XS یا ماژولهای ساده Inline.
ماژول های cpan
نسخه ۶
در کنفرانس سال ۲۰۰۰، Jon Orwant نسخه ای برای یک زبان جدید ساخت. این حرکت Jon Orwant تصمیمی برای شروع به کار بر روی طراحی کردن مجدد زبانی به نام پرل نسخه ۶، منجر شد.
پیشنهادهای فراوانی مربوط به خصوصیات جدید زبان از جانب جامعه ی پرل ارائه و به طور انبوه که حدودا بیش از RFC300 درخواست شد.
چند سال بعد از سال۲۰۰۰، لری وال به تشخیص RFCها و ترکیب کردن آنها برای پرل نسخه ۶ و تبدیل به یک چارچوب منظم مشغول بکار شد. او طراحی خود را در مجموعهای به نام “apocalypses” از اسناد برای نسخه ۶ پرل ارائه کرده است که شماره گذاری آن مربوط به فصلهای برنامهنویسی پرل است.
نسخه ۵ و نسخه ۶ زبان برنامه نویسی پرل کاملا از هم متمایز ولی از یک خانواده هستند.
قابلیت نوشتن در کدهای مخرب و اکسپولییت ها یکی از کاربردهای زبان پرل است قابلیت استفاده از این زبان در یونیکس بسیار پیشینه ی قدیمی دارد ولی برای ویندوز حدود ۷سال هم نشده است.بطورکلی زبان پرل، به زبانی جدا نشدنی از سیستم عامل یونیکس معروف می باشد.
نسخه 6
کاربرد زبان برنامه نویسی PERL
کاربرد زبان پرل امروزه در زمینههای مختلفی چون تحقیقاتی، هوش مصنوعی، صنعتی،ژنتیک، نظامی، تحقیقاتی،اتوماسیون،بیوانفورماتیک،طراحی سایت،طراحی اپلیکیشن،طراحی بازی ها بطورفراوانی به وضوح دیده می شود.شاید نوشتن یک صفحهگسترده، بانک اطلاعاتی یا حتی یک وب سرور با پرل کار عاقلانه و درستی به ظاهر نباشد، ولی ممکن است.
پرل یک زبان چسبنده است یعنی میتواند در زبانهای دیگری نیز مورد استفاده قرار بگیرد. مثلا در برنامههای دات نت میتوان از زبان پرل برای پردازش متن یا هر چیزی در چهارچوب استفاده کرد. این ویژگی چسبنده زبان تنها به دات نت محدود نیست زیرا پرل را میتوان در زبانهای برنامهنویسی دیگری استفاده کرد.
نرمافزاری که با زبان برنامه نویسی پرل نوشته شده و تحت سیستمعاملی چون مک اواس یا لینوکس است، بر روی سیستمعامل یونیکس و مایکروسافت ویندوز هم اجرا می گردد. این قابلیت باعث توسعه نرمافزار بر روی هر سیستم عاملی را فراهم میسازد.در کنار این مقاله نگاهی به برنامه نویسی اندروید با پایتون نیز خواهیم داشت.
نمونه ی برنامه زبان پرل
در نمونه ای از پرل که قبلا مورد استفاده قرار میگرفت برای نوشتن در برنامه به شکل زیر انجام میشده:
# !/usr/bin/per1
Print “Hello maktabkhooneh.org!” ;
1
2
3
# !/usr/bin/per1
Print “Hello maktabkhooneh.org!” ;
در نمونه ی جدیدتر از دستور say در نوشتن استفاده میشده که یک روش مطابق دستور زیر است:
# !/usr/bin/per1
Use 5.01;
Say “Hello maktabkhooneh.org!”;
1
2
3
4
5
# !/usr/bin/per1
Use 5.01;
Say “Hello maktabkhooneh.org!”;
برای بهترکردن نوشتن نیاز به کارهای بیشتری چون اضافه کردن کد برنامه مثل use warnings; و;use strict به برنامه بوده است:
Use strict;
Use warninigs;
Print “Hello maktabkhooneh.org!\n”;
1
2
3
4
5
Use strict;
Use warninigs;
Print “Hello maktabkhooneh.org!\n”;
در هر حال پرل یکی از زبان های برنامه نویسی است که درجهان طرفدارهای به خصوص خودش را دارد ورتبه ۱۰ را در جدول بهترین برنامه نویسی های دنیا دارد.
خصوصیات زبان برنامه نویسی PERL
سریع بودن
قابل اعتماد بودن
بسیارمهیج بودن و سرگرم کننده
دارا بودن (CPAN )(Componencive Perl Archive Network
پرل از برنامه های شی گرا و رویه ای پشتیبانی می کند.
پشتیبانی از یونیکد
سازگار با y2k
اتصال با c/c++ با استفاده از swig یا xs
دارای بیست هزار ماژول و قابل انعطاف
مدیریت سیستم
برنامه نویسی شبکه
توسعه وب
وب سایتهای بسیار زیادی با زبان پرل طراحی شده اند مثل سایت های:
Booking
LiveJurnal
IMDB
افرادی که با زبان php کار کرده اند به راحتی می توانند این زبان را آموزش ببینند،قبل از هر چیزی برای یادگیری پرل حتما باید به زبان Unix shell و C تسلط کافی داشته باشید.
آموزش زبان فرُار می باشد طوری که هرکس بخواهد آموزش ببیند باید شیوه الگویتم نوشتن را بلد باشد مدت زمان یادگیری ها نیز متغیر خواهد بودمثلا مدت زمان یادگیری مقدماتی،متوسط،پیشرفته تقسیم بندی می شوند بطور کلی پرل یک زبان پایدار میباشد و از امکانات و خواص زبانهای basic، awk،sh استفاده می کند.
می توان از پرل در پروژه های اعتباری استفاده کرد. پایگاه داده پرل از پایگاه داده های postgres ،mysql ،sybase و… پشتیبانی می کند.توانایی کار با Htmlرا داراست.
پرل تفسیرشده
تفسیر به این معنی است که کدی را اجرا بکنید بدون اینکه مرحله ی کاملی را اجرا کرده باشید. این زبان،کامپایلر سنتی را به زبان ماشینی تبدیل می سازد.
برای نصب پرل میتوانید از مرورگرهای دانلود پرل استفاده کنید و آنرا روی سیستم خود نصب نمایید و آموزش خود را شروع نمایید.
آموزش ها
مبانی پرل
کار با سینتکس
انواع داده
ساختارهای تصمیم گیری
توابع،انواع متغیرها
اسکالر
حلقه ها
آرایه ها و if،else
اپراتورها زمان وتاریخ و…
هرکدام مقوله ی جدایی برای یادگیری دارد.
اموزش برنامه نویسی پایتون
زبان پرل علاوه بر پیاده سازی روی سیستم عامل یونیکس قابل اجرا برروی os/2،ویندوز nt،dos هست که باعث اهمیت پرل بین برنامه نویسان شده است،برنامه نویسان با تغییر اندکی بر پلتفرم ها، پرل قابل اجرا می باشد.
برای طراحی اپلیکیشن های موبایل از زبان برنامه نویسی PERL استفاده می شود زیرا گوگل پلی این شرایط را فراهم نموده است اما در مورد سیستم عامل iosهنوز در حال توسعه می باشد.در کنار این مطلب نگاهی به مقاله ی دانستنی های هک با پایتون نیز داشته باشید.
اطلاعات کامل در مورد زبان برنامه نویسی PERL
زبان برنامه نویسی PERL یک زبان برنامه نویسی با سطح بالا، که ساختارش شبیه به زبان برنامه c دارد. پیشینه زبان برنامه نویسی پرل توسط لری وال در سال ۱۹۸۷ منتشر گردید، معنی اصلی این کلمه به معنای مروارید است.
این زبان همه منظوره و دینامیک می باشد. پرل بعضی از خصوصیات زبانهایی چون Sed ،Sh lisp ،Awk را دارا می باشد و در اکثر سیستم عامل ها کاربرد دارد زبان برنامه نویسی پرل برای فایلهای نوشتنی مورد استفاده قرار میگیرد. در ادامه مطلب آموزش یادگیری ماشین لرنینگ با پایتون نیز برای شما مفید خواهد بود.
مخترع زبان پرل لری وال متولد سال ۱۹۵۴ آمریکا است وی نویسنده، زبان شناس و همینطور برنامه نویس است بیشترین شهرت وی بخاطرنوشتن زبان پرل می باشد.
اطلاعات کامل در مورد زبان برنامه نویسی PERL
دنیای برنامه نویسی بسیارگسترده است. هر زبان خصوصیات و ویژگی و کدهای دستوری مختص به خود را دارد که ما در اینجا میخواهیم در رابطه با خصوصیات زبان برنامه نویسی PERL و کاربردش آشنا شویم.
برنامه نویسی زبان کاملا ساده ای که حاوی مجموعه ای از دستورالعملهاست که به صورت کد و تکیه بر قانون های معین نوشته و به کامپیوتر داده می شود تا چه کاری را باید انجام دهد.
زبانی که از طریق آن با کامپیوتر ارتباط برقرار و به آن می گویید که باید چه کاری را انجام دهد، زبان برنامه نویسی اطلاق می شود. برنامه نویسی این امکان را برای برنامه نویسان فراهم کرده که در زمینه برنامه نویسی مثل ابزارهای پیچیده برنامه نویسی، محاسبه نوآوری داشته باشند.
ویدیو پییشنهادی : آموزش پایتون جادی
این به این منظور است که دو برنامه نویس یک وظیفه را با دو زبان برنامه نویسی مختلف بنویسند و اجرا نمایند که کاملا به علم آن دو نسبت به زبان برمی گردد.
کاربرد زبان برنامه نویسی PERL
زبان برنامه نویسی PERL بصورتی بود که بر پایه سیستم عامل یونیکس (چندکاربره) پایه گذاری شد و روند گزارش گیری را راحت ساخت، همینطور روی ویندوز ماکروسافت نیز در حال اجرا می باشد.
در سال ۲۰۰۰ نسخه ۶ زبان برنامه نویسی پرل که در واقع تکمیل نسخه ۵ شروع به بازنگری کرد در واقع لری وال نسخه ۵ پرل را بر پایه نسخه ۴ زبان برنامه نویسی PERL جمع آوری و در سال ۱۹۹۴ منتشر کرد.
زبان برنامه نویسی perl چیست؟
ویژگی های بسیاری به نسخه ۵ زبان برنامه نویسی پرل اضافه شد از جمله ویژگی ها:
متغیرهای واژگانی و ماژول ها
اشیاء
ماژول های مکانیسمی و مراجع
پونی یک کلمه ی مخفف برای زبان پرل و پلی برای ارتباط نسخه ۵ پرل با نسخه ۶ بود هدف این پروژه تضمین کردن میلیونها خط برنامه در نسخه ۵ پرل برای هزاران شرکت در جهان بود که نسخه ۵ بازنویسی مفسر شود و روی ماشین نسخه ۶ اجرا گردد.
نماد زبان برنامه نویسی PERL
اصولا نماد زبان برنامه نویسی PERL را با شکل شتر نشان میدهند که نمادی غیر رسمی شناخته شده است.نماد جایگزین توسط بنیاد پرل یک پیاز است در پیاز مروارید نماد پیانو بصری است که به شرکت های Perl Mongers, Perl.org, PerlMonks مجوز می دهد.
ویژگی ها
ویژگی های زبان برنامه نویسی پرل به طورکلی همانند ساختار زبان c می باشد در واقع با متغیرها و ساختارهای سابروتین است. همه ی متغییرها با سیگیل (sigil) پیشرو که به متغیرها این اجازه را میدهد که در رشته ها به طور مستقیم تکرار بشوند.
ویژگی ها
کاربرد sigil
در زبان پرل این امکان را می دهد که نشانگر بیان نوع نماد است تا نوع متغیر مثلا: sigil برای دسترسی به لیستی از مقادیر در هش برای آرایه (نماد “a”)مورد استفاده قرار می گیرد تا اینکه بخواد برای متغیر (“%”) کاربرد داشته باشد. باهم نگاهی به مقاله ی آموزش علم داده (Data Science) با پایتون نیز داریم.
زبان پرل در واقع کار برنامه نویسی را راحت و سریع کرد بطوریکه جوابگوی بسیاری از سخت افزار کامپیوترهای گران قیمتی که با برنامه c و فروترن کار میکردند.متن باز بودن این زبان خیلی حائز اهمیت است. یک مترجم زبان برنامه نویسی پرل حدودا به یک فاز کامپایل تقسیم و به مرحله اجرا می رسد.
ویندوز
معمولا کاربر مایکروسافت ویندوز یکی از توزیعهای دودویی Perl را برای ویندوز۳۲، گاها ,Active Perl Strawberry پایه گذاری میکنند. کامپایل زبان برنامه نویسی پرل از کد منبع در ویندوز است، علت وجود نصب ماژول های cpan برای این خاطر است که بسیاری از تأسیسات کامپایلر، C مورد نظر را ایجاد نمیکنند. به خصوص ابزاری که در C نوشته شدهاست.زبان برنامه نویسی PERL یک نوع زبان تفسیر است، توانائی ارائه کارایی درحین مشکلها را دارد. در چنین شرایط سخت، برنامههای مهم میتوانند بر روی زبانهای دیگری چون زبان C نوشته بشوند، که بتوانند با انعطاف بیشتر به Perl متصل شده آن هم از طریق مکانیسم XS یا ماژولهای ساده Inline.
ماژول های cpan
نسخه ۶
در کنفرانس سال ۲۰۰۰، Jon Orwant نسخه ای برای یک زبان جدید ساخت. این حرکت Jon Orwant تصمیمی برای شروع به کار بر روی طراحی کردن مجدد زبانی به نام پرل نسخه ۶، منجر شد.
پیشنهادهای فراوانی مربوط به خصوصیات جدید زبان از جانب جامعه ی پرل ارائه و به طور انبوه که حدودا بیش از RFC300 درخواست شد.
چند سال بعد از سال۲۰۰۰، لری وال به تشخیص RFCها و ترکیب کردن آنها برای پرل نسخه ۶ و تبدیل به یک چارچوب منظم مشغول بکار شد. او طراحی خود را در مجموعهای به نام “apocalypses” از اسناد برای نسخه ۶ پرل ارائه کرده است که شماره گذاری آن مربوط به فصلهای برنامهنویسی پرل است.
نسخه ۵ و نسخه ۶ زبان برنامه نویسی پرل کاملا از هم متمایز ولی از یک خانواده هستند.
قابلیت نوشتن در کدهای مخرب و اکسپولییت ها یکی از کاربردهای زبان پرل است قابلیت استفاده از این زبان در یونیکس بسیار پیشینه ی قدیمی دارد ولی برای ویندوز حدود ۷سال هم نشده است.بطورکلی زبان پرل، به زبانی جدا نشدنی از سیستم عامل یونیکس معروف می باشد.
کاربرد زبان برنامه نویسی PERL
کاربرد زبان پرل امروزه در زمینههای مختلفی چون تحقیقاتی، هوش مصنوعی، صنعتی،ژنتیک، نظامی، تحقیقاتی،اتوماسیون،بیوانفورماتیک،طراحی سایت،طراحی اپلیکیشن،طراحی بازی ها بطورفراوانی به وضوح دیده می شود.شاید نوشتن یک صفحهگسترده، بانک اطلاعاتی یا حتی یک وب سرور با پرل کار عاقلانه و درستی به ظاهر نباشد، ولی ممکن است.
پرل یک زبان چسبنده است یعنی میتواند در زبانهای دیگری نیز مورد استفاده قرار بگیرد. مثلا در برنامههای دات نت میتوان از زبان پرل برای پردازش متن یا هر چیزی در چهارچوب استفاده کرد. این ویژگی چسبنده زبان تنها به دات نت محدود نیست زیرا پرل را میتوان در زبانهای برنامهنویسی دیگری استفاده کرد.
نرمافزاری که با زبان برنامه نویسی پرل نوشته شده و تحت سیستمعاملی چون مک اواس یا لینوکس است، بر روی سیستمعامل یونیکس و مایکروسافت ویندوز هم اجرا می گردد. این قابلیت باعث توسعه نرمافزار بر روی هر سیستم عاملی را فراهم میسازد.در کنار این مقاله نگاهی به برنامه نویسی اندروید با پایتون نیز خواهیم داشت.
نمونه ی برنامه زبان پرل
در نمونه ای از پرل که قبلا مورد استفاده قرار میگرفت برای نوشتن در برنامه به شکل زیر انجام میشده:
# !/usr/bin/per1
Print “Hello maktabkhooneh.org!” ;
1
2
3
# !/usr/bin/per1
Print “Hello maktabkhooneh.org!” ;
در نمونه ی جدیدتر از دستور say در نوشتن استفاده میشده که یک روش مطابق دستور زیر است:
# !/usr/bin/per1
Use 5.01;
Say “Hello maktabkhooneh.org!”;
1
2
3
4
# !/usr/bin/per1
Use 5.01;
Say “Hello maktabkhooneh.org!”;
برای بهترکردن نوشتن نیاز به کارهای بیشتری چون اضافه کردن کد برنامه مثل use warnings; و;use strict به برنامه بوده است:
Use strict;
Use warninigs;
Print “Hello maktabkhooneh.org!\n”;
1
2
3
4
5
Use strict;
Use warninigs;
Print “Hello maktabkhooneh.org!\n”;
در هر حال پرل یکی از زبان های برنامه نویسی است که درجهان طرفدارهای به خصوص خودش را دارد ورتبه ۱۰ را در جدول بهترین برنامه نویسی های دنیا دارد.
خصوصیات زبان برنامه نویسی PERL
سریع بودن
قابل اعتماد بودن
بسیارمهیج بودن و سرگرم کننده
دارا بودن (CPAN )(Componencive Perl Archive Network
پرل از برنامه های شی گرا و رویه ای پشتیبانی می کند.
پشتیبانی از یونیکد
سازگار با y2k
اتصال با c/c++ با استفاده از swig یا xs
دارای بیست هزار ماژول و قابل انعطاف
مدیریت سیستم
برنامه نویسی شبکه
توسعه وب
وب سایتهای بسیار زیادی با زبان پرل طراحی شده اند مثل سایت های:
Booking
LiveJurnal
IMDB
افرادی که با زبان php کار کرده اند به راحتی می توانند این زبان را آموزش ببینند،قبل از هر چیزی برای یادگیری پرل حتما باید به زبان Unix shell و C تسلط کافی داشته باشید.
آموزش زبان فرُار می باشد طوری که هرکس بخواهد آموزش ببیند باید شیوه الگویتم نوشتن را بلد باشد مدت زمان یادگیری ها نیز متغیر خواهد بودمثلا مدت زمان یادگیری مقدماتی،متوسط،پیشرفته تقسیم بندی می شوند بطور کلی پرل یک زبان پایدار میباشد و از امکانات و خواص زبانهای basic، awk،sh استفاده می کند.
می توان از پرل در پروژه های اعتباری استفاده کرد. پایگاه داده پرل از پایگاه داده های postgres ،mysql ،sybase و… پشتیبانی می کند.توانایی کار با Htmlرا داراست.
پرل تفسیرشده
تفسیر به این معنی است که کدی را اجرا بکنید بدون اینکه مرحله ی کاملی را اجرا کرده باشید. این زبان،کامپایلر سنتی را به زبان ماشینی تبدیل می سازد.
برای نصب پرل میتوانید از مرورگرهای دانلود پرل استفاده کنید و آنرا روی سیستم خود نصب نمایید و آموزش خود را شروع نمایید.
آموزش ها
مبانی پرل
کار با سینتکس
انواع داده
ساختارهای تصمیم گیری
توابع،انواع متغیرها
اسکالر
حلقه ها
آرایه ها و if،else
اپراتورها زمان وتاریخ و…
هرکدام مقوله ی جدایی برای یادگیری دارد.
ویدیو پییشنهادی : آموزش برنامه نویسی پایتون
آموزش برنامه نویسی پایتون
زبان پرل علاوه بر پیاده سازی روی سیستم عامل یونیکس قابل اجرا برروی os/2،ویندوز nt،dos هست که باعث اهمیت پرل بین برنامه نویسان شده است،برنامه نویسان با تغییر اندکی بر پلتفرم ها، پرل قابل اجرا می باشد.
برای طراحی اپلیکیشن های موبایل از زبان برنامه نویسی PERL استفاده می شود زیرا گوگل پلی این شرایط را فراهم نموده است اما در مورد سیستم عامل iosهنوز در حال توسعه می باشد.در کنار این مطلب نگاهی به مقاله ی دانستنی های هک با پایتون نیز داشته باشید.
منبع
https://maktabkhooneh.org/