مطالب یافت شده برای دسته بندی : برنامه نویسی

مقایسه زامارین و اندروید استودیو


بعد از اینکه مقاله مقایسه محیط های برنامه نویسی اندروید رو منتشر کردیم بازخورد خوبی از کاربران سایت گرفتیم چون خیلی ها اصلا نمیدونستند محیط های دیگری برای برنامه نویسی اندروید وجود دارد. در این مقاله میخواهم مقایسه زامارین و اندروید استودیو رو انجام دهم. تا ببینیم برای برنامه نویسی اندروید، بهتر است از اندروید استودیو استفاده کنیم یا به سمت زامارین برویم.
در اینترنت مقالات عجیب غریبی در مورد زامارین یا اندروید استودیو وجود دارد طوری که هر کسی به صورت کاملا بی انصافانه و بر اساس تعصب خودشون یکی رو زمین زدند. در این مقاله که با عنوان مقایسه زامارین و اندروید استودیو قرار نیست بگیم کدوم به درد نمی خورد. چون هر کدام قدرت خودش را دارد. مثلا اندروید استودیو توسط گوگل پشتیبانی می شود و زامارین توسط مایکروسافت، پس نمی توان گفت فعلا زبان یا تکنولوژی بدرد نمی خورد. پس همراه ما باشید تا مقایسه ای بین زامارین و اندروید استودیو انجام دهیم.

مقایسه زامارین و اندروید استودیو

قبل از اینکه شروع به مقایسه زامارین و اندروید استودیو کنیم این نکته رو فراموش نکنیم که زامارین و اندروید استودیو، هر دو فوق العاده هستند اما ما باید بر اساس نیازمون یکی رو انتخاب کنیم. پس این فکر رو از سرتون در بیارید که مثلا اندروید استودیو خوب نیست یا زامارین راهی احمقانه هستش، هر دو در جایگاه خودشون واقعا خوب هستند و جای هیچ شکی نیست ولی باید بر اساس کارمون یکی رو انتخاب کنیم.

مقایسه زامارین و اندروید استودیو

اولین گام در مقایسه زامارین و اندروید استودیو، تعریف هر کدام به صورت جدا و مستقل می باشد. باید ابتدا بگیم چی هستند چه کاربردی دارند و به چه دردی می خورند بعد در مورد مزایا و معایب هر کدام صحبت کنیم و در آخر هم میگیم در چه زمانی باید کدام رو انتخاب کنیم.

زامارین چیست؟

اگر بخوام به صورت خودمونی بگم زامارین چیه، باید گفت یک تکنولوژی برای ساخت برنامه های موبایلی است. یکی از خوبی های زامارین اینه می تونی برای اندروید، ios و ویندوز موبایل، هر نوع اپلیکیشنی دوست داری بنویسی و دست به شدت باز است. زامارین ابزاری نوین (و زیر مجموعه کمپانی قدرتمند مایکروسافت) است که برای طراحی و ساخت نرم افزارهایی با قابلیت استفاده در تمام گوشی های موبایل تحت سیستم های عامل متفاوت بکار گرفته میشود. 

به عبارت دیگر: زمانی که شما با استفاده از زبان C# (سی شارپ) اقدام به ساخت اپلیکیشنی در فضای زامارین می کنید، دیگر نیازی به تغییر یا بازنویسی آن (مثلاً به زبان جاوا و…) جهت استفاده در دیگر پلت فرم ها ندارید. در واقع میتوان گفت زامارین یک ابزار برنامه نویسی چند سکوییست.

Xamarin نام شرکتی است که ابزارهای توسعه نرم افزار تجاری تولید می کند. این شرکت با استفاده از پروژه متن باز Mono بستری را فراهم می آورد که بتوان با استفاده از #C و NET. بتوان برنامه هایی برای اندروید و OS X و IOS ساخت. Xamarin برای ساخت برنامه های اندروید محصول Xamarin.Android را به بازار عرضه کرده است. 

مزایایی استفاده از زامارین

بعد از اینکه گفتیم xamarin چیست حالا میخواهیم مزایای زامارین رو مورد بررسی قرار دهیم و ببینیم برنامه نویسی زامارین چه مزایایی دارد. در بخش زیر تعدادی از مزایایی زامارین رو آورده ایم:

۱ امکان انتقال کدها میان اپلیکیشنهای ساخته شده با استفاده از زامارین صرف نظر از ساختار پلت فرمی که در آن قرار دارد.

۲ زامارین تنها چارچوبیست که در هر قالب پلت فرمی ویژگیهای اپلیکیشن های (native) آن پلت فرم را به خوبی به خود میگیرد. (native app به اپلیکیشن هایی گفته میشود که در محیط نرم افزاری مختص به پلت فرمی خاص ساخته میشود. مثلاْ برای استفاده در پلت فرم اندروید در اپلیکیشنی را در Android studio طراحی کنیم.)

۳ امکان ساخت اپلیکیشن های (IOS – Android – Windows phone ) با قابلیت انتقال کدهای یکسان (تا حدود ۹۶%)

۴ [portable class librariries] که به شما امکان استفاده مجدد از کدها را داده و درعین حال تعداد پروژه ها را کاهش میدهد.

۵ امکان اضافه کردن مؤلفه هایی شامل نمودارها، جداول، نمایه های زیبا، [UI control] ها و… بصورت مستقیم از [IDE].

۶ با قالب زامارین رابط طراحی هر سه پلتفرم بصورت مشترک با چارچوب اساسی [XAML] خواهد بود.

معایب استفاده از زامارین

بعد از اینکه در مورد مزایای زامارین صحبت کردیم حال تعدادی از مشکلات و معایب آن رو در بخش زیر قرار داده ایم:

  • دارا بودن لایسنس: Xamarin.Android همانند Xamarin.IOS و Xamarin.OS x ابزارهای تجاری هستند و باید خریداری شوند. البته در کشور ما این مشکل حادی نیست.
  • انتظار برای آپدیت: در اکثر مواقع وقتی که یک نسخه از اندروید به بازار عرضه می شود مدت زمانی طول می کشد که شرکت Xamarin نرم افزار خود را آپدیت کند تا این نرم افزار با آخرین نسخه اندروید سازگار باشد.
  • کارایی (performance) و مدیریت حافظه: گاهی اوقات گفته می شود که استفاده از زبان #C برای توسعه برنامه های اندروید سرعت را کاهش می دهد ولی هنوز اندازه گیری و ارزیابی درستی از این قضیه به عمل نیامده است.

توجه: اگر می خواهید در مورد تکنولوژی زامارین بیشتر بدونید پیشنهاد میکنم مقاله زامارین چیست و مزیت های استفاده از آن رو حتما مطالعه کنید.

اندروید استودیو در مقایسه زامارین و اندروید استودیو

اندروید استودیو چیست؟

اندروید استودیو را می توان رسمی ترین محیط برنامه برنامه نویسی اندروید خواند. اندروید استودیو توسط شرکت بزرگ گوگل ساخته شده است و تمام اسناد رسمی به آن ارجاع داده میشوند. می توان گفت اندروید استودیو، بیشترین پشتیبانی را دریافت میکند. طوری که به صورت تخصص برای توسعه اندروید ساخته شده است و از حقم نگذریم کار شما را برای برنامه نویسی اندروید به شدت آسان می کند. 

یکی از مشکلاتی که به اندروید استودیو می گیرند مشکلات زیاد هنگام نصب آن می باشد که می توانید برای این کار به مقالات آموزش نصب اندروید استودیو و مشکل در اجرای Android Studio رجوع کنید. در این مقالات به صورت کامل در مورد نصب و رفع مشکلات این محیط برنامه نویسی صحبت کرده ایم.

یکی از مزیت های استفاده از این IDE (محیط برنامه نویسی) این است که به راحت ترین شکل ممکن میتوانید از روش های نوین طراحی گوگل باخبر بشوید و کتابخانه های جدید را برای پروژه های خود پیدا کنید. اگر هم میخواهید به عنوان یک توسعه دهنده استخدام بشوید، یکی از راه های یادگیری، کار کردن با اندروید استودیو میباشد. همچنین اگر میخواهید در آینده اپلیکیشن خود را به فروش برسانید، یک ایده خوب استفاده از این محیط برنامه نویسی اندروید به همراه زبان جاوا است.

برای برنامه نویسی در محیط اندروید استودیو باید از زبان های جاوا و Android SDK استفاده کنید. اگر نمی دونید SDK چیست باید بگویم مخففSoftware Development Kit یا کیت توسعه نرم افزار میباشد. این SDK کار شما برای برنامه نویسی را راحتر می کنند. برای کار کردن با زبان جاوا باید از قبل این کیت یا همان SDK را روی کامپیوتر خود نصب کرده باشید. این محیط برنامه نویسی به شما اجازه میدهد که به چیز هایی مانند دکمه ها و دیگر المان های رابط کاربری دسترسی داشته باشید و خیلی راحت بتوانید آرایش این المان ها را در اپلیکیشن خودتان تغییر بدهید.

مزایای استفاده از اندروید استودیو

  • ورود Gradle به اندوید استودیو
  • سیستم خطا یابی پیشرفته
  • پشتیبانی از آخرین نسخه جاوا
  • Monitoring فوق العاده قوی
  • امکانات جانبی پیشرفته (ساخت عکس از نوع xml و vector)
  • فشرده سازی کد در اندروید استودیو حدودا ۴ برابر افزایش یافت
  • مدیریت بهتر package با استفاده Project Structure
  • استفاده از کد های C و C++ در اندروید
  • طولانی بودن زمان index و build در گریدل بین ۳۰ تا ۴۰ ثانیه در صورتی که پروژه کمی سنگین باشد
  • امکان مترال دیزان کردن به صورت ۰ تا ۱۰۰ وجود دارد.
  • بازی سازی در آن آسان است.
  • پشتیبانی از زبان Kotlin

معایب استفاده از اندروید استودیو

  • بالا بودن حجم اندروید استودیو
  • سنگین بودن اندروید استودیو باید از نظر سخت افزاری سیستم قوی با کش بالا داشته باشید
  • بالا بودن حجم sdk در اندروید استودیو
  • گیر کردن و کرش دادن اندروید استودیو (در ابتدا android studio با باگ صفحه سیاه معروف شده بود)
  • حل کردن خطا های اندروید استودیو در بخش گریدل غیر ممکن بود (باز این عیب اندروید استودیو به ورژن های قدیمی برمی گردد)
  • اندازه اصلی sdk در اندروید استودیو حدودا ۶۰ گیگ می باشد

زامارین یا اندروید استودیو

تا این لحظه حتما دستتون امده هر کدام چیا دارند و به چه دردی میخورند اما بین این دو باید کدوم رو انتخاب کنیم؟ واقعا سخته بخوایم بین زامارین یا اندروید استودیو یکی رو انتخاب کنیم. وقتی مقایسه زامارین و اندروید استودیو رو مطالعه می کنید متوجه می شوید که هر کدام قدرت خودش رو دارد و نمی توان گفت یکیشون به درد نمی خورد. واقعیت امر اینه که هر کدام در جایگاه خود فوق العاده هستند. اما واقعا بین زامارین یا اندروید استودیو کدام یک رو انتخاب کنیم. در بخش پایین چند نکته میگم و بر اساس این نکته ها یکی رو انتخاب کنید. 

نکته اول: اگر شما سی شارپ کار هستید یعنی قبلا برنامه نویس سی شارپ بوده اید و به سی شارپ آشنا هستید بهتر هستش زامارین رو انتخاب کنید چون خیلی خیلی سریع به مقصد و هدف خود میرسید و راحتر می توانید پیشرفت کنید. 

نکته دو: اگر حوصله درگیری با پیچیدگی های جاوا رو ندارید و براتون گنگ هستش بهتر هست بازم زامارین رو انتخاب کنید چون واقعیت این است که زامارین پیچیدگی های جاوا رو ندارد و شما رو زیاد اذیت نمی کند.

نکته سه: در صورتی که شامل دو گزینه بالا نمی شوید اندروید استودیو رو انتخاب کنید چون گزینه ای جذاب و دوست داشتنی هستش و می توان از آن برای نوشتن هر نوع اپلیکیشنی استفاده کرد. پس اگر سی شارپ کار نیستید و با پیچیدگی های جاوا مشکلی ندارد بهترین گزینه همین اندروید استودیو می باشد.

نتیجه گیری:
زامارین و اندروید استودیو واقعا فوق العاده هستند و شکی در این موضوع نیست و این شما هستید که بر اساس شرایط و وضعیت خود یکی رو انتخاب می کنید. اگر شما بخواهید مقایسه زامارین و اندروید استودیو رو انجام دهید به چه چیزهایی اشاره می کنید لطفا تجربیات خود در زمینه مقایسه زامارین و اندروید استودیو را در بخش نظرات همین مطلب بنویسید.

پیشنهاد: اگر به دنبال یادگیری برنامه نویسی اندروید هستید پیشنهاد میکنم حتما مقاله مقایسه محیط های برنامه نویسی اندروید رو مطالعه کنید کافیه روی تصویر زیر کلیک کنید.

محیط های برنامه نویسی اندروید

مقایسه محیط های برنامه نویسی اندروید


معمولا کسانی که می خواهند وارد حوزه برنامه نویسی اندروید شوند اولین چیزی که فکرشون رو مشغول می کند محیط برنامه نویسی اندروید می باشد. به شخصه تعداد زیادی از کاربران در بخش نظرات سایت یا در تلگرام در مورد محیط برنامه نویسی اندروید سوال پرسیدند و درخواست معرفی یک محیط خوب برای برنامه نویسی اندروید رو داشته اند.
با دیدن این میزان درخواست به فکر این افتادم که یک مقاله جامع در مورد مقایسه محیط های برنامه نویسی اندروید بنویسیم و شروع به معرفی محیط های برنامه نویسی اندروید با توضیحات کامل کنم تا کاربران بتوانند بر اساس این توضیحات یک محیط قوی و ساده رو انتخاب کنند.

این موضوع رو هم در نظر بگیرید برای نوشتن و ساخت اپلیکیشن اندروید چندین راه خوب و عالی وجود دارد و این شمایید که انتخاب می کنید از کدام مسیر بروید. تمام این مسیرها شما را به خواستتون میرسونند. اما انتخاب محیط برنامه نویسی اندروید مناسب، میتواند مقدار زیادی از وقت و انرژی را برای شما ذخیره کند. حتی ممکن است فاصله ی میان شکست و پیروزی شما، همین انتخاب باشد. برای این موضوع باید مثالی بزنم تا کامل دستتون بیاد منظورم چی هستش، به عنوان مثال اگر بخواهید یک بازی ۲بعدی بسیار ساده را با استفاده از اندروید استودیو و دانش خودتان بسازید، صد ها ساعت وقت را هدر میدهید در حالیکه نمیتوانید نتیجه ای مشابه با موتور بازی سازی Unity دریافت کنید.

مقایسه محیط های برنامه نویسی اندروید

یکی از مشکلات ما برای برنامه نویسی اندروید عدم آگاهی نسب به محیط های برنامه نویسی اندروید می باشد متاسفانه تنها محیطی که با آن آشنا هستیم محیط برنامه نویسی اندروید می باشد. در این مقاله ۱۰ محیط جذاب برای برنامه نویسی اندروید رو معرفی می کنیم که شما می توانید یکی رو انتخاب کنید.

مقایسه محیط های برنامه نویسی اندروید

برای مقایسه محیط های برنامه نویسی اندروید ابتدا ۸ محیط جذاب و دوست داشتنی رو معرفی می کنیم و بعد هر کدام را به صورت جداگانه معرفی و امکاناتش رو مورد بررسی قرار میدهیم. 

  • اندروید استودیو Android Studio
  • ای کلیپس Eclipse
  • زامارین Xamarin
  • بیسیک فور اندروید B4A
  • یونیتی Unity
  • نت بینز NetBeans
  • پایتون Python
  • فون گپ PhoneGap

محیط برنامه نویسی اندروید استودیو

۱- محیط برنامه نویسی اندروید استودیو Android Studio

وقتی صحبت از برنامه نویسی اندروید می شود اولین محیطی که در ذهن تداعی می شود محیط برنامه نویسی اندروید استودیو می باشد. اندروید استودیو را می توان رسمی ترین محیط برنامه برنامه نویسی اندروید خواند. اندروید استودیو توسط شرکت بزرگ گوگل ساخته شده است و تمام اسناد رسمی به آن ارجاع داده میشوند. می توان گفت اندروید استودیو، بیشترین پشتیبانی را دریافت میکند. طوری که به صورت تخصص برای توسعه اندروید ساخته شده است و از حقم نگذریم کار شما را برای برنامه نویسی اندروید به شدت آسان می کند. 

توجه: یکی از ویژگی های خوب محیط اندروید استودیو، بروزرسانی مرتبط آن می باشد؛ که همین امر باعث ساده شدن کد نویسی و بهتر شدن محیط می شود.

یکی از مشکلاتی که به اندروید استودیو می گیرند مشکلات زیاد هنگام نصب آن می باشد که می توانید برای این کار به مقالات آموزش نصب اندروید استودیو و مشکل در اجرای Android Studio رجوع کنید. در این مقالات به صورت کامل در مورد نصب و رفع مشکلات این محیط برنامه نویسی صحبت کرده ایم.

یکی از مزیت های استفاده از این IDE این است که به راحت ترین شکل ممکن میتوانید از روش های نوین طراحی گوگل باخبر بشوید و کتابخانه های جدید را برای پروژه های خود پیدا کنید. اگر هم میخواهید به عنوان یک توسعه دهنده استخدام بشوید، یکی از راه های یادگیری، کار کردن با اندروید استودیو میباشد. همچنین اگر میخواهید در آینده اپلیکیشن خود را به فروش برسانید، یک ایده خوب استفاده از این محیط برنامه نویسی اندروید به همراه زبان جاوا است.

برای برنامه نویسی در محیط اندروید استودیو باید از زبان های جاوا و Android SDK استفاده کنید. اگر نمی دونید SDK چیست باید بگویم مخفف Software Development Kit یا کیت توسعه نرم افزار میباشد. این SDK کار شما برای برنامه نویسی را راحتر می کنند. برای کار کردن با زبان جاوا باید از قبل این کیت یا همان SDK را روی کامپیوتر خود نصب کرده باشید. این محیط برنامه نویسی به شما اجازه میدهد که به چیز هایی مانند دکمه ها و دیگر المان های رابط کاربری دسترسی داشته باشید و خیلی راحت بتوانید آرایش این المان ها را در اپلیکیشن خودتان تغییر بدهید.

برخی از ویژگی های محیط اندروید استودیو

  • پشتیبانی از Build مبتنی بر Gradle
  • بازنویسی کد و اصلاحات فوری مخصوص اندروید
  • ابزارهای Lint برای رفع مشکلات عملکرد، کارایی، سازگاری ورژن ها و مشکلات دیگر
  • ادغام با ProGuard و قابلیت های App Signing
  • پنجره های Wizard مبتنی بر Template برای ایجاد طرح ها و مولفه های رایج اندروید
  • یک Layout Editor غنی که به کاربران اجازه می دهد مولفه های محیط کاربری را درگ و دراپ کنند و گزینه ای برای پیش نمایش Layout ها در چندین پیکربندی صفحه نمایش وجود دارد.
  • پشتیبانی از ساخت برنامه های Android Wear
  • پشتیبانی داخلی از پلتفرم Google Cloud که اجازه ادغام با پیام رسانی و موتور برنامه Google Cloud را می دهد.

نکته مهم: محیط برنامه نویسی اندروید استودیو کاملا برای ساختن اپلیکیشن هایی که به خوبی با سیستم عامل اندروید سازگار باشند، مناسب است.

اندروید استودیو به همراه SDK، حتی برای ساختن بازی های ساده هم مناسب است. میتوانید این کار را با ساختن View های مختلف و چیز هایی مثل انیمیشن انجام بدهید. البته لازم است که کمی هم به فکر و خلاقیت خود فشار وارد کنید. برای فیزیک های پیشرفته تر در بازی ها هم لازم است که کار کردن با کتابخانه هایی مانند LibGDX را شروع کنید. این کار ابزار لازم را در اختیار شما قرار میدهد تا لازم نباشد همه چیز را از ابتدا بسازید.

نتیجه گیری برای محیط برنامه نویسی اندروید استودیو
اگر بگیم اندروید استودیو، بهترین محیط برنامه نویسی اندروید است دروغ نگفتیم و هیچ اغراقی نکردیم چون در اکثر مواقع، اندروید استودیو به بقیه گزینه ها ترجیح داده میشود. بخصوص اگر بخواهید یک اپلیکیشن ساده یا یک بازی ابتدایی مانند پازل بسازید. اما اگر قصد تولید بازی یا ساخت اپلیکیشن های فوق العاده قوی رو داشته باشید شاید اندروید استودیو گزینه خیلی مناسبی نباشد و محیط های دیگر جواب گو شما باشند. اما بازم با یادگیری بخش پیشرفته اندروید استودیو می توانید این مدل چیزهایی رو پیاده سازی کنید. 
محیط برنامه نویسی اندروید ای کلیپس

۲- محیط برنامه نویسی اندروید ای کلیپس Eclipse

در ادامه معرفی محیط های برنامه نویسی اندروید این بار به سراغ ای کلیپس Eclipse رفته ایم. نحوه ساخت اپلیکیشن اندروید با محیط ای کلیپس تقریبا شبیه اندروید استودیو می باشد. ای کلیپس یک محیط برنامه نویسی اندروید است که به شما اجازه میدهد با زبان جاوا و با استفاده از Android SDK اپلیکیشن بسازید. راه اندازی آن مشابه اندروید استودیو و روند کار کردنشان با یکدیگر قابل مقایسه است.
تفاوت اصلی محیط ای کلیپس و اندروید استودیو این است که ایکلیپس بصورت اختصاصی برای برنامه نویسی اندروید ساخته نشده بود و برای پلتفرم های دیگر و با زبان های دیگر هم به کار گرفته می شود. تجربه کار کردن با آن هم نشان میدهد که سرعتش مقداری پایین تر و حل مشکلات در آن دشوارتر میباشد. می توان گفت راه اندازی ای کلیپس تقریبا شبیه اندروید استودیو می باشد.

نکته مهم: محیط برنامه نویسی اندروید ای کلیپس دیگر محیط رسمی برنامه نویسی اندروید به شمار نمیرود. 

به دلیل اینکه ای کلیپس دیگر محیط رسمی برنامه نویسی اندروید به شمار نمیرود، به شما پیشنهاد میکنیم اگر هنوز در حال کار کردن با این نرم افزار هستید، هرچه زودتر به سمت اندروید استودیو حرکت کنید. در کار کردن با اندروید استودیو متوجه میشوید که کار کردن با چندین پروژه در آن آسان تر است، طراحی رابط کاربری بهتر شده و Gradle Support میتواند در بسیاری از موارد شما را کمک کند. 

توجه: کسانی که می خواهند تازه شروع به یادگیری برنامه نویسی اندروید کنند و بین دو محیط برنامه نویسی اندروید استودیو و ای کلیپس گیر کرده اند پیشنهاد میکنم بدون درنگ اندورید استودیو رو انتخاب کنید.

نتیجه گیری برای محیط برنامه نویسی اندروید ای کلیپس
محیط برنامه نویسی اندروید ای کلیپس جز محیط های خوب برنامه نویسی هستش و می توان از آن به عنوان یکی از خوب های این حوزه یاد کرد اما باید قبول کرد نسبت به محیط اندروید استودیو ضعیف تر است. کسانی که به صورت تخصص برنامه نویسی اندروید کار می کنند کامل میدونند من چی میگم. اگر بازم در این باره شک دارید می توانید در سایت های خارجی تحقیق کنید تا متوجه حرف من شوید.

محیط برنامه نویسی اندروید زامارین

۳- محیط برنامه نویسی اندروید زامارین Xamarin

یکی دیگر از محیط های برنامه نویسی اندروید، محیط زامارین می باشد. زامارین یک محیط برنامه نویسی است که مایکروسافت مالک آن است و برای این منظور طراحی شده است که ساختن اپلیکیشن های میان پلتفرمی را آسان تر کند. (مثلا اپلیکیشن هایی که هم نسخه اندروید و هم نسخه آی او اس دارند). به عبارت دیگر، شما می توانید یک برنامه اندروید را در زامارین بسازید و سپس آنرا به آسانی برای iOS و Windows هم منتشر کنید در حالی که از کد ها و IDE یکسانی استفاده کرده اید.

برای کدنویسی در محیط زامارین باید از زبان برنامه نویسی سی شارپ استفاده کنید و از قابلیت هایی مانند تست اتوماتیک روی چندین دستگاه حقیقی متصل به کلود (Cloud) بهره ببرید. خبر خوب دیگر این است که زامارین به تازگی رایگان شده است و همچنین قابلیت هماهنگ شدن با ویژوال استودیو در آن وجود دارد. 

اگر شما از قبل به زبان سی شارپ تسلط دارید زامارین یکی از بهترین هاست و دیگر نمی خواهد وارد بحث یادگیری جاوا شوید و با کمترین زمان ممکن می توانید به زامارین مسلط شوید. و نکته مهم اینست که خیلی ها که می خواهند برنامه نویسی اندروید با جاوا رو فرا بگیرند به خاطر پیچیدگی ابتدایی جاوا، کلا بیخیال برنامه نویسی می شوند می توانید ابتدا سی شارپ رو فرا بگیرند و بعد به سراغ زامارین بروند. چون یادگیری سی شارپ نسبت به برنامه نویسی جاوا خیلی راحتر و سریعتر است.

اگر میخواهید اپلیکیشن خود را روی پلتفرم های دیگر، بدون زحمت اضافه، منتشر کنید، میتوانید از این محیط برنامه نویسی اندروید استفاده کنید. البته باید این نکته را در نظر داشته باشید که به ناچار کمی از فضای واقعی توسعه اپلیکیشن های اندروید دور میشوید.

برخی از ویژگی های محیط زامارین

  • امکان انتقال کدها میان اپلیکیشن های ساخته شده با استفاده از زامارین صرف نظر از ساختار پلت فرمی که در آن قرار دارد.
  • زامارین تنها چارچوبیست که در هر قالب پلت فرمی ویژگی های اپلیکیشن های (native) آن پلت فرم را به خوبی به خود میگیرد. (native app به اپلیکیشن هایی گفته میشود که در محیط نرم افزاری مختص به پلت فرمی خاص ساخته میشود.)
  • امکان ساخت اپلیکیشن های (IOS – Android – Windows phone ) با قابلیت انتقال کدهای یکسان (تا حدود ۹۶%).
  • portable class librariries که به شما امکان استفاده مجدد از کدها را داده و درعین حال تعداد پروژه ها را کاهش میدهد.
  • امکان اضافه کردن مؤلفه هایی شامل نمودارها، جداول، نمایه های زیبا، [UI control] ها و… بصورت مستقیم از [IDE].
  • با قالب زامارین رابط طراحی هر سه پلتفرم بصورت مشترک با چارچوب اساسی [XAML] خواهد بود.

نتیجه گیری برای محیط برنامه نویسی اندروید زامارین
به جرات می توان گفت یکی از بهترین محیط های برنامه نویسی اندروید، همین محیط زامارین می باشد بخصوص برای کسانی که قبلا سی شارپ کار کرده اند. اگر حوصله درگیر شدن با برنامه نویسی جاوا رو ندارید و دوست دارید با یک زبان برنامه نویسی سطح بالا و راحت برنامه نویسی اندروید کار کنید زامارین بهترین گزینه ممکن هستش و خوبی که دارد شرکت بزرگی همچون مایکروسافت پشت آن قرار دارد.
محیط برنامه نویسی اندروید بیسیک فور اندروید

۴- محیط برنامه نویسی اندروید بیسیک فور اندروید B4A

بعضی وقت ها برای یادگیری برنامه نویسی اندروید نمی خواهیم با زبان جاوا روبرو شویم یکی از راه ها برای دوری از زبان جاوا، استفاده از محیط برنامه نویسی بیسیک فور اندروید یا همان B4A (Basic for Android) می باشد. همانطور که از نام آن پیداست، این مورد یک محیط برنامه نویسی اندروید است که به شما اجازه میدهد یک اپلیکیشن را بصورت پایه ای بسازید.

در اصل BASIC مخفف Beginners All Purpose Symbolic Instruction Code است که معنی آن “دستور العمل های کدنویسی نمادین برای همه اهداف تازه کار ها” میباشد.

اگر نمی خواهید زیاد درگیر برنامه نویسی شوید و به ساده ترین شکل ممکن کد نویسی کنید شاید گفت B4A بهترین گزینه ممکن است. این زبان برای کسانی که تازه کارشان را شروع کرده اند بسیار ساده و قابل دسترسی است. طوری که انگار در حال خواندن زبان انگلیسی هستید زیرا فرق زیادی با آن ندارد. همه چیز در این ابزار برای ساده و سریع بودن ساخته شده است و میتوان گفت تا حد زیادی در این کار موفق عمل کرده اند زیرا هیچ عملکردی در این محیط دارای ضعف و کمبود نیست. دقیقا به همین دلیل است که B4A خودش را یک ابزار توسعه سریع (Rapid Development یا RAD) معرفی میکند.

نکته مهم: در محیط B4A شما به همه API ها و کتابخانه هایی که در اندروید استودیو بودند، دسترسی دارید بدون اینکه تغییر زیادی در نحوه عملکرد آنها مشاهده کنید. (همچنین میتوانید کتابخانه های خودتان را در جاوا وارد کنید یا بسازید). این یعنی بهترین چیز ممکن برای کسی که می خواهد برنامه نویسی اندروید کار کند.

در این زبان میتوانید هرچیزی که میخواهید را بسازید که البته نیاز به مقداری خلاقیت و مهارت دارید. اما حجم پروژه های یکسان در B4A بسیار کمتر از Android Studio میباشد. مزیت دیگر این است که شما میتوانید کد های نوشته شده در B4A را به راحتی به کدهای B4i تبدیل کنید که بر روی دستگاه های iOS قابل اجرا باشند. اگر شما به تازگی با دنیای ساخت اپلیکیشن های موبایل آشنا شده اید و ایده های زیادی در ذهنتان دارید، شاید B4A پر سرعت ترین راه برای قرار دادن آنها در کنار یکدیگر باشد.

همانطور که گفته شد، بهترین راه برای ساختن یک اپلیکیشن با متد های متریال دیزاین (Material Design) و استفاده از همه ویژگی های جدید اندروید به محض اینکه معرفی میشوند، ساختن اپلیکیشن ها با محیط برنامه نویسی اندروید استودیو است. (هرچند پشتیبانی B4A هم بسیار خوب عمل میکند). علاوه بر اینها ساختن بازی در اندروید استودیو ممکن است و کتابخانه هایی هم برای آسان کردن این کار وجود دارند، هرچند که در این مورد به خوبی بعضی از مواردی که در این لیست توضیح میدهیم نمیشود. B4A همچنین نیاز دارد که یکبار خریده شود و همین مورد باعث شده تا بسیاری از توسعه دهنده ها از آن استفاده نکنند.

نتیجه گیری برای محیط برنامه نویسی اندروید بیسیک فور اندروید
اگر دنبال یک محیط برنامه نویسی اندروید هستید که به ساده ترین شکل ممکن اپلیکیشن بسازید به نظرم B4A گزینه جالب و دوست داشتنی است. شما به راحتی می توانید با B4A انواع اپلیکیشن های با حال بسازید. این محیط برای کسایی هستش که نمی خوان زیاد درگیر زبان های جاوا و دیگر زبان ها شوند و دنبال کدنویسی راحت و ساده هستند. اگه اول کارتونه و تجربه برنامه نویسی ندارید به شما توصیه میکنم از بیسیک فور اندروید استفاده کنید چون اگه همون ابتدای راه سمت جاوا و اندروید استودیو برید به دلیل سنگین بودن مطالب امکان داره خسته بشید و کلا بیخیال برنامه نویسی شوید. ولی اگه تجربه کار با زبان های برنامه نویسی رو دارید به نظرم اندروید استودیو گزینه خوبی هستش و می توان از آن استفاده کرد.
محیط برنامه نویسی اندروید یونیتی

۵- محیط برنامه نویسی اندروید یونیتی Unity

اگر هدف شما از یادگیری برنامه نویسی اندروید، نوشتن بازی های اندروید می باشد پیشنهاد میکنم تحقیقی در مورد مورد موتور بازی یونیتی داشته باشید. یونیتی یک موتور بازی سازی و یک محیط توسعه برای ساختن بازی های چند پلتفرمی است. اگر میخواهید یک بازی بسازید که دارای فیزیک واقعی، تعداد زیادی از اشیاء، گرافیک سه بعدی، افکت های نورپردازی متحرک و غیره است، این مورد میتواند برای شما زمان زیادی را ذخیره کند و به کمکتان بیاید تا مجبور نباشید همه چیز را از ابتدا شروع کنید.

اگر میخواهید بازی ساده ای بسازید، توسعه آن با یونیتی به سادگی کشیدن و رها کردن چندین المان مختلف درون بازی است. علاوه بر چیزهایی که گفته شد، شما میتوانید کد های سی شارپ و جاوا را هرجایی که لازم بود اضافه کنید و از این طریق رفتار المان ها را تغییر دهید تا بیشترین انعطاف پذیری لازم را بدست بیاورید.

فروشگاه های اینترنتی مختلفی هم در این زمینه وجود دارند که میتوانید از آنها مدل های سه بعدی، اسکریپت و یا افکت ها را خریداری یا دانلود نمایید. اضافه کردن آنها به پروژه هم به سادگی متصل شدن به SDK و انتخاب پلتفرم از یک منوی کشویی میباشد. خوشبختانه پشتیبانی آنلاین زیادی در این باره وجود دارد و حتی میتوانید با کمی هک کردن، برنامه هایی بسازید که بازی نیستند. این ابزار رایگان است و بسیاری از بازی های موفق موجود در پلی استور گوگل، با استفاده از موتور بازی سازی Unity ساخته شده اند. به همین دلایل، شما اصلا نیاز ندارید یک موتور بازی سازی را از ابتدا خودتان بسازید، مگر اینکه بخواهید یک بازی خیلی خاص و یگانه تولید کنید.

یونیتی از جمله موتورهای بازی ساز است که می‌تواند از زبان‌های برنامه‌نویسی معروف پشتیانی کند. زبان‌های برنامه‌نویسی سی‌شارپ، جاوااسکریپت و زبان برنامه‌نویسی بو که یک زبان از خانواده زبان برنامه‌نویسی پایتون می‌باشد، در یونیتی قابل استفاده هستند (البته امکان استفاده از زبان بو از نسخهٔ ۵ به بعد یونیتی حذف شده است). زبان سی‌شارپ قابلیت شی گرایی دارد و به واسطه این قابلیت، قابلیت‌هایی همچون ارث‌بری را نیز دارا می‌باشد، این قابلیت‌ها در پروژه‌های بزرگ برنامه‌نویسی بسیار سودمند هستند.

نکته مهم: تقریباً می‌توان گفت که یونیتی برای تمامی پلتفرم‌های موجود خروجی بازی تولید می‌کند و ممکن است کمتر نیاز به ویرایش اسکریپت‌های پروژه پیدا کنید. این قابلیت از لحاظ تجاری بسیار مهم است، به خصوص اجرای بازی بر روی وب و به صورت چند کاربر (network) که باعث جذب کاربران بسیار می‌شود. تعدادی از بازی‌های موجود در شبکه اجتماعی فیس‌بوک توسط موتور بازی ساز یونیتی ایجاد شده است.

مزیت اصلی این موتور بازی، Cross Platform بودن آن است، به این معنی که می‌توان بازی‌های ساخته شده با یونیتی را به سادگی بر روی اندروید، iOS، ویندوز فون و بلک بری پورت کرد. همچنین این موتور قابلیت توسعه بازی برای کنسول های پلی استیشن، ایکس باکس، Wii U و همچنین مرورگرها را دارد. 

نتیجه گیری برای محیط برنامه نویسی اندروید یونیتی
اگر دنبال محیط برنامه نویسی اندروید برای بازی هستید به نظرم بهترین گزینه، همین موتور بازی یونیتی می باشد. همان طور که در بخش بالا گفتیم می توانید از طریق این موتور بازی هر نوع بازی رو بسازید. در ایران خیلی ها هستند هدفشون از یادگیری برنامه نویسی اندروید، نوشتن و ساختن اپلیکیشن های بازی است که پیشنهاد میکنم حتما در مورد یونیتی هم تحقیقی داشته باشند.
محیط برنامه نویسی اندروید نت بینز

۶- محیط برنامه نویسی اندروید نت بینز NetBeans

قبلا در سایت در مورد محیط نت بینز صبحت کرده ایم. البته همه نت بینز رو برای برنامه نویسی جاوا می شناسند. نت بینز یک IDE (محیط برنامه نویسی) میباشد که مانند ایکلیپس از زبان ها و پلتفرم های مختلفی پشتیبانی میکند. مقایسه کردن آن با Android Studio برای توسعه اندروید، شاید کمی عجیب باشد. اما زمانی بود که نت بینز یکی از جایگزین های اصلی ایکلیپس به شمار میرفت. (همراه با محیط برنامه نویسی اندروید IntelliJ IDEA که امروزه اندروید استودیو بر پایه آن ساخته شده است)

نکته: محیط NetBeans از کدنویسی های PHP, HTML, C و … پشتیبانی می کند.

ویژگی های مهم محیط نت بینز

  • اولین و مهم ترین ویژگی  کلیدی NetBeans این هستش که Open Source هستش و توسعه اش هرگز قرار نیست متوقف شود.
  • ویژگی کلیدی بعدی این هستش که cross platform هستش یعنی برای یکی مثل من که از هر سه سیستم عامل Windows ، Linux و Mac استفاده می کنم حضور داره داخل همه سیستم عامل ها ولی بزرگترین مشکلی که داره این هستش که داخل MacOSX اشکالات فراوانی داره
  • ویژگی کلیدی بعدی گستردگی در امکاناتش هستش که توسط Plugin هایی که برای بوجود آمده میادش.
  • ویژگی کلیدی بعدی انعطاف پذیری بی نظیرش هستش
  • و از کلید های میانبر فوق العاده اش نمیشه گذشت
  • شعور و هوش مصنوعی بالا در تشخیص ها

معایب محیط برنامه نویسی نت بینز

  • پیش نیاز به JDK که یه عیب به حساب میاد چرا که مثل komodo برنامه native نیست
  • سنگین بودن IDE با توجه به امکاناتی در اختیار شما قرار میدهد سنگین هستش این IDE به نسبت IDE  های ضعیف
  • مشکل بعدی عدم اجرا صحیح امکانات در Mac OSX هستش که من رو اذیت کردش
  • بعضی اوقات عدم سازگاری با پلاگین ها رو داریم که باعث عدم کارایی IDE تا غیر فعال کردن اون پلاگین میشود
  • تحریم ما توسط شرکت توسعه دهنده Orcale می باشد.

پیشنهاد میکنم اگر میخواهید در مورد نت بینز و نحوه نصب آن بیشتر بدانید مقالات همه چیز در مورد ماشین مجازی جاوا – دانلود Netbeans With JDK و نصب جاوا روی ویندوز – نصب NetBeans و JDK رو مطالعه کنید.

نتیجه گیری برای محیط برنامه نویسی اندروید نت بینز
نت بینز رو می توان به عنوان یک محیط برنامه نویسی اندروید یاد کرد و نه چیزی بیشتر، اگر میخواهید برنامه نویسی جاوا کار کنید پیشنهاد میکنم از محیط نت بینز استفاده کنید اما اگر هدف شما اندروید هست، نت بینز رو پیشنهاد نمیدهم. به نظرم می توانید از گزینه های قبلی یکی رو انتخاب کنید.
محیط برنامه نویسی اندروید پایتون

۷- برنامه نویسی اندروید با پایتون Python

پایتون یک زبان برنامه نویسی چند منظوره و قدرتمند، که توسط خودوفان روسوم هلندی در سال ۱۹۹۱ طراحی شده است. پایتون یک زبان اسکریپتی و بسیار قدرتمند و گسترده هستش و این روزها می توانید آثاری از نفوذش رو تقریبا همه جا ببینید. پایتون در دنیا به شدت همه گیر شده است. زبان برنامه نویسی پایتون یک زبان شی گرا است و از ویژگی های پیشرفته شی گرایی مثل : وراثت، چندشکلی، سربار گزاری عملگر و . . . پشتیبانی میکند.

نکته: چون زبان برنامه نویسی پایتون با زبان پورتابل سی نوشته شده است میتواند به صورت مجازی بر روی هر سیستم و پلتفرمی کامپایل و اجرا شود.

پایتون یک زبان برنامه نویسی بسیار خوب و آسان برای یادگیری است که توسط تعداد زیادی از مردم در سراسر جهان استفاده میشود. زبان پایتون برای استفاده رایگان است و به محض اینکه دستتان با آن راه بیفتد، میبینید که گزینه های زیادی برای ساختن اپلیکیشن های اندروید دارید. به عنوان مثال میتوانید از PyMob یا کتابخانه هایی مانند Pygame Subset for Android استفاده کنید. (یا همان pgs4a).

توجه: اگر در مورد پایتون چیزی نمیدونید پیشنهاد میکنم مقالات پایتون چیست و مدت زمان یادگیری پایتون رو مطالعه کنید.

 ویژگی های زبان برنامه نویسی پایتون :

  • پایتون شی گراست 
  • پایتون رایگان است 
  • پایتون قابلیت حمل است
  • استفاده از پایتون بسیار آسان است
  • پایتون قدرتمندست
  • درونی سازی و گسترش
  • یادگیری پایتون آسان
  • امنیت اطلاعات

نتیجه گیری برای برنامه نویسی اندروید با پایتون
در مقایسه با ساختن اپلیکیشن با اندروید استودیو، شما مقداری از کارایی را از دست میدهید و محدود خواهید شد. مطمئنا ما هم پیشنهاد نمیکنیم برای پروژه های پیچیده به جای اندروید استودیو از پایتون استفاده کنید. اما اگر پایتون را دوست دارید و میخواهید برای استفاده خودتان اپلیکیشن هایی بسازید و همچنین زیبایی ظاهر آنها برای شما مهم نیست، میتوانید از Python استفاده کنید.
محیط برنامه نویسی اندروید فون گپ

۸- محیط برنامه نویسی اندروید فون گپ PhoneGap

یکی دیگر از ابزارها و محیط های برنامه نویسی اندروید فون گپ می باشد. PhoneGap یا Cordova یک ابزار است که به شما اجازه میدهد اپلیکیشن های موبایل چند پلتفرمی با استفاده از زبان های HTML5، CSS، JavaScript و هر زبانی که طراحان وب از آن استفاده میکنند بسازید. اساسا، این یعنی که اپلیکیشن شما مانند یک وبسایت عمل میکند و دیده میشود اما دسترسی هایی هم به API محلی دارد. این ابزار یک راهکار ساده برای تبدیل وبسایت به اپلیکیشن موبایل است. البته میتوانید با استفاده از آن اپلیکیشن های ساده ای بسازید بدون اینکه نیاز باشد زبان برنامه نویسی جدیدی یاد بگیرید. همانطور که میدانید، ساختن برنامه ها با WebView محدودیت های بسیاری دارد و اصلا برای ساختن اپلیکیشن های پیچیده یا بازی مناسب نیست.

مزایای استفاده از PhoneGap

یکی از مهم ترین ویژگی های این پلتفرم اینه که شما برای استفاده ازش نیازی به یادگیری دانش زبان های Native ندارید. یک ویژگی دیگر این پلتفرم اینست که توسط تمام پلتفرم های موجود پشتیبانی میشود. اما مهمترین ویژگی اش این می باشد که شما با استفاده از Bootstrap  میتونید برای صفحه نمایش های مختلف UI طراحی کنید.

نکات مهم در مورد فون گپ 

  • PhoneGap یک فریمورک توسعه موبایل cross-platform مبتنی بر HTML5، جاوا اسکریپت و CSS
  • PhoneGap برای ساخت برنامه های تلفن همراه مفید است که از ویژگی های بومی تلفن به طور گسترده استفاده نمی کند.
  • برنامه ای واحد برای توسعه ی سیستم عامل ها
  • هنگامی که استفاده گسترده از ویژگی های تلفن مورد نیاز است، توسعه برنامه های بومی توصیه می شود.

نتیجه گیری برای برنامه نویسی اندروید با فون گپ
اگر به فکر یک محیط و ابزار عالی برای برنامه نویسی اندروید هستید به نظرم می توانید روی دیگر محیط ها بخصوص اندروید استودیو و زامارین حساب باز کنید اما اگر دنبال چالش و تجربه محیط ها و ابزارهای جدید هستید می توانید از فون گپ استفاده کنید.

نتیجه گیری نهایی
در این مقاله سعی کردم بهترین محیط های برنامه نویسی اندروید را معرفی و در مورد هر کدام توضیحاتی ارائه دهم. سعی شده مقایسه محیط های برنامه نویسی اندروید به صورت کاملا منصفانه و بدور از تعصب خاصی صورت گیرد. حال انتخاب محیط مورد نظر دست شماست که بر اساس اهداف و سلیقه خود انتخاب کنید.

برنامه نویسی شی گرا چیست؟


