برنامه نویسی چیست، بازار کار آن چگونه است و چگونه برنامه نویس شویم؟

سلام !

بعد از مدتی یک پست جدید مینویسم که در واقع نسخه جدیدتر و بهتر این پست هست.

برنامه نویسی

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

حالا زبان های برنامه نویسی بر اساس نحوه اجرا به دو دسته تقسیم میشن.

۱-زبان هایی که کد نوشته شده شما رو توسط کامپایلر به زبان ماشین (۰و۱) و دستور العمل های اجرایی تبدیل میکنن مثل Cو++Cو…

۲-زبان هایی که کد نوشته شما رو مستقیما به صورت فایل اجرایی در نمیارن و برنامه ای، کد های رو در هنگام اجرا میخونه و همون زمان به دستور العمل های ماشین ترجمه میکنه که بهشون میگن interpreted.مثل پایتون و تا حدودی جاوا (مکانیزم کار جاوا کمی فرق داره که شاید بعدا در پستی جدا توضیح بدم)

نکته:در خیلی زبان ها کد مستقیما به زبان ماشین تبدیل نمیشه و ممکنه به صورت قابل فهم برای یک برنامه ی دیگه تبدیل بشه و در نهایت به زبان ماشین تبدیل بشه.

همونطور که در مقاله قبل هم اشاره کردم یکسری تصورات غلطی وجود داره که همین اول کار باید ذهنتون رو ازش پاک کنید.

ببینید این موضوع وجود داره که میشه با صفر و یک مستقیما به ماشین دستور داد اما این کار پیچیده، پر از اشکال و شدیدا زمان بر هست.این دلیل ایجاد زبان های برنامه نویسیه.زبان های برنامه نویسی قالب و شیوه هایی رو معرفی میکنن که شما با استفاده از کلمات و ساختار های قابل فهم، کاری که میخواید انجام بدید رو به صورت قابل فهم و ساده تر بنویسید و سپس با استفاده از کامپایلر به زبان ماشین تبدیل کنین.پس قطعا برنامه نویسی ۰ و ۱ نوشتن نیست !

کاربرد و بازار کار

ما زبان های برنامه نویسی زیادی داریم که بعضی هاشون منسوخ شدن و بعضی هاشون کاربرد های محدود دارن.

مثلا زبان برنامه نویسی LISP که یک زبان برنامه نویسی قدیمی هست و امروزه در بحث هوش مصنوعی کاربرد داره یا زبان برنامه نویسی lua که عمرش نسبت به بقیه زبان ها تقریبا کم هست و کاربردش در هوش مصنوعی بازی ها و … هست (lua طیف وسیعی از کاربرد هارو پوشش میده)

 

همونطور که گفتم هر زبان بیشتر برای کاربرد های خاصی استفاده میشه.ما در اینجا بازار کار رو بررسی میکنیم و میگیم چه زبان هایی خواهان بیشتری دارن.

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

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

زبان های برنامه نویسی وب

در بحث برنامه نویسی وب، زبان ها و متخصص ها به دو دسته تقسیم میشن :

۱-فرانت اند (Front-End) : این برنامه نویس ها وظیفه توسعه ظاهر کار رو دارن یعنی چیزی که کاربر مشاهده میکنه.این کار نیاز به خلاقیت و کار زیادی داره چون برنامه نویس باید تعاملی بین ظاهر نهایی و کد های Back-end ایجاد کنه و در عین حال مسائلی مثل seo رو در نظر بگیره.زبان های برنامه نویسی که در این زمینه استفاده میشه عموما html، css و جاوا اسکریپت هستن.

۲-بک اند (Back-End) : این برنامه نویس ها قسمت پشتی و پنهان کار رو میسازن که میشه گفت قلب کار و چیزی که پروژه رو پویا میکنه هست.زبانی که معمولا استفاده میشه php هست.

فعالیت به عنوان برنامه نویس وب

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

وقتی بحث استخدام پیش میاد طبیعتا چیز هایی مثل سابقه کار و رزومه و بعضا معرف (شما بخونید پارتی) خیلی اهمیت پیدا میکنن.

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

دو روش کار آخر دقیقا دلیلی هست که برنامه نویسی رو حرفه ای بسیار مناسب میکنه و این امکان رو میده که به تنهایی کار کرد.

زبان های برنامه نویسی موبایل

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

برنامه نویسی اندروید امروزه در ایران به شدت پر طرفدار شده و این رو میشه به رفتن به مارکت ایرانی بازار دید.تیم های کوچیک و افراد به تنهایی کلی برنامه ی اندرویدی توسعه دادن که بعضی از اون ها بسیار موفق شدن و سود هایی با عدد های عجیب و غریب داشتن.

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

در فعالیت به صورت آزاد، ایده ی خوب خیلی تاثیر مهمی داره و این رو میشه از ایده های نرم افزار های برتر اندرویدی ایرانی فهمید.

زبان های برنامه نویسی سمت سرور

در یک کسب و کار وقتی ما برنامه ی موبایل رو ساختیم، این نرم افزار باید بتونه با یک سرور تعامل داشته باشه و کار اصلی و مرکز کسب و کار در اون سرور هست (Server-side).

در تمام زبان های برنامه نویسی برنامه نویس باید به نکات امنیتی توجه زیادی داشته باشه اما در اینجا این نیاز دو چندان میشه.

و به خاطر حساسیت و پیچیدگی های این کار شرکت ها وسواس خاصی در استخدام این متخصصان به خرج میدن.

در این بخش چندان نمیشه به صورت آزاد کار کرد اما درآمد خوبی داره.از جمله زبان های برنامه نویسی این بخش میشه به زبان های Net. و ++C و پایتون اشاره کرد.

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

یادگیری

و اما بعد از این همه حرف و اینکه چه زبانی برای ما مناسبه، چجوری باید برنامه نویسی رو یاد بگیریم؟

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

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

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

یک نکته که باید بهش توجه کنید اگر به منبع خوب اینترنتی دسترسی دارید بهتره به جای مراجعه به کتاب برید سراغ اینترنت چون منابع به روز تر و گسترده تر هستن.

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

امیدوارم این مطلب بهتون کمک کرده باشه.اگر سوال یا انتقادی بود در کامنت باهام مطرح کنید.موفق باشید 🙂

6 دیدگاه در “برنامه نویسی چیست، بازار کار آن چگونه است و چگونه برنامه نویس شویم؟

        1. بله جاوااسکریپت جون تازه ای در node js گرفته و واقعا هم من خوشم اومد ازش، به نظرم آینده درخشانی در انتظارش هست(همین الانم خیلی درخشانه البته) و به زودی عصر php لعنتی به سر میاد …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *