برنامه نویسی
برنامهنویسی (Programming) فرآیند طراحی و نوشتن دستورالعملهایی است که به کامپیوترها میگوید چگونه وظایف خاصی را انجام دهند. این هنر و علم، از زبانهای برنامهنویسی مثل پایتون، جاوا و سیپلاسپلاس استفاده میکند تا نرمافزارها، وبسایتها و اپلیکیشنهایی بسازد که زندگی مدرن را شکل میدهند.
20 مطالب در این دسته قرار دارد
-
با انتشار .NET 10 در نوامبر 2025 به عنوان نسخه LTS (پشتیبانی بلندمدت)، مایکروسافت بار دیگر تعهد خود را به بهبود عملکرد، امنیت و تجربه توسعهدهندگان نشان داد. این نسخه با مجموعهای از قابلیتهای جدید و بهینهسازیها، توسعه اپلیکیشنهای مدرن را سریعتر و کارآمدتر کرده است. در این مقاله، به بررسی تغییرات کلیدی در runtime، کتابخانهها، ابزارهای توسعه، ASP.NET Core و Entity Framework Core میپردازیم. اگر توسعهدهنده .NET هستید، این مقاله شما را با ویژگیهای جدید این نسخه آشنا خواهد کرد. لیست کلی تغیی
- زمان مطالعه : 10 دقیقه
-
در دنیای سریعالسیر برنامهنویسی، زبان C# همیشه یکی از پیشتازان بوده است. مایکروسافت هر سال با معرفی نسخههای جدید، ابزارهایی تازه برای سادهسازی کد، افزایش کارایی و بهبود ایمنی ارائه میدهد. حالا که به سال ۲۰۲۵ رسیدهایم، C# 14 – که بصورت preview همراه با .NET 10 معرفی شده و بصورت رسمی در نوامبر ۲۰۲۵ منتشر میشود – وعده تغییرات جذابی را میدهد. این نسخه نه تنها بر پایه تجربیات نسخههای قبلی مثل C# 13 ساخته شده، بلکه تمرکز ویژهای روی کاهش boilerplate code، بهبود عملکرد و انعطافپذیری بیشتر در ن
- زمان مطالعه : 9 دقیقه
-
پس از چهار سال انتظار، مایکروسافت بالاخره ویژوال استودیو 2026 را معرفی کرد و این بار خبری از یک بهروزرسانی معمولی نیست. این IDE جدید وعده میدهد که تجربه توسعه نرمافزار را به شکل واقعیای متحول کند. ادغام کامل با هوش مصنوعی یکی از برجستهترین تغییرات ویژوال استودیو 2026، ادغام عمیق هوش مصنوعی در فرآیند توسعه است. برخلاف نسخههای قبلی که GitHub Copilot بیشتر یک افزونه جانبی بود، حالا AI به صورت یکپارچه در pipeline توسعه جای گرفته و با استفاده از مدلهای پیشرفته زبان طبیعی و تحلیل کد، به توسعه
- زمان مطالعه : 5 دقیقه
-
در دنیای وب و هوش مصنوعی، وقتی مدلهای زبانی عظیم (Large Language Models یا به اختصار LLM) میخواهند مطلبی را از یک وبسایت بخوانند، معمولاً به مشکل میخورند: صفحات وب پر از المانهایی هستند که برای انسان مفیدند ولی برای مدلهای زبانی مزاحمت ایجاد میکنند — مانند تبلیغات، منوهای ناوبری پیچیده، اسکریپتها، CSSهای زیاد، و جاوااسکریپتهایی که محتوا را بهصورت دینامیک بارگذاری میکنند. اینها حجم محتوا را زیاد میکنند و باعث میشوند مدلها زمان یا حافظه زیادی صرف خواندن چیزهایی کنند که اغلب الزامی ن
- زمان مطالعه : 8 دقیقه
-
در دنیای برنامهنویسی، دادهها مثل آجرهای یک ساختمان هستند؛ نحوه سازماندهی و مدیریت آنها میتواند سرعت و کارایی برنامه ما را تعیین کند. یکی از پرکاربردترین روشهای سازماندهی دادهها، استفاده از Linear Data Structure است. در این مقاله، قصد داریم این مفهوم یعنی ساختار داده خطی را به زبانی ساده توضیح دهیم، انواع آن را بررسی کنیم و مثالهایی برای درک بهتر ارائه دهیم. Linear Data Structure چیست؟ Linear Data Structure یا ساختار دادهی خطی، نوعی ساختار داده است که در آن عناصر به صورت خطی و ترتیبی ذخی
- زمان مطالعه : 6 دقیقه
-
وقتی صحبت از زبان جاوا اسکریپت میشود، یکی از قابلیتهایی که در چند سال اخیر بسیار محبوب شده، Spread Operator یا همان عملگر ... است. این عملگر ساده اما قدرتمند، میتواند کدنویسی شما را هم کوتاهتر و هم خواناتر کند. شاید در نگاه اول فقط سه نقطهی ساده به نظر برسد، اما پشت همین سه نقطه، امکانات زیادی برای کار با آرایهها، آبجکتها و حتی توابع پنهان شده است. در این مطلب قصد دارم به صورت کامل و مرحله به مرحله، همه چیز دربارهی Spread Operator در جاوا اسکریپت را توضیح بدهم. اگر تازهکار هستید یا حتی
- زمان مطالعه : 9 دقیقه
-
Rust زبانیست که خیلیها آن را «سطح پایین» میدانند، درحالیکه بعضی دیگر از قدرت انتزاعهایش حرف میزنند و آن را بهخاطر ویژگیهای مدرنش تحسین میکنند. این دو دیدگاه متضاد در مورد یک زبان واحد، سؤال مهمی را مطرح میکند: مرز بین سطح پایین و سطح بالا در Rust دقیقاً کجاست؟ در این مقاله، سعی میکنم این مرز را نه با تعریفهای صرفاً تئوریک، بلکه از زاویه دید یک توسعهدهنده بررسی کنم؛ کسی که هم درگیر ابزارهای نزدیک به سیستم بوده، هم از امکانات سطح بالای Rust بهره برده است. High-Level و Low-Level: دقیقا
- زمان مطالعه : 7 دقیقه
-
زبان برنامهنویسی Rust به دلیل ایمنی حافظه، عملکرد بالا، و قابلیتهای مدرن خود به یکی از محبوبترین زبانها برای توسعه نرمافزارهای سیستمی تبدیل شده است. اگرچه Rust در ابتدا برای برنامهنویسی سیستمی طراحی شده بود، اما در سالهای اخیر، ابزارها و کتابخانههای متعددی برای ساخت رابطهای کاربری گرافیکی (GUI) در این زبان توسعه یافتهاند. این مقاله به معرفی و بررسی مهمترین ابزارها و کتابخانههای موجود برای ایجاد رابطهای کاربری گرافیکی در Rust میپردازد و ویژگیها، مزایا، و معایب هر یک را مورد بحث قرا
- زمان مطالعه : 5 دقیقه
-
زبان برنامهنویسی C به دلیل انعطافپذیری و کنترل سطح پایینی که به برنامهنویس ارائه میدهد، یکی از محبوبترین زبانها برای توسعه سیستمهای نهفته، درایورهای سختافزاری و نرمافزارهای بلادرنگ است. اما یکی از ویژگیهای این زبان که اغلب در آموزشهای ابتدایی کمتر به آن پرداخته میشود، کلیدواژه volatile است. این کلیدواژه، که ممکن است در نگاه اول ساده به نظر برسد، نقش مهمی در بهینهسازی و اطمینان از عملکرد صحیح برنامهها در سناریوهای خاص ایفا میکند. در این مقاله، به بررسی عمیق کلیدواژه volatile، کاربر
- زمان مطالعه : 4 دقیقه
-
در PHP 8.1، ویژگی Readonly Properties معرفی شد که به توسعهدهندگان اجازه میداد متغیرهای یک کلاس را بهگونهای تعریف کنند که فقط یکبار مقداردهی شوند و بعد از آن غیرقابل تغییر باشند. این قابلیت برای جلوگیری از تغییرات ناخواسته در متغیرها و افزایش ایمنی کد بسیار مفید بود. اما PHP 8.2 یک قدم فراتر رفت و مفهوم Readonly Classes را معرفی کرد. با این ویژگی، میتوانید یک کلاس را بهصورت کامل فقط خواندنی تعریف کنید، به این معنا که تمام متغیرهای (Properties) آن کلاس بهصورت پیشفرض فقط خواندنی خواهند بود
- زمان مطالعه : 4 دقیقه
-
ماکروها (Macros) یکی از ویژگیهای قدرتمند زبان Rust هستند که به شما امکان میدهند کدهایی بنویسید که کدهای دیگری تولید کنند. این ویژگی در مواردی مانند حذف کد تکراری، ایجاد DSLهای خاصمنظوره، یا پیادهسازی metaprogramming patterns بسیار کاربردی است. در این مقاله با انواع ماکروها در Rust، مزایا، معایب و نحوهی استفادهی صحیح از آنها آشنا میشویم. چرا ماکرو؟ ماکروها زمانی بهکار میآیند که کد شما دارای الگوهای تکراری زیادی باشد که با فانکشنها بهراحتی قابل بازنویسی نیستند. برخلاف توابع، ماکروها ق
- زمان مطالعه : 7 دقیقه
-
در زبان برنامهنویسی Rust، ابزار Cargo نقش کلیدی در مدیریت پروژهها ایفا میکند. این ابزار قدرتمند به توسعهدهندگان کمک میکند تا فرآیند ساخت، مدیریت وابستگیها و انتشار پروژهها را بهسادگی انجام دهند. در مرکز هر پروژهای که با Cargo مدیریت میشود، فایلی به نام Cargo.toml قرار دارد. این فایل، که به نوعی تنظیمات اصلی پروژه را در خود جای داده، مشخص میکند که پروژه چگونه باید ساخته شود، چه وابستگیهایی دارد و چه ویژگیهایی باید فعال شوند. در این مقاله، قصد داریم بهصورت جامع و دقیق تمام جنبههای ف
- زمان مطالعه : 5 دقیقه
-
اگه برنامهنویس باشی و با Rust کار کرده باشی، حتما شنیدی که این زبان چقدر رو سرعت و امنیت تمرکز داره. از اون طرف، C هم که یه زبان قدیمی و قدرتمنده و هنوز توی خیلی از پروژهها، مخصوصا پروژههای سیستمی، حرف اول رو میزنه. حالا فکر کن بخوای این دو تا رو با هم ترکیب کنی! هم قدرت و انعطاف C رو داشته باشی، هم ایمنی و مدرن بودن Rust رو. توی این مطلب میخوام بهت نشون بدم چطور میتونی Rust و C رو به هم وصل کنی و کدات رو بین این دو تا جابجا کنی. چرا اصلا Rust و C رو به هم وصل کنیم؟ قبل از اینکه بریم سراغ
- زمان مطالعه : 4 دقیقه
-
زبان برنامهنویسی Rust به دلیل رویکرد نوآورانهاش در مدیریت حافظه و ایمنی کد، در سالهای اخیر توجه بسیاری از توسعهدهندگان را به خود جلب کرده است. یکی از مهمترین ویژگیهای این زبان که آن را از رقبا متمایز میکند، سیستم Ownership (مالکیت) و Borrowing (امانتدهی) است. در این مقاله، به صورت عمیق و پیشرفته به این مفاهیم میپردازم، نحوه کارکرد آنها را بررسی میکنیم و نشان میدهیم که چرا این قابلیتها، Rust را به انتخابی ایدهآل برای پروژههای پیچیده و حساس تبدیل کردهاند. اگر به دنبال یادگیری پیشرف
- زمان مطالعه : 4 دقیقه
-
در دنیای برنامهنویسی، گاهی نیاز داریم با اعدادی کار کنیم که از حد معمول بزرگتر یا پیچیدهتر هستند. مثلاً اعداد بسیار بزرگ در رمزنگاری، محاسبات ریاضی پیشرفته یا حتی مسائل علمی. زبان برنامهنویسی PHP بهصورت پیشفرض برای کار با اعداد معمولی طراحی شده، اما وقتی پای اعداد بزرگ یا محاسبات دقیق به میان میاد، نیاز به ابزاری قویتر احساس میشه. اینجا GMP (مخفف GNU Multiple Precision) وارد صحنه میشه. تو این مقاله قراره بهطور کامل با GMP در PHP آشنا بشیم، کاربردهاش رو بررسی کنیم و ببینیم چطور میتونیم
- زمان مطالعه : 6 دقیقه
...