در این مدت که در حوزه برنامه نویسی فعال هستم یکی از چیزهایی که افراد در هنگام مواجهه با دچار استرس و یک جور سردرگمی می شوند بحث شی گرایی است. شاید در این مدت سوالاتی مثل شی گرا به چه معناست، مفهوم شی گرایی به زبان ساده را میشه توضیح بدید، شی گرایی در کامپیوتر چیست، شی گرا در برنامه نویسی واسه چی هستش، شی گرایی به زبان ساده را بیشتر توضیح بدید و شی گرایی را تعریف کنید رو ازم سوال کردن و هر سری باید دونه به دونه توضیح میدادم. ولی در این مقاله تصمیم گرفتم به صورت کامل و کاملا ساده بگم برنامه نویسی شی گرا چیست؟ و تعریف درستی از این موضوع داشته باشم و در آخر هم ویژگی شی گرا رو مورد بررسی قرار میدهم. 

برنامه نویسی شی گرا چیست؟

برای اینکه شی گرایی به زبان ساده رو توضیح دهیم باید یک تعریف درست و دقیق از شی گرایی داشته باشیم. پس ابتدا تعریف عامیانه آن را مورد بررسی قرار میدهیم و بعد شروع به تعریف ساده می کنیم. پس اگر میخواهید به جواب سوال برنامه نویسی شی گرا چیست؟ حتما مقاله رو تا انتها و با دقت مطالعه کنید.

برنامه نویسی شی گرا چیست؟

برنامه‌نویسی شی‌گرا معمولا با عنوان OOP شناخته می شود که این سه حرف مخفف کلمات Object-Oriented Programming می باشد. یک شیوه برنامه‌نویسی است که ساختار یا بلوک اصلی اجزای آن، شی‌ها می‌باشند. 

زبان های سطح پایین به زبان ماشین (زبان صفر و یک) نزدیک هستند. اما زبان های سطح بالا برای تعامل بهتر ما با کامپیوتر ها ساخته شده اند. یعنی زبان های سطح بالا به زبان ما انسانها شباهت بیشتری دارند. به همین دلیل میتوانیم اندیشه ها و تفکرات خود را راحت تر به برنامه و کد تبدیل کنیم. شی گرایی هم دقیقا در ادامه همین ساده سازی برنامه نویسی به وجود آمده است. این تفکر دقیقا از روی اشیائی که در زندگی خود می بینیم گرفته شده است. یعنی سعی میکند که همه اجزا برنامه نویسی را با شی مدل کند. در ادامه مفهوم شی گرایی را با مثال هایی به شما توضیح میدهم.

مفهوم شی گرایی به زبان ساده

برای اینکه مفهوم شی گرایی به زبان ساده را خوب درک کنیم ابتدا این تصویر رو ببینید بعد متن پایین رو بخونید. با دیدن این تصویر و خواندن متن تا حدودی با مفهوم شی گرایی آشنا می شوید. 

مفهوم شی گرایی به زبان ساده

Object یا شی، یکی از اجزای برنامه نویسی شی گرا میباشد. زبان های برنامه نویسی جاوا و کاتلین هر دو از شی گرایی پشتیبانی میکنند. شی گرایی به زبان ساده یعنی در هنگام برنامه نویسی، یک مدل تعریف میکنیم که شامل خصوصیات مشخصی است، آنگاه میتوانیم از روی این مدل، هر تعداد شی جداگانه که خواستیم، بسازیم. این شی ها خاصیت یکسان دارند اما با یکدیگر فرق میکنند. اگر هنوز هم متوجه نشده اید، با یک مثال، موضوع روشن تر میشود.

جامعه انسان ها را در نظر بگیرید. هر کدام از ما یک انسان هستیم. یعنی مدل ما یکی است. همه از روی مدل انسان ساخته شده ایم. دارای دست، پا، چشم، گوش و مواردی مثل بقیه هستیم. یعنی کاملا فرق یک انسان و چیزی که غیر انسان است، واضح میباشد. اما با این حال انسان ها با یکدیگر فرق میکنند. هرکدام قیافه ی خاص، رفتار خاص، اخلاق خاص و در یک کلام ویژگی های خاص خود را دارند.

هرکدام از انسان ها یک شی هستند. در برنامه نویسی اندروید هم دقیقا به همین شکل عمل میشود. در ابتدا ما یک مدل میسازیم (که به این مدل در زبان برنامه نویسی، کلاس گفته میشود). این مدل (کلاس) ویژگی های کلی را مشخص میکند. سپس میتوانیم از روی این مدل، شی های متعدد بسازیم. اشیایی که از روی آنها ساخته میشوند دارای ویژگی های کلی همان کلاس هستند.

اما ویژگی های خاص آنها و خصوصیاتشان میتواند با یکدیگر متفاوت باشد. مثلا ما یک کلاس تعریف میکنیم که ویژگی های کلی دکمه ها را مشخص میکند. میتوانیم هر تعداد دکمه که میخواهیم در اکتیویتی قرار دهیم. هر کدام از این دکمه ها یک شی هستند. هر دکمه میتواند کار مخصوص خود را انجام دهد، متن متفاوتی داشته باشد و یا ظاهر آن با بقیه ی دکمه ها فرق کند.

به عنوان مثال های دیگر میتوانید همه چیز اطراف خودتان را شی در نظر بگیرید. مثلا در حوزه ی وسایل نقلیه، می شود کاملا تفاوت بین هواپیما، کامیون، اتوبوس، موتور و … را تشخیص داد. هرکدام از این سری ها، به عنوان مجموعه های متفاوت اشیا شناخته میشوند. برای نمونه ما سری موتور سیکلت ها را در نظر میگیریم. هر شرکت سازنده به عنوان یک کلاس (الگو) شناخته میشود. هر موتور سیکلت هم یک شی به حساب می آید که توسط این الگو ها ساخته میشود.

به عنوان مثال اگر دو موتور هوندا که مدل و سال ساخت و مشخصات فنی یکسانی دارد را کنار یکدیگر بگذاریم، باز هم هر کدام از این اشیاء، ویژگی های خاص و هویت مخصوص خود را دارند. هرکدام شماره موتور و شاسی مخصوص به خود و شماره سری تولید اختصاصی خود را دارند.

اشیاء در برنامه نویسی شی گرایی هم دقیقا همینگونه هستند. ممکن است صدها شی از روی یک کلاس ساخته شوند، اما هرکدام از آنها دارای هویت و رفتار منحصر بفرد خودشان میباشند.

مثال دیگر برای مفهموم شی گرایی به زبان ساده

فرض کنیم که قرار است ما یک آپارتمان ۱۰ طبقه بسازیم. هر ۱۰ طبقه از آپارتمان ما دارای یکسری ویژگی های خاص و منحصر به فرد است مثل اینکه رنگ دیوار های طبقه اول سفید است و درهای آن کرم رنگ هستند اما این در حالی است که رنگ دیوار های طبقه هفتم صورتی است و درهای آن سفید است و …

در حقیقت هر یک از طبقه های آپارتمان ما همچون یک Object یا شی در یک زبان برنامه نویسی شی گرا همچون جاوا است. اگرچه که هر یک از طبقات آپارتمان ما دارای یکسری ویژگی های خاص است، اما این در حالی است که کلیه طبقات آپارتمان از یکسری ویژگی های ثابت همچون اتاق خواب، سرویس، آشپزخانه و پنجره برخوردارند. در زبان برنامه نویسی جاوا یک Class دقیقاً چنین نقشی را ایفا می کند. به عبارت دیگر در یک برنامه ی نوشته شده با زبان جاوا، Class به منزله یک نقشه ی خانه است که هر یک از طبقات آپارتمان از روی آن ساخته می شود اما هر یک از طبقات علیرغم داشتن یک پلان ثابت دارای یکسری ویژگی های منحصر به فرد خود است که اصطلاحاً به هر یک از آن طبقات یک Object گفته می شود.

 برای درک بهتر مفهوم شی و و شی گرایی پیشنهاد میکنم تصویر زیر رو ببینید:

اینفوگرافیک مفهموم شی گرایی به زبان ساده

 برنامه نویسی شی گرا یک الگوی برنامه نویسی است. این الگو بر اساس مفهوم اشیاء طراحی شده است. این اشیاء دارای اطلاعاتی هستند که در قالب فیلدها ذخیره میشوند. به این اطلاعات، صفات آن شی می گویند. کدهای شی در قالب پروسیجرها ذخیره میشوند و به آنها متد میگویند. این متدها می توانند به صفات شی دسترسی داشته باشند، و آنرا تغییر بدهند. در برنامه نویسی شی گرا، این اشیاء با یکدیگر ارتباط برقرار میکنند و برنامه را تشکیل میدهند.

مفهوم کلاس (Class) در شی ‌گرایی چیست؟

به زبان ساده می‌توان کلاس را به عنوان قالبی برای اشیا در نظر گرفت، مثلا خودروی BMW یک نمونه شی از کلاس خودرو است، کلاس‌ها معمولا در بردارنده‌ی خصوصیات و رفتار اشیا هستند، مثلا کلاس خودرو دربردارنده‌ی ویژگی های یک خودرو مثل سرعت، وزن، رنگ و… است و هر مدل خودرویی که از این کلاس در نظر بگیریم تمامی ویژگی‌های گفته شده در کلاس را درون خود خواهد داشت، برای درک بهتر این مفهوم تصویر زیر را ببینید:

مفهوم کلاس (Class) در شی ‌گرایی چیست

 چه زبان هایی از شی گرایی پشتیبانی می کنند؟

بسیاری از زبان های برنامه نویسی موجود، از شی گرایی پشتیبانی میکنند. در بخش زیر تعدادی از زبان هایی که از برنامه نویسی شی گرا پشتیبانی می کنند رو معرفی کردیم:

  • زبان سی پلاس پلاس
  • زبان جاوا
  • زبان پایتون
  • زبان PHP
  • زبان سی شارپ
  • زبان دلفی
  • و …

مقایسه جاوا و جاوااسکریپت به همراه تعریف هر کدام از این زبان ها


در این مدت سعی کرده ایم مقالات زیادی در زمینه جاوا و جاوااسکریپت در سایت منتشر کنیم ولی خیلی ها فعلا فرق بین جاوااسکریپت و جاوا رو نمیدونند و فکر می کنند این دو یکی هستند. در این مقاله میخواهم مقایسه جاوا و جاوااسکریپت رو مورد بررسی قرار دهم و ببینیم که فرق بین جاوااسکریپت و جاوا چی هستش. البته قبلی هر کدوم رو تعریف می کنیم و توضیحاتی در مورد هر زبان برنامه نویسی به صورت جدا میدهیم. 

مقایسه جاوا و جاوااسکریپت

قبل از اینکه شروع به مقایسه جاوا و جاوااسکریپت کنیم باید بدونیم اصلا جاوا و جاوااسکریپت چی هستند و به چه دردی می خورند بعد در مورد فرق بین جاوااسکریپت و جاوا توضیحاتی ارائه دهیم. 

جاوا چیست؟

جاوا یک زبان برنامه نویسی که به صورت شی گرا ارائه شده است. جاوا شبیه به زبان برنامه نویسی سی پلاس پلاس می باشد اما مدل شی گرایی آسانتری نسبت به سی پلاس پلاس دارد.

نکته ۱: زبان برنامه نویسی جاوا از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند.

نکته ۲: یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد.

نکته ۳: ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به زبان جاوا نسبت به زبان های نسل اول C بالا است.

جاوا از چه اسمی گرفته شده و به چه معنی است ؟

نام جاوا از Jsut Another Vague Acronym گرفته شده است و دلیل آن این بود که تیم برنامه نویسان جاوا به قهوه خیلی علاقه داشتند. این موضوع در لوگوی جاوا هم مشهود است.

شعار جاوا :

شعار جاوا «یکبار بنویس و هر جایی اجرا کن» (Write once, Run anywhere) است که به ویژگی اجرای شدن برنامه های جاوا بر روی هر نوع سیستم عاملی و هر گونه وسیله الکترونیکی اشاره دارد.

اهداف اولیه زبان برنامه نویسی جاوا :

  • این زبان باید ساده، شی‌گرا و مشهور باشد.
  • مطمئن و بدون خطا باشد.
  • وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
  • باید با کارایی بالا اجرا شود.
  • باید به صورت پویا و نخ‌کشی‌شده باشد.

 

کاربرد برنامه نویسی جاوا

اگر بخواهیم در مورد کاربرد برنامه نویسی جاوا صحبت کنیم باید به سراغ این برویم که چه دستگاها و جاهایی از جاوا استفاده میکنند. به گفته شرکت سان مایکروسیستمز (سازنده زبان برنامه نویسی جاوا) سه میلیارد دستگاه از جاوا استفاده می کنند. در حال حاضر بسیاری از دستگاه ها از جاوا استفاده میکنند که تعدادی از آنها را در زیر نام برده ایم:

  • برنامه های کاربردی رومیزی از قبیل acrobat reader, media player, antivirus و…
  • برنامه های کاربردی تحت وب نظیر irctc.co.in و…
  • برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانکها
  • موبایل
  • سیستم های تعبیه شده
  • کارت های هوشمند
  • رباتیک
  • بازی ها و….

توجه: برای اینکه درک بهتری از زبان برنامه نویسی جاوا داشته باشید پیشنهاد میکنم مقاله جاوا چیست رو مطالعه کنید. در این مقاله به صورت کامل در مورد زبان جاوا صحبت کرده ایم.

جاوااسکریپت چیست؟

جاوااسکریپت یک زبان برنامه نویسی سطح بالا، چند رویه و تفسیری است که در کنار html و css، یکی از سه هسته صفحات دنیای وب می‌باشد. زبان جاوااسکریپت را میتوان به صورت ساخت یافته و شی گرا استفاد کرد. در جاوااسکریپت اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته می‌شوند. در کل برای ایجاد ارتباط بین کاربر و سایت میتوان از جاوااسکریپت استفاده کرد.

دلیل به وجود آمدن جاوااسکریپت:

وقتی از HTML و CSS استفاده میکنیم صفحات به صورت ایستا ارائه می شوند اگر بخواهیم صفحات وب رو به صورت داینامیک و متحرک طراحی کنیم بهترین گزینه برای داینامیک کردن صفحات وب استفاده از جاوااسکریپت است. شرکت Netscape برای ایجاد و کنترل ارتباط بین مخاطبان سایت و صاحبان سایت از جاوااسکریپت استفاده کرد.

نکته ۱: جاوااسکریپت به اختصار JS معرف می شود. (JavaScript)

دیدگاه اشتباه ۱: زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد. 

دیدگاه اشتباه ۲جاوااسکریپت به صورت پیوسته و چسبیده نوشته می شود. نوشتن به صورت جاوا اسکریپت اشتباه است.

نکته ۲: اکثر استفاده از جاوااسکریپت در سایت ها و صفحات اینترنتی است و به کمک جاوااسکریپت میتوان به اشیا داخل صفحات HTML دستری پیدا کرد و آنها رو تغییر داد. (به همین دلیل برای پویا نمایی در سمت کاربر از جاوااسکریپت استفاده میکنند.)

تاریخچه جاوااسکریپت :

