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

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

زیرمجموعه‌ها

زیست‌بوم زبانی و مدیریت بسته‌ها: نقش اجتماع و انگیزه‌های اقتصادی در پذیرش
مهندسی نرم‌افزار و معماری

زیست‌بوم زبانی و مدیریت بسته‌ها: نقش اجتماع و انگیزه‌های اقتصادی در پذیرش

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

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
بازگشت برنامه‌نویسی تابعی به هسته طراحی زبان‌ها
برنامه‌نویسی

بازگشت برنامه‌نویسی تابعی به هسته طراحی زبان‌ها

ویژگی‌هایی مثل تغییرناپذیری، توابع مرتبه‌بالا و خلوص باعث شده‌اند پارادایم برنامه‌نویسی توابعی دوباره در طراحی زبان‌ها و کتابخانه‌های مدرن جایگاه پیدا کند.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
سه الگوی حکمرانی زبان: BDFL، حکمرانی باز و استانداردهای جامعه‌محور — مقایسه و راهبردها
مهندسی نرم‌افزار و معماری

سه الگوی حکمرانی زبان: BDFL، حکمرانی باز و استانداردهای جامعه‌محور — مقایسه و راهبردها

سه مدل اصلی حکمرانی زبان—BDFL متمرکز، حکمرانی باز فرآیندمحور و استانداردهای جامعه‌محور—چه مزایا و محدودیت‌هایی دارند و چگونه در عمل ترکیب می‌شوند؟

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
جاوااسکریپت در 10 روز: ریشه‌ها، پیامدها و درس‌های امنیتی
برنامه‌نویسی

جاوااسکریپت در 10 روز: ریشه‌ها، پیامدها و درس‌های امنیتی

ادعای «جاوااسکریپت در 10 روز» هشدار درباره پیامدهای طراحی شتاب‌زده است؛ از تضاد مفاهیم و پیچیدگی امنیتی تا درس‌هایی که از شبکه و هوش مصنوعی می‌آموزیم.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
مدل حافظه و هم‌زمانی در C++، جاوا و سخت‌افزار مدرن
برنامه‌نویسی

مدل حافظه و هم‌زمانی در C++، جاوا و سخت‌افزار مدرن

مدل حافظه قرارداد کلیدی بین زبان، کامپایلر و سخت‌افزار است؛ در این متن تفاوت‌ها و پیامدهای مدل حافظه در Java، C++ و معماری‌های مدرن بررسی می‌شود.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
مرزهای محو‌شونده بین کامپایلر و مفسر: بایت‌کد، JIT و پیاده‌سازی‌های هیبرید
برنامه‌نویسی

مرزهای محو‌شونده بین کامپایلر و مفسر: بایت‌کد، JIT و پیاده‌سازی‌های هیبرید

مرزهای سنتی بین کامپایلر و مفسر امروز در پیاده‌سازی‌های مدرن محو شده‌اند؛ بایت‌کد و JIT به ترکیب مزایای هر دو رویکرد منجر شده و انتخاب اجرا بر معماری نرم‌افزار تأثیر می‌گذارد.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
فلسفه طراحی Go: سادگی، همزمانی و ترکیب‌پذیری برای سیستم‌های مقیاس‌پذیر
برنامه‌نویسی

فلسفه طراحی Go: سادگی، همزمانی و ترکیب‌پذیری برای سیستم‌های مقیاس‌پذیر

Go زبانی است که سادگی، هم‌زمانی بومی و ترکیب‌پذیری را در مرکز طراحی قرار می‌دهد؛ از گوروتین‌ها و کانال‌ها تا رویکرد محتاطانه در افزودن ویژگی‌هایی مانند جنریک‌ها، فلسفهٔ Go هدفش کاهش پیچیدگی و افزایش خوانایی کد است.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
چگونه میکروسرویس‌ها انتزاعات سیستم‌عامل را بازتعریف می‌کنند: کانتینرها، ارکستراسیون و انتخاب پلتفرم
مهندسی نرم‌افزار و معماری

چگونه میکروسرویس‌ها انتزاعات سیستم‌عامل را بازتعریف می‌کنند: کانتینرها، ارکستراسیون و انتخاب پلتفرم

میکروسرویس‌ها نه فقط معماری کد را تغییر می‌دهند، بلکه انتزاعات سیستم‌عامل، ایزولاسیون منابع و نحوه طراحی پلتفرم را نیز بازتعریف می‌کنند؛ از cgroups تا ارکستراسیون و سیاست‌های شبکه.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
زِن پایتون؛ ۱۹ اصل که سبک و فرهنگ پایتون را شکل داد
برنامه‌نویسی

زِن پایتون؛ ۱۹ اصل که سبک و فرهنگ پایتون را شکل داد

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

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
سیر تکامل ECMAScript: از اسکریپت مرورگر تا استاندارد جهانی
برنامه‌نویسی

سیر تکامل ECMAScript: از اسکریپت مرورگر تا استاندارد جهانی

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

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
پارادایم‌های ارتباط بین‌فرآیندی: از پایپ و سوکت تا باس پیام
مهندسی نرم‌افزار و معماری

پارادایم‌های ارتباط بین‌فرآیندی: از پایپ و سوکت تا باس پیام

چهار خانواده اصلی IPC — پایپ، سوکت، آرپی‌سی و باس پیام — و نحوه انتخاب هر کدام بر اساس تاخیر، مقیاس‌پذیری و پیچیدگی عملیاتی.

محمد ابراهیمی فر۱۵ مرداد ۱۴۰۵
چرا انتقال macOS از PowerPC به اینتل نقطه‌عطف بود
مهندسی نرم‌افزار و معماری

چرا انتقال macOS از PowerPC به اینتل نقطه‌عطف بود

تصمیم 2005 اپل برای مهاجرت macOS از PowerPC به اینتل پیامدهای عمیقی برای ISA، کرنل، ابزار توسعه و مدل کسب‌وکار پلتفرم داشت؛ راهکارهایی مثل باینری یونیورسال و Rosetta این گذار را ممکن کردند.

محمد ابراهیمی فر۱۴ مرداد ۱۴۰۵