برنامه نویسی

آموزش صفر تا صد اصول و مبانی برنامه ‌نویسی (8 درس و 6 اصل)

اساطیر زبان

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

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

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

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


 

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

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

اجزای یک کامپیوتر عبارتند از:

  • واحد ورودی
  • واحد پردازش مرکزی (CPU)
  • واحد خروجی

CPU به عنوان مغز کامپیوتر شناخته می ‌شود. تمام عملیات درون سیستم توسط CPU نظارت و کنترل می ‌شود. این واحد دستورالعمل‌ ها را تفسیر و هماهنگ می ‌کند. CPU تمام دستگاه های داخلی و خارجی را کنترل می ‌کند، عملیات حسابی و منطقی را انجام می ‌دهد و استفاده از حافظه را کنترل و ترتیب عملیات را کنترل خواهد کرد. CPU برای انجام تمامی این عملیات، 3 واحد فرعی دارد:

  • واحد حساب و منطق
  • واحد کنترل
  • واحد حافظه

10 تا از جدید ترین زبان های برنامه ‌نویسی (و کاملا آینده دار) برای یادگیری

برنامه چیست؟

فرض کنید من 10 عدد به شما می ‌دهم و به شما می ‌گویم میانگین 10 عدد داده شده را پیدا کنید. خب، شما میانگین را چطور پیدا می ‌کنید؟ شما تمام آن اعداد را جمع و سپس مجموع اعداد را بر تعداد اعداد داده شده تقسیم می ‌کنید.

کار آسانی است اما اگر 10 مجموعه داده شود که هر مجموعه شامل 10 عدد باشد، چه کار می ‌کنید؟

word image 83757 2

برای این مسئله دو راه حل وجود دارد:

1-شما هر مجموعه را جدا جدا بگیرید، هر عدد را با مجموع قبلی جمع و سپس آن را بر تعداد کل تقسیم کنید. اگر بخواهید می ‌توانید این مسئله را با این روش حل کنید، اما اگر قرار است یک مهندس نرم ‌افزار باشید، حل مسئله از طریق این روش جالب نیست!

2- یا برای حل مسئله یک برنامه‌ بنویسید. فقط باید برنامه ‌ای بنویسید که در آن کامپیوتر ورودی را از کاربر بگیرد و سپس از یک رویه برای یافتن میانگین استفاده کند.

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

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

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

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

متغیر ها و سینتکس

متغیر ها نوعی کانتِینِر برای ذخیره مقادیر داده و همین طور محلی از حافظه برای نوع داده هستند. قوانین خاصی وجود دارد که هنگام اعلان این متغیر ها باید رعایت شود. متغیر ها معمولا نام‌ هایی هستند که به کمیت ها اختصاص داده می ‌شوند. این نام ها حرف و عدد هستند که از کاراکتر های a تا z و 0 تا 9 تشکیل می ‌شوند. همچنین می ‌توانید از کاراکتر های ویژه مثل $ یا _ در هنگام اعلان یک متغیر استفاده کنید.

در حین نوشتن یک برنامه، چه برای یک عملیات کوچک (جمع ، ضرب) و چه برای ساختن یک برنامه، به چند متغیر نیاز دارید. متغیر اعلان شده برای یک کمیت باید با حرف الفبا شروع شود و بعد می‌ تواند شامل اعداد یا کاراکتر های خاص باشد.

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

به طور مثال؛

int a =10;

در این جا a متغیر است. int نوع داده و عدد صحیح است.

یه مطلب جالب: ۱۰ تا از عجیب ترین زبان های برنامه نویسی دنیا تا به حال!

انواع داده ‌ها

در واقع نوع مقدار ذخیره‌ شده در یک متغیر بر اساس یک طبقه ‌بندی مشخص می‌ شود. این نوع داده است که می ‌گوید چه نوع عملیاتی را می ‌توان بر روی آن اعمال کرد. انواع داده‌ ها به طور کلی به دو دسته طبقه‌ بندی می ‌شوند:

1-ابتدایی یا Primitive: اندازه و نوع متغیر را مشخص می ‌کند. هشت نوع داده اولیه وجود دارد:

  • Int(4 بایت)
  • Short (2 بایت)
  • Long (8 بایت)
  • Float‌ (4 بایت)
  • Double‌ (8 بایت)
  • Boolean (1 بایت)
  • Char (2 بایت)

2- Non-Primitive یا غیر ابتدایی: انواع داده غیر ابتدایی برای فراخوانی متد ها برای انجام عملیات استفاده می ‌شوند.

  • رشته ‌ای یا String (8 بایت)
  • آرایه ‌ها یا Arrays
  • کلاس یا Class (کلاس خالی – 1 بایت)
  • Interface

ساختار های کنترل جریان

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

1-Sequential یا پشت سر هم باعث می‌ شود تا کد خط به خط یا پشت سر هم اجرا شود. مثل پختن یک خوراکی!

2-Selection یا انتخاب تصمیم‌ گیری در مورد درست یا نادرست بودن شرط داده شده است و بر اساس آن نتیجه نهایی را ارائه می ‌کند.

3- Iteration یا لوپ ساختاری است که در آن یک عبارت بارها و بارها تکرار می ‌شود تا زمانی که شرط داده شده برآورده شود. این نوع ساختار ها سه نوع هستند:

  • For
  • While
  • Do-While

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

یک کامپیوتر یا هر وسیله قابل برنامه‌ریزی زبان ماشین را می‌فهمد زیرا کامپیوتر بر پایه الکتریسیته و الکتریسیته بر پایه اعداد باینری (0 و 1) کار می‌کند. ما انسان‌ها فقط زبان طبیعی را می‌ فهمیم. برای رفع این شکاف بین انسان و کامپیوتر زبان برنامه‌ نویسی به وجود آمده است.

اگر انسان زبان ماشین یا ماشین زبان طبیعی را بفهمد، چه اتفاقی می ‌افتد؟

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

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

روش‌ های برنامه ‌نویسی

تاکنون سه روش برنامه ‌نویسی بیشتر از بقیه مورد استفاده قرار گرفته ‌اند که عبارتند از:

1-برنامه‌ نویسی یک پارچه

2- برنامه ‌نویسی ماژولار / رویه‌ای

3- برنامه نویسی شی‌گرا

برنامه ‌نویسی یکپارچه (Monolithic): این متد زمانی که برنامه‌ نویسی به تازگی معرفی شده بود، به کار برده می‌شد. در برنامه‌ نویسی یکپارچه، همه چیز از کد، داده و دستورالعمل در یک فایل واحد هستند که بررسی کد را دشوار می‌کند. از کد هم نمی ‌توان دوباره استفاده کرد.

برنامه ‌نویسی ماژولار یا رویه‌ای (Procedural): برنامه ‌نویسی رویه‌ ای به تقسیم کار بین اعضای یک تیم کمک می‌ کند و امکان استفاده از از تابع را هم می ‌دهد. در این صورت امکان استفاده مجدد از کد فراهم خواهد شد. داده‌ ها و تابع به طور جداگانه استفاده می ‌شوند.

برنامه‌ نویسی شی‌گرا (OOP): این متد به طور گسترده در صنایع مختلف استفاده می ‌شوند، ما داده‌ ها و توابع را با هم می‌ گیریم و آن ها را به صورت یک کلاس درمی ‌آوریم.

در همه این روش ‌های برنامه‌ نویسی، کد ها و منطق ثابت می ‌مانند، اما چیزی که تغییر می ‌کند این است که نحوه سازماندهی کد توسط شما است.

حتما بخوانید: یادگیری چند زبان برنامه نویسی (و فواید آن)

الگوریتم چیست؟

الگوریتم یک روش گام به گام برای حل مسائل محاسباتی است. اما آیا کد های نوشته شده بر اساس یک الگوریتم مشخص، یکسان‌ هستند؟

در واقع هر زبان برنامه ‌نویسی از سینتکس خاصی پیروی می ‌کند که ما الگوریتم را بر اساس آن به کد تبدیل می ‌کنیم تا برای ماشین قابل درک باشد. الگوریتم در واقع یک شبه‌کد است. شبه ‌کد یک زبان غیر رسمی است که به برنامه‌ نویسان در توسعه الگوریتم ‌ها کمک می‌ کند و نه به زبان انگلیسی است و نه به صورت کد.

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

sum == 0, n= total number of elements

for each element num in list

begin

sum = sum + num

average = sum/n

return average

اگر بخواهیم این شبه کد را به فارسی برگردانیم باید بگوییم:

sum را برابر 0 و n را تعداد کل عناصر در نظر بگیر

برای هر عنصر num موجود در لیست،

شروع کن

sum+numرا در num بریز

sum/n را در Average بریز

Average را چاپ کن

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

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

یادگیری یک زبان برنامه ‌نویسی برای یادگیری هر فناوری یک امر ضروری است، به همین دلیل تسلط کامل بر یک زبان برنامه ‌نویسی بسیار مهم است. انتخاب یک زبان برنامه‌ نویسی بهتر از استفاده از زبان‌ های مختلف به صورت با هم است. سعی کنید با استفاده از زبان ‌های برنامه‌ نویسی مختلف روی مسائل اساسی کار کنید و هر کدام که به نظرتان آسان بود ، همان را ادامه بدهید.

  • C/C++
  • Java
  • JavaScript
  • Python
  • Kotlin
  • Swift
  • R
  • Ruby
  • Scala
  • TypeScript

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

6 اصل مهم برنامه ‌نویسی

1-اصل KISS: هیچ کس در برنامه ‌نویسی دوست ندارد مرتبا درگیر رفع باگ و یا ایجاد تغییر در کد های پیچیده باشد. پس توصیه می‌ شود که اصل KISS یا keep It Simple, Stupid را در ذهن داشته باشید. بیشتر سیستم‌ ها در صورتی بهترین کارکرد را دارند که کد ساده باشد تا پیچیده‌. بنابراین وقتی در حال نوشتن کد هستید الگوریتم تان نباید طوری باشد که درک آن زمان و انرژی زیادی از کامپیوتر بگیرد. اگر کد شما ساده باشد، سایر توسعه‌ دهندگان با مشکلی در درک منطق کد مواجه نخواهند شد و به راحتی می‌ توانند روی آن کار کنند. پس همیشه سعی کنید کدتان را با استفاده از رویکرد های مختلف مثل تقسیم یک مسئله پیچیده به تکه‌ های کوچک تر یا حذف کد های غیر ‌ضروری که نوشته ‌اید، ساده کنید.

2- اصل DRY: تکرار داده یا منطق در یک کد نه تنها باعث طولانی شدن برنامه شما می‌ شود، بلکه زمان زیادی را برای کنترل، رفع باگ یا اصلاح کد هدر می ‌دهد. هدف اصلی اصل DRY‌ یا Don’t Repeat Yourself کاهش تکرار کد است. بر اساس این قاعده یک قطعه کد باید فقط در یک مکان از کد منبع پیاده ‌سازی شود. نقطه مقابل این اصل اینست:WET (Waste Everyone’s Time) که یعنی همه چیز را دوبار بنویس! اگر منطق یکسانی را در چندین مکان پیاده ‌سازی کنید، اصل عدم تکرار کد را زیر پا می‌ گذارید. می ‌توانید یک تابع مشترک ایجاد یا کدتان را انتزاعی کنید تا از تکرار جلوگیری شود.

3- اصل YAGNI: اگر در حال نوشتن کدی باشید که ممکن است در آینده به آن نیاز داشته باشید و نه الان، نرم‌ افزار یا برنامه‌ تان می‌ تواند بزرگ تر و پیچیده ‌تر شود. اصل YAGNI (You Aren’t Gonna Need IT) که یعنی “قرار نیست به آن نیاز پیدا کنید ” را همیشه در ذهن تان داشته باشید. در واقع این قاعده می ‌گوید تا زمانی که چیزی لازم نیست، آن را پیاده ‌سازی نکنید زیرا در بیشتر موارد (در آینده) از آن قطعه کد استفاده نمی ‌کنید. اکثر برنامه‌ نویسان در حین پیاده ‌سازی نرم ‌افزار به آینده فکر می ‌کنند و برای برخی از ویژگی ‌هایی که شاید در آینده لازم شوند، چند خط کد یا منطق به برنامه اضافه می‌ کنند. آن ها کلی کلاس و عملکرد غیر ضروری اضافه می ‌کنند که ممکن است در آینده هیچ وقت از آن ها استفاده نکنند. انجام این کار کاملا اشتباه است و در نهایت به حجیم شدن کد ختم می ‌شوید، همچنین پروژه‌ تان را پیچیده و کنترلش را دشوارتر می‌ کند. به همه برنامه‌ نویسان توصیه می ‌کنیم که از این اشتباه اجتناب کنند تا زمان و انرژی ‌شان هدر نرود.

4- اصلSOLID : این مورد مخفف پنج اصل است : مسئولیت واحد (Single responsibility)، باز- بسته (Open-closed)، جایگزینی لیسکو (Liskov substitution)، جدا سازی رابط (Interface Segregation) و معکوس ‌سازی وابستگی (Dependency inversion). این اصول توسط رابرت سی مارتین ارائه شده است و شما می ‌توانید این اصل را مفصلا در اینترنت بررسی کنید.

5- تفکیک نگرانی‌ ها (Separation of Concerns): اصل تفکیک نگرانی ‌ها یا به اختصار SoC، یک برنامه پیچیده را به بخش ‌ها یا دامنه ‌های مختلف تقسیم می ‌کند. هر بخش یا دامنه به مسئله جداگانه ‌ای می ‌پردازد یا وظیفه خاصی دارد. هر بخش مستقل از دیگری است و به همین دلیل است که هر بخش را می ‌توان به طور مستقل بررسی کرد. بعلاوه کنترل، به روز‌رسانی و استفاده مجدد از کد آسان ‌تر می ‌شود.

به طور مثال منطق تجاری (محتوای صفحه وب) در یک اپلیکیشن یک نگرانی متفاوت است و رابط کاربری یک نگرانی متفاوت در یک وب اپلیکیشن است. یکی از نمونه ‌های خوب SoC الگوی MVC است که در آن داده ‌ها (“مدل”)، منطق (“کنترل کننده”) و آنچه کاربر نهایی می ‌بیند (“نما”) به سه بخش مختلف تقسیم و هر قسمت به طور مستقل مدیریت می ‌شود . ذخیره داده ‌ها در پایگاه داده هیچ ارتباطی با ارائه داده‌ ها در وب ندارد.

6- اصل اجتناب از بهینه‌ سازی زود هنگام کد (Avoid Premature Optimization): بهینه‌ سازی در واقع به سرعت بخشیدن به برنامه یا الگوریتم کمک می ‌کند ، اما طبق این اصل، شما نیازی به بهینه‌ سازی الگوریتم تان در مراحل اولیه توسعه برنامه ندارید. اگر زودتر از موعد به سراغ بهینه‌ سازی بروید، نمی‌ توانید تشخیص بدهید که نقطه ‌ضعف های یک برنامه کجا هستند و کنترل برنامه برای تان سخت ‌تر می ‌شود. اگر کدتان را از همان اول بهینه ‌سازی کنید، در صورت تغییر شرایط، زحمات تان هدر می ‌رود و کد شما به هیچ دردی نخواهد خورد. پس بهتر است الگوریتم را زمانی بهینه کنید که به دردتان بخورد.

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

دروس ویدیویی اصول و مبانی برنامه نویسی در 8 جلسه

از پیج کلاسیک کد:

جلسه اول

جلسه دوم

جلسه دوم بخش دوم

جلسه سوم

جلسه چهارم

جلسه پنجم

جلسه ششم

جلسه هفتم

جلسه هشتم (آخر)

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

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

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

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

فهرست