00:00/00:00

1x

 حامد  گنجعلی

حامد گنجعلی

2,162 بازدید

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

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

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

 

جاوا چیست؟ و چرا اینقدر محبوب است؟

جاوا یک زبان سطح بالا و شیء گرا است. که سال 1995 یعنی حدود 26 سال پیش، متولد شده است. و این زبان برنامه نویسی شباهت زیادی با C دارد. در واقع برای ارتقای ++C درست شده. و خواسته یک مقدار شیء گرایی را آسان‌تر کند. ولی بیایید با هم ببینیم که چه Rank و رتبه‌ای بین زبان‌های محبوب جهان دارد. بر طبق سایت TIOBE (Tiobe.com)، جاوا رتبه‌ی سوم را بین زبان‌های محبوب دارد. و قسمت جالب آن این است که در این 20 سال گذشته، جاوا همیشه کنار C یا ++C جا داشته است. و هر ساله جایگاه خودش را حفظ کرده. یک سال یه رتبه میره بالاتر و یک‌سال یک رتبه میاد پایین‌تر ولی همیشه جز زبان‌‌های محبوب می‌ماند.

جاوا

جاوا کجاها به کار میرود؟ و‌ چه کاربردهایی دارد؟

در خصوص کاربرد آن باید بگویم که تقریبا جاوا همه جا کاربرد دارد.

1. Desktop Application

2.Web Applications : یعنی applicationهای سمت سرور وبسایت‌ها

3. Mobile Applications: اپلیکیشن‌ها اندرویدی(جاوا تا سه یا چهار سال پیش، تنها زبانی بود که با آن می‌توانستیم برنامه‌های بومی برای اندروید بنویسیم)

4.Enterprise Applications : علاوه بر این‌ها جاوا در برنامه‌های سازمانی نیز کاربرد دارد. که داخل Enterprise کاربرد دارد. که در ارگان‌های دولتی واقعا از آن استقبال می‌شود.

5. Scientific Application: همچنین در برنامه‌ها و نرم افزار‌های علمی

6. Webs & Applications

Embedded Systems .7: سیستم‌های تعبیه شده مثل MP3 playerهایی که قبلا داشتیم یا هر دستگاه هوشمند دیگری که داریم، مثل پرینتر‌ها، کنسول‌های بازی یا حتی set up boxهایی که داخل خانه‌مان داریم؛ همه‌ی این‌ها جز سیستم‌های تعبیه شده به حساب می‌آیند. که برای برنامه نویسی آن می‌توانیم از جاوا استفاده کنیم.

8. Tranding Applications: همچنین در برنامه‌ها و نرم افزارهای معاملاتی مثل MUREX که برای بانک‌ها خیلی محبوبیت دارد و استفاده می‌شود.

9. Big Data Technologies: در این رابطه جاوا فوق‌ العاده عمل کرده است. به خصوص اینکه فریم ورک hadoop با این نوشته شده که در ادامه خواهم گفت که در کجاها این فریم ورک استفاده شده است.

10. Internet of things: در زمينه‌ی IoT یا اینترنت اشياء استفاده می‌شود. و اگر شما جز کسانی هستید که به خانه‌های هوشمند علاقه‌مند هستید؛ به احتمال زیاد اسم SmartThings را شنیده‌اید.

11. Robots: در رباتیک، البته نه فقط ربات‌های نرم افزاری مثل ربات تلگرام؛ بلکه ربات‌هایی که در صنعت استفاده می‌شوند مثل بازوهای

در برنامه‌نویسی این‌ها نیز استفاده می‌شود.

12. Games: و در آخر بازی‌های رایانه‌ای خیلی محبوبی مثل minecraft، SIMCITY و کرم‌ها؛ با جاوا نوشته شده‌اند.

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

 

 

فریم ورک‌های محبوب جاوا:

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

 

 

اما فریم ورک چیست؟

در واقع فریم ورک یک محیطی است که کدهای شما تقریبا نیمه آماده هستند. و کار را برای شما آسان‌تر می‌کنند. به عنوان مثال شما می‌خواهید اپلیکیشن‌های سمت وب درست کنید و آن قالب‌های گرافیکی که می‌خواهید، در آن جا آماده هستند. و می‌توانید به موس آن را بکشید و اضافه کنید. تنها کاری که لازم است انجام دهید این است که فقط باید کد‌های منطقی آن‌ها را انجام دهید. در هر زمینه از جاوا وارد بشوید می‌توانید فریم ورک‌های مخصوص به خودش را می‌توانید پیدا کنید. یکی از فریم ورک‌هایی که خیلی محبوب، hadoop است که برندهای معتبری از این فریم ورک استفاده کردند. مثل Uber، Airbnb، pinterest، Spotify، ebay، Twitter، Yahoo و خیلی از شرکت‌های معتبر دیگر. و این فقط یکی از فریم ورک‌های جاوا است.

 

 

آیا جاوا کنار گذاشته می‌شود؟

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

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

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

 

 

 

پرتابل بودن جاوا یعنی چی؟

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

شعار جاوا که باعث محبوبیتش شد:

شعاری که باعث محبوبیت این زبان شد این بود که «Write Once, Run Anywhere یعنی یک‌بار بنویس و همه جا آن را اجرا کن.»

 

ویژگی محبوب جاوا، به خصوص در میان تازه کارها:

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

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

 

ویژگی‌های خاص جاوا:

1- امنیت بالا

2- Multi-threading یا چند نخی بودن آن

3- مثل زبان C، یک زبان مادر محسوب می‌شود

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

 

 

شغل و درآمد

شغل و درآمد این زبان به چه صورت است؟

با توجه به کاربردهایی که دارد، موقعیت‌های شغلی بسیاری نیز دارد. بر اساس سایت Salary.com درآمد جاوا کارها درآمدی بین 67 تا 120 هزار دلار در سال تخمین خورده است. و این اختلاف درآمد بستگی به اختلاف سطح دانشی است که برنامه نویس‌ها دارند. مثلا برنامه نویس جونیور در حد 78 هزار دلار در سال می‌گیرد در صورتی که برنامه‌ی سینسور حدود دو برابر این را دریافت می‌کنند. البته اگر شما بخواهید به صورت فریلنسری کار کنید، داخل برخی از شاخه‌های جاوا مثل برنامه نویسی اندروید این امکان را به شما خواهد داد که بیشتر درآمد داشته باشید.

 

چگونه جاوا را یاد بگیریم؟

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

برای پاسخ به این سوال باید ابتدا این را مشخص کنید که کدام شاخه‌ را می‌خواهید انتخاب کنید، یعنی ابتداً باید بازار هدف خودتان چیست؟ و می‌خواهید در چه قسمتی فعالیت کنید؟

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

 

جمع بندی

و در نتیجه این تمام چیزی بود که در مورد زبان برنامه نویسی جاوا لازم بود بدانید. فهمیدید که چه کاربردهایی دارد(تقریبا همه جا استفاده می‌شود.) و چه درآمدی دارد(این بستگی به موارد مختلفی دارد. و همچنین مهارات‌های نرم مثل بازاریابی واقعا در این شاخه خیلی مهم است.) همچنین فهمیدید که باید یک بازار هدف انتخاب کنید و بر اساس آن یک Road Map بسازید و بر اساس آن جلو بروید.

 

پیشنهاد حامد گنجعلی

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

 

برای شروع چی کار کنم؟

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

 

در آخر...

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