برای یادگیری جاوا از کجا باید شروع کنم؟

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

در ابتدا پاسخ دادن به چند سوال حائز اهمیت است :

  1. برای شروع به چه چیزهایی نیاز دارم ؟
  2. منابع فارسی و انگلیسی که در اختیار دارم چیست ؟
  3. کتاب، کلاس یا دوره های آنلاین ؟
  4. چقدر نیاز دارم که زبان انگلیسی ام را برای یادگیری جاوا تقویت کنم ؟
  5. آیا می توانم بدون شرکت در کلاس یا دوره های آموزش برنامه نویسی جاوا یاد بگیرم ؟
  6. نقش کار و تجربه در یادگیری برنامه نویسی چیست ؟
  7. چقدر زمان لازم دارم تا یک برنامه نویس حرفه ای جاوا شوم ؟

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

قدم بعدی نصب JDK یا همان Java Development kit هست که شما برای کامپایل کردن کدها و استفاده از کتابخانه عظیم جاوا به آن نیاز دارید. متاسفانه به دلیل تحریم امکان دانلود مستقیم JDK از سایت اوراکل وجود ندارد و شما باید از طریق روش هایی که قطعا بهتر از من می دانید تحریم ها را دور بزنید.

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

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

https://www.jetbrains.com/idea/download/

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

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

https://netbeans.org/downloads/

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

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


https://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplersr1

شاید برایتان این سوال بوجود آمده باشد که کدام یک از موارد بالا انتخاب بهتری برای شروع هستند ؟

هماهنطور که گفتم Intellij بهترین انتخاب است. برای یادگیری Java SE همه نیازهای شما را برآورده می کند. پس در قدم دوم بعد از نصب JDK جاوا به سراغ نصب Intellij بروید.



منابع آموزشی جاوا

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

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

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


How TO PROGRAM JAVA
How TO PROGRAM JAVA


کتاب ۱۳۲۵ صفحه ای دایتل منبع کاملی است از تمام چیزهایی که شما برای یادگیری جاوا مقدماتی به آن نیاز دارید. کتاب با دستورات ساده جاوا آغاز می شود و با آموزش عبارات کنترلی، نحوه نگارش متد ها و کار با رشته ها، آرایه ها و فایل ها ادامه پیدا می کند. در بخش های بعدی کتاب به مفاهیم کلاس ها و شی ها، وراثت و چندریختی و رسیدگی به استثناها پرداخته می شود و در نهایت با مفاهیم دسترسی به پایگاه داده با استفاده از JDBC، برنامه های وب با JSF برنامه های وب با JSF  بر پایه AJAX و همچنین سرویس های وب خاتمه می یابد. اگر زبان انگلیسی قوی دارید حتما نسخه اصلی و آخرین ویرایش این کتاب را مطالعه کنید تا با آخرین تکنولوژی های این زبان آشنا شوید و البته مشکل سانسور شدن کتاب به علت جلوگیری از افزایش قیمت کتاب را هم نخواهید داشت.

دوره های آنلاین

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

سولو لرن

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

کد آکادمی

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

سایت های آموزش زبان برنامه جاوا به فارسی

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

سکان آکادمی انتخاب دیگر شما خواهد بود. کامنت های مثبت زیادی از دوستان و کسانی که در این دوره ثبت نام کرده اند دریافت کرده ام که این نشان دهنده موفقیت آمیز بودن این دوره است. با نگاهی به سرفصل های آموزشی دوره جاوا این وب سایت متوجه شدم که این دوره حرف های زیادی برای گفتن دارد. مدرس این دوره بهزاد مرادی است که به قول خودش در نهایت زبان برنامه نویسی PHP را انتخاب کرده است و از انتخاب خود نیز راضی است !

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

کلاس ها و دوره های آموزشی جاوا

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


انجمن کامپیوتر آمریکا (ACM)

انجمن کامپیوتر آمریکا (ACM) یک انجمن علمی و بین المللی در حوزه کامپیوتر می باشد که در سال 1947 در آمریکا فعالیت خود را آغاز نمود. این انجمن با بیش از 100 هزار عضو، بزرگترین و معتبر ترین انجمن علمی - آموزشی در حوزه کامپیوتر و فن آوری اطلاعات می باشد که در 62 کشور دنیا دفتر نمایندگی دارد. علی پروینی از بهترین اساتید جاوا مسئولیت آموزش شما را به عهده خواهد داشت. در توصیه نامه شرکت در دوره های ACM ذکر شده است که :

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

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

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

دوره جاوا لایتک دانشگاه صنعتی شریف

دوره های برنامه نویسی لایتک طی ۴ دوره برگزار می شود.

  • جاوا مقدماتی Java SE (برنامه نویسی Desktop)
  • مهندسی نرم افزار در جاوا
  • امنیت در جاوا
  • جاوا تکمیلی Java EE II (برنامه نویسی در مقیاس ملی)

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


سخن پایانی

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