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

من امین کمپانی هستم و قصد دارم که مروری داشته باشم بر آنچه که شما برای یادگیری زبان برنامه نویسی جاوا به آن نیاز دارید. بیش از ۳ سال از انتشار این مطلب می گذرد و این احساس به خود من هم دست داده بود که این مطلب را باید برای سال ۱۴۰۰ بروز رسانی کنم که البته این موضوع بی ارتباط با خبری که اواسط مقاله متوجه آن خواهید شد نیست. شخصا از زمانی که علاقمند به یادگیری یک زبان برنامه نویسی شدم همواره با چالش ها و سوالات مختلفی روبرو شده ام و همه اینها باعث شد که تجربیات زیادی در این راه کسب کنم. این تجربیات شاید بتواند برای شما هم که قصد دارید برنامه نویسی به زبان جاوا را آغاز کنید مفید باشد.در ابتدا پاسخ دادن به چند سوال حائز اهمیت است :برای شروع به چه چیزهایی نیاز دارم ؟منابع فارسی و انگلیسی که در اختیار دارم چیست ؟کتاب، کلاس یا دوره های آنلاین ؟چقدر نیاز دارم که زبان انگلیسی ام را برای یادگیری جاوا تقویت کنم ؟آیا می توانم بدون شرکت در کلاس یا دوره های آموزش برنامه نویسی جاوا یاد بگیرم ؟نقش کار و تجربه در یادگیری برنامه نویسی چیست ؟چقدر زمان لازم دارم تا یک برنامه نویس حرفه ای جاوا شوم ؟در قدم اول به آنچه که برای شروع نیاز دارید می پردازیم. در زبان برنامه نویسی جاوا کدها ابتدا به صورت بایت کد کامپایل می شوند و سپس توسط 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کتاب ۱۳۲۵ صفحه ای دایتل منبع کاملی است از تمام چیزهایی که شما برای یادگیری جاوا مقدماتی به آن نیاز دارید. کتاب با دستورات ساده جاوا آغاز می شود و با آموزش عبارات کنترلی، نحوه نگارش متد ها و کار با رشته ها، آرایه ها و فایل ها ادامه پیدا می کند. در بخش های بعدی کتاب به مفاهیم کلاس ها و شی ها، وراثت و چندریختی و رسیدگی به استثناها پرداخته می شود و در نهایت با مفاهیم دسترسی به پایگاه داده با استفاده از JDBC، برنامه های وب با JSF برنامه های وب با JSF بر پایه AJAX و همچنین سرویس های وب خاتمه می یابد. اگر زبان انگلیسی قوی دارید حتما نسخه اصلی و آخرین ویرایش این کتاب را مطالعه کنید تا با آخرین تکنولوژی های این زبان آشنا شوید و البته مشکل سانسور شدن کتاب به علت جلوگیری از افزایش قیمت کتاب را هم نخواهید داشت.دوره های آنلایندوره های آنلاین منابع آموزشی دیگری هستند که می توانید از آنها استفاده کنید. دوره های آنلاین رایگان خوبی وجود دارند که می توانید در آنها شرکت کنید، به بحث و گفت و گو بپردازید و در نهایت بعد از گذراندن کامل دوره مدرک پایان دوره آنلاین دریافت کنید. خوب در ابتدا به سراغ دوره های آنلاین به زبان انگلیسی می رویم.سولو لرناز جهاتی solo learn رو دوست دارم. نرم افزارهای موبایل آن هم روی Android و هم روی IOS قابل نصب است. به همین دلیل حتی در زمانی که در مترو یا اتوبوس هستید می توانید به مطالعه زبان برنامه نویسی مورد علاقه خود بپردازید. شیوه کار solo learn به این صورت است که یک درس یا یکی از مفاهیم زبان برنامه نویسی جاوا را به ساده ترین زبان ممکن به شما آموزش می دهد و پس از آن با پرسیدن سوالی در مورد همان مبحث مطمئن می شود که شما آن مبحث را یاد گرفته اید. نکته جذاب در مورد solo learn فروم فعال این وب سایت است که در مورد هر مبحث آموزشی این امکان را به شما می دهد که به بحث بپردازید و یا کدهایی که آنلاین نوشته اید را با دیگران به اشتراک بگذارید. البته solo learn نکات منفی هم دارد و شاید بزرگترین ایرادی که بشود به این سایت گرفت، مبتدی بودن دوره های آن است و قطعا حتی با گذراندن کامل دوره زبان برنامه نویسی آن یک برنامه نویس کار بلد نخواهید شد بلکه صرفا به شخصی تبدیل خواهید شد که با مفاهیم پایه برنامه نویسی آشنا شده است.کد آکادمیکد آکادمی یکی از سایت هایی است که من معمولا به کسانی که آشنایی زیادی با کامپیوتر و برنامه نویسی ندارند معرفی می کنم . پس از ثبت نام در این وب سایت می توانید به طور رایگان دوره مورد نظر خودتان را انتخاب کنید و به یادگیری آن بپردازید. از نکات جالب آن این است که می توانید کدهای خود را به صورت آنلاین در همین وب سایت بنویسید و نتیجه آن را مشاهده کنید. همچنین بخش هایی برای رفع اشکال کد های شما و راهنمایی برای نوشتن کدی بهتر در نظر گرفته شده است. از نکات مثبت این وب سایت می توان به سبک و زبان ساده خالقین دوره های آن اشاره کرد.سایت های معتبر دوره های آنلاین زبان برنامه نویسی جاواقطعا نام سایت های آموزشی مثل Udemy، Coursera، Udacity،Lynda، Pluralsight و ... به گوشتان خورده است. اینها همگی سایت هایی هستند که بهترین دوره های آموزشی زبان برنامه نویسی در آنها برگزار می شود. اگر خوش شانس باشید و بتوانید پرداخت ارزی داشته باشید می توانید در دوره های این سایت ها شرکت کنید و مدرک پایان دوره آنها را که گاها با مشارکت شرکت ها و دانشگاه های معتبر ارائه می شوند دریافت کنید. البته قبل از اینکه هرگونه وجهی را به حساب این سایت ها واریز کنید شرایط را به صورت کامل مطالعه کنید زیرا ممکن است زمانی که متوجه شوند از ایران هستید مدرکی به شما ارائه نکنند. نکته ای که باید به آن توجه داشته باشید این است که گول چرب زبانی این سایت ها مبنی بر پیدا کردن کار یا موفقیت های آتی را نخورید. مدارکی که از طریق این وب سایت ها دریافت می کنید به غنی تر شدن رزومه شما قطعا کمک خواهند کرد ولی این بدان معنا نیست که می توانند دلیلی برای اینکه به شما کار بدهند باشد! داشتن این مدارک خوب هست ولی کافی نیست. این اطلاعات را با مشورت با بسیاری از دوستان خودم که در خارج از کشور مشغول کار و تحصیل هستند بدست آورده ام و از آنجایی که بر اساس تجربه های واقعی نگاشته شده اند می توانید روی آن حساب باز کنید. در هر حال اگر مدرک برای شما اهمیت زیادی ندارد و تنها به دنبال کسب دانش هستید می توانید از سایت های دانلود ایرانی برخی از این دوره ها را دانلود کنید که من برای اینکه به حق ناشر احترام بگذارم از معرفی این سایت ها پرهیز خواهم کرد، اما می توانید با ارسال ایمیل در رابطه با آنها از من سوال بپرسید.سایت های آموزش زبان برنامه جاوا به فارسیوب سایت ها و دوره های آنلاین فارسی خوبی هم برای یادگیری زبان برنامه نویسی جاوا وجود دارد که با پرداخت مبلغ نه چندان زیادی می توانید در این دوره های آنلاین شرکت کنید. فرادرس یکی از همین وب سایت هاست. مدرس دوره برنامه نویسی جاوا این وب سایت دکتر سید مصطفی کلامی هریس یکی از موسسان همین وب سایت است. با مروری بر سر فصل های آموزشی این دوره متوجه شدم که برای شروع یادگیری جاوا فرادرس انتخاب خوبی است . همچنین توجه به اینکه بیش از ۸۰۰۰ نفر تا این لحظه این دوره را تهیه کرده اند، نشان از موفقیت این دوره دارد. سکان آکادمی انتخاب دیگر شما خواهد بود. کامنت های مثبت زیادی از دوستان و کسانی که در این دوره ثبت نام کرده اند دریافت کرده ام که این نشان دهنده موفقیت آمیز بودن این دوره است. با نگاهی به سرفصل های آموزشی دوره جاوا این وب سایت متوجه شدم که این دوره حرف های زیادی برای گفتن دارد. مدرس این دوره بهزاد مرادی است که به قول خودش در نهایت زبان برنامه نویسی PHP را انتخاب کرده است و از انتخاب خود نیز راضی است !سایت دیگری که که خیلی از دوستان تاکید داشتند که جای آن در مقاله خالیست سایت جاوا کاپ است. نکته جذابی که در مورد این سایت وجود دارد اینست که تمام ویدئوهای آموزشی موجود در این سایت کاملا رایگان هستند و شما می توانید بدون پرداخت هیچ هزینه ای ویدئو ها و اسلایدهای به نمایش درآمده در آن را به رایگان دانلود کنید. نکته جالب دیگری که می توانم به آن اشاره کنم در نظر گرفتن یک سری تمرینات در پایان هر ویدئو آموزشی است که پاسخ دادن به آنها می تواند کمک شایانی به پیشرفت شما کند. در پایان هر ویدئو کلیدواژه هایی که جستجو آنها در گوگل و سایت StackOverFlow به شما در جهت درک بهتر مفاهیم کمک می کند آمده است. استاد این دوره آموزشی رایگان هم دکتر صادق علی اکبری هستند. اما فعالیت های جاوا کاپ به همین جا محدود نمی شود. برگزاری مسابقات و معرفی فرصت های شغلی از دیگر چیزهایی هستند که به جذابیت های این سایت بیش از پیش می افزایند. تنها نقطه ضعف این سایت شاید بخش مربوط به آموزش جاوا EE باشد که متاسفانه در این بخش از ویدئوهای آموزشی دیگر خبری نیست و جاوا کاپ فقط به معرفی چند لینک رفرنس آموزشی بسنده کرده است که امیدواریم در آینده شاهد ویدئوهای آموزشی در این بخش نیز باشیم.کلاس ها و دوره های آموزشی جاوادر نهایت فکر می کنم که اگر می خواهید جاوا را به بهترین نحو ممکن یاد بگیرید ناگزیر هستید که به یکی از کلاس های آموزش برنامه نویسی جاوا بروید. اما بهترین انتخاب برای یک دوره آموزشی خوب چیست ؟ با مروری بر دوره های آموزشی زبان برنامه نویسی جاوا به این مسئله خواهیم پرداخت. البته این یک لیست کامل از تمام آموزشگاه ها نیست. بنابراین از تجربیات شما برای تکمیل این بخش استفاده خواهم کرد.دوره جاوا آموزشگاه تحلیل دادهآموزشگاه تحلیل داده یکی از قدیمی ترین و محبوب ترین آموزشگاه ها در زمینه مهندسی کامپیوتر و برنامه نویسی است. برای سال ها یکی از برجسته ترین اساتید برنامه نویسی زبان برنامه نویسی جاوا آقای میثم محمدی در این آموزشگاه تدریس می کردند. شاگردان بسیاری در کلاس های ایشان شرکت کرده اند و پس از آن جذب بازار کار شدند و یا از ایران مهاجرت کرده‌اند. حتی خود من هم افتخار این را داشتم که سال ها پیش در کلاس های ایشان شرکت کنم. خبر بد این است که ایشان دیگر تدریس نمی کنند و خبر خوب این است که در سال ۱۴۰۰ من به جای ایشان در این آموزشگاه در خدمت شما هستم. پس از سال ها کار و تدریس در زمینه زبان برنامه نویسی جاوا بالاخره این افتخار نصیب من شد که از طریق آموزشگاه تحلیل داده در خدمت شما باشم. برای سرفصل های دوره زحمت زیادی کشیده شده است و تلاش شده است که هر دو گروهی که قصد دارند در بازار ایران مشغول به کار شوند و کسانی که قصد مهاجرت و شرکت در آزمون های بین المللی را دارند در نظر گرفته شود. همچنین تلاش کردیم که افراد مبتدی تا پیشرفته را برای این دوره ها در نظر بگیریم. نکته دیگری که گفتن آن خالی از لطف نیست این است که این دوره ها به دلیل شرایط کرونا هم به صورت آنلاین و هم به صورت حضوری برگزار می شوند. از آنجایی که این دوره توسط خودم برگزار می شود می توانم ساعت ها در رابطه با آن با شما صحبت کنم ولی بهتر است که برای کسب اطلاعات بیشتر سری به سایت تحلیل داده بزنید یا با آنها تماس بگیرید. اطلاعات خوبی در رابطه با دوره و نحوه برگزاری آن به شما خواهند داد.مدرسه جاوا دانشگاه تهرانامیرسام بهادر را خیلی ها می شناسند. سال هاست که در زمینه آموزش زبان برنامه نویسی جاوا فعالیت می کند. با نگاهی به سایت مدرسه جاوا دانشگاه تهران با ۷ دوره مختلف که همگی را امیرسام بهادر برگزار می کند روبرو می شویم. این دوره ها شامل کلاس جاوا مقدماتی، کلاس جاوا پیشرفته، کلاس امنیت و جاوا، کلاس جاوا تکمیلی + امنیت در جاوا، کلاس مهندسی نرم افزار در جاوا، کلاس پایگاه داده اوراکل و کلاس جاوا و هوش مصنوعی می شود. با توجه به گستردگی موضوعات مختلف که کلاس های امیرسام بهادر پوشش داده است این دوره ها هم می تواند گزینه ای ایده آل برای شروع یادگیری زبان برنامه نویسی جاوا باشد. گذشته از اینها امیرسام بهادر نیز فردی با تجربه و حرفه ای در این زمینه هست که می تواند شما را حسابی در مسیری که انتخاب کرده اید کمک کند.دوره جاوا لایتک دانشگاه صنعتی شریفدوره های برنامه نویسی لایتک طی ۴ دوره برگزار می شود.جاوا مقدماتی Java SE (برنامه نویسی Desktop)مهندسی نرم افزار در جاواامنیت در جاواجاوا تکمیلی Java EE II (برنامه نویسی در مقیاس ملی)طی سالیان گذشته این دوره توسط امیر سام بهادر که در زمینه تدریس زبان برنامه نویسی جاوا فردی شناخته شده است برگزار می شد اما با بررسی که اخیرا در سایت لایتک شریف داشتم در قسمت نام استاد گروه لایتک به عبارت اساتید دپارتمان برنامه نویسی بسنده کرده اند. با کلیک بر روی نام اساتید دپارتمان برنامه نویسی متوجه شدم که رزومه برخی از اساتید دپارتمان ارتباطی با زبان برنامه نویسی جاوا ندارد. به عنوان مثال دکتر حسن سلطانی دارای مدرک DBA و کارشناسی ارشد مدیریت بازاریابی هستند و اشاره دیگری به سوابق ایشان در زمینه برنامه نویسی نشده است. با توجه به این موارد نمی توانم نظر دقیقی در رابطه با دوره نظر داشته باشم. بنابراین از شما عزیزان که در این دوره ها شرکت کردید تقاضا دارم که در کامنت ها نظر خود را بیان کنید تا دیگران هم بتوانند از آن استفاده کنند.سخن پایانیبی شک جاوا یکی از محبوب ترین زبان های برنامه نویسی دنیا شناخته می شود. منابع معتبر همواره خبر از محبوبیت جاوا در بین شرکتها و توسعه دهنده گان نرم افزار دارند. شاخص معتبر TIOBE در تابستان 2018 اعلام نمود که زبان جاوا ، همچنان رتبه اول در میان تمامی زبانهای برنامه نویسی را دارد. در پاسخ به اینکه چقدر زمان برای حرفه ای شدن در جاوا نیاز دارید باید بگویم که این به خود شما بستگی دارد. زبان انگلیسی قوی قطعا فرآیند یادگیری شما را سریعتر می کند و این امکان را به شما می دهد که با جدیدترین تکنولوژی هایی که این زبان برنامه نویسی در اختیار شما قرار می دهد آشنا شوید. شما در نهایت قدم در دنیای بی پایانی می گذارید که حتی با سال ها کار و تجربه عملی قادر به کشف همه ابعاد آن نخواهید بود. بهترین تجربیات در این راه نیز تجربیات عملی و پروژه های واقعی هستند. قرار گرفتن در پروژه های واقعی شما را با چالش های واقعی و نیاز مشتریان و مدیران شما آشنا می کند و شما را وادار می سازد که به تحقیق و پیدا کردن راه حل های منطقی بپردازید. قطعا وب سایت StackOverFlow یکی از بهترین گزینه ها برای این مورد است. سایت دیگری که قطعا در ادامه این راه برایتان جذاب خواهد بود mkyong است. این وب سایت یکی از بهترین ها برای انواع مثال ها و راه حل های جاوا است که در زمان های مختلف می تواند مفید باشد.