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

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


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

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

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

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

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

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

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

تصویر نحوه کار کامپایلر

نکته مهم: کامپایلرها معمولاً توسط شرکت‌های متفاوتی تولید می‌شود و همواره شرکت‌هایی که سخت افزار ماشین را تولید می‌کنند، کامپایلر مورد نیاز آن ماشین را نیز تولید و ارائه می‌کنند، البته کامپایلر ها دارای استاندارهای جهانی هستند که این امر مانع از آن می‌شود که هر شرکت خود به صورت دلخواه استانداردهایی مشخص کند. برای مثال استاندارد زبان اسمبلی یک استاندارد جهانی می‌باشد و شرکت‌های تولید کننده چیپ و میکروچیپ مانند Intel، Motorola و غیره از این زبان استفاده می‌کنند؛ به همین منظور کامپایلرهایی برای تبدیل به این زبان توسط این شرکت‌های ارائه می‌شود. 

مهم‌ترین علت استفاده از کامپایلر

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

انواع کامپایلرها

انواع کامپایلر

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

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

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

کامپایلرهای تفسیری و کامپایلی:
زبانهای سطح بالا را به دو دسته تفسیری و کامپایلی تقسیم می‌کنند. کامپایلرها و مفسرها روی زبان‌ها عمل می‌کنند نه زبانها روی آنها! مثلاً این تصور وجود دارد که الزاماً BASIC تفسیر می‌شود و C کامپایل. اما ممکن است نمونه‌هایی از BASIC یا C ارائه شود که به ترتیب کامپایلری و تفسیری باشد. البته استثناهایی نیز وجود دارد.

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

کامپایلر چگونه کار می کند؟

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

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

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

بررسی اجزای کامپایلر

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

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

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

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

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

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

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

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

IDE چیست و تفاوت آن با کامپایلر


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

IDE چیست و تفاوت آن با کامپایلر

IDE مخفف چیست؟

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

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

بعد از اینکه فهمیدم IDE مخفف چه کلماتی می باشد و به چه معنی دارد حال بیایم ببینیم کلا IDE چیست؟ در دنیای فناوری اطلاعات به برنامه نویس در اصل توسعه دهنده و به محیطی که یک برنامه نویس در آن برنامه نویسی می کند محیط توسعه یا Development Environment می گویند. بنابراین IDE یک محیط برنامه نویسی است که مجموعه ای از نرم افزارهای که معمولا شامل ویرایشگر کد برنامه (Code Editor)، کامپایلر (Compiler)، دیباگر (Debugger) و در نهایت رابط گرافیکی یا GUI هستند را در یکجا جمع کرده است و در اختیار برنامه نویس قرار داده است تا بتواند براحتی و بدون دغدغه کدهای برنامه خود را تولید کند. 

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

IDE ها داری ویژگی های زیر می باشد

۱- ویرایشگر سورس کد
اولین ویژگی که IDE دارد این است که می توان در آنها کدهای مورد نظر رو نوشت و آنها رو ویرایش کرد. که به اصطلاح به آنها Source Code Editor می گویند. در واقع این ویرایشگر محیطی است که برنامه نویس کدهای خود را درون آن وارد می کند و کدی که نوشته است توسط کامپایلر یا مفسر تبدیل به زبان ماشین و اجرا می شود ، این ویرایشگر از نظر کارکرد بسیار شبیه به ویرایشگر های کدهای HTML متنی است.

۲- کامپایلر یا مفسر
یک کامپایلر که در IDE تعبیه شده است کد نوشته شده در Source Code Editor را تبدیل به برنامه اجرایی می کند و اگر لازم باشد برنامه بصورت خط به خط توسط مفسر یا Interpreter بدون نیاز به کامپایل شدن اجرا می شود.

۳- ابزارهای ساخت اتوماسیون
تمامی فرآیند های مربوط به کامپایل، تفسیر یا Interpret و Debug همگی توسط IDE انجام می شود

۴- اصطلاح کننده خطا
همه IDE ها دارای Debugger هستند تا متوجه شوند که کجای Source Code برنامه مشکل دارد.

Integrated Development Environment

مثال برای درک بهتر IDE 

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

چند نمونه IDE معروف

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

  • ویژوال استودیو
  • ایکلیپس
  • اندروید استودیو
  • نت بینز
  • سابلیم تکست
  • و …

IDE ها محیط های بسیار کاربر پسندی را برای برنامه نویسهای امروزی فراهم کرده اند تا جایی که برنامه نویسی به صورت یک کار لذت بخش برای آنها در آمده است ، زبان های برنامه نویسی جدیدی مثل Visual Basic ، Java و PowerBuilder دارای IDE های بسیار کاربردی و پر قابلیتی هستند که هر برنامه نویسی می تواند با آنها کد نویسی کند.

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

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

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

