0
09120368440

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

این روزها از پیر تا جوان همه در تب و تاب این هستند که برنامه نویس شوند و طبیعتا این سوال را که ” چگونه برنامه نویسی را شروع کنیم ؟ ” در ذهن خود دارند.

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

 یا حتی بعضی ها با خودشان فکر می کنند که کدام زبان برنامه نویسی در حال حاضر توی بورس است ؟

 شاید خودت بهتر خبر داشته باشی که هر روز یک زبان جدید به بازار می آید.

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

این سوال ها و دغدغه فقط مربوط به زبان نیست.

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

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

دلیل اینکه برنامه نویسی موبایل و وب برای برنامه نویس ها اهمیت دارد این است که بعضی ها تصور می کننذ سرنوشت درآمد یک برنامه نویس را تا حدودی پلتفرم تعیین می کند.

مثلا این روزها برنامه نویسی اندروید بازار گرمی دارد.

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

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

 

 

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

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

نقطه صفر این است که بدانی چطور نرم افزارت را تحلیل کنی.

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

برنامه را اینطور برای او می سازی که نیازش را بررسی می کنی و راه حلی برای انجام کارهای مورد نظر او پیدا می کنی.

 با پیاده سازی “راه حلی که به ذهنت رسیده است” با استفاده از کدها، برنامه ای می نویسی. به این کار برنامه نویسی می گویند.

تحلیل نرم افزار یا تحلیل نیازمندی های نرم افزار

اما تحلیل نرم افزار را چطور انجام می دهی؟

خب بیا فرض کنیم که من مشتری هستم و تو برنامه نویس.

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

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

طوریکه بقیه افراد بتوانند بر اساس نیازهای خودشان خانه ای را جست و جو کنند.

و در صورتی که خانه آقای x مرتبط با نیازهای کاربران باشد، در نتیجه جست و جو کاربرها نمایش داده شود.

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

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

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

برنامه نویس های مختلف برای انجام تحلیل نرم افزار از ابزارهای متفاوتی استفاده می کنند.

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

 


ابزارهای مورد نیاز برای تحلیل نرم افزار

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

احتمالا اسم ابزاری به نام UML به گوشت خورده است.

از  UML برای تحلیل و پیدا کردن نیازهای مشتری استفاده می شود. در واقع UML تنها یکی از این ابزارها است.

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

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

و آن موقع  برای پیاده سازی هرآنچه تحلیل کرده ای نیاز به یک زبان برنامه نویسی داری.

 

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

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

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

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

شاید کمی فلسفی بنظر برسد که بخواهی هر آنچه تحلیل کرده ای و در ذهنت داری را بخواهی با استفاده از کدها پیاده سازی کنی.

تقریبا چیزی شبیه به نقاشی کشیدن.

در ذهنت آن را میسازی و با استفاده از مدادرنگی، ماژیک یا آبرنگ بر روی کاغذ میکشی.

با این کار که چیزی که در ذهنت داری را به دنیای واقعی می آوری.

برنامه نویسی برعکس نقاشی است.

چیزی که ظاهر فیزیکی دارد یا یک فعل در دنیای واقعی است را با استفاده از ” کدها ” از دنیای واقعی به دنیای کامپیوتر میبری .

این کدها در واقع با زبان برنامه نویسی که تو یاد گرفته ای با استفاده از مکانیزم طبیعی ذهن در یک محیط کدنویسی پیاده سازی می شود.

 تا اینجا مهم نیست که با چه زبان برنامه نویسی در حال برنامه نویسی کردن هستی، چون همه آنها یک کار را انجام می دهند.

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

