:تعریف برنامه نویسی
برنامه نویسی(برنامه نویسی به انگلیسی:Programming)راهی است برای دادن دستورالعمل های کامپیوتری درباره آنچه که باید انجام شود. این دستورالعمل ها به عنوان کد شناخته می شوند و برنامه نویسان(برنامه نویس به انگلیسی:programmer) کامپیوتر برای رفع مشکلات و یا انجام یک کار، کد نویسی(به انگلیسی: codding) می کنند.
هدف نهایی توانایی بدست آوردن خروجی از یک صفحه وب، قطعه نرم افزاری یا یک عکس است. به همین دلیل است که برنامه نویسی کامپیوتر اغلب به عنوان ترکیبی بین هنر و علم توصیف می شود. این مبحث تکنیکی و تحلیلی است، اما در عین حال خلاق است.
وقتی که من برای اولین بار به دنبال دوره های آموزش برنامه نویسی بودم. متوجه شدم که هیچ چیز نمیدانم. افرادی را میدیدم که به عنوان برنامه نویس کار میکنند و ده ها خط کد نویسی میکنند. اما من زمانی که به کد ها نگاه می کردم هیچ چیزی متوجه نمیشدم. برای من واقعا عجیب بود که با چند خط کد چطور یک خرید آنلاین صورت میگیرد. یک بازی ساخته می شود یا حتی نرم افزار های حسابداری عملیات ها را انجام میدهند و حساب و کتاب می کنند. من این موضوع را به طور کامل تحقیق کردم. اما بیشتر مقالاتی که خوانده ام، پر از اصطلاحات فنی بود که من نمی فهمیدم. در یک مشکل عجیب و غریب در دنیای تکنولوژی B2B، من نمیتوانم چیزی را پیدا کنم که به وضوح و به سادگی توضیح داد.
فواید برنامه نویسی:
یادگیری اصول برنامه نویسی فواید بسیار زیادی دارا است اما اگر بخواهیم دو مورد از اصلیترین آنها را برشمریم، بایستی بگوییم پس از آن که ما فراگیری چگونه کدنویسی کنیم، از یک مصرف کننده ی فناوری به یک تولید کننده ی فناوری مبدل شدهایم و علاوه بر آن، با یادگیری اصول کدنویسی، ما به حوزه ی یکی از مشاغل حال حاضر دنیا نیز ورود پیدا کرده ایم. از این قسمت می توان خلاقیت و ایده های خود را بلقوه و بالفعل کنیم. چرا که در قرن بیست و یکم هر کسی که اصول کدنویسی را بلد نباشد بیسواد است. این تیجه را میشل رسنیک(mitchel resnick) را از دانشگاه ام آی تی آمریکا بیان کرده است.
زبان برنامه نویسی چیست؟
هر دستورالعملی که کامپیوتر را به انجام کاری وادار میکند زبان برنامه نویسی میگویند.
شاید به توان مادر و زیر پایه زبان های برنامه نویسی را C و یا C++ و یا حتی جاوا دانست. این زبان ها به هرکسی که قصد ورود به این هنر و فن را دارد معرفی میگردد.
جزئیات در زبانها مختلف متفاوت به نظر میرسند ولی تعدادی از ساختارهای اساسی در همه یکسان هستند:
- ورودی: دادهها را از صفحه کلید، یک فایل یا وسایل دیگر فراهم میکند.
- خروجی: اطلاعات را روی صفحه تصویر نشان میدهد، به یک فایل میفرستد یا به دستگاههای دیگری انتقال میدهد.
- محاسبات: اعمال محاسباتی اساسی مثل جمع و ضرب را انجام میدهد.
- حالتهای شرطی: شرطهای مشخصی را کنترل میکند و بر اساس آن رشته مناسبی از عبارات را اجرا میکند.
- حلقه: بعضی اعمال را به شکل تکراری انجام میدهد، معمولاً با استفاده از تعدادی از متغیرها این کار انجام میشود.
HTML یک زبان نوشتن برنامه نیست و به برای نشانه گذاری استفاده می شود. به طور کلی، یک زبان برنامه نویسی به شما اجازه می دهد تا نوعی فرایند کاری را توصیف کنید. در حالی که HTML یک راه برای اضافه کردن متن و ساختار به متن است.
طبق اطلاعاتی که جمع آموری کردم متوجه شدم برنامه نویسان به دو دسته تقسیم میشوند: برنامه نویسانی هستند که کارشان نوشتن کد های سخت برنامه نویسی هست و گروهی دیگر برنامه نویسانی که کارشان بیشتر مربوط به گرافیک و ظاهر برنامه ها میشود.
انواع برنامه نویسی:
نوع front-end چیست؟
برنامه نویسی front-end شامل کدنویسی و ایجاد عناصری است. که کاربران می توانند آن ها را ببیند و با آنان ارتباط برقرار کنند. به صورتی که با تمام وجود یک وبسایت با نرم افزار را احساس میکنند و آن را در نظر می گیرند.
سه زبان اصلی توسعه دهندگان فرانت که باید بدانند:
نوع back-end چیست؟
تهیه کردن برنامه به روش back-end شامل کدنویسی و ایجاد عناصری است که باعث می شود یک نرم افزار یا وبسایت وظیفه خود را انجام دهد و به خوبی کار کند. این کد ها به طور معمول برای کاربران قابل مشاهده نیست.
توسعه دهندگان وب back-end با پایگاههای داده ای که اطلاعات را ذخیره می کنند. مانند جزئیات مشتری و سرورهایی که پایگاه داده ها (تقریبا) زندگی می کنند، کار می کنند.
برنامه نویسان فرانت و بک اند، هر دو نیاز به خلاقیت دارند. اما توسعه دهندگان فرانت نیاز به یک خلاقیت بصری و ایده پردازی دارند تا بتوانند به بهترین نحو برای کاربران سایت قضاوت کنند.
نمونه های اصلی توسعه اولیه عبارتند از: فونت بسیار زیبا بر روی صفحه وب مورد علاقه خود، نوار لغزنده در صفحه اصلی سایت خبری، حتی منوی کشویی که در آن شما می توانید گزینه مورد نظر خود را انتخاب کنید. همه چیز از طرح رنگی به طرح به موقعیت به تایپوگرافی مسئولیت برنامه نویس فرانت است.
در زیر چند نمونه از زبان های برنامه نویسی بک اند را معرفی میکنیم:
- پی اچ پی
- روبی
- پایتون
- ای اس پی
شما همچنین ممکن است در مورد عناصر دیگر مانند Bootstrap ،AngularJS و EmberJS بشنوید، این زبان ها فقط بر روی ظاهر محتوا در دستگاه های مختلف مانند گوشی های هوشمند بررسی میکند. برنامه نویس فرانت با توجه به تجربه کاربری و رابط کاربری ظاهر وب سایت و نرم افزار را خلق میکند. تا کاربران هر چه بهتر با آن سایت و نرم افزار ارتباط برقرار کنند.
برای درک بهتر فرانت اند و بک اند بگذارید برایتان یک مثالی بزنم:
زمانی که شما در سایت دیجی کالا فعالیت می کنید. و از جستجو و فیلتر کردن محصولات استفاده می کنید دقیقا با کدنویسی توسعه دهنده فرانت اند ارتباط برقرار میکنید. و زمانی که مثلا به مرحله خرید و جزئیات پرداخت می رسید. دقیقا دارید با کدنویسی توسعه دهنده بک اند ارتباط برقرار میکنید. برخی از توسعه دهندگان وب هستند که هر دو زبان فرانت اند و بک اند را می دانند. آنها به طور معمول به عنوان توسعه دهندگان فول استک (Full Stack Developer ) شناخته می شوند یک برنامه ی کامپیوتری چیزی بیش از حل یک مسأله نیست. به عبارت دیگر، نرمافزارها یا اپلیکیشن ها به منظور حل یک مشکل خاص طراحی شده و به بازار عرضه می شوند. حال هرچه این مشکل بزرگتر و جهانی تر باشد. آن نرمافزار هم کاربردیتر و معروف تر خواهد شد.
از کجا شروع کنیم؟
برای شروع کار باید تصمیم بگیرید تو چه حوزه ای میخواهید وارد شوید و فعالیت کنید. چرا که حوزه های آن بسیار فعال و گسترده است. میتوان این حوزه های فعال را به دسته های زیر تقسیم نمود:
حوزه دسکتاپ:
در واقع نوشتن کد تمام برنامه های کاربردی که توی کامپیوتر ها میتوان نصب و اجرا شود را شامل می شود. مانند نرم افزارهای انبار داری، حسابداری، اتوماسیون های اداری و امثال این ها…
حوزه وب:
از طراحی وبسایت ها تا نوشتن برنامه های تحت وب را شامل می شود. به علت پیشرفت اینترنت کارهای که شما در این حوزه انجام می دهید را خیلی ها می بینند.
حوزه موبایل:
شامل نوشتن کد نرم افزارهایی می شود که در گوشی های موبایل و تبلت ها می توانید نصب و اجرا کنید.این مورد خود شامل برنامه نویسی برای اندروید و ios می شود.
دیباگ کردن کد
در حین کدنویسی، کمتر برنامه نویسی (از مبتدی گرفته تا کاملاً حرفه ای) را میتوان یافت که باگ تولید نکند. به همین دلیل، یکی از اصلیترین فرایندهایی که در کدنویسی می بایست مد نظر قرار دهیم روشهای دیباگ کردن یا مشکل یابی کدها است. پیش از این هم توضیح دادیم که باگ ها در برنامه نویسی به چند دسته تقسیم میشوند که هر کدام را شرح می دهیم:
- ارورهای سنتکسی: این دست ارورهای زمانی ایجاد میشوند که ما دستوری را به سورس کد خود اضافه میکنیم که برای آن زبان برنامه نویسی مد نظر تعریف نشده است.
- ارورهای سمنتیک: این دست ارورها زمانی ایجاد میشوند که کد نوشته شده از لحاظ سینتکسی درست است اما خروجی کد بر خلاف انتظارات برنامه نویس است مثلاً تقسیم کردن عدد ۱۲ بر عدد ۰.
- ارورهای منطقی: ارورهایی از این دست زمانی ایجاد میشوند که دستورات نوشته شده توسط برنامه نویس درست هستند و همان تاثیر مد نظر را باز می گرداند اما نتیجه اشتباه است!
توجه کنیم که کدهای نوشته شده با زبانهای اچ تی ام ال و سی اس اس علیرغم داشتن باگ، باز هم در مرورگر نمایش داده میشوند اما سایر زبانهای برنامه نویسی بسیار سخت گیرانه تر عمل کرده و یک باگ کوچک در سورس کد، منجر به توقف کامل برنامه خواهد شد!
برای حل مشکل خود دنبال ارورهای سینتکسی بگردید چرا که خیلی وقتها در حین تایپ، برنامه نویسان دچار اشتباه می شوند. سپس به دنبال ارورهای سمنتیک گشته و در نهایت به دنبال راه کارهای منطقی بروید.
و در نهایت می توان به چند نکته اشاره کرد:
زبان های برنامه نویسی بخش اصلی نرم افزار می باشند. بدون آنها ما نمی توانیم بسیاری از برنامه ها و نرم افزار ها را تولید کنیم. زبان های برنامه نویسی یک عامل کلیدی برای نرم افزار و سیستم های تعبیه شده می باشد. بدون این زبان ها ما نمیتوانیم ارتباطی با ماشین ها و سیستم ها داشته باشیم. سیستم ها فقط کد یا زبان ماشین را میدانند.
یک برنامه نویس خوب و حرفهای، باید مشکلات زندگی انسانها، شرکتها، سازمانها و… را پیدا کند و از طریق طراحی و برنامه نویسی سیستمهایی، آن مشکلات را حل کند. بطور خلاصه، وظیفهی اصلی یک برنامه نویس، حل مشکلات موجود است. که با استفاده از تخصصی که دارد، میتواند این مشکلات را حل کند.
سلام. من هادی هستم از کاشان.
می خواستم ببینم برنامه نویسی فقط نوشتن اپلیکیشنه یا نه چیزای دیگه ای رو هم در بر می گیره؟
درود بر شما
برنامه نویسی شامل نوشتن برنامه برای کامپوتر، موبایل و هر گونه دستگاه دیگه میشه. در واقع برنامه نویسی پل ارتباطی بین سخت افزار و ما میباشد.
خوب بود☆
خیلی توضیحات خوب و کاملی بود ممنونم
Visitor Rating: 5 Stars
سلام خسته نباشد ۱۷ سال سن دارم. میخواستم بگم من الان صفرم یعنی هیچی از کامپیوتر نمیدونم آیا میتونم برنامه نویس خوبی شوم و یاد بگیرم ممنون توضیح بدید
درود
وقت بخیر
البته که هیچ وقت شروع برنامه نویسی دیر نیست چه بسا که شما هم سن زیادی نداری و اگر علاقه داشته باشید میتونید آینده خوبی در این زمینه داشته باشید.
اما بدیهی هست که شما برای برنامه نویسی نیاز هست که درباره کامپیوتر و موارد پیش نیاز دیگر اطلاعاتی داشته باشید.
بهتر هست که اولویت ها و علاقه خود را بررسی و براساس آن تصمیم گیری نمایید.
ممنون از حسن توجه شما به سایت ما.
Visitor Rating: 5 Stars
خیلی ممنون از سایت مفیدتون عالی هستین شما
Visitor Rating: 5 Stars
سلام
میخواستم بدونم که برای شروع برنامه نویسی باید چه شرایطی داشته باشیم؟!
مثلا از چی شروع کنیم؟!
باید کتابی بخونیم یا از تو اینترنت و گوگل هم میتوان شروع کرد؟!
در ضمن من به زبان انگلیسی هم مسلط نیستم و تسلط خیلی کمی دارم
مسلط بودن که نیازی نیست؟!
در کل من نمیدونم چطور باید شروع کرد و ….
در کل هیچی نمیدونم😐
در ضمن ممنون از سایت خوبتون
Visitor Rating: 2 Stars
Visitor Rating: 1 Stars