بهترین زبان برنامه نویسی برای شروع
سلام خدمت همه ی دوستان و علاقمندان zero to hero
یکی از معمول ترین سوال هایی که از هر برنامه نویس تازه کاری می شنوید این است که: “کدام زبان برنامه نویسی را یاد بگیرم؟”. برای بعضی برنامه نویس های مشتاق، این سوال به مانعی تبدیل می شود که هیچ گاه از آن عبور نمی کنند. برنامه نویس های زیادی دیده شده اند که همیشه در حال پریدن از زبانی به زبان دیگر هستند و همیشه نگرانند که در انتخاب زبان اشتباه نکرده باشد. اگر شما هم نگرانید و نمی دانید که چه زبانی را برای برنامه نویسی انتخاب کنید این مقاله به شما کمک خواهد کرد.
در واقع این که چه زبانی را برای شروع انتخاب کنید، به میزانی که شما فکر می کنید اهمیت ندارد. دلایل زیادی برای این ادعا وجود دارد اما یکی از اصلی ترین دلایل این است که بسیاری از زبان های برنامه نویسی هسته ی بسیار مشابهی دارند. با این که قواعد متفاوت هستند و زبان های برنامه نویسی ظاهر متفاوتی دارند و حتی مجموعه ویژگی های متفاوتی نیز دارند، با این حال زبان های برنامه نویسی بیش از آن چه انتظار دارید مشابه اند.
تقریبا تمام زبان های برنامه نویسی باید ساختار های پایه ی شرطی، حلقه ها، فراخوانی توابع و زیر برنامه ها را داشته باشند. حتی زبان های برنامه نویسی زیادی وجود دارند که بسیار به هم شبیه هستند، و اگر یکی از آن ها را یاد بگیرید، باقی زبان ها را هم یاد گرفته اید. برای مثال #C و java بسیار به هم شبیه اند و javaScript به هر دو زبان شبیه است.
یادگیری اولین زبان برنامه نویسی همواره سخت ترین یادگیری خواهد بود.همین که یک زبان برنامه نویسی را یاد بگیرید، یادگیری زبان دوم ساده تر می شود. بعد از یادگیری دو یا چند زبان برنامه نویسی هر زبان جدیدی که یاد می گیرید بسیار ساده تر خواهد بود.
زبان های برنامه نویسی نه تنها از چیزی که شما فکر می کنید به هم شبیه تر هستند، بلکه حتی شما به راحتی می توانید یادگیری یک زبان برنامه نویسی را کنار بگذارید و آن را با یک زبان برنامه نویسی متفاوت ادامه دهید. برای مثال اگر شما یک زبان برنامه نویسی را یاد گرفتید و تصمیم گرفتید که این زبان مناسب شما نیست یا شغلی به شما معرفی شد که باید از زبان دیگری استفاده کنید، اصلا مساله ی مهمی نیست. چون شما کار سخت یادگیری اولین زبان برنامه نویسی را انجام داده اید و خواهید دید که در بسیاری از مشاغل برنامه نویسی، مخصوصا در کمپانی های بزرگ، تاکیدی بر یادگیری یک زبان برنامه نویسی خاص وجود ندارد. تجربه نشان داده است که در اکثر مصاحبه های کاری برای حل یک مساله ی برنامه نوییسی، از شما می خواهند زبانی که با آن راحت تر هستید را انتخاب کنید. هیچ اجباری برای استفاده از زبان برنامه نویسی خاصی وجود ندارد.
اگر چه از نظر من واقعا اهمیت ندارد که با چه زبان برنامه نویسی ای شروع کنید، اما اگر همچنان در انتخاب مشکل دارید، گزینه هایی را به شما معرفی می کنم که برای انتخاب باید آن ها را در نظر بگیرید.
دورنما و آینده شغلی
برای اکثر افراد، مهم ترین چیزی که باید در نظر گرفته شود این است که یک زبان برنامه نویسی خاص چه شغل هایی را می تواند برای شما مهیا کند و آینده ی زبان مورد نظر چه خواهد بود. در حال حاضر برای اکثر زبان های برنامه نویسی معروف، در هر زمانی شغل های در دسترس زیادی وجود دارد. شهرت یک زبان برنامه نویسی به مرور زمان ممکن است کم یا زیاد شود، اما اگر شما به شغلتان اهمیت می دهید، باید یکی از زبان های برنامه نویسی اصلی معروف را برای یادگیری در نظر داشته باشید. گفته میشود زبان های اصلی معروف عبارت اند از:
همیشه مشاغل بسیاری برای برنامه نویسی که به یکی از این زبان ها مسلط است وجود دارد. البته با توجه به محل زندگی تان شاید باز هم مجبور شوید از بین این زبان ها انتخاب کنید یا تصمیم به نقل مکان بگیرید. برای مثال اگر شما در شهر کوچکی زندگی می کنید که در آن شهر فقط یک کمپانی وجود دارد، و این کمپانی همه ی کار های برنامه نویسی اش را به زبان java انجام میدهد، پیشنهاد من به شما این است که java یاد بگیرید.
اگر با نقل مکان مشکلی ندارید یا تصمیم دارید به صورت آزاد برنامه نویسی کار کنید، باید یک زبان غیر عادی و کم کاربرد را برای یادگیری در نظر بگیرید و سخت کار کنید تا به مهارت بالایی در آن زمینه برسید. زمینه ای که در آن برنامه نویس ماهر کم پیدا می شود. اما اگر می خواهید صرفا برنامه نویسی را شروع کنید، پیشنهاد می کنم از یکی از زبان های اصلی استفاده کنید.
نکته ی دیگری که باید در نظر گرفته شود این است که آینده ی زبان برنامه نویسی که شما در نظر دارید چه خواهد بود. در حال حاضر، زبان Objective-C احتمالا انتخاب خوبی برای شروع نخواهد بود. به این دلیل که توسعه دهندگان iOS تغییر مسیر داده و از swift استفاده می کنند و کمپانی Apple سرمایه گذاری عظیمی در زبان برنامه نویسی swift انجام داده است. اگر شما در حال حاضر برنامه نویس Objective-C بودید مشکلی وجود نداشت، چون همچنان مشاغل بسیار زیادی برای این زبان وجود دارد. اما این زبان احتمالا انتخاب خوبی برای آینده نیست.
بدیهی است که هیچ کدام از ما، گوی کریستالی در اختیار نداریم تا پیشگویی کنیم که کدام زبان در آینده معروف تر می شود. برای مثال سال ها طول کشید تا زبان Ruby معروف شود یا مثلا javaScript یکی از بدترین زبان ها از نظر طراحی است و در اصل برای ساخت هشدار ها و pop-up های کوچک در صفحات وب استفاده می شد. اما در حال حاضر یک زبان بسیار معروف است. بنابراین سعی کنید آینده را پیش بینی نکنید، مگر این که یک گوی کریستالی در اختیار داشته باشید که در آن صورت برنامه نویسی را فراموش کنید، پیشگویی درآمد بیشتری دارد. 😉
تکنولوژی ای که به آن علاقه مند هستید
زمانی که یک زبان برنامه نویسی را انتخاب می کنید، تکنولوژی ای که به آن علاقه دارید یکی از چیز هایی ست که باید در نظر بگیرید. اگر با یک تکنولوژی شروع کنید، انتخاب زبان برنامه نویسی بسیار ساده تر خواهد بود. توسعه دهنده های زیادی هستند که برنامه نویسی اندروید انجام می دهند چون به تکنولوژی اندروید علاقه داشته اند. برای اکثر آن ها شروع با java منطقی به نظر می رسید چون java زبان طبیعی برای توسعه اپلیکیشن های اندروید است. (البته شما می توانید با زبان های زیاد دیگری مثل #C یا Ruby و یا حتی javaScript این کار را انجام دهید.)
این که شما اولین زبان برنامه نویسی را بر اساس علاقه مندی به یک تکنولوژی خاص انتخاب کنید، هیچ مشکلی ندارد. چون یادگیری اولین زبان معمولا سخت خواهد بود. هر چه بیشتر در مورد یادگیری علاقه مند و هیجان زده باشید، قسمت های سخت آموزش را ساده تر پشت سر خواهید گذاشت.
سطح سختی
چیز مهم دیگری که باید در نظر بگیرید سطح سختی یادگیری زبان است. یادگیری برخی از زبان های برنامه نویسی بسیار سخت تر از دیگر زبان هاست. برای مثال بسیاری از افراد به شما پیشنهاد نمی کنند که با زبان ++C شروع کنید، چون در مقایسه با بسیاری از زبان های دیگر برای یادگیری سخت تر است. زبان هایی مثل #C یا python یا Ruby برای شروع بسیار ساده تر هستند. حتی زبان های برنامه نویسی مبتدیانه ای وجود دارند که برای یادگیری برنامه نویسی طراحی شده اند، مثل Scratch و basic.
منابع در دسترس شما
شما همچنین برای یادگیری زیان برنامه نویسی باید منابع در دسترس را در نظر بگیرید. برخی زبان های برنامه نویسی گمنام ممکن است منابع در دسترس زیادی مثل کتاب یا ویدئو های آنلاین یا منابع دیگری نداشته باشند که این موضوع یادگیری آن ها را سخت تر می کند. باقی زبان های برنامه نویسی معروف تر، کتاب ها و آموزش های آنلاین زیادی دارند که به راحتی شما می توانید آن ها را یاد بگیرید. بنابراین برای شروع برنامه نویسی، قبل از انتخاب زبان در نظر بگیرید که چه منابعی برای یادگیری آن زبان در اختیار دارید.
سازگاری
زبان های زیادی در حال پیشروی به سمت سازگار شدن با شرایط و تکنولوژی های مختلف هستند. برای مثال زبان برنامه نویسی #C یکی از سازگار ترین زبان های حال حاضر است. اگر شما زبان #C را یاد بگیرید تنها محدود به برنامه نویسی ویندوز یا وب نیستید. امروزه #C تقریبا با تمام platform ها سازگار است. شما می توانید از #C برای نوشتن برنامه های linux یا mac استفاده کنید. یا حتی می توانید نرم افزار های اندروید یا iOS را کاملا با #C بنویسید.
زبان های برنامه نویسی بسیار دیگری هم وجود دارند که قابلیت سازگاری بالایی دارند. برای مثال Ruby به platform های متفاوت دیگری منتقل شده و در تکنولوژی های اندکی هم از آن استفاده می شود. javaScript هم یک زبان بسیار سازگار است. اما زبان های برنامه نویسی دیگر به این میزان سازگار نیستند. برای مثال اگر شما زبان R یا GO را یاد بگیرید به platform ها و تکنولوژی های آن ها محدود خواهید شد.
زبان های برنامه نویسی زیادی در حال منتقل شدن به platform های مختلف جدید هستند و در تکنولوژی های متفاوت جدیدی استفاده می شوند اما همچنان وجود دارند زبان هایی که مثل بقیه ی زبان های اصطلاحاٌ “همه کاره” نیستند. بنابراین اگر شما می خواهید امروز یک توسعه دهنده وب و فردا یک توسعه دهنده اندروید باشید یا اگر به یک شاخه وسیع از platform ها و تکنولوژی علاقه مند هستید، باید میزان سازگاری زبانی که انتخاب می کنید را در نظر بگیرید.
سخن آخر
با وجود تمام این نکاتی که باید در نظر بگیرید، فراموش نکنید این که چه زبانی را برای شروع انتخاب می کنید به میزانی که شما تصور می کنید اهمیت ندارد. چیزی که اهمیت دارد این است که هر زبانی که انتخاب شد، آن را تا حد مطلوبی ادامه دهید و یاد بگیرید.
قهرمان دنیای خودت باش!
مطالب زیر را حتما مطالعه کنید
حسگرها و فناوریهای پوشیدنی و کاربردهای آنها در پزشکی
درخت دودویی
نصب VMWare به همراه نصب سیستم عامل
WebHook چیست؟
مقایسه مهندسی نرم افزار و برنامه نویسی
آشنایی با Class در ++C
1 Comment
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
با سلام.
مطلب خوبی بود و راهنمایی های لازم را در مورد برنامه نویسی موبایل بدست آوردم.
ممنونم