زبان جاوااسکریپت با عنوان Mocha در شرکت Netscape توسط شخصی به نام برندان ایج طراحی و ارائه شده است. Mocha بعدا به نام Livesscript و در نهایت به نام جاوااسکریپت تغییر نام داد. اولین نسخه جاوااسکریپت در سال ۱۹۹۵ معرفی شد که در روزهای اول خیلی از کاربران فکر میکردند جاوااسکریپت نسخه جدید زبان برنامه نویسی جاوا است. 
به خاطر موفقیت های زبان جاوااسکریپت، مایکروسافت مجبور شد در مرورگر خود یعنی اینترنت اکسپلورر از آن استفاده کند. یکی از دلایل موفقیت جاوااسکریپت در سال های بعدی، پشتیبانی اینترنت اکسپلورر از این زبان بود.

جاوااسکریپت در حال حاضر یکی از زبان های برنامه نویسی پر طرفدار در دنیا است. البته بسیاری از برنامه نویسان حرفه ای زبان جاوااسکریپت را در ابتدا یک زبان کم ارزش می پنداشتند.

توجه: برای اینکه درک بهتری از زبان برنامه نویسی جاوااسکریپت داشته باشید پیشنهاد میکنم مقاله جاوااسکریپت چیست رو مطالعه کنید. در این مقاله به صورت کامل در مورد زبان جاوا صحبت کرده ایم.

تفاوت جاوا و جاوااسکریپت

مقایسه جاوا و جاوااسکریپت

تا این لحظه متوجه شدیم جاوا و جاوااسکریپت چی هستند و به چه دردی می خورند حال به سراغ مقایسه جاوا و جاوااسکریپت میرویم. در ای بخش می خواهیم تفاوت جاوا و جاوااسکریپت و شباهت های این دو زبان رو مورد بررسی قرار دهیم. همین حال بگویم این دو، زبان های برنامه نویسی مستقلی هستند و ربطی به هم ندارند. در بخش زیر در قالب ۵ مورد فرق بین جاوااسکریپت و جاوا را مورد بررسی قرار داده ایم. 

  • Java از یک نوع مشخص برخوردارند. به این معنا که اگر یک متغیر را از نوع عددی تعریف کنیم، تا پایان این متغیر از نوع عددی است و نمی‌توانیم مقدار غیر عددی به آن ارسال کنیم. اما در JavaScript چنین محدودیتی وجود ندارد.
  • Java یک زبان برنامه نویسی شیء گرا است در حالیکه JavaScript یک زبان اسکریپت نویسی شیء گرا است.
  • نرم افزارهای نوشته شده با Java قابلیت اجرا بر روی ماشین مجازی و مرورگرهای اینترنتی را دارند اما کدهای JavaScript فقط بر روی مرورگرهای اینترنتی اجرا می شود و ذاتا برای همین نوع کار طراحی و پیاده سازی شده است.
  • برنامه های نوشته شده با Java بایستی کامپایل شوند در صورتیکه کدهای JavaScript فقط یک متن ساده هستند و نیازی به کامپایل ندارند.
  • هر کدام از این زبان ها نیاز به پلاگین ها و نیازمندی های متفاوتی برای اجرا شدن دارند.

شباهت ها

بعد از اینکه تفاوت جاوا و جاوااسکریپت را مورد بررسی قرار دادیم حال شباهت های این دو زبان رو هم بیان کنیم. زبان جاوا و جاوااسکریپت دو شباهت عمده با هم دارند. که در بخش زیر به این دو اشاره شده است.

  • امروزه هم Java و JavaScript می‌توانند برای پیاده سازی سرور برنامه ها استفاده شوند. در JavaScript این کار با استفاده از Node.js انجام می‌شود.
  • با استفاده از هر دو زبان می‌توانیم نرم افزار های موبایل ایجاد کنیم.

نتیجه گیری:
اولین چیزی که در مقایسه جاوا و جاوااسکریپت باید مد نظر قرار گیرد بحث مستقل بودن این دو زبان می باشد. این دو زبان کاملا با هم متفاوت و قرق دارند. و هر کدام برای یک سری کارهای خاص تولید شده اند. در این مقاله سعی کردیم توضیحی در مورد هر کدام ارائه دهیم و در آخر فرق بین جاوااسکریپت و جاوا را مورد بررسی قرار دهیم. 

زبان جاوا مفسری است یا کامپایلری


بعد از اینکه مقالاتی در باره مفسر و کامپایلر داخل سایت قرار دادیم بعضی ها در مورد زبان های مختلفی مثل جاوا سوال پرسیدند مثل اینکه: زبان جاوا مفسری است یا کامپایلری، در این مقاله ابتدا توضیح میدهم مفسر چیست و چه کاربردی دارد و بعد در مورد کامپایلر صحبت می کنم و در آخر میگم زبان جاوا مفسری است یا کامپایلری، پس همراه ما باشید تا جواب این سوال رو دهیم.

زبان جاوا مفسری است یا کامپایلری

مفسر چیست؟

اگر بخواهیم واضح بگویم مفسر در برنامه نویسی چیست؟ مفسر یک برنامه کامپیوتری است که دستورهای نوشته شده در یک زبان برنامه نویسی را اجرا می‌کند. مفسر در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کند. 

نکته مهم: در زبان های مفسری کد ها به صورت خط به خط تفسیر و اجرا می شوند و در اجرا بعدی برنامه نیز به همین صورت ادامه می یابد.

همینطور که می دانید هر دستگاه کامپیوتری (کامپیوترهای رومیزی، نوت بوک ها، گوشی های هوشمند، تبلت ها و …) از سخت افزار خاصی ساخته شده است که دارای قسمت های مختلفی از جمله پردازنده (Processor) است. حال اگر بخواهید برای این پردازنده برنامه ای بنویسید که این پردازنده کاری را انجام دهد باید دستورات زبان ماشین خاص آن پردازنده را یکجا نوشته و در یک فایل ذخیره کنید و برای اجرا آن فایل را یکباره به پردازنده بدهید تا اجرا کند.
چون نوشتن به زبان ماشین بسیار نیاز به حوصله و وقت دارد و اشکال زدایی (دیباگ) آن نیز کار پر مشقت و وقت گیر است معمولا از سایر زبان ها استفاده می کنند و آن زبان ها را با “برنامه های خاصی” به زبان ماشین تبدیل می کنند.

اگر آن برنامه خاص تبدیل دستورات به زبان ماشین را به جای یکباره و کامل به صورت دستور به دستور انجام دهد و همان لحظه دستور تبدیل شده (فقط و فقط همان دستور را) برای اجرا به پردازنده تحویل دهد و پس از اجرا دوباره دستور بعد را به زبان ماشین تبدیل کند و به پردازنده تحویل دهد و … این ماجرا تا به انتهای دستورات به صورت خط به خط تکرار شود و دستورات زبان ماشین توسط پردازنده فقط اجرا شوند و در فایلی ذخیره نشوند به آن برنامه خاص اینترپرتر یا مفسر می گویند.

توجه: برای درک بهتر و دقیق تر پیشنهاد میکنم مقاله مفسر در برنامه نویسی چیست رو کامل مطالعه کنید.

کامپایلر چیست؟

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

به بیان ساده، کامپایلر برنامه‌ای است که یک برنامه نوشته شده در یک زبان خاص ساخت‌یافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل می‌نماید. در یکی از مهم‌ترین پروسه‌های این تبدیل، کامپایلر وجود خطا را در برنامه مبدأ اعلام می‌نماید.

تعریف یکی از دوستان از کامپایلر، کامپایلر برنامه‌ای رایانه‌ای می‌باشد که به‌منظور انتقال زبان‌های برنامه‌نویسی سطح بالا به زبان‌های سطح پایین مانند زبان اسمبلی و زبان ماشین، جهت اجرایی شدن، طراحی وارائه‌شده‌اند، خروجی این نرم‌افزار برای ماشین‌هایی مانند رایانه قابل اجرا هست.

توجه: برای درک بهتر و دقیق تر پیشنهاد میکنم مقاله کامپایلر در برنامه نویسی چیست و بررسی انواع کامپایلر رو کامل مطالعه کنید.

زبان جاوا مفسری است یا کامپایلری

تا این لحظه متوجه شدیم مفسر و کامپایلر چیست و چه کاربردی دارند. حالا باید بررسی کنیم زبان جاوا مفسری است یا کامپایلری، یک برنامه جاوا در پایان مراحل توسعه همانند یک زبان کامپایلری کامپایل می شود (به Java bytecode) و در زمان اجرا همانند زبان های مفسری interpret می شود. پس باید گفت زبان جاوا هم مفسری است هم کامپایلر.

بهترین لپ تاپ برای برنامه نویسی به همراه معرفی ویژگی های آن


در این چند ماه اخیر به کرار سوال در مورد لپ تاپ مناسب برنامه نویسی داشته ایم طوری که هفته ای چند ساعت خودم برای پیدا کردم لپ تاپ مناسب برای کاربران صرف می شد. امروز تصمیم گرفتم مقاله ای با عنوان بهترین لپ تاپ برای برنامه نویسی بنویسم و به دوستان معرفی کنم. در این مقاله ابتدا ویژگی های لپ تاپ مناسب برنامه نویسی را مورد بررسی قرار میدهیم و بعد بهترین لپ تاپ برای برنامه نویسی را معرفی می کنیم. بعد از اینکه این مباحث رو پشت سر گذاشتیم چند ایت جهت خرید لپ تاپ مناسب برنامه نویسی معرفی می کنیم. 

بهترین لپ تاپ برای برنامه نویسی

ویژگی های لپ تاپ مناسب برنامه نویسی

قبل از بررسی ویژگی های لپ تاپ مناسب برنامه نویسی، باید این رو متذکر شوم شما هر سیستم یا لپ تاپی داشته باشید حتی اگر مال ۱۰ سال پیش باشد باز هم می توانید با آن برنامه نویسی کنید پس بهانه ای برای یادگیری برنامه نویسی وجود ندارد. این مقاله برای کسانی هستش که می خواهند هزینه کنند و لپ تاپ مناسب برنامه نویسی تهیه کنند.
متاسفانه می بینم کسانی که به خاطر نداشتن لپ تاپ یا سیستم قوی کلا برنامه نویسی رو شروع نمی کنند و همش بهانه نداشتن ابزار مناسب رو دارند باید بگویم شما حتی اگر سیستم یا لپ تاپ رو نداشته باشید بازم می تونید روی برگه کدهای خودتون رو بنویسید پس لطفا این بهونه رو کلا فراموش کنید.
خب اولین چیزی که باید مد نظر قرار بدیم ویژگی های لپ تاپ مناسب برنامه نویسی می باشد و باید ببینم اگر می خوایم برنامه نویسی شروع کنیم لپ تاپ ما باید چه ویژگی هایی داشته باشد. چون وقتی می خوای لپ تاپ برای برنامه نویسی تهیه کنید اینقدر تعداد برندها  و مدل های زیاد است که به شدت آدم گیج می شود. 

توجه: اولین چیزی که در هنگام انتخاب و خرید لپ تاپ مناسب برنامه نویسی باید مد نظر قرار داد بحث هزینه ای است که می خواهید برای لپ تاپ کنید. به قول معروف هر چه قد پول بدی همون قدر هم آش میخوری. پس بر اساس بودجه ای که دارید می توانید لپ تاپ انتخاب کنید. (در حال حاضر که این مقاله رو مینویسم (آذر ۹۷) قیمت سخت افزار به خصوص لپ تاپ به شدت بالا رفته و متاسفانه قدرت خرید پایین آمده است. ولی من سعی می کنم در هر رنج قیمتی چند نمونه خوب ارائه دهم.)

۱- قابلیت جابجایی
لپ تاپ ها در سایز ها و اندازه های مختلف ارائه میشوند. شما باید دریابید که لپ تاپ مورد نیاز شما تا چه اندازه قابل حمل باشد.

اگر نیاز زیادی به جابجایی لپ تاپ ندارید و گاها نیاز به جابجایی آن پیدا میکنید. بهتر است یک لپ تاپ ۱۵ اینچی را در نظر بگیرید که دارای مشخصات بالاتر و فضای صفحه نمایش بالاتر برای کار های چند وظیفه ای است.

اگر شما در مکان های مختلف کار میکند و زیاد در سفر هستید.لپ تاپ ۱۳ الی ۱۴ اینچ ممکن است بهترین انتخاب شما باشد. که دارای وزن کمتر و عمر باتری بیشتری هستند.

اگر یک لپ تاپ از نوع ۲in1 را در نظر دارید؛ برخورداری از صفحه نمایش لمسی دلیل مناسبی برای هزینه بیشتر نیست من پیشنهاد میکنم از خرید لپ تاپ با صفحه نمایش لمسی خودداری کنید.

۲- صفحه نمایش
بارها شنیده ایم که می گویند: نیازی نیست که صفحه نمایشی با کیفیت خوبی بر خوردار باشه چون کار تو برنامه نویسیه و کاری با کیفیت اون نداری. باید بگویم این جمله اشتباست و اصلا تحت تاثیر این جمله قرار نگیرید.

صفحه نمایش یکی از مهمترین ویژگی های لپ تاپ هاست؛ مخصوصا برای برنامه نویسان. اشتباه رایج افراد برای خرید یک لپ تاپ برای برنامه نویسی عدم اهمیت دادن به صفحه نمایش است. توسعه اپلیکیشن ها نیازمند خیره شدن ساعت ها به صفحه نمایش است که این باعث ایجاد خستگی چشم ها و آسیب دیدن آن ها میشود. البته نیازی به خرید یک صفحه نمایش ۴K نیست بخصوص زمانی که همراه با افزایش هزینه و مصرف زیاد باتری میشود.

با این وجود هر کاری که میکنید به هیچ عنوان صفحه نمایشی کمتر از Full HD 1920 x 1080 نخرید. همچنین مطمعن شوید که صفحه نمایش آن دارای زاویه دید مناسب باشد. حتما نوع صفحه نمایش مات باشد و از خرید صفحه نمایشی از نوع براق خودداری کنید.

۳- قدرت پردازنده (cpu)
یکی از مهمترین چیزها در انتخاب لپ تاپ مناسب برنامه نویسی، قدرت پردازنده (cpu) لپ تاپ می باشد. cpu لپ تاپ شما تاثیر زیادی بر روی عملکرد آن دارد بنابراین این گزینه اهمیت بیشتری نسبت به دیگر موارد دارد؛ انواع مختلفی از پردازنده ها و با مشخصات متفاوتی وجود دارد. اطمینان حاصل کنید که این مشخصات را در نظر بگیرید. برخی از مهمترین آنها عبارت اند از اندازه حافظه cache، تعداد هسته، فرکانس پردازنده و نوع طراحی برای تخلیه حرارت.

به طور کلی، یک پردازنده core i7 یا حد اقل core i5 با فرکانس حداقل ۲٫۵ گیگاهرتز و بیشتر مناسب است.

۴- حافظه RAM
شما به رم بیشتر نیاز دارید اگر شما از IDE هایی ازقبیل Eclipse یا android studio و… کار کرده باشید متوجه آن خواهید شد که آن ها در حال جوییدن Ram هستند. 🙂

فکر نمیکنم با کمتر از ۴ گیگابایت رم بتوان به صورت جدی برنامه نویسی کرد. حداقل رم مورد نیاز برای این کار ۸ گیگابایت میباشد. اگر پول بیشتری دارید روی ۱۶ گیگابایت رم میتوانید حساب کنید.

بیشتر از ۱۶ گیگابایت نیاز نمیباشد مگر این که کار شما خیلی خاص باشد مثل اجرای چندین ماشین مجازی روی لپ تاپ و از این قبیل کار ها.

۵- نوع حافظه و ظرفیت آن
دارا بودن یک هارد SSD را در اولویت های خود قرار دهید. این نوع حافظه باعث بهبود قابل توجهی از سرعت پردازش نسبت به هارد های HDD خواهد شد. در هر عملیاتی باعث افزایش سرعت خواهد شد در کار هایی مثل بوت شدن سیستم عامل، کامپایل کردن کد، راه اندازی برنامه ها، و لود کردن پروژه ها.

یک حافظه SSD با ظرفیت ۲۵۶ گیگابایت مناسب است و اگر میخواهید پول بیشتری خرج کنید ۵۱۲ گیگابایت و یا ۱ ترابایت میتواند ایده آل باشد.

اگر هزینه برای شما مهم است میتوانید یک هارد SSD با ظرفیت ۱۲۸ گیگابایت انتخاب کنید و در کنار آن از یک هارد اکسترنال برای نگهداری فایل هایی از نظیر فیلم ها و موسیقی و … استفاده کنید. منظور این است که سیستم عامل و برنامه های مورد نیاز (که نیازمند سرعت زیاد در اجرا شدن دارند) را بر روی هارد ssd نصب کنید و فایل های غیر ضروری را بر روی هارد اکسترنال بریزید.

۶- کیبورد
وقتی دنبال انتخاب و خرید لپ تاپ مناسب برنامه نویسی می باشد حتما حتما باید به کیبورد توجه ویژه داشته باشید. شما نمیتوانید کیفیت صفحه کلید را در نظر نگیرید. در حالی که روزانه ساعت ها باید با آن کار کنید. چیزی که باید در انتخاب کیبورد در نظر بگیرید این است که کیبورد شما دارای کلید هایی نرم و از نظر طراحی کلید ها نه خیلی به هم نزدیک باشند نه خیلی از هم دور باشند.

داشتن کیبوردی که نور پس زمینه دارد چیز بدی نیست اما برای یک برنامه نویس نیازی به نگاه کردن به کلید های صفحه نمایش، با تایپ ۱۰ انگشتی نیست بهتر است تایپ ۱۰ انگشتی را خوب یاد بگیرید زیرا در برنامه نویسی کیبورد شما صلاح شماست.

۷- باتری
اگر بیشتر وقت خود را در نزدیکی یک منبع برق صرف کنید، عمر باتری خوب ممکن است برای شما مهم نباشد. اما اگر اینطور نیست پس مهم است یک باتری با قابلیت نگهداشتن ۶ ساعت شارژ ایده آل است.

۸- گرافیک
گرافیک برای اهداف برنامه نویسی بسیار مهم نیست. میتوانید از یک گرافیک سرخود استفاده کنید و به جای هزینه آن به هارد و سی پی یو خود بیشتر بها بدهید. البته باید ببینید کار شما چیست برای مثال یک برنامه نویس php اصلا نیازی به گرافیک ندارد، اما کسی که کارش بازی سازی است قطعا نیازمند گرافیک خیلی بالا میباشد.

نکته مهم: اگر بودجه پایینی دارید پیشنهاد می کنم لپ تاپی رو انتخاب کنید که بدون سیستم عامل باشد چون اگر سیستم عامل روی آن نباشد هزینه آن مقداری کاهش پیدا می کند. 

ویژگی های لپ تاپ مناسب برنامه نویسی

بهترین لپ تاپ ها برای برنامه نویسی

بعد از اینکه ویژگی های لپ تاپ مناسب برنامه نویسی را مورد بررسی قرار دادیم حال می خواهیم در قالب یک لیست، حداقل سخت افزار مورد نیاز یک کامپیوتر برای برنامه نویسی را ارائه دهیم. اگر بخواهیم بگیم بهترین لپ تاپ برای برنامه نویسی چه لپ تاپی هست باید این حداقل ها رو داشته باشد. در دو لیست زیر، حداقل و حداکثر سخت افزار مورد نیاز یک کامپیوتر (لپ تاپ) برای برنامه نویسی را شرح داده ایم.

حداقل سخت افزار مورد نیاز یک کامپیوتر برای برنامه نویسی

  • ۴ گیگابایت حافظه Ram
  • ۱۲۸ گیگابایت هارد SSD
  • ۵۰۰ گیگابایت حافظه Hdd
  • سی پی یو مدل intel Core i5
  • صفحه نمایش با Full HD 1920 x 1080

حداکثر سخت افزارمورد نیاز یک کامپیوتر برای برنامه نویسی به صورت جدی

  • ۱۶ گیگابایت حافظه Ram
  • ۲۵۶ گیگابایت هارد SSD
  • ۱ ترابایت حافظه Hdd
  • سی پی یو مدل intel Core i7
  • صفحه نمایش بالا تر از Full HD 1920 x 1080 

قیمت لپ تاپ مناسب برنامه نویسی

قیمت لپ تاپ مناسب برنامه نویسی

خب تا این لحظه توضیحاتی در مورد ویژگی های لپ تاپ مناسب برنامه نویسی ارائه دادیم و حداقل و حداکثری ها رو مشخص کردیم حال میخواهیم در مورد قیمت لپ تاپ مناسب برنامه نویسی صحبت کنیم و چند نمونه رو ارائه دهیم. اگر به فکر خرید لپ تاپ مناسب برنامه نویسی هستید پیشنهاد میکنم حتما از لپ تاپ های زیر دیدن کنید. 

لپ تاپ مناسب برنامه نویسی تا ۳ میلیون (بین ۲٫۵ تا ۳ میلیون)

در این وضعیت نا به سامان بازار خیلی سخت هستش بخوای لپ تاپ با قیمت سه میلیون پیدا کنید. اگر می تونید دنبال لپ تاپ های استوک خوب بگردید اگر هم میخواید حتما نو باشه و تا حدودی کار برنامه نویسی شما رو راه بندازی به نظرم گزینه های زیر قابلیت بررسی رو دارند. (این لپ تاپ هایی که معرفی می کنم زیاد قوی نیستن چون با سه میلیون نمیشه بیشتر از این ها تهیه کرد.)

  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 110 – K
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad V310 – R
  • لپ تاپ ۱۱ اینچی لنوو مدل N22
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 120s N3350
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 110 N3060
  • لپ تاپ ۱۵ اینچی ایسوز مدل VivoBook Max X541SA N3060

لپ تاپ مناسب برنامه نویسی تا ۵ میلیون (بین ۴ تا ۵ میلیون)

اگر بودجه شما تا ۵ میلیون هستش دست شما کمی بازتر هستش و می توانید انتخاب های بیشتری داشته باشید. در بخش زیر بهترین لپ تاپ ها برای برنامه نویسی در رنج قیمت ۵ میلیون تومان رو معرفی کرده ایم.

  • لپ تاپ ۱۵ اینچی ایسوس مدل VivoBook X541UA – DM2223
  • لپ تاپ ۱۵ اینچی ایسوس مدل VivoBook X541NA – B
  • لپ تاپ ۱۵ اینچی ایسوس مدل ASUSPRO P2540NV – A
  • لپ تاپ ۱۵ اینچی ایسوس مدل X541UV – P
  • لپ تاپ ۱۵ اینچی اچ پی مدل ۱۵-bs019ne
  • لپ تاپ ۱۵ اینچی اچ پی مدل bs095nia -A
  • لپ تاپ ۱۵ اینچی اچ پی مدل ۱۵-bw096nia
  • لپ تاپ ۱۵ اینچی اچ پی مدل ۱۵-bw094nia
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 330 – FA
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 320 – AO
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 330 – G
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad V310 – V

لپ تاپ مناسب برنامه نویسی تا ۸ میلیون (بین ۷ تا ۸ میلیون)

اگر می خواهید تا ۸ میلیون هزینه کنید دستتون بیشتر باز میشه و می تونید از بین تعداد زیادی لپ تاپ یکی رو انتخاب کنید. البته فکر نکنید یک ابر قول می تونید انتخاب کنید. با این قیمت می تونید یک لپ تا معمولی و نسبتا خوب انتخاب کنید. در بخش زیر ۵ مدل لپ تاپ معرفی کردیم که بین ۷ تا ۸ میلیون بودجه می خواند.

  • لپ تاپ ۱۵ اینچی ایسوس مدل – A540UP – B
  • لپ تاپ ۱۵ اینچی ایسوس مدل X541UV – N
  • لپ تاپ ۱۵ اینچی ایسوس مدل R556QG- A
  • لپ تاپ ۱۵ اینچی لنوو مدل ThinkPad E580 – B
  • لپ تاپ ۱۵ اینچی لنوو مدل Ideapad 320- AD

لپ تاپ مناسب برنامه نویسی تا ۱۱ میلیون (بین ۱۰ تا ۱۱ میلیون)

اگر می توانید مبلغی بین ۱۰ تا ۱۱ میلیون هزینه کنید شاید بتوان یک لپ تاپ قابل قبول تهیه کرد. در بخش زیر تعدادی لپ تاپ خوبی در این رنج قیمت معرفی کرده ایم که پیشنهاد می کنم حتما مورد بررسی قرار دهید. 

  • لپ تاپ ۱۵ اینچی ایسوس مدل VivoBook K570UD – A
  • لپ تاپ ۱۴ اینچی ایسوس مدل R419UN – B
  • لپ تاپ ۱۵ اینچی ایسوس مدل R542UN- F
  • لپ تاپ ۱۵ اینچی اچ پی مدل ProBook 450 G5 – C
  • لپ تاپ ۱۵ اینچی اچ پی مدل ۱۵-bs193nia
  • لپ تاپ ۱۴ اینچی اچ پی مدل Pavilion x360 – ۱۴-ba002ne
  • لپ تاپ ۱۵ اینچی لنوو مدل ThinkPad E580 – D
  • لپ تاپ ۱۵ اینچی دل مدل Inspiron 5570-DEY
  • لپ تاپ ۱۵ اینچی دل مدل Inspiron 5570-DEL

لپ تاپ مناسب برنامه نویسی تا ۱۵ میلیون (بین ۱۴ تا ۱۵ میلیون)

اگر بودجه شما به ۱۵ میلیون برسد قاعدتا می توانید گزینه های خیلی بهتری رو انتخاب کنید. در بخش زیر تعدادی لپ تاپ با این بودجه رو معرفی کرده ایم. که می توانید این مدل ها رو هم مورد بررسی قرار دهید. 

  • لپ تاپ ۱۵ اینچی ام اس آی مدل GE63 7RC Raider
  • لپ تاپ ۱۴ اینچی اچ پی مدل Pavilion x360 – ۱۴-ba105 – A به همراه قلم نوری
  • لپ تاپ ۱۵ اینچی اچ پی مدل ProBook 450 G5 – I
  • لپ تاپ ۱۳ اینچی مایکروسافت مدل Surface Book
  • لپ تاپ ۱۳٫۳ اینچی دل مدل Inspiron 5379 Y

لپ تاپ مناسب برنامه نویسی تا ۲۰ میلیون (بین ۱۸ تا ۲۰ میلیون)

شاید یکم تعجب کنید با این قیمت ها، ولی راسیتش اگر یک لپ تاپ عالی می خواید حتما باید بالای ۲۰ میلیون هزینه کنید. در بخش زیر تعدادی لپ تاپ از رنج قیمت ۱۸ تا ۲۰ میلیون معرفی کرده ایم که می توانید این مدل ها رو هم مورد بررسی قرار دهید. 

  • لپ تاپ ۱۳ اینچی اپل مدل MacBook Pro MPXT2 2017
  • لپ تاپ ۱۳ اینچی اپل مدل MacBook Pro MPXV2 2017 همراه با تاچ بار
  • لپ تاپ ۱۴ اینچی لنوو مدل ThinkPad T470P – C
  • لپ تاپ ۱۳ اینچی مایکروسافت مدل Surface Book

نتیجه گیری:
دوستان عزیز اگر شما میخواید برنامه نویسی کار کنید نیاز نیست حتما یک سیستم یا لپ تاپ خیلی قوی داشته باشید برای ابتدای کار همین سیستم ها و لپ تاپ های عادی و معمولی کافی هست، مهم شروع برنامه نویسی می باشد که استارت بزنید. سعی کنید زیاد درگیر این حاشیه ها برای یادگیری برنامه نویسی نشید. 

نکته مهم: این لپ تاپ هایی که ما معرفی کردیم فقط نمونه بود شما وقتی می خواید اقدام به خرید یک لپ تاپ مناسب برنامه نویسی کنید حتما حتما باید خودتون بیشتر تحقیق کنید و بر اساس نیاز و بودجه ای که کنار گذاشته اید خرید کنید.

زبان های برنامه نویسی مفسری


بعد از اینکه مقالات مفسر در برنامه نویسی چیست و بررسی تفاوت کامپایلر و مفسر رو در سایت منتشر کردیم حال میخواهیم در مورد زبان های برنامه نویسی مفسری صحبت کنیم و ببینیم چه زبان های برنامه نویسی مفسری هستند. البته ابتدا توضیحاتی در مورد زبان های مفسری میدیم و در نهایت می گیم چه زبان هایی مفسری هستند. در مقاله ای جدا هم در مورد زبان های کامپایلری صحبت می کنیم و می گیم چه زبان های برنامه نویسی کامپایلری هستند.

زبان های برنامه نویسی مفسری

قبل از اینکه شروع به معرفی زبان های برنامه نویسی مفسری کنیم باید بدونیم اصلا زبان های مفسری چی هستند و چگونه کار می کنند. در بخش پایین در این باره صحبت می کنیم و توضیحاتی رو ارائه میدهیم.

زبان های مفسری

اگر بخواهیم واضح بگویم مفسر در برنامه نویسی چیست؟ مفسر یک برنامه کامپیوتری است که دستورهای نوشته شده در یک زبان برنامه نویسی را اجرا می‌کند. مفسر در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کند. 

نکته مهم: در زبان های مفسری کد ها به صورت خط به خط تفسیر و اجرا می شوند و در اجرا بعدی برنامه نیز به همین صورت ادامه می یابد.

همینطور که می دانید هر دستگاه کامپیوتری (کامپیوترهای رومیزی، نوت بوک ها، گوشی های هوشمند، تبلت ها و …) از سخت افزار خاصی ساخته شده است که دارای قسمت های مختلفی از جمله پردازنده (Processor) است. حال اگر بخواهید برای این پردازنده برنامه ای بنویسید که این پردازنده کاری را انجام دهد باید دستورات زبان ماشین خاص آن پردازنده را یکجا نوشته و در یک فایل ذخیره کنید و برای اجرا آن فایل را یکباره به پردازنده بدهید تا اجرا کند.
چون نوشتن به زبان ماشین بسیار نیاز به حوصله و وقت دارد و اشکال زدایی (دیباگ) آن نیز کار پر مشقت و وقت گیر است معمولا از سایر زبان ها استفاده می کنند و آن زبان ها را با “برنامه های خاصی” به زبان ماشین تبدیل می کنند.

اگر آن برنامه خاص تبدیل دستورات به زبان ماشین را به جای یکباره و کامل به صورت دستور به دستور انجام دهد و همان لحظه دستور تبدیل شده (فقط و فقط همان دستور را) برای اجرا به پردازنده تحویل دهد و پس از اجرا دوباره دستور بعد را به زبان ماشین تبدیل کند و به پردازنده تحویل دهد و … این ماجرا تا به انتهای دستورات به صورت خط به خط تکرار شود و دستورات زبان ماشین توسط پردازنده فقط اجرا شوند و در فایلی ذخیره نشوند به آن برنامه خاص اینترپرتر یا مفسر می گویند.

در گذشته های دور نسخه های مختلف بیسیک جزو معروفترین زبان های اینترپرتری یا مفسری دنیا بودند نسخه هایی نظیر GWbasic و Basica و QBasic و …

بزرگترین مزیت اینترپرتر یا مفسر این است که برنامه نوشته شده اصلی وابستگی کمتری به نوع سخت افزار دارد. لذا برنامه ای که به زبان مفسر نوشته شود همانطور که می تواند روی یک کامپیوتر پردازنده اینتل اجرا شود می تواند بر روی یک تبلت با پردازنده آرم نیز اجرا شود یا روی یک موبایل یا یک اسباب بازی مدل.

توجه: برای اینکه به صورت دقیق بدونید زبان های مفسری چه هستند یا اصلا مفسر در برنامه نویسی چیست پیشنهاد می کنم مقاله مفسر در برنامه نویسی چیست رو مطالعه کنید. در این مقاله به صورت کامل و دقیق در مورد مفسر در برنامه نویسی صحبت کرده ایم

از نظر نحوه ی اجرا

از نظر نحوه ی اجرا نیز معمولا می توان زبان ها را به دو دسته تقسیم کرد.

به دسته اول زبان های کامپایلری یا کامپایل شونده ( Compiled ) گفته می شود. این زبان های برای اجرا به کامپایلر نیاز دارند. کامپایلر برنامه ای است که کد مربوط را خط به خط از نظر درستی بررسی کرده و سپس در صورت عدم وجود خطا کل کد را به زبان قابل اجرا برای ماشین تبدیل می کند. کد کامپایل شده در نهایت به صورت یک فایل قابل اجرا برای سیستم هدف درآمده و دیگر قابل تغییر نیست. در صورت نیاز به تغییر باید کد اصلی را ویرایش کرده و آن را مجددا کامپایل کنیم.

به زبان های دسته دوم مفسری یا اسکریپتی ( Scripting ) گفته می شود. این زبان ها به جای کامپایلر به مفسر نیاز دارند. مفسر کد برنامه را خط به خط بررسی کرده و همان لحظه اجرا می کند. فایل حاوی کد های یک زبان های مفسری به وسیله مفسر مستقیما اجرا می شود و با تغییر فایل و ذخیره آن نتیجه هم تغییر می کند.

یکی از تفاوت های این دو دسته مربوط خطا یابی است. در دسته اول اگر در خطی از برنامه خطایی موجود باشد کامپایلر کد را کامپایل نمی کند ولی در دسته دوم مفسر کد های قبل از خطا را اجرا می کند و وقتی به خطا می رسد ارور داده و متوقف می شود. (البته در بعضی زبان های مفسری در صورت رسیدن به خطا مفسر متوقف نمی شود و از خط دارای خطا عبور می کند و به تفسیر بقیه خطوط می پردازد)

توجه: برای درک بهتر تفاوت زبان های مفسری و کامپایلری پیشنهاد میکنم مقاله بررسی تفاوت کامپایلر و مفسر رو مطالعه کنید. در این مقاله در قالب ۱۴ مورد به بررسی تفاوت زبان های مفسری و کامپایلری پرداخته ایم.

 زبان های برنامه نویسی مفسری

تعداد زیادی زبان برنامه نویسی داریم که مفسری می باشد. که در بخش زیر تعدادی از زبان های معروف که مفسر هستند رو لیست کرده ایم.

  • پایتون
  • جاوااسکریپت
  • بیسیک
  • وی بی اسکریپت
  • زبان PHP
  • پرل
  • روبی
  • زبان Forth
  • و …

زبانهای تفسیری و کامپایلی

بسیاری از افراد زبانهای سطح بالا را به دو دسته تفسیری و کامپایلی تقسیم می کنند. کامپایلر ها و مفسر ها روی زبان ها عمل می کنند نه زبانها روی آنها، مثلا این تصور وجود دارد که الزاما BASIC تفسیر می شود و C کامپایل. اما ممکن است نمونه هایی از BASIC یا C ارائه شود که به ترتیب کامپایلری و تفسیری باشد. البته استثنا هایی نیز وجود دارد، مثلا برخی زبانها در خصوصیات خود این تقسیم بندی را مشخص کرده اند (C کامپایلری است یا SNOBOL4 و اکثر زبانهای اسکریپتی که کد منبع زمان اجرا دارند تفسیری می باشد).

نکته مهم: زبان هایی مثل جاوا، ویژوال بیسیک دات نت و سی شارپ زبان هایی هستند که هم کامپایلری هستند هم مفسری.

تفاوت کامپایلر و اسمبلر | آموزش برنامه نویسی


در مقالات قبل که در سایت منتشر کردیم در زمینه کامپایلر و مفسر صبحت هایی کردیم و گفتم هر کدوم چی هستند، چه کاربردی دارند و در نهایت تفاوت هاشون رو مورد بررسی قرار دادیم. حال در این مقاله میخواهیم در مورد تفاوت کامپایلر و اسمبلر صحبت کنیم و این دو رو مورد بررسی قرار دهیم. پیشنهاد میکنم حتما مقالات کامپایلر در برنامه نویسی چیست و بررسی انواع کامپایلر، مفسر در برنامه نویسی چیست و بررسی تفاوت کامپایلر و مفسر رو مطالعه کنید تا درک خوبی نسب به کامپایلر و مفسر داشته باشید. همراه ما باشید تا به بررسی تفاوت کامپایلر و اسمبلر بپردازیم.

تفاوت کامپایلر و اسمبلر

قبل از اینکه شروع به تفاوت کامپایلر و اسمبلر کنیم باید ابتدا بدونیم کامپایلر و اسمبلر چی هستند و به چه دردی می خورند بعد بیایم و در مورد تفاوتشون بنویسیم. در بخش زیر هر دو رو تعریف کرده ایم.

کامپایلر چیست؟

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

به بیان ساده، کامپایلر برنامه‌ای است که یک برنامه نوشته شده در یک زبان خاص ساخت‌یافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل می‌نماید. در یکی از مهم‌ترین پروسه‌های این تبدیل، کامپایلر وجود خطا را در برنامه مبدأ اعلام می‌نماید.

تعریف یکی از دوستان از کامپایلر، کامپایلر برنامه‌ای رایانه‌ای می‌باشد که به‌منظور انتقال زبان‌های برنامه‌نویسی سطح بالا به زبان‌های سطح پایین مانند زبان اسمبلی و زبان ماشین، جهت اجرایی شدن، طراحی وارائه‌شده‌اند، خروجی این نرم‌افزار برای ماشین‌هایی مانند رایانه قابل اجرا هست.

کامپایلرها به عنوان ابتدایی ترین و اصلی‌ترین برنامه، برای برنامه نویسان به شمار می‌آیند، در اولین نگاه ممکن هست کامپایلر ها برنامه‌های ساده و بدون تنوع باشند اما با نگاه دقیق‌تر مشخص می‌شود که آنها در برخی موارد دارای پیچیدگی‌هایی هستند که به علت ویژگی‌های متفاوت آنها پدید آمده است. برخی از این پیچیدگی‌ها به علت دشوار بودن برخی زبان‌های سطح ماشین می‌باشد؛ به عبارتی زبان‌های سطح ماشین مانند زبان‌های برنامه‌نویسی سطح بالا به سادگی قابل‌فهم برای انسان نیستند و برای همین منظور است که انسان به زبان‌های سطح بالا برنامه را می‌نویسد و با استفاده از کامپایلرها آن را به سطح پایین و سطح ماشین تبدیل می‌کند. 

اسمبلر چیست؟

به طورکلی اسمبلر نرم افزاری است که دستورات قابل فهم برای انسان را به دستورات قابل فهم برای کامپیوتر تبدیل می کند و درصورت وجود اشتباهات دستوری آنها را گزارش می کند.
توضیحات کامل: اسمبلر برنامه‌ای است که با تبدیل یادیارهای دستوری اسمبلی به آپ‌کدها و جایگزینی شناسه‌ها با آدرس‌های حافظه، کد هدف را به وجود می‌آورد. استفاده از ارجاعات نمادی از ویژگی‌های کلیدی اسمبلرها است که از محاسبات خسته‌کننده و به‌روزرسانی‌های دستی آدرس‌ها بعد از تغییر کد برنامه توسط برنامه‌نویس جلوگیری می‌کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره می‌برند که این امکان را به وجود می‌آورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمت‌های مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالی‌های دستوری کوتاه رایج در خلال متن برنامه به جای فراخوانی رویه‌ها استفاده می‌شود.

نکته مهم: زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح پایین یا آپ‌کد استفاده می‌کند. بعضی آپ‌کدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند، و بیشتر اسمبلرها می‌توانند لیبل‌ها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرس‌های حافظه و ثابت‌های عددی بپذیرند.

اسمبلرها از دهه ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آن‌ها بسیار راحت‌تر از نوشتن متجرم‌ها برای زبان‌های برنامه‌نویسی سطح بالا است به‌طوری‌که هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ‌کد زبان ماشین تبدیل می‌شود. اسمبلرهای جدید، به‌طور خاص برای معماری‌های ریسک، مانند اسپارک و پاور، هم‌مانند معماری ایکس۸۶ و ایکس۸۶–۶۴، با بهینه‌سازی زمان‌بندی دستورالعمل‌ها باعث استفاده کارآمد از خط لولهٔ واحد پردازش مرکزی می‌شوند.

برخی از رایج‌ترین اسمبلرهای معماری ایکس۸۶ عبارتند از:

  • مایکروسافت ماکرو اسمبلر (Microsoft Macro Assembler یا MASM)
  • نت‌واید اسمبلر (Netwide Assembler یا NASM)
  • گنو اسمبلر (Gnu Assembler یا GAS)
  • توربو اسمبلر (Turbo Assembler یا TASM)

تفاوت کامپایلر و اسمبلر

کامپایلر برنامه مورد نظر را به طور کامل بررسی و تبدیل به زبان ماشین می کند اگر به خطایی حین ترجمه برخورد کند آن خطا را نگه داشته و پس از اتمام کار لیستی از خطاهایی را که برنامه داشته به کاربر اعلام می کند.
مفسر یک برنامه را خط به خط ترجمه می کند اگر حین ترجمه به خطا بر بخورد کار ترجمه را پایان داده و روی خط مورد نظر می ایستد تا خطا رفع شود.
اسمبلر که برای زبان اسمبلی به کار میرود خط به خط شروع به ترجمه برنامه میکند از این نظر تا حدودی مانند مفسر عمل می کند اما ممکن است برای تبدیل یک برنامه با پسوند obj مجبور شود که دوبار برنامه را بررسی کند. مثلا اگر تعداد پرش ها بسیار زیاد باشد اسمبلر قسمتهایی از برنامه را خالی می گذارد و پس از یک ترجمه کلی برنامه(مانند کامپایلر) و درک منطق آن به سراغ جاهای خالی رفته و آنها را به زبان ماشین تبدیل می کند.

منبع: مقاله What is the difference between an Assembler, a Compiler & an Interpreter?

بررسی تفاوت کامپایلر و مفسر


بعد از اینکه مقالاتی در زمینه کامپایلر و مفسر در سایت با عنوان کامپایلر در برنامه نویسی چیست و بررسی انواع کامپایلر و مفسر در برنامه نویسی چیست منتشر کردیم مفسر و کامپایلر در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کنند. حال باید اقدام به بررسی تفاوت کامپایلر و مفسر کنیم و ببینیم مفسر و کامپایلر چه تفاوت هایی با هم دارند. 

بررسی تفاوت کامپایلر و مفسر

قبل از اینکه شروع به بررسی تفاوت کامپایلر و مفسر کنیم باید بدونیم کامپایلر و مفسر چی هستند که یه دید کلی پیدا کنیم و بعدش تفاوت هاشون رو مورد بررسی قرار دهیم. در بخش زیر در مورد این دو توضیحات مختصری ارائه داده ایم.

کامپایلر چییست؟

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

به بیان ساده، کامپایلر برنامه‌ای است که یک برنامه نوشته شده در یک زبان خاص ساخت‌یافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل می‌نماید. در یکی از مهم‌ترین پروسه‌های این تبدیل، کامپایلر وجود خطا را در برنامه مبدأ اعلام می‌نماید.

تعریف یکی از دوستان از کامپایلر، کامپایلر برنامه‌ای رایانه‌ای می‌باشد که به‌منظور انتقال زبان‌های برنامه‌نویسی سطح بالا به زبان‌های سطح پایین مانند زبان اسمبلی و زبان ماشین، جهت اجرایی شدن، طراحی وارائه‌شده‌اند، خروجی این نرم‌افزار برای ماشین‌هایی مانند رایانه قابل اجرا هست.

توجه: برای درک بهتر و دقیق تر پیشنهاد میکنم مقاله کامپایلر در برنامه نویسی چیست و بررسی انواع کامپایلر رو کامل مطالعه کنید.

مفسر چیست؟

اگر بخواهیم واضح بگویم مفسر در برنامه نویسی چیست؟ مفسر یک برنامه کامپیوتری است که دستورهای نوشته شده در یک زبان برنامه نویسی را اجرا می‌کند. مفسر در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کند. 

نکته مهم: در زبان های مفسری کد ها به صورت خط به خط تفسیر و اجرا می شوند و در اجرا بعدی برنامه نیز به همین صورت ادامه می یابد.

همینطور که می دانید هر دستگاه کامپیوتری (کامپیوترهای رومیزی، نوت بوک ها، گوشی های هوشمند، تبلت ها و …) از سخت افزار خاصی ساخته شده است که دارای قسمت های مختلفی از جمله پردازنده (Processor) است. حال اگر بخواهید برای این پردازنده برنامه ای بنویسید که این پردازنده کاری را انجام دهد باید دستورات زبان ماشین خاص آن پردازنده را یکجا نوشته و در یک فایل ذخیره کنید و برای اجرا آن فایل را یکباره به پردازنده بدهید تا اجرا کند.
چون نوشتن به زبان ماشین بسیار نیاز به حوصله و وقت دارد و اشکال زدایی (دیباگ) آن نیز کار پر مشقت و وقت گیر است معمولا از سایر زبان ها استفاده می کنند و آن زبان ها را با “برنامه های خاصی” به زبان ماشین تبدیل می کنند.

اگر آن برنامه خاص تبدیل دستورات به زبان ماشین را به جای یکباره و کامل به صورت دستور به دستور انجام دهد و همان لحظه دستور تبدیل شده (فقط و فقط همان دستور را) برای اجرا به پردازنده تحویل دهد و پس از اجرا دوباره دستور بعد را به زبان ماشین تبدیل کند و به پردازنده تحویل دهد و … این ماجرا تا به انتهای دستورات به صورت خط به خط تکرار شود و دستورات زبان ماشین توسط پردازنده فقط اجرا شوند و در فایلی ذخیره نشوند به آن برنامه خاص اینترپرتر یا مفسر می گویند.

توجه: برای درک بهتر و دقیق تر پیشنهاد میکنم مقاله مفسر در برنامه نویسی چیست رو کامل مطالعه کنید.

تفاوت کامپایلر و مفسر

هردوی این گروه ها در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کنند، اما تفاوت آنها در این می باشد که در زبان های کامپایلری ابتدا یکبار کد ها به صورت کامل ترجمه می گردند و سپس برنامه برای اجرا از روی فایل کامپایل شده اجرا می گردد. اما در زبان های مفسری کد ها به صورت خط به خط تفسیر و اجرا می شوند و در اجرا بعدی برنامه نیز به همین صورت ادامه می یابد.

یکی از تفاوت های این زبان ها این می باشد که زبان مفسر برای اجرا نیاز به یک نرم افزار مفسر یا interpreter دارد اما زبان کامپایلر تنها یکبار کامپایل شده و از آن پس بر روی هر سیستمی قابل اجرا می باشد. اما همین نکته این تفاوت را ایجاد می کند که، زبان کامپایلر وابسته به سیستم عامل است، یعنی در صورتی اجرا خواهد شد که در آن سیستم عامل کامپایل شده باشد و در سیستم عامل های دیگر اجرا نخواهد شد. اما زبان مفسر در هر سیستم عاملی که نرم افزار مفسر آن وجود داشته باشد اجرا و تفسیر می گردد و در واقع وابسته به سیستم عامل نیست.

دیگر تفاوت این زبان ها سرعت اجرا و میزان استفاده از منابع می باشدو با توجه به این نکته که زبان های Interpreter کد ها را به صورت خط به خط تفسیر و اجرا می کنند، این امر باعث می شود تا مقدار زیادی از CPU و RAM کامپیوتر استفاده شود و قطعا مشخص است که سرعت پایین تری نیز خواهد داشت. اما امتیاز کامپایل شدن یکباره ی زبان های کامپایلر این است که در اجرا های متعدد سبک تر بوده و سرعت بهتری خواهند داشت.

همین مزیت یک مرتبه به صورت کامل کامپایل شدن زبان های کامپایلر در بخش ایراد سنجی و رفع مشکل نقص به حساب می آید. زیرا در زبان های مفسر هنگامی که برنامه خط به خط اجرا می شود، در هر بخشی از برنامه که مشکلی وجود داشته باشد قابل پیدا کردن و رفع می باشد اما در زبان های Compiler برای رفع یک مشکل در کد ها می بایست سورس خود برنامه را مجدد بازبانی کرد و خطا را پیدا کرده و تصحیح کرد، که بسیار دشوار تر از زبان های مفسری می باشد.

برای بررسی تفاوت کامپایلر و مفسر ابتدا به صورت کلی تفاوت کامپایلر و مفسر رو مورد بررسی قرار میدهیم و بعد در قالب ۱۴ مورد این تفاوتها رو بررسی می کنیم. 

  • زبان های مفسری بصورت خط به خط کدها را خوانده و اجرا می کنند
  • زبان های کامپایلری به یکباره کد برنامه را خوانده و آن را هر زمان که نیاز باشد اجرا می کنند
  • برنامه ها در زبان های مفسری وابستگی به سیستم عامل ندارند و در هر سیستم عاملی قابل اجرا هستند
  • برنامه ها در زبان های کامپایلری برای هر سیستم عامل متفاوتی بایستی تغییر کد و مجددا کامپایل شوند
  • برای اجرا یک برنامه مفسری باید مفسیر مورد نظر بر روی سیستم عامل حتما نصب شده باشد
  • برای اجرا یک برنامه کامپایلری نیازی به وجود داشتن کامپایلر بر روی سیستم عامل نمی باشد
  • سرعت اجرای برنامه های مفسری بسیار کند است
  • سرعت اجرای برنامه های کامپایلری بسیار سریع است
  • خطایابی کدهای اجرایی در برنامه های مفسری با توجه به اجرا خط به خط آسانتر است
  • خطایابی کدهای اجرایی در برنامه های کامپایلری با توجه به اجرای کامل برنامه کمی دشوارتر است

بررسی تفاوت های کامپایلر و مفسر

۱- پروسه توسعه نرم‌افزار

کامپایلر: برنامه را می‌سازد سپس همه دستورات زبان را از نظر درستی تجزیه و تحلیل می‌کند و اگر دستوری غلط باشد، ارور می‌دهد و اگر همهٔ دستورات درست باشند، سورس‌کد را به کد ماشین تبدیل می‌کند. فایل‌های مختلفی را به برنامه اجرایی (همان فایل exe) اضافه می‌کند و در نهایت برنامه را اجرا می‌کند.
مفسر: برنامه را می‌سازد. خبری از افزودن فایلی اجرایی به برنامه یا تولید کد ماشین نیست بلکه دستورات سورس‌کد خط به خط در حین اصطلاحاً Run-time اجرا می‌کند.

۲- مزایا

کامپایلر: کد برنامه کاملاً به کد ماشین ترجمه شده است؛ بنابراین زمان اجرای آن کمتر است.
مفسر: استفاده از مفسرها به خصوص برای دولوپرهای مبتدی آسان‌تر است.

۳- معایب

کامپایلر: برای تغییر برنامه حتماً باید به سورس‌کد آن مراجعه شده و در صورت وجود باگ در برنامه، بایستی مجدد کامپایل گردد.
مفسر: اپلیکیشن‌های نوشته شده با زبان‌های تفسیری تنها بر روی کامپیوترهایی اجرا می‌شوند که مفسر مربوطه روی آن‌ها نصب باشد.

۴- سرعت اجرا

کامپایلر: کدهای کامپایل‌شده سریع‌تر اجرا می‌شوند.
مفسر: کدهای تفسیری کندتر اجرا می‌شوند.

۵- فایل خروجی

کامپایلر: یک خروجی تولید می‌کند (با فرمت exe) که می‌تواند بدون نیاز به سورس‌کد اصلی اجرا شود.
مفسر: هیچ‌گونه فایل‌اجرایی تولید نمی‌کند.

۶- اجرا

کامپایلر: اجرای برنامه از فرآیند کامپایل آن جدا است به طوری که اجرای برنامه تنها زمانی اتفاق می‌افتد که کل کدها کامپایل شده باشند.
مفسر: اجرای برنامه بخشی از فرآیند تفسیر آن است؛ بنابراین برنامه خط به خط اجرا می‌شود.

۷- بهینه‌سازی کد

کامپایلر: کامپایلر همهٔ کد را یک‌جا می‌بیند و از همین روی بهینه‌سازی‌های زیادی را برای اجرای سریع‌تر کد انجام می‌دهد.
مفسر: مفسرها کد را خط به خط می‌بینند و لذا بهینه‌سازی‌هایی که انجام می‌گیرد به اندازه کامپایلرها قوی نیستند.

۸- تایپ دینامیک

کامپایلر: پیاده‌سازی آن در کامپایلرها دشوار است چون کامپایلرها نمی‌توانند پیش‌بینی کنند که در حین اجرا چه اتفاقی می‌افتد.
مفسر: زبان‌های تفسیری به خوبی از تایپ دینامیک پشتیبانی می‌کنند.

۹- کاربرد

کامپایلر: بیشتر مناسب Production Environment است و از سرعت اجرای به مراتب بیشتری برخوردار است.
مفسر: بیشتر مناسب Development Environment است و سرعت توسعهٔ نرم‌افزار را بالا می‌برد چرا که در صورت وجود باگ در برنامه، دائم نیازی به کامپایل مجدد برنامه نیست.

۱۰- مدیریت خطاها

کامپایلر: کامپایلر همهٔ خطاها و اخطارها را در زمان کامپایل نشان می‌دهد و از همین روی بدون تصحیح کردن خطاها، اجرای برنامه غیرممکن است.
مفسر: اینترپریتر یک خط از دستورات را می‌خواند و اگر خطایی وجود داشته باشد آن را نشان می‌دهد به طوری که برای تفسیر خط بعدی باید خطای قبلی برطرف شده باشد.

۱۱- ورودی

کامپایلر: کل برنامه را به عنوان ورودی می‌گیرد.
مفسر: یک خط از کد را به عنوان ورودی می‌گیرد.

۱۲- خروجی

کامپایلر: کامپایلرها کد ماشین تولید می‌کنند.
مفسر: مفسرها هیچ کد ماشینی تولید نمی‌کنند.

۱۳- خطاها

کامپایلر: همه خطاها را هم‌زمان پس از کامپایل نشان می‌دهد.
مفسر: خطاهای یک خط از دستورات را یکی‌یکی نمایش می‌دهد.

۱۴- زبان‌های برنامه‌نویسی تحت پوشش

کامپایلر: Scala ،C# ،C++ ،C و Java همه از کامپایلر استفاده می‌کنند.
مفسر: Perl ،PHP و Ruby از اینترپریتر استفاده می‌کنند.

نحوه کار کامپایلر و مفسر

بعد از اینکه تفاوت کامپایلر و مفسر رو مورد بررسی قرار دادیم حال برای اینکه متوجه نحوه کار کامپایلر و مفسر شوید پیشنهاد می کنم تصویر زیر رو مشاهده کنید تا کامل درک درستی از نحوه کار این دو پیدا کنید.

نحوه کار کامپایلر و مفسر در برنامه نویسی

مفسر در برنامه نویسی چیست و چه کاربردی دارد به همراه ویژگی های آن


بعد از اینکه مقاله کامپایلر در برنامه نویسی چیست و بررسی انواع کامپایلر رو در سایت منتشر کردیم حال می خواهیم در این مقاله در مورد مفسر در برنامه نویسی صحبت کنیم و توضیحاتی در مورد آن ارائه دهیم یعنی به صورت کامل میخواهیم بگویم مفسر در برنامه نویسی چیست و چه کاربردی دارد. برای درک بهتر برنامه نویسی باید مبانی ابتدایی آن را بدانید و بعد شروع به یادگیری و آموزش برنامه نویسی کنید به این صورت خیلی راحتر جلو میرید و دچار مشکل خاصی نمی شوید. 

مفسر در برنامه نویسی چیست

مفسر در برنامه نویسی چیست

اگر بخواهیم واضح بگویم مفسر در برنامه نویسی چیست؟ مفسر یک برنامه کامپیوتری است که دستورهای نوشته شده در یک زبان برنامه نویسی را اجرا می‌کند. مفسر در واقع یک زبان برنامه نویسی سطح بالا را به یک زبان قابل فهم برای ماشین تبدیل می کند. 

نکته مهم: در زبان های مفسری کد ها به صورت خط به خط تفسیر و اجرا می شوند و در اجرا بعدی برنامه نیز به همین صورت ادامه می یابد.

همینطور که می دانید هر دستگاه کامپیوتری (کامپیوترهای رومیزی، نوت بوک ها، گوشی های هوشمند، تبلت ها و …) از سخت افزار خاصی ساخته شده است که دارای قسمت های مختلفی از جمله پردازنده (Processor) است. حال اگر بخواهید برای این پردازنده برنامه ای بنویسید که این پردازنده کاری را انجام دهد باید دستورات زبان ماشین خاص آن پردازنده را یکجا نوشته و در یک فایل ذخیره کنید و برای اجرا آن فایل را یکباره به پردازنده بدهید تا اجرا کند.
چون نوشتن به زبان ماشین بسیار نیاز به حوصله و وقت دارد و اشکال زدایی (دیباگ) آن نیز کار پر مشقت و وقت گیر است معمولا از سایر زبان ها استفاده می کنند و آن زبان ها را با “برنامه های خاصی” به زبان ماشین تبدیل می کنند.

اگر آن برنامه خاص تبدیل دستورات به زبان ماشین را به جای یکباره و کامل به صورت دستور به دستور انجام دهد و همان لحظه دستور تبدیل شده (فقط و فقط همان دستور را) برای اجرا به پردازنده تحویل دهد و پس از اجرا دوباره دستور بعد را به زبان ماشین تبدیل کند و به پردازنده تحویل دهد و … این ماجرا تا به انتهای دستورات به صورت خط به خط تکرار شود و دستورات زبان ماشین توسط پردازنده فقط اجرا شوند و در فایلی ذخیره نشوند به آن برنامه خاص اینترپرتر یا مفسر می گویند.

در گذشته های دور نسخه های مختلف بیسیک جزو معروفترین زبان های اینترپرتری یا مفسری دنیا بودند نسخه هایی نظیر GWbasic و Basica و QBasic و …

بزرگترین مزیت اینترپرتر یا مفسر این است که برنامه نوشته شده اصلی وابستگی کمتری به نوع سخت افزار دارد. لذا برنامه ای که به زبان مفسر نوشته شود همانطور که می تواند روی یک کامپیوتر پردازنده اینتل اجرا شود می تواند بر روی یک تبلت با پردازنده آرم نیز اجرا شود یا روی یک موبایل یا یک اسباب بازی مدل.

تفاوت مفسر با کامپایلر

این دو در واقع یک کار را انجام میدهند ولی با هم یکسان نیستند و تفاوت هایی دارند. در مفسر کد ها خط به خط خوانده، برای کامپیوتر ارسال و اجرا می شود. اما کامپایلر تمام کد ها را یک باره ترجمه می کند و به صورت کامل در RAM نگه میدارد و شما میتوانید هر زمانی که خواستید کدهارا اجرا کنید.

تفاوت دیگر این دو، وابستگی به برنامه می باشد. برنامه یا کد های نوشته شده توسط یک زبان مفسری برای اجرا روی سیستم نیاز به نصب مفسر همان زبان روی سیستم را دارد. در غیر این صورت برنامه اجرا نمی شود. ولی کامپایلر برنامه را یک بار کامپایل می کند و بعد از آن دیگر نیازی به وجود همان کامپایلر روی سیستم نیست. خروجی یک برنامه نوشته شده با کامپایلر، فایل هایی هستند که روی هر سیستمی اجرا میشوند چه کامپایلر نصب باشد چه نباشد.

اما یک مشکل کامپایلر این است که به سیستم وابسته است. یعنی اگر سیستم عامل دستگاه عوض شود امکان اجرای آن برنامه وجود ندارد اما مفسر ها چون خط به خط کد ها را اجرا و ترجمه می کنند امکان استفاده روی سیستم های مختلف را دارند. برای رفع مشکل کدهای کامپایل شده باید آنها را روی سیستم جدید یکبار کامپایل کرد.

اینکه کدام یک برتری دارند به نویسنده برنامه بستگی دارد .اگر قابل حمل بودن اهمیت داشته باشد، مفسری بهتر است. در غیر این صورت اگر سرعت و درگیر نکردن CPU و RAM اهمیت دارد، کامپایلری بهتر است.

توجه: در آینده در مقاله ای جدا به صورت کامل تفاوت مفسر و کامپایلر رو به صورت کامل مورد بررسی قرار میدهیم.

چه زبان های برنامه نویسی، مفسری هستند؟

تعداد زیادی زبان برنامه نویسی داریم که مفسری می باشد. که در بخش زیر تعدادی از زبان های معروف که مفسر هستند رو لیست کرده ایم.

  • پایتون
  • جاوا اسکریپت
  • بیسیک
  • وی بی اسکریپت
  • زبان PHP
  • پرل
  • روبی
  • زبان Forth
  • و …