SDK چیست و تفاوت JDK و SDK


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

SDK چیست

SDK چیست

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

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

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

مثال ۱: شرکت گوگل برای اندروید یک SDK در اختیار توسعه دهندگان اندروید قرار داده (Android SDK) که توسعه دهندگان با استفاده از ابزار موجود در این SDK میتوانند اپلیکیشن های مورد نظر خودشون رو راحت تر و سریع تر بسازند.

مثال ۲: شرکت اوراکل هم یک SDK برای توسعه دهندگان جاوا ایجاد و آن را با نام JDK انتشار داده است.

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

تفاوت JDK و SDK

تفاوت JDK و SDK

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

فرق JDK و JRE چیست؟ و تفاوت آنها با JVM


در دو سه مقاله قبلی در مورد JDK و JVM صحبت کردیم و گفتیم چی هستند اما یک واژه جدید داریم با عنوان JRE که آشنا نیست و در این مقاله میخواهیم فرق JDK و JRE چیست؟ و تفاوت آنها با JVM رو مورد بررسی قرار دهیم. ابتدا توضیح میدهیم که JRE در جاوا چیست و چه کاربرد دارد و در ادامه فرقش با JDK و JVM رو کامل توضیح میدهیم. پیشنهاد میکنم ابتدا مقاله همه چیز در مورد ماشین مجازی جاوا – دانلود Netbeans With JDK زیر رو مطالعه کنید و بعد از مطالعه این دو مقاله بیایید و این مقاله رو بخونید. در این مقاله به صورت کامل و دقیق گفتیم JVM و چه رابطه ای با JDK دارد.

فرق JDK و JRE چیست؟

قبل از اینکه شروع به جواب دادن سوال JRE در جاوا چیست کنیم یک مقدار از مقاله قبلی رو در اینجا بیاوریم که متوجه شید JVM و JDK چی هستند بعد به سراغ JRE میرویم. 

JVM چیست ؟

برای اجرای برنامه های کامپایل شده به زبان جاوا نیاز به برنامه یا ماشینی داریم که به آن ماشین مجازی جاوا (JVM) می گویند. زمانی که در مورد اپلیکشین‌های جاوا صحبت می‌کنیم، حتما می‌بایست JVM بر روی ماشین شما نصب باشد تا قابلیت اجرا شدن داشته باشد.

JVM وظایف اصلی زیر را اجرا می کند:

  • باگذاری کد
  • بررسی صحت و درستی کد
  • اجرای کد
  • ارائه ی بستر اجرا (runtime environment)

JDK چیست؟

یکی از سوالتی که فکر کاربران رو درگیر خود کرده، اینست که JDK در جاوا چیست؟ JDK مخفف Java Development Toolkit است. ترکیبی از کامپایلر زبان جاوا، کلاس های کتابخانه ای (Java Class Libraries)، ماشین مجازی جاوا و فایل راهنمای آنها می باشد. برای اینکه ما بتوانیم با استفاده از زبان برنامه نویسی جاوا، کدنویسی کنیم و برنامه بنویسیم باید حتما JDK رو نصب کنیم. 

حال که متوجه شدیم JVM و JDK چی هستند به سراغ JRE میرویم. حتما حتما مقاله همه چیز در مورد ماشین مجازی جاوا – دانلود Netbeans With JDK را مطالعه کنید.

JRE در جاوا چیست

JRE سرنام واژگان Java Runtime Environment به معنای محیط یا بستر اجرای برنامه ی جاوا می باشد. همان طور که از اسم آن پیداست، runtime environment محیط اجرا برنامه های جاوا را فراهم می کند. JRE پیاده سازی JVM بوده و به طور فیزیکی وجود دارد. همچنین دربردارنده ی مجموعه ای از کتابخانه ها و سایر فایل های مورد نیاز JVM می باشد. پیاده سازی های حقیقی از JVM ها را علاوه بر Sun Micro، شرکت های دیگر نیز به صورت مداوم و بروز منتشر می کنند.