نام زبان برنامه نویسیپلتفرمبیشترین استفادهبازار کار ایرانبازار کار خارج از کشورویژگی هاکاربرد
زبان برنامه نویسی پایتونکراس-پلتفرمدسکتاپ وبضعیفخوبدستورهای آسان، کوتاه و قابل درک امنیت بالا –هوش مصنوعی ماشین لرنینگ داده کاوی
زبان برنامه نویسی جاواکراس-پلتفرمموبایلضعیفخوبامن – سریع – قدرتمندانواع برنامه ها
زبان برنامه نویسی جاوا اسکریپتکراس-پلتفرمfront-end وبخوبخوبسازگاری با دیگر زبان ها جامعه بزرگ سازگاری با دیگر زبان هاسمت کلاینت – بازی اپلیکیشن های موبایل اپلیکیشنهای وب/سرور
زبان برنامه نویسی phpوبوبخوبخوبدارای مستندات گسترده ادغام آسان با HTML کتابخانه های متنوع پشتیبانی انواع دیتابیسوب سایت های استاتیک یا پویا برنامه های وب
زبان برنامه نویسی دارتکراس-پلتفرمموبایلضعیفضعیفقابلیت کامپایل شدن به جاوا اسکریپت ویژگی async/awaitوب / موبایل/ سرور
زبان برنامه نویسی کاتلینکراس-پلتفرمموبایلضعیفضعیفهماهنگی با جاوا امنیت سادگی و مختصر بودن کدهاموبایل
زبان برنامه نویسی سی شارپکراس-پلتفرمموبایل/وبخوبخوبامنیت – کامپایلی ساخت برنامه های قویوب / موبایل / دسکتاپ

بنابراین دستت برای انتخاب زبان برنامه نویسی باز است.

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

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

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

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

 

پلتفرم چیست؟

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

وقتی یک برنامه نویس می گوید پلتفرم یا کراس پلتفرم منظورش چیست ؟

پلت فرم در برنامه نویسی به دو موضوع اشاره می کند .

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

در حالت دوم منظور از پلتفرم می تواند سیستم عاملی باشد که نرم افزار بر روی آن اجرا می شود.

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

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

برنامه نویسی وب چیست ؟

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

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

دو سوال مهم در زمینه وب این است که:

چه زمانی بهتر است یک ایده تجاری به صورت نرم افزار تحت وب پیاده سازی شود؟

برنامه نویس تحت وب و یا توسعه دهنده وب چه کاری انجام می دهد ؟

یا به عبارت دیگر یک توسعه دهنده وب برای پیاده سازی یک برنامه تحت وب به چه مواردی نیاز دارد ؟

سوال اول: چه زمانی برنامه نویسی وب پاسخ نیاز مشتری است ؟

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

بعد از نصب این برنامه، اطلاعات لازم برای ثبت نام را وارد می کردی و برروی سی دی رایت می کردی و سی دی مربوط به اطلاعات ثبت نامت را با پست برای سازمان سنجش میفرستادی.

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

خب همین فرآیند را برای ۱۰۰۰ نفر دیگر تصور کن !

آیا چنین چیزی امکان پذیر است؟

برنامه های تحت وب برای زمانی که نیاز است بخشی از کار در هر جایی غیر از محیط کار انجام شود بسیار مناسب هستند.

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

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

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

 

سوال دوم: برنامه نویسی وب چگونه انجام می شود ؟ نقشه راه برنامه نویسی وب

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

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

خب حالا برای برنامه نویسی سمت سرور یک سری ابزار نیاز داریم.

مثلا دو زبان برنامه نویسی معروف برای پیاده سازی سمت سرور php و Asp.Net است.

با استفاده از زبان های برنامه نویسی Server-Side می توانی کدهایی مانند عملیات CRUD را پیاده سازی کنی!

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

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

Client-Side را هم می توان به دو قسمت تقسیم کرد:

قسمت اول مربوط به ظاهر نرم افزار تحت وب است. بهتر است به جای ظاهر نرم افزار از کلمه User-Interface استفاده کرد.

خب برای پیاده سازی واسط کاربری از زبان نشانه گذاری HTML و CSS استفاده می شود.

 این دو زبان نقش پیاده سازی ساختمان و زیبایی نرم افزار تحت وب تو را برعهده خواهند داشت.

اما داده هایی که در این واسط کاربری در قسمت های متنی وارد کرده ای چگونه به سمت سرور منتقل می شوند ؟

برای پویایی بیشتر صفحه ای که با HTML و CSS ساخته ای می توانی از زبانی به نام JavaScript استفاده کنی.

زبان جاوااسکریپت وظیفه انجام درخواست های HTTP را برعهده خواهد داشت.

البته با پیشرفت تکنولوژی وب، فریمورک هایی مانند JQuery ، Bootstrap و Angular به میان می آید که هدف استفاده از آنها این است که کار برنامه نویس ها را راحت کنند.

 

برنامه نویسی موبایل چیست ؟

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

در برنامه نویسی تحت وب پروسه توسعه نرم افزار به این صورت بود که برای نیاز یک مشتری به این نتیجه می رسیدیم که بهتر است نرم افزاراو به صورت تحت web پیاده سازی شود.

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

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

آن وقت شاید هیچوقت برای تاکسی گرفتن به سراغ اسنپ نمی رفتیم.

چون مجبور بودیم، اسنپ را در گوگل یا https://snapp.ir/ را جست و جو می کردیم تا تاکسی بگیریم.

خب برای برنامه نویسی موبایل هم به یک زبان برنامه نویسی برای پیاده سازی کدهای server-side نیازخواهی داشت.

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

 

چگونه برنامه نویسی اندروید را شروع کنیم ؟

وقتی که صحبت از برنامه نویسی موبایل می شود همه به سراغ برنامه نویسی Android و IOS می روند.

طبیعتا اندروید و ios ، دو سیستم عامل پر استفاده در موبایل هستند که برای آنها برنامه تولید خواهی کرد.

هر کدام ازسیستم عامل های Android و IOS زبان های برنامه نویسی متناسب با خودشان را دارند .

مثلا react native ، کاتلین، جاوا را برای اندروید و از swift  برای ios و از فلاتر و دارت برای هر دو استفاده می شود.

 

برنامه نویسی تحت ویندوزچیست ؟

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

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

از نرم افزار تحت موبایل مثل اندروید ( Android ) و IOS گرفته تا نرم افزارهای تحت وب و برنامه های ویندوز فرم

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

مثلا تلگرام که هم نسخه موبایل دارد، هم وب و هم دسکتاپ.

خبر خوب این است که راحت ترین نوع برنامه نویسی ، برنامه نویسی برای نرم افزارهای تحت ویندوز است.

این راحتی از آنجایی می آید که در برنامه نویسی تحت ویندوز دیگر نیازی نیست در ۲ محیط کد نویسی کنیم.

چون در واقع server-side و client-side وجود ندارد و همه کارها فقط در یک محیط انجام خواهد شد.

بسیاری از زبان های برنامه نویسی ، مانند زبان های C# ، C++ ، جاوا وجود دارد که برای پیاده سازی برنامه های تحت ویندوز بسیار مناسب هستند.

آیا لازم است به سراغ کارآموزی برنامه نویسی بروم؟

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

احتمالا منظور این افراد این است که بهتر است در یک محیط عملی برنامه نویسی را یاد بگیری.

اگر به دنبال کارآموزی برنامه نویسی هستی تا برنامه نویسی را یاد بگیری باید جایی که برای کارآموزی انتخاب کرده ای را بررسی کنی!

مطمئن شو که حتما پیاده سازی و توسعه یک پروژه تجاری را به تو نشان خواهند داد.

حتما بپرس چه مهارت هایی به تو آموزش خواهند داد.

کارآموزی کنار شخصی ارزش دارد که واقعا و قلبا چم و خم راه را به تو نشان بدهد.  

نتیجه گیری

با دانشی که اکنون داری می توانی برای اینکه چطور برنامه نویسی را شروع کنی تصمیم گیری کنی.

ابتدا یک مشتری پیدا کن و کسب و کار آن را بررسی و تحلیل کن.

سپس با استفاده از یک زبان برنامه نویسی و مکانیزم طبیعی ذهن هر آنچه در ذهن داری را در پلتفرم مناسب پیاده سازی کن.

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

دیدگاه کاربران
  • پرند ۲۰ مهر ۱۳۹۸

    عاالیی

  • یاسین مددی ۲۰ مهر ۱۳۹۸

    سلام
    ممنون که خیلی خوب توضیح دادین

    • محسن مدحج ۲۱ مهر ۱۳۹۸

      درود بر شما. خوشحالم که مورد پسند واقع شد.

  • s ۲۰ مهر ۱۳۹۸

    بسیار عالی
    موفق باشید جناب 🌷🌷🌷

  • محمدطاهری ۳ فروردین ۱۳۹۹

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

ارسال دیدگاه

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

برنامه نویسی یا کد بازی ؟

بیش از 10000 نفر در خانواده آکادمی برنامه نویسی مدحج عضو شده اند و بجای کدبازی، میخواهند ماهیانه سفارش پروژه بگیرند و درآمد داشته باشند.
دوست داری وارد خانواده ما شوی ؟

.