خانه زبان های برنامه نویسی آشنایی با زبان جاوا زبان های برنامه نویسی جاوا نوشته شده توسط: احمدرضا صدیقی تاریخ انتشار: ۲۲ آبان ۱۳۹۷ آخرین بروزرسانی: ۱۷ تیر ۱۴۰۳ زمان مطالعه: 20 دقیقه ۲.۷ (۶) جاوا چیست؟ جاوا یک زبان برنامه نویسی شیگراست که طیف وسیعی از انواع برنامهها را میتوان با آن تولید کرد. برنامههای موبایل، برنامههای رومیزی، برنامههای پیشرفته و تحت وب. هدف اولیه جاوا، نوشتن برنامههایی بود که بتوانند مستقل از سیستم عامل اجرا شوند، اما به مرور جاوا توسعه یافت و کتابخانههای آن امکان تولید هر برنامهای را ممکن ساخت. نسخههای مختلف جاوا اگرچه مکانیسم کامپایل، دیباگ و اجرای برنامههای جاوا برای هر برنامهای که به زبان جاوا نوشته میشود یکسان است، اما به لحاظ انواع برنامههایی که با جاوا تولید میشوند، جاوا در سه نسخه مختلف ارائه میشود که هر نسخه برای تولید نوع خاصی از برنامهها استفاده میشود. تفاوت نسخههای جاوا در در کتابخانههای آنهاست وگرنه در کامپایلر، دیباگر، اجراکننده جاوا و بسیاری از ابزارهای دیگر یکسان هستند. جدول زیر نسخه های جاوا و تفاوتهای آنها را توضیح میدهد. امروزه از بین نسخههای فوق، فقط نسخههای Java EE و Java SE رونق دارد. اگر بخواهیم فارغ از قابلیتهایی که این دو نسخه دارند فقط یک تفاوت اصلی بین این دو نسخه بیان کنیم باید بگوییم که برنامههای Java SE روی هر کامپیوتری که ماشین مجازی جاوا وجود داشته باشد اجرا میشود درحالیکه برنامههای Java EE صرفا روی سرور اجرا میشوند و بنابراین علاوه بر ماشین مجازی جاوا به برنامه دیگری که روی سرور نصب میشود نیز نیاز است. به این ترتیب باید گفت اگر از جاوا چیزی نمیدانید و قصد دارید جاوا را شروع کنید، نقطه شروع برنامه نویسی شما Java SE یا همان «جاوا استاندارد» است. برای شروع برنامه نویسی جاوا به چه چیزهایی نیاز است؟ برای شروع برنامه نویسی جاوا باید JDK را روی سیستم خود نصب کنید. JDK مخفف Java Development Kit است که در فارسی به آن «بسته توسعه جاوا» گفته میشود. این بسته شامل کتابخانههای جاوا، کامپایلر، دیباگر، و مجموعهای از ابزارهای جانبی است که برای برنامه نویسی جاوا به آنها نیاز دارید. این بسته توسط شرکت اوراکل ارائه می شود و باید از وبسایت این شرکت دانلود کنید. علاوه بر JDK، شما به یک IDE هم نیاز دارید. IDE همان ویرایشگری است که کدهای خود را در آن تایپ میکنید و برنامه خود را در محیط آن کامپایل و دیباگ میکنید. برای جاوا IDEهای مختلفی توسط گروهها و شرکتهای مختلف ارایه شدهاند، برخی از آنها رایگان و برخی دیگر تجاری هستند. اگر صرفا قصد برنامه نویسی جاوا استاندارد را دارید تمامی IDEهای رایگان و تجاری میتوانند نیاز شما را برآورده کنند، اما قطعا IDEهای رایگان برای برنامه نویسی پیشرفته جاوا امکانات کمتری دارند و بنابراین بهتر است به سمت IDEهای پیشرفته بروید. در حال حاضر IntelliJ IDEA بهترین محیط برنامه نویسی جاوا محسوب می شود که هم دارای نسخه رایگان و هم نسخه تجاری می باشد. نتیجه اینکه برای برنامه نویسی جاوا JDK و IntelliJ IDEA را روی سیستم خود نصب کنید. جاوا چگونه کار میکند؟ وقتی برنامهای به زبان جاوا مینویسید کدهای خود را در فایلهایی با پسوند .java ذخیره میکنید. سپس با استفاده از کامپایلر جاوا این کدها را کامپایل میکنید تا خطاهای گرامری آن کشف شود، اگر هیچ خطای گرامری وجود نداشته باشد کدهای شما کامپایل میشود و از روی آنها فایلهایی با پسوند .Class تولید میشود این فایلها حاوی کدها میانی هستند که به آنها «بایت-کد» گفته میشود. این بایت کدها، کدهایی بین زبان سطح بالای جاوا و زبان سطح پایین ماشین هستند، بنابراین برای اجرا به یک اجرا کننده نیاز دارند. اجرا کننده جاوا که به آن «ماشین مجازی جاوا» نیز گفته میشود مسئولیت اجرای بایت-کدها را برعهده دارد. بایتهایی که از روی سورسهای برنامه تولید میشوند مستقل از سیستم عامل هستند، به عبارت دیگر ملاحظات سخت افزار و سیستم عامل در تولید آنها تاثیری ندارد اما ماشین مجازی جاوا که آنها را اجرا میکند مسئولیت انطباق آنها را به محیط اجرایی و سیستم عامل برعهده دارد. از جملات بالا میتوان نتیجه گیری کرد که برای سیستم عاملهای مخلف، ماشینهای مجازی متمایزی طراحی شده است که کار هریک از آنها انطباق بایت کدهای یک برنامه بر آن سیستم عامل است. دقت کنید که ماشیین مجازی جاوا یا اجرا کننده جاوا بخشی از JDK است که قبلا آنرا نصب کردهاید. شکل زیر، این فرایند را نشان میدهد. در جاوا استاندارد چه چیزهایی هست که باید بیاموزم؟ بعد از نصب ابزارهای مورد نیاز برای برنامه نویسی جاوا (از قبیل IDE و JDK) شما آماده هستید تا برنامه نویسی به زبان جاوا را آغاز کنید. یادگیری جاوا استاندارد را میتوان به دو بخش تقسیم کرد، ۱- قواعد دستور زبان جاوا ۲- کتابخانههای استاندارد زبان جاوا. قواعد دستور زبان جاوا یادگیری دستور زبان جاوا به معنی یادگیری نحوه نوشتن کدهای جاواست. اگر قبلا سابقه برنامه نویسی به زبان دیگری را دارید این قسمت برای شما بسیار آسان و سریع خواهد گذشت زیرا مفاهیم پایه در کدنویسی زبان جاوا مشابه زبانهای برنامه نویسی دیگر است. خصوصا اگر با زبانهای شیگرایی دیگر از قبیل C++ یا C# کدنویسی کردهاید باید بگویم زمان یادگیری این بخش بسیار بسیار کوتاه است. جدول زیر نگاهی سریع به جزییات دستور زبان جاوا انداخته است. [table id=2 /] کتابخانههای استاندارد زبان جاوا (Java API) وقتی قواعد و دستور زبان جاوا را آموختید زمان آن فرارسیده است که یک برنامه واقعی بنویسید اما نوشتن برنامه واقعی فقط با استفاده از کتابخانهها و زیرساختی که زبان جاوا برای شما آماده کرده است امکانپذیر است. درست مثل این است که شما بخواهید خانهای بسازید، در این راه قطعا قصد ندارید که آجر و سیمان و آهن را نیز خودتان بسازید! کار برنامه نویسان استفاده از امکانات سطح بالایی است که یک زبان برنامه نویسی در اختیار آنها قرار میدهد و کتابخانهها و APIای که آن زبان در اختیار میگذارد بخشی از آن زیر ساخت است. دقت کنید که اصطلاح «کتابخانه» در زبانهای قدیمی استفاده میشد و امروزه به جای این اصطلاح از API که مخفف عبارت Application Programming Interface است استفاده میشود و در فارسی به آن «واسط کاربری برنامه نویسی» گفته میشود. اگرچه اصطلاح کتابخانه با واژه API با یکدیگر کمی متفاوت هستند اما میتوان برای سادگی آنها را معادل یکدیگر تصور کرد. جدول زیر تعدادی از APIهای متنوعی که در جاوا استاندارد فراهم شده است لیست شده است. اگر چه یک برنامه نویس جاوا استاندارد الزاما نباید همه این APIها را بداند ولی برخی از آنها اهمیت زیادی و بسیار کاربردی هستند و در تمام برنامههای جاوا استفاده میشوند. [table id=3 /] کتابخانههای فوق (Java APIs) تنها بخشی از APIهای است که توسط جاوا استاندارد ارائه میشود. در واقع تعداد آنها بسیار بیشتر از آن چیزی است که در بالا به آن اشاره شده است و از آنجاییکه ممکن است در این زمان مواجه شدن با لیست بلند این APIها برای شما خسته کننده باشد فقط تعداد معدودی از آنها را در بالا لیست کردهایم. بخش دوم از یادگیری زبان جاوا زمان و زحمت بیشتری نیاز دارد و لازم است با انجام تمرینات و پروژههای عملی تسلط و دانش کافی را بدست آورید. چه رتبه ای میدهید؟ میانگین ۲.۷ / ۵. از مجموع ۶ اولین نفر باش معرفی نویسنده مقالات 6 مقاله توسط این نویسنده محصولات 3 دوره توسط این نویسنده احمدرضا صدیقی احمدرضا صدیقی متخصص و معمار ارشد جاوا است. از دیگر سوابق حرفه ای او می توان به:معمار ارشد در حوزه جاوا مربوط به پروژه دانشگاه علوم پزشکی، معمار ارشد در حوزه جاوا مربوط به پروژه شرکت خبره پردا، معمار ارشد در حوزه جاوا مربوط به پروژه شرکت کیاتک بنیا، معمار ارشد در حوزه جاوا مربوط به پروژه دانشگاه مالک اشتر، مشاور پروژه ملی طرح جامع مالیاتی، مشاور پروژه ملی وزارت بهداشت، مشاور پروژه بانک ملت، مولف مجموعه کتابهای جاوا (فارسی و انگلیسی)، بیش از ۱۲ سال سابقه تدریس جاوا، ارائه فریمورک تخصصی جاوا (اطلس) اشاره کرد. معرفی محصول احمدرضا صدیقی دوره آموزشی Spring Framework & Spring Boot 4.100.000 تومان 2.870.000 تومان مقالات مرتبط ۱۰ آبان زبان های برنامه نویسی عملکرد کتابخانه Turtle در پایتون و کاربرد های آن ۰۸ آبان زبان های برنامه نویسی Migration در لاراول چیست و چه کاربردهایی دارد؟ تیم فنی نیک آموز ۰۷ آبان زبان های برنامه نویسی مفهوم SDK در برنامه نویسی اندروید چیست؟ تیم فنی نیک آموز ۰۱ آبان زبان های برنامه نویسی HierarchyId در Ef Core 8؛ کامل ترین آموزش برای مدیریت دیتاهای ساختار یافته تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ مرتضی طاهری ۲۴ / ۰۸ / ۹۷ - ۱۱:۳۴ متن ترجمه شده مربوط به ۱۰ سال پیش است. نکته جدیدی ندارد. پاسخ به دیدگاه احمد رضا صدیقی ۰۶ / ۰۹ / ۹۷ - ۰۲:۰۹ سلام دوست عزیز، این مقاله «ترجمه» نیست و با توجه به آخرین نسخه جاوا «تالیف» شده است. هدف این مقاله راهنمایی افراد مبتدی است تا راحت تر بتوانند مطالب حوزه جاوا را بیاموزند. ان شاءالله در مقاله های بعدی به تدریج موضوعات پیشرفته تر ارایه می شود که احتمالا برای شما جذاب خواهد بود. همچنین خوشحال می شویم موضوعات مورد علاقه خود را در اینجا مطرح کنید تا در آینده مقالاتی در آن زمینه ها نیز منتشر کنیم پاسخ به دیدگاه مسعود طاهری ۲۵ / ۰۸ / ۹۷ - ۱۰:۴۲ سلام بلی درست می فرمایید هدف آشنایی است. بنابراین در مقاله هایی در این سطح معمولا به ویژگی جدید … اشاره نمی شود پاسخ به دیدگاه مسعود طاهری ۲۳ / ۰۸ / ۹۷ - ۰۲:۴۰ عالی مهندس صدیقی عزیز پاسخ به دیدگاه احمد رضا صدیقی ۰۶ / ۰۹ / ۹۷ - ۰۲:۰۹ سلام دوست عزیز، این مقاله «ترجمه» نیست و با توجه به آخرین نسخه جاوا «تالیف» شده است. هدف این مقاله راهنمایی افراد مبتدی است تا راحت تر بتوانند مطالب حوزه جاوا را بیاموزند. ان شاءالله در مقاله های بعدی به تدریج موضوعات پیشرفته تر ارایه می شود که احتمالا برای شما جذاب خواهد بود. همچنین خوشحال می شویم موضوعات مورد علاقه خود را در اینجا مطرح کنید تا در آینده مقالاتی در آن زمینه ها نیز منتشر کنیم پاسخ به دیدگاه مسعود طاهری ۲۵ / ۰۸ / ۹۷ - ۱۰:۴۲ سلام بلی درست می فرمایید هدف آشنایی است. بنابراین در مقاله هایی در این سطح معمولا به ویژگی جدید … اشاره نمی شود پاسخ به دیدگاه