JRE شامل اجزای زیر است:

  • فناوری‌های توزیع: شامل توزیع، جاوا وب استارت و جاوا پلاگین.
  • کیت ابزارهای رابط کاربری: شامل کیت ابزار پنجره مجرد AWT، سوئینگ، جاوا ۲D، دسترسی، I/O تصویر، خدمات پرینت، صدا، درگ اند دراپ DnD و متدهای ورودی.
  • کتابخانه‌های یکپارچه‌سازی: شامل زبان تعریف رابط IDL، اتصالات پایگاه داده جاوا JDBC، رابط دایرکتوری و نام‌گذاری جاوا JNDI، فراخوانی متدها از راه دور RMI، پروتکل فراخوانی متدها از راه دور بر روی اینترنت RMI-IIOP و اسکریپت نویسی.
  • کتابخانه‌های پایه‌ای دیگر: شامل پشتیبانی بین‌المللی، ورودی/ خروجی I/O، مکانیسم گسترش، بینز، اکستنشن‌های مدیریت جاوا JMX، رابط بومی جاوا JNI، ریاضی، شبکه‌بندی، مکانیسم Override، امنیت، سریال‌سازی و جاوا برای پردازش XML (XML JAXP).
  • کتابخانه‌های بر اساس Lang و util که شامل Lang و util، مدیریت، نسخه بندی، zip، ابزارها، بازتاب، مجموعه‌ها، کاربردهای هم‌زمانی، آرشیو جاوا Jar، گزارش دهی، API ترجیحی، اشیای ارجاعی و عبارت‌های Regular می‌شود.
  • ماشین مجازی جاوا JVM شامل کلاینت هات‌ اسپات جاوا و ماشین‌های مجازی سرور می‌شود.

JRE چگونه عمل می‌کند؟

برای درک نحوه عملکرد JRE به سورس‌فایل جاوا که به نام Example.java ذخیره شده است نگاهی می‌اندازیم این فایل به‌صورت مجموعه‌ای از بایت کدها کامپایل شده است که در یک فایل.class ذخیره شده است. در اینجا نام آن Example.class خواهد بود.

نمودار زیر آنچه در زمان کامپایل رخ می‌دهد را نشان می‌دهد.

JRE چگونه عمل می‌کند؟

اعمال زیر در زمان اجرا اتفاق می‌افتند:

لود‌کننده کلاس
لودکننده کلاس همه کلاس‌های موردنیاز برای اجرای یک برنامه را لود می‌کند. این جزء با جدا کردن فضاهای نام سیستم فایل محلی از آنهایی که از شبکه وارد شده‌اند امنیت کلاس را تضمین می‌کند. این فایل‌ها یا از روی دیسک لود می‌شوند یا شبکه و یا دیگر منابع.

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

اجزای JRE

مفسر
در زمان اجرا کد بایت لود می‌شود و توسط مفسر بررسی و اجرا می‌شود. مفسر این دو کارکرد را دارد:

  • اجرای کد بایت
  • ایجاد فراخوان‌های متناسب با سخت‌افزاری که روی آن اجرا می‌شود.

هر دو عملکرد در تصویر زیر مشخص هستند:

java runtime environment چیست

برای درک تعامل‌های بین JDK و JRE نمودار زیر را ببینید:

تعامل‌های بین JDK و JRE

JVM چگونه عمل می‌کند؟

JVM نمونه‌ای از JRE در زمان اجزای یک برنامه جاوا است. معمولاً به نام مفسر زمان اجرا شناخته می‌شود. JVM به طور عمده به انتزاع پیاده‌سازی درونی برنامه‌نویسانی کمک می‌کند که از کتابخانه‌های JDK استفاده می‌کنند.

نکته مهم: JVM، JRE و JDK وابسته به پلت فرم هستند چرا که تنظیمات و کانفیگ هر سیستم عامل متفاوت است. با این حال خود Java به هیچ بستر اجرایی وابستگی ندارد و کدهای نوشته شده با آن در تمامی پلت فرم ها قابل اجرا می باشد.

برای درک درست این موضوع پیشنهاد میکنم تصویر زیر رو مشاهنده کنید:

فرق JDK و JRE چیست؟ و تفاوت آنها با JVM

فرق J2SE, J2ME, J2EE – استانداردهای جاوا


دو روز پیش وقتی مقاله همه چیز در مورد ماشین مجازی جاوا – دانلود Netbeans With JDK را در سایت منتشر کردیم در این مقاله در مورد استاندارهای جاوا مانند J2SE , J2EE و J2ME حرفی زدیم که بعضی از کاربران پرسیده بودن این استاندارها چه فرقی با هم دارند و کلا فرق J2SE, J2ME, J2EE چی هستش. در این مقاله میخواهم به صورت کاملا واضع و دقیق بگم هر کدام از این استاندارها برای چه موردی استفاده می شوند و چه کاربردی دارند. 

فرق J2SE, J2ME, J2EE

انواع نسخه های جاوا (استانداردهای جاوا)

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

تفاوت نسخه های جاوا

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

J2SE چیست؟

J2SE مخفف Java 2 Standard Edition می باشد از این استاندارد شامل گروهی از تکنولوژی ها به همراه جاواست که این امکان رو به برنامه نویسان میدهد که برنامه هایی برای desktop بنویسند.

J2ME چیست؟

J2ME مخفف Java 2 Micro Edition می باشد این استاندار شامل گروهی از تکنولوژی ها به همراه جاواست که این امکان رو به برنامه نویسان میدهد که برنامه هایی برای Micro Controller بنویسند. شامل: موبایل، لوازم الکترونیکی و …

J2EE چیست؟

J2EE مخفف Java 2 Enterprise Edition (جاوا اینترپرایز) می باشد این استاندار شامل گروهی از تکنولوژی ها به همراه جاواست که این امکان رو به برنامه نویسان میدهد که برنامه هایی برای WEbServer یا ApplicationServer بنویسند.

نکته: عدد ۲ در نام این نسخه ها، به خاطر پیشرفتی است که از نگارش یکم (۱.۱) به نگارش دوم (۱.۲) در سال ۱۹۹۸ توسط شرکت سان میکروسیستم انتخاب شد.

پس از انتشار نگارش ششم، نام این محصول دوباره به عبارت Java SE (بدون عدد ۲) بازگشت. تغییراتی دیگر در نوع شماره‌گذاری این نگارش رخ داد: از نگارش پنجم، که به شماره ۱.۵.۰ در سپتامبر ۲۰۰۴ (شهریور ۱۳۸۳) منتشر شد، شماره‌گذاری به شکل حذف عدد ۱ و نمایش به صورت نگارش استاندارد نگارش ۵ درآمد. در ۶ مرداد ۱۳۹۰ نگارش ۷ جاوا پس از مدت‌ها انتظار منتشر شد.

نصب جاوا روی ویندوز – نصب NetBeans و JDK


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

نصب جاوا روی ویندوز

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

 نصب JDK در ویندوز ۱۰

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

 برای نصب jdk در ویندوز ۱۰ ابتدا فایل نصب JDK رو اجرا کنید. وقتی اجرا می کنید مانند تصویر زیر می باشد:

نصب JDK در ویندوز 10

بعد از چند لحظه صفحه خوش آمد گویی ظاهر می شود که باید روزی دکمه NEXT کلیک کنید: 

صفحه خوش آمد گویی نصب JDK در ویندوز 10

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

پنجره ابزارهای نصب JDK در ویندوز 10

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

شروع به نصب JDK در ویندوز 10

در ادامه نصب JDK در ویندوز ۱۰، در صفحه جدید می توانید دوباره محل نصب رو تغییر دهید. باز پیشنهاد میکنم به صورت پیش فرض باقی بذارید و روی دکمه NEXT کلیک کنید مانند تصویر زیر:

انتخاب محل نصب JDK در ویندوز 10

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

ادامه نصب JDK در ویندوز 10

بعد از اینکه نصب JDK در ویندوز ۱۰ تمام شد پنجره اتمام نصب نمایش داده می شود و روی دکمه Close کلیک کنید مانند تصویر زیر:

پنجره اتمام نصب JDK در ویندوز 10

نصب NetBeans برای برنامه نویسی جاوا

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

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

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

شروع نصب NetBeans در ویندوز 10

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

پنجره نصب NetBeans در ویندوز 10

در پنجره جدید که باز می شود باید تیک گزینه I accept the terms in the license agreement رو بزنید. و روی دکمه NEXT کلیک کنید مانند تصویر زیر:

پنجره قوانین و مقررات نصب NetBeans در ویندوز 10

در پنجره جدید باید گزینه I accept the terms in the license agreement, Install JUnit را انتخاب کنید و روی دکمه NEXT کلیک کنید مانند تصویر زیر:

ادامه نصب NetBeans در ویندوز 10

در پنجره جدیدی که باز می شود باید محل نصب NetBeans را انتخاب کنید پیشنهاد میکنم به صورت پیش فرض نگه دارید و روی دکمه NEXT کلیک کنید. مانند تصویر زیر:

محل نصب NetBeans

وقتی روی NEXT کلیک کردید در پنجره جدید باید روی دکمه Install کلیک کنید مانند تصویر زیر: 

شروع نصب NetBeans

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

شروع نصب NetBeans در ویندوز

وقتی نوار پر شد پنجره اتمام نصب نمایش داده می شود مانند تصویر زیر:

پایان نصب NetBeans

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

محیط نرم افزار NetBeans

نصب جاوا روی ویندوز

بعضی وقت ها کاربران سوال می پرسند مشکل نصب نشدن جاوا چی هستش و اینکه چرا جاوا نصب نمی شود. وقتی نصب JDK در ویندوز ۱۰ و NetBeans تموم شد باید سیستم عامل ویندوز خود را این این موضوع مطلع سازیم و گرنه با خطا مواجه می شویم. وقت JDK و NetBeans رو نصب کردید حال روی My Computer کلیک راست کنید و گزینه Properties رو بزنید. تا وارد پنجره شبیه زیر شوید در این صفحه باید روزی گزینه Advanced system settings کلیک کنید مانند تصویر زیر:

چرا جاوا نصب نمی شود

بعد پنجره ای شبیه تصویر زیر باز می شود: 

Advanced system settings

در این پنجره باید وارد تب Advanced شوید و از این تب باید روی دکمه Environment Variables کلیک می کنیم تا پنجره جدیدی باز شود مانند تصویر زیر: 

محل نصب - علت نصب نشدن جاوا

حال با پنجره جدیدی مواجه می شویم که از دو بخش مجزا تشکیل شده است. در بخش پایین که System variables نام دارد می بایست روی گزینه ای تحت عنوان Path کلیک کرده و پس از انتخاب شدن روی دکمه Edit کلیک نماییم تا مانند تصویر زیر پنجره ای نمایان شود:

تغییر مقدار - علت نصب نشدن جاوا

حال در بخش Variable value، می بایست به انتهای مسیرهایی که به صورت پیش فرض تعریف شده اند رفته و یک علامت ; قرار دهیم و مسیری که در آن نسخه JDK جاوا روی سیستم مان نصب شده است را به صورت کامل وارد نماییم. برای یافتن این مسیر، مطابق با تصویر زیر پیش خواهیم رفت:

فایل های برنامه - مشکل نصب نشدن جاوا

چنانچه مراحل نصب جاوا به درستی پیش رفته باشند، در فولدر Program Files ویندوز می بایست فولدری وجود داشته باشد تحت عنوان Java. حال بایستی وارد این فولدر شویم. مانند تصویر زیر:

دلیل نصب نشدن جاوا

به خاطر داشته باشیم که برای نمایش برنامه ها و یا وب اپلیکیشن هایی که با زبان برنامه نویسی جاوا نوشته شده اند نصب بودن JRE جاوا کفایت می کند (JRE مخفف واژگان Java Runtime Environment است)، اما چنانچه بخواهیم به توسعه نرم افزار، اپلیکیشن و … بپردازیم حتما نیاز است تا JDK جاوا روی سیستم مان نصب باشد و بالتبع به ویندوز هم معرفی شده باشد (JDK مخفف واژگان Software Development Kit است). از اینرو می بایست روی فولدر jdk کلیک کرده و وارد آن شویم مانند تصویر زیر: (لازم به ذکر است که نسخه JDK شما ممکن است با نسخه JDK یی که در این آموزش مورد استفاده قرار گرفته است فرق داشته باشد) 

پوشه نصب جاوا

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

آدرس JDK در جاوا

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

همه چیز در مورد ماشین مجازی جاوا – دانلود Netbeans With JDK


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

همه چیز در مورد ماشین مجازی جاوا

JVM چیست ؟

برای اجرای برنامه های کامپایل شده به زبان جاوا نیاز به برنامه یا ماشینی داریم که به آن ماشین مجازی جاوا (JVM) می گویند. زمانی که در مورد اپلیکشین‌های جاوا صحبت می‌کنیم، حتما می‌بایست JVM بر روی ماشین شما نصب باشد تا قابلیت اجرا شدن داشته باشد. (برای دانلود Java Virtual Machine می توانید JDK رو نصب کنید.)

چند نکته جالب در مورد JVM

  • JVM مخفف Java Virtual Machine است.
  • ماشین مجازی جاوا (JVM) موتوری برای اجرای کد جاوا می‌باشد.
  • اغلب در سایر زبان‌های برنامه‌نویسی، کامپایلر وظیفه تولید کد برای سیستم خاصی را بر عهده دارد اما کامپایلر جاوا بایت کد (Bytecode) را برای یک ماشین مجازی جاوا تولید می‌کند
  • بایت کد زبانی میانی برای سورس کد جاوا و سیستم میزبان می‌باشد.
  • یک واسط است که کد جاوا را به بایت کد کامپایل می‌کند تا در ماشین‌های مختلف تفسیر (interpret) شود و بنابراین آن را مستقل از پلتفرم/سیستم عامل می‌کند.

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

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

از طریق تصویر زیر می توانید نحوه اجرای کدهای جاوا را ببینید:

کامپایلر جاوا

کامپایلر فقط در زمان (JIT)

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

NetBeans چیست؟

بعد از اینکه گفتیم JVM چیست ؟ و نکاتی در مورد آن ارائه دادیم حال میخواهیم در مورد NetBeans و JDK اطلاعاتی در اختیار شما قرار دهیم. به صورت جدا می گویم که هر کدام چی هستند و به چه دردی می خورند.

NetBeans چیست؟

NetBeans محیط توسعه یکپارچه ای است که دارای ابزارهایی برای کمک به شما، برای توسعه برنامه های جاوا می باشد. پیشنهاد میکنم از محیط NetBeans برای ساخت برنامه های جاوا استفاده کنید چون این محیط دارای ویژگی های زیادی برای کمک به شما، جهت توسعه برنامه های جاوا می باشد.
توسط NetBeans می توانید در استاندارهای جاوا مانند J2SE , J2EE و J2ME برنامه نویسی کنید.

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

توجه: قبل از نصب برنامه NetBeans باید JDK را نصب کنیم که در بخش پایین توضیحاتی در مورد JDK میدهیم و میگویم JDK چیست؟ 

JDK چیست؟

یکی از سوالتی که فکر کاربران رو درگیر خود کرده، اینست که JDK در جاوا چیست؟ JDK مخفف Java Development Toolkit است. ترکیبی از کامپایلر زبان جاوا، کلاس های کتابخانه ای (Java Class Libraries)، ماشین مجازی جاوا و فایل راهنمای آنها می باشد. (دوستانی که درخواست دانلود ماشین مجازی جاوا داده بودند میتوانند JDK را نصب کنند.) برای اینکه ما بتوانیم با استفاده از زبان برنامه نویسی جاوا، کدنویسی کنیم و برنامه بنویسیم باید حتما JDK رو نصب کنیم. 

توجه: برای دانلود Netbeans With JDK می توانید از انتهای همین مطلب هم JDK و هم Netbeans را دانلود کنید. 

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


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

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

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

سورس کد برنامه پیام رسان در محیط ویندوز به زبان سی شارپ با استفاده از فناوری مسیج کیو (Message Queue) کدنویسی شده است. این سورس کد مخصوص درس های برنامه نویسی و مهندسی نرم افزار می باشد. در بخش زیر توضیحات تکمیلی تری در مورد سورس کد مسنجر ارائه داده ایم.

توضیحاتی در مورد طراحی برنامه پیام رسان در محیط ویندوز:

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

تست های انجام شده بر روی برنامه پیام رسان در محیط ویندوز:

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

تصویری از محیط برنامه پیام رسان در محیط ویندوز به زبان سی شارپ

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

تصویری از محیط برنامه پیام رسان در محیط ویندوز به زبان سی شارپ

مستندات پروژه:

این پروژه شامل مستندات ۷ صفحه ای می باشد که کدهای استفاده شده در هر فرم رو آورده است. 

سورس کد پروژه سیستم مدیریت مدرسه به زبان سی شارپ


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

به همراه سورس کد مدیریت مدرسه، مستندات ۱۵۰ صفحه ای ارائه شده است.

پروژه سیستم مدیریت مدرسه به زبان سی شارپ

شرح برنامه مدیریت مدرسه به زبان سی شارپ

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

  • تعریف کاربر مدیر جهت دسترسی به سیستم مدیریتی  – ثبت نام دانش آموزجدید  – مشاهده ی لیست دانش آموزان ، جست و جو ، ویرایش ، حذف دانش آموزان – ورود نمرات  دانش آموزان – مشاهده و جست و جوی وضعیت درسی دانش آموزان – چاپ و ذخیره ی کارنامه – استخدام معلم جدید  – مشاهده ی لیست دانش معلمان ، جست و جو ، ویرایش و حذف دانش معلمان – مشاهده ی لیست دروس و کلاس  – استخراج و ذخیره پایگاه داده و وارد کردن پایگاه داده ذخیره شده در پایگاه داده اصلی از طریق برنامه میباشد .
  • این نرم افزار که بصورت فایل نصبی در آمده قابل نصب و اجرا بر روی بستر سیستم عامل های ویندوز ۳۲ و ۶۴ بیتی است و از نسخه  سیستم عامل ویندوز Xp سرویس پک ۱ به بالا پشتیبانی میکند که آخرین نسخه ارایه شده ویندوز ۱۰ میباشد.
  • در این مقاله  به شرح کاملی از  تمامی تکنولوژی های بکار رفته برای ساخت سیتم از جمله تکنولوژی های بکار رفته برای ساخت سیستم – پایگاه های داده ی سیستم – شرح ایجاد برنامه – وتوضیح کامل کار کرد سیستم  پرداخته ایم.

توضیحات برنامه نویس سورس کد سیستم مدیریت مدرسه به زبان سی شارپ

با استفاده از تکنولوژی های C#  و Sql Server اقدام به طراحی یک سیستم مدیرت مدرسه تحت سیستم عامل ویندوز  برای پروژه کارشناسی کامپیوتر کنیم گزارش این پروژه در چهار فصل تهیه و تنظیم شده است که عبارتند از فصل اول توضیح تکنولوزی های به کار رفته فصل دوم آموزش نصب پیش نیاز هایی مثل  پایگاه داده و Visual Studio  میباشد و فصل سوم  پایگاه دادها و فصل چهارم ساخت و معرفی برنامه می باشد. تعریف تکنولوژی های نام برده شده

 تعریف ویژوال استودیو را این گونه میتوان بیان کرد که ویژوال استودیو نام محیط یکپارچه توسعه نرم‌افزار (Ide) شرکت مایکروسافت است که جهت تولید برنامه رایانه‌ای برای مایکروسافت ویندوز است .Microsoft Sql Server نیز  یک بانک اطلاعاتی از نوع دیتابیس های رابطه ای یا Relational Database می باشد که توسط توسط کمپانی Microsoft  ارایه شده و وظیفه اصلی آن ذخیره و بازیابی اطلاعات بر اساس درخواست نرم افزارهای دیگر میباشد.

امکانات مدیریت مدرسه به زبان سی شارپ

شرح مختصر امکانات پروژه سیستم مدیریت مدرسه به زبان سی شارپ

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

فایل دانلودی شامل چه بخش هایی می باشد:
۱- فایل اصلی پروژه به زبان C# (که با نرم افزار visual studio قابل باز شدن و تغییر رو دارد )
۲- فایل های دیتابیس (برای تغییرات برنامه نویسی اگر کسی نیاز دارد میتوند به sql Server اتچ کند )
۳- فایل خروجی exe پروژه که قابل اجراست
۴- مستندات پروژه که بصورت حرفه ای و کامل در قالب ۱۵۰ صفحه ارائه شده است

فهرست سورس کد پروژه سیستم مدیریت مدرسه به زبان سی شارپ

فهرست مطالب بخش مستندات پروژه سیستم مدیریت مدرسه به زبان سی شارپ

جکیده……………………………………………………………………………………………………………………. ۱

    فصل اول………………………………………………………………………………………… ۲

  •     مقدمه………………………………………………………………………………………………………………………………………………………….. ۲
  •     توضیح تکنولوژی………………………………………………………………………………………………………………………………………. ۲
  • Visual Studio چیست؟………………………………………………………………………………………………………………………… ۲
  •   C# چیست ؟……………………………………………………………………………………………………………………………………………….. ۳
  • چرا C# ؟…………………………………………………………………………………………………………………………………………………………. ۳
  • ۶………………………………………………………………………………………………………………………………………………….. Sql Server
  •     Sql Server چست؟…………………………………………………………………………………………………………………………….. ۶
  • تاریخچه…………………………………………………………………………………………………………………………………………………………….. ۶
  •     درباره ی نسخه  Sql۲۰۱۳………………………………………………………………………………………………………………….. ۷

فصل دوم )نصب پیش نیازها(………………………………………………………………….. ۹

  • نصب نرم افزار های مورد نیاز………………………………………………………………………………………………………………………. ۹
  •     نصب Visual Studio 2013………………………………………………………………………………………………………….. ۹
  • منابع مورد نیاز نصب Visual Studio…………………………………………………………………………………………………. ۹
  • آغاز نصب Visual Studio 2013…………………………………………………………………………………………………….. ۱۰
  • نصب Sql Server 2012……………………………………………………………………………………………………………………… ۱۹
  • منابع مورد نیاز نصب Sql Server………………………………………………………………………………………………………. ۱۹
  • آغاز نصب Sql Server……………………………………………………………………………………………………………………… ۲۰

فصل سوم : پایگاه داده ها………………………………………………………………………. ۳۲

  • پایگاه داده ها………………………………………………………………………………………………………………………………………………… ۳۲
  • اتصال به دیتابیس……………………………………………………………………………………………………………………………………….. ۳۲
  • ایجاد دیتابیس ها………………………………………………………………………………………………………………………………………… ۳۳
  • ایجاد جداول ………………………………………………………………………………………………………………………………………………… ۳۵
  • دیتابیس ها ی پروژه…………………………………………………………………………………………………………………………………… ۳۷
  • دیتابیس Enter  ………………………………………………………………………………………………………………………………………. ۳۷
  • جدول Users……………………………………………………………………………………………………………………………………………… ۳۷
  • دیتابیس School………………………………………………………………………………………………………………………………………. ۳۸
  • جدول Lesson………………………………………………………………………………………………………………………………………….. ۳۸
  • جدول Number……………………………………………………………………………………………………………………………………….. ۳۸
  • جدول Student…………………………………………………………………………………………………………………………………………. ۴۰
  • جدول Teacher………………………………………………………………………………………………………………………………………… ۴۱

فصل چهارم: ساخت پروژه…………………………………………………………………….. ۴۳

  • ایجاد فرم ها………………………………………………………………………………………………………………………………………………….. ۴۳
  • ایجاد صفحه اصلی برنامه…………………………………………………………………………………………………………………………… ۴۶
  • کدنویسی صفحه اصلی برنامه…………………………………………………………………………………………………………………… ۴۷
  • ایجاد فرم  ورود به برنامه…………………………………………………………………………………………………………………………… ۵۰
  • صفحه انتخاب حالت عضویت…………………………………………………………………………………………………………………… ۵۰
  • صفحه ورود به برنامه………………………………………………………………………………………………………………………………….. ۵۱
  • کد های ورود (Login)……………………………………………………………………………………………………………………………. ۵۲
  • فرم ثبت کاربر………………………………………………………………………………………………………………………………………………. ۵۳
  • کد های ثبت کاربر (Register)……………………………………………………………………………………………………………. ۵۴
  • ثبت نام دانش آموز……………………………………………………………………………………………………………………………………… ۵۶
  • کد های ثبت دانش آموز……………………………………………………………………………………………………………………………. ۵۷
  • لیست دانش آموزان جستوجو و حذف…………………………………………………………………………………………………… ۶۰
  • کد های فرم جست و جو و حذف……………………………………………………………………………………………………………. ۶۲
  • بروزرسانی اطلاعات دانش آموزان……………………………………………………………………………………………………………. ۷۴
  • کدهای فرم بروزرسانی اطلاعات دانش آموزان…………………………………………………………………………………….. ۷۵
  • ثبت نام معلم………………………………………………………………………………………………………………………………………………… ۷۹
  • کد های ثبت معلم………………………………………………………………………………………………………………………………………. ۸۰
  • لیست معلمان جستوجو و حذف……………………………………………………………………………………………………………… ۸۱
  • کد های فرم جست و جو و حذف…………………………………………………………………………………………………………… ۸۳
  • بروزرسانی اطلاعات معلمان………………………………………………………………………………………………………………………. ۹۸
  • کدهای فرم بروزرسانی اطلاعات معلمان……………………………………………………………………………………………….. ۹۹
  • جستوجوی وضعیت درسی دانش آموزان…………………………………………………………………………………………… ۱۰۲
  • کدهای فرم جستوجوی وضعیت درسی دانش آموزان……………………………………………………………………. ۱۰۳
  • بخش جاپ کارنامه…………………………………………………………………………………………………………………………………… ۱۱۰
  • نحوه ی کارکرد گزارش گیری کارنامه………………………………………………………………………………………………… ۱۱۰
  • قابلیت ها ی بخش کارنامه…………………………………………………………………………………………………………………….. ۱۱۰
  • چینش فیلدها در ریپورت ( Karname.Rdlc)…………………………………………………………………………… ۱۱۱
  • نمایش لیست دروس و کلاس……………………………………………………………………………………………………………….. ۱۱۲
  • کد های  فرم نمایش لیست دروس و کلاس…………………………………………………………………………………….. ۱۱۴
  • ورود نمرات دانش آموزان……………………………………………………………………………………………………………………….. ۱۱۷
  • کد فرم ورود نمرات دانش آموزان………………………………………………………………………………………………………… ۱۱۸
  • قرم بروز رسانی نمرات…………………………………………………………………………………………………………………………….. ۱۳۳
  • کد بروز رسانی نمرات……………………………………………………………………………………………………………………………… ۱۳۴
  • تغییرات در دیتابیس………………………………………………………………………………………………………………………………… ۱۳۶
  • کد تغییرات در دیتابیس…………………………………………………………………………………………………………………………. ۱۳۷

فهرست منابع………………………………………………………………………………………….. ۱۴۱

عکس هایی از محیط سورس کد پروژه سیستم مدیریت مدرسه به زبان سی شارپ

برای مشاهده عکس ها در سایز بزرگ روی آن ها کلیک کنید

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

 

ویدئو آموزشی از کار کردن با پروژه سیستم مدیریت مدرسه به زبان سی شارپ

دانلود آهنگ جدید مهزاد به نام دلم میسوزه

دانلود آهنگ جدید مهزاد به نام دلم میسوزه

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

دانلود آهنگ دلم میسوزه از مهزاد با لینک مستقیم

به همراه متن آهنگ دلم میسوزه از مهزاد
Download new music by Mahzad Delam Misooze