|
7 days ago | |
---|---|---|
.. | ||
README.md | 7 days ago | |
assignment.md | 2 weeks ago |
README.md
معرفی زبانهای برنامهنویسی و ابزارهای مورد استفاده
این درس به اصول اولیه زبانهای برنامهنویسی میپردازد. موضوعات مطرح شده در اینجا برای اکثر زبانهای برنامهنویسی مدرن امروز کاربرد دارند. در بخش «ابزارهای مورد استفاده»، با نرمافزارهای مفیدی که به عنوان یک توسعهدهنده به شما کمک میکنند، آشنا خواهید شد.
یادداشت تصویری توسط Tomomi Imura
آزمون پیش از درس
مقدمه
در این درس، به موارد زیر خواهیم پرداخت:
- برنامهنویسی چیست؟
- انواع زبانهای برنامهنویسی
- عناصر اصلی یک برنامه
- نرمافزارها و ابزارهای مفید برای توسعهدهندگان حرفهای
میتوانید این درس را در Microsoft Learn مطالعه کنید!
برنامهنویسی چیست؟
برنامهنویسی (که به آن کدنویسی نیز گفته میشود) فرآیند نوشتن دستورالعملها برای دستگاهی مانند کامپیوتر یا دستگاه موبایل است. ما این دستورالعملها را با یک زبان برنامهنویسی مینویسیم که سپس توسط دستگاه تفسیر میشود. این مجموعه دستورالعملها ممکن است با نامهای مختلفی شناخته شوند، اما برنامه، برنامه کامپیوتری، اپلیکیشن (برنامه) و اجرایی از جمله نامهای رایج هستند.
یک برنامه میتواند هر چیزی باشد که با کد نوشته شده است؛ وبسایتها، بازیها و اپلیکیشنهای موبایل همگی برنامه هستند. اگرچه ممکن است بتوان برنامهای بدون نوشتن کد ایجاد کرد، اما منطق زیرین آن توسط دستگاه تفسیر میشود و این منطق به احتمال زیاد با کد نوشته شده است. برنامهای که در حال اجرا یا تفسیر کد است، در حال انجام دستورالعملهاست. دستگاهی که با آن این درس را میخوانید، در حال اجرای برنامهای است که آن را روی صفحه نمایش شما چاپ میکند.
✅ کمی تحقیق کنید: چه کسی به عنوان اولین برنامهنویس کامپیوتر در جهان شناخته میشود؟
زبانهای برنامهنویسی
زبانهای برنامهنویسی به توسعهدهندگان امکان نوشتن دستورالعملها برای دستگاهها را میدهند. دستگاهها فقط میتوانند باینری (۰ و ۱) را درک کنند، و برای اکثر توسعهدهندگان این روش ارتباط چندان کارآمد نیست. زبانهای برنامهنویسی وسیلهای برای ارتباط بین انسانها و کامپیوترها هستند.
زبانهای برنامهنویسی در قالبهای مختلفی ارائه میشوند و ممکن است اهداف متفاوتی داشته باشند. به عنوان مثال، JavaScript عمدتاً برای اپلیکیشنهای وب استفاده میشود، در حالی که Bash عمدتاً برای سیستمعاملها کاربرد دارد.
زبانهای سطح پایین معمولاً به مراحل کمتری نسبت به زبانهای سطح بالا برای تفسیر دستورالعملها توسط دستگاه نیاز دارند. با این حال، چیزی که زبانهای سطح بالا را محبوب میکند، خوانایی و پشتیبانی آنهاست. JavaScript به عنوان یک زبان سطح بالا شناخته میشود.
کد زیر تفاوت بین یک زبان سطح بالا با JavaScript و یک زبان سطح پایین با کد اسمبلی ARM را نشان میدهد.
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
باور کنید یا نه، هر دو یک کار را انجام میدهند: چاپ دنباله فیبوناچی تا عدد ۱۰.
✅ دنباله فیبوناچی تعریف شده است به عنوان مجموعهای از اعداد که هر عدد مجموع دو عدد قبلی خود است، شروع از ۰ و ۱. ده عدد اول دنباله فیبوناچی عبارتند از: ۰، ۱، ۱، ۲، ۳، ۵، ۸، ۱۳، ۲۱ و ۳۴.
عناصر یک برنامه
یک دستورالعمل واحد در یک برنامه بیانیه نامیده میشود و معمولاً دارای یک کاراکتر یا فاصله خط است که نشان میدهد دستورالعمل کجا پایان مییابد یا خاتمه مییابد. نحوه خاتمه یک برنامه بسته به هر زبان متفاوت است.
بیانیههای داخل یک برنامه ممکن است برای اجرای دستورالعملها به دادههایی که توسط کاربر یا از جای دیگری ارائه شدهاند، وابسته باشند. دادهها میتوانند نحوه رفتار یک برنامه را تغییر دهند، بنابراین زبانهای برنامهنویسی راهی برای ذخیره موقت دادهها ارائه میدهند تا بعداً بتوان از آنها استفاده کرد. اینها متغیرها نامیده میشوند. متغیرها بیانیههایی هستند که به دستگاه دستور میدهند دادهها را در حافظه خود ذخیره کند. متغیرها در برنامهها مشابه متغیرها در جبر هستند، جایی که آنها دارای یک نام منحصر به فرد هستند و مقدارشان ممکن است با گذشت زمان تغییر کند.
احتمال دارد برخی بیانیهها توسط دستگاه اجرا نشوند. این معمولاً به طراحی توسعهدهنده یا به صورت تصادفی زمانی که یک خطای غیرمنتظره رخ میدهد، اتفاق میافتد. این نوع کنترل بر یک اپلیکیشن آن را قویتر و قابل نگهداریتر میکند. معمولاً این تغییرات در کنترل زمانی اتفاق میافتد که شرایط خاصی برآورده شوند. یک بیانیه رایج که در برنامهنویسی مدرن برای کنترل نحوه اجرای یک برنامه استفاده میشود، بیانیه if..else
است.
✅ در درسهای بعدی بیشتر درباره این نوع بیانیه یاد خواهید گرفت.
ابزارهای مورد استفاده
🎥 روی تصویر بالا کلیک کنید تا ویدیویی درباره ابزارها مشاهده کنید
در این بخش، با برخی نرمافزارهایی که ممکن است در آغاز مسیر توسعه حرفهای خود بسیار مفید بیابید، آشنا خواهید شد.
یک محیط توسعه مجموعهای منحصر به فرد از ابزارها و ویژگیهایی است که یک توسعهدهنده اغلب هنگام نوشتن نرمافزار از آنها استفاده میکند. برخی از این ابزارها برای نیازهای خاص توسعهدهنده سفارشی شدهاند و ممکن است با گذشت زمان تغییر کنند اگر آن توسعهدهنده اولویتهای کاری، پروژههای شخصی یا زبان برنامهنویسی خود را تغییر دهد. محیطهای توسعه به اندازه توسعهدهندگانی که از آنها استفاده میکنند، منحصر به فرد هستند.
ویرایشگرها
یکی از مهمترین ابزارها برای توسعه نرمافزار، ویرایشگر است. ویرایشگرها جایی هستند که کد خود را مینویسید و گاهی اوقات کد خود را اجرا میکنید.
توسعهدهندگان به دلایل دیگری نیز به ویرایشگرها وابسته هستند:
- اشکالزدایی به کشف باگها و خطاها با بررسی خط به خط کد کمک میکند. برخی ویرایشگرها قابلیتهای اشکالزدایی دارند؛ این قابلیتها میتوانند برای زبانهای برنامهنویسی خاص سفارشی و اضافه شوند.
- برجستهسازی سینتکس رنگها و قالببندی متن را به کد اضافه میکند و خواندن آن را آسانتر میکند. اکثر ویرایشگرها امکان برجستهسازی سینتکس سفارشی را فراهم میکنند.
- افزونهها و یکپارچهسازیها ابزارهای تخصصی برای توسعهدهندگان هستند که توسط توسعهدهندگان ساخته شدهاند. این ابزارها در ویرایشگر پایه وجود ندارند. به عنوان مثال، بسیاری از توسعهدهندگان کد خود را مستند میکنند تا توضیح دهند چگونه کار میکند. آنها ممکن است یک افزونه بررسی املایی نصب کنند تا اشتباهات تایپی در مستندات را پیدا کنند. اکثر افزونهها برای استفاده در یک ویرایشگر خاص طراحی شدهاند و اکثر ویرایشگرها راهی برای جستجوی افزونههای موجود ارائه میدهند.
- سفارشیسازی به توسعهدهندگان امکان ایجاد یک محیط توسعه منحصر به فرد برای نیازهایشان را میدهد. اکثر ویرایشگرها بسیار قابل سفارشیسازی هستند و ممکن است به توسعهدهندگان اجازه دهند افزونههای سفارشی ایجاد کنند.
ویرایشگرهای محبوب و افزونههای توسعه وب
مرورگرها
یکی دیگر از ابزارهای مهم مرورگر است. توسعهدهندگان وب به مرورگر برای مشاهده نحوه اجرای کدشان در وب وابسته هستند. همچنین از مرورگر برای نمایش عناصر بصری یک صفحه وب که در ویرایشگر نوشته شدهاند، مانند HTML، استفاده میشود.
بسیاری از مرورگرها دارای ابزارهای توسعهدهنده (DevTools) هستند که مجموعهای از ویژگیها و اطلاعات مفید برای کمک به توسعهدهندگان در جمعآوری و ثبت اطلاعات مهم درباره اپلیکیشنشان ارائه میدهند. به عنوان مثال: اگر یک صفحه وب خطاهایی داشته باشد، گاهی اوقات دانستن زمان وقوع آنها مفید است. ابزارهای توسعهدهنده در مرورگر میتوانند برای ثبت این اطلاعات تنظیم شوند.
مرورگرهای محبوب و ابزارهای توسعهدهنده
ابزارهای خط فرمان
برخی توسعهدهندگان ترجیح میدهند برای وظایف روزانه خود از نمای گرافیکی کمتری استفاده کنند و به خط فرمان متکی باشند. نوشتن کد نیاز به تایپ زیادی دارد و برخی توسعهدهندگان ترجیح میدهند جریان کاری خود را روی صفحه کلید مختل نکنند. آنها از میانبرهای صفحه کلید برای جابجایی بین پنجرههای دسکتاپ، کار روی فایلهای مختلف و استفاده از ابزارها استفاده میکنند. اکثر وظایف را میتوان با ماوس انجام داد، اما یکی از مزایای استفاده از خط فرمان این است که بسیاری از کارها را میتوان بدون نیاز به جابجایی بین ماوس و صفحه کلید انجام داد. مزیت دیگر خط فرمان این است که قابل تنظیم است و میتوانید یک تنظیم سفارشی ذخیره کنید، بعداً آن را تغییر دهید و به ماشینهای توسعه دیگر وارد کنید. از آنجا که محیطهای توسعه بسیار منحصر به فرد هستند، برخی توسعهدهندگان از خط فرمان اجتناب میکنند، برخی کاملاً به آن متکی هستند و برخی ترکیبی از این دو را ترجیح میدهند.
گزینههای محبوب خط فرمان
گزینههای خط فرمان بسته به سیستمعامل شما متفاوت خواهد بود.
💻 = به صورت پیشفرض روی سیستمعامل نصب شده است.
ویندوز
- Powershell 💻
- Command Line (که به CMD نیز معروف است) 💻
- Windows Terminal
- mintty
MacOS
لینوکس
ابزارهای محبوب خط فرمان
مستندات
وقتی یک توسعهدهنده میخواهد چیزی جدید یاد بگیرد، احتمالاً به مستندات مراجعه میکند تا نحوه استفاده از آن را بیاموزد. توسعهدهندگان اغلب به مستندات متکی هستند تا آنها را در استفاده صحیح از ابزارها و زبانها راهنمایی کنند و همچنین دانش عمیقتری درباره نحوه کار آنها کسب کنند.
مستندات محبوب در توسعه وب
- Mozilla Developer Network (MDN)، از Mozilla، ناشرین مرورگر Firefox
- Frontend Masters
- Web.dev، از Google، ناشرین مرورگر Chrome
- مستندات توسعهدهندگان مایکروسافت، برای Microsoft Edge
- W3 Schools
✅ کمی تحقیق کنید: حالا که اصول محیط توسعهدهنده وب را میدانید، آن را با محیط یک طراح وب مقایسه کنید.
🚀 چالش
برخی زبانهای برنامهنویسی را مقایسه کنید. چه ویژگیهای منحصر به فردی در JavaScript در مقابل Java وجود دارد؟ در مورد COBOL در مقابل Go چطور؟
آزمون پس از درس
مرور و مطالعه شخصی
کمی درباره زبانهای مختلف موجود برای برنامهنویس مطالعه کنید. سعی کنید یک خط کد در یک زبان بنویسید و سپس آن را در دو زبان دیگر بازنویسی کنید. چه چیزی یاد گرفتید؟
تکلیف
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما برای دقت تلاش میکنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، ترجمه حرفهای انسانی توصیه میشود. ما هیچ مسئولیتی در قبال سوءتفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.