مقدمه مفهومی درباره واژه رایانه (Computer) دستگاهی است که بر اساس دستورالعمل های از پیش تعریف شده (برنامه ها)، عملیات های مختلفی را بر روی داده ها انجام می دهد. این دستگاه ها در اشکال مختلف از ابررایانه ها تا ریزپردازنده های تعبیه شده وجود دارند. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات رایانه ها در تمام جنبه های فناوری اطلاعات از توسعه نرم افزار و پردازش داده تا شبکه های کامپیوتری و هوش مصنوعی استفاده می شوند. در معماری سیستم ها، انتخاب سخت افزار مناسب برای نیازهای محاسباتی یک تصمیم حیاتی است. مثال های واقعی و کاربردی در زندگی یا پروژه های IT رایانه های شخصی و لپ تاپ ها سرورهای مراکز داده ابررایانه های علمی مانند Summit ریزکنترلگرهای تعبیه شده دستگاه های IoT مانند Raspberry Pi نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری سیستم های مدرن، درک معماری رایانه ها به بهینه سازی نرم افزار کمک می کند. در سیستم های توزیع شده، هماهنگی بین چندین رایانه یک چالش طراحی است. در رایانش ابری، مجازی سازی منابع رایانه ها امکان انعطاف پذیری را فراهم می کند. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف اولین رایانه های مکانیکی مانند Difference Engine در قرن 19 ساخته شدند. در دهه 1940 با ظهور ENIAC، عصر رایانه های الکترونیکی آغاز شد. امروزه با ظهور محاسبات کوانتومی، نسل جدیدی از رایانه ها در حال توسعه هستند. تفکیک آن از واژگان مشابه رایانه با پردازنده (CPU) که فقط واحد محاسباتی است متفاوت است. همچنین با سیستم عامل که نرم افزار مدیریت رایانه است فرق می کند. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف Assembly: برنامه نویسی سطح پایین برای معماری خاص C: کنترل دقیق منابع سخت افزاری Python: اسکریپت نویسی مستقل از سخت افزار Java: اجرا روی ماشین مجازی (JVM) CUDA: برنامه نویسی برای GPUها چالش ها یا سوءبرداشت های رایج در مورد آن چالش اصلی، بهره برداری بهینه از منابع سخت افزاری است. همچنین برخی کاربران بین رایانه های عمومی و سیستم های خاص هدف تمایز قائل نمی شوند. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی درک معماری رایانه ها به توسعه دهندگان کمک می کند نرم افزارهای کارآمدتری طراحی کنند که از منابع سخت افزاری بهینه استفاده می کنند.
مقدمه مفهومی درباره واژه محاسبه کردن (Compute) به عمل اجرای عملیات های ریاضی یا منطقی بر روی داده ها برای استخراج نتایج یا تبدیل اطلاعات اشاره دارد. این فعل، پایه ای ترین عمل در سیستم های دیجیتال است. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات محاسبه در تمام جنبه های برنامه نویسی از عملیات های ساده ریاضی تا الگوریتم های پیچیده یادگیری ماشین کاربرد دارد. در معماری ابری، سرویس هایی مانند AWS EC2 منابع محاسباتی ارائه می دهند. مثال های واقعی و کاربردی در زندگی یا پروژه های IT محاسبه مجموع اعداد در یک آرایه اجرای الگوریتم های مرتب سازی پردازش تصویر و تشخیص اشیا شبیه سازی های فیزیکی در بازی ها آموزش مدل های یادگیری ماشین نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری سیستم های مدرن، توزیع محاسبات بین CPU و GPU یک چالش طراحی است. در سیستم های توزیع شده، محاسبات ممکن است بین چندین گره تقسیم شوند. در رایانش ابری، محاسبات به عنوان یک سرویس (Computation-as-a-Service) ارائه می شود. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف مفهوم محاسبه مکانیکی به قرن ها پیش بازمی گردد. در دهه 1940 با ظهور کامپیوترهای الکترونیکی مانند ENIAC، محاسبه دیجیتال متولد شد. امروزه با ظهور محاسبات کوانتومی، مرزهای جدیدی در حال گشوده شدن هستند. تفکیک آن از واژگان مشابه محاسبه با پردازش (Processing) که عمومی تر است متفاوت است. همچنین با تحلیل (Analysis) که بر استخراج معنا تمرکز دارد فرق می کند. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف Python: استفاده از عملگرهای ریاضی و کتابخانه های NumPy Java: محاسبات موازی با Fork/Join Framework C++: بهینه سازی محاسبات با SIMD intrinsics SQL: توابع تجمعی مانند SUM و AVG JavaScript: استفاده از Web Workers برای محاسبات سنگین چالش ها یا سوءبرداشت های رایج در مورد آن چالش اصلی، بهینه سازی محاسبات برای کارایی بهتر است. همچنین برخی توسعه دهندگان بین محاسبات دقیق و تقریبی تمایز قائل نمی شوند. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی توانایی طراحی و بهینه سازی محاسبات یک مهارت اساسی برای توسعه دهندگان است که بر عملکرد نرم افزار تأثیر مستقیم دارد.
مقدمه مفهومی درباره واژه Composer ابزار استاندارد مدیریت وابستگی ها در PHP است که با الهام از npm (Node.js) و Bundler (Ruby) توسعه یافته است. این ابزار امکان نصب، به روزرسانی و خودکارسازی بارگذاری پکیج ها از مخزن Packagist را فراهم می کند. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات Composer در پروژه های PHP برای مدیریت کتابخانه های сторон، خودکارسازی بارگذاری کلاس ها (autoloading) و یکپارچه سازی با چارچوب هایی مانند Laravel و Symfony استفاده می شود. در DevOps، Composer بخشی از خطوط لوله استقرار است. مثال های واقعی و کاربردی در زندگی یا پروژه های IT نصب Laravel با دستور composer create-project فایل composer.json برای تعریف وابستگی ها پکیج های محبوب مانند guzzlehttp/guzzle اسکریپت های سفارشی در بخش scripts راه حل های خودکارسازی با Composer Plugins نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری پروژه های PHP مدرن، Composer امکان ماژولارسازی و استفاده از کامپوننت های مستقل را فراهم می کند. در سیستم های CI/CD، اجرای composer install بخشی ضروری از فرآیند ساخت است. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف Composer در سال 2011 توسط Nils Adermann و Jordi Boggiano معرفی شد. در سال 2012 با انتشار نسخه 1.0 به بلوغ رسید. امروزه استاندارد de facto برای مدیریت وابستگی ها در PHP محسوب می شود. تفکیک آن از واژگان مشابه Composer با PEAR که سیستم قدیمی تر مدیریت پکیج های PHP بود متفاوت است. همچنین با ابزارهای بسته بندی مانند PHAR که اجرای برنامه ها را مدیریت می کنند فرق دارد. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف PHP: دستورات composer require و composer update Docker: استفاده از Composer در تصاویر PHP CI/CD: اجرای composer install در خطوط لوله Laravel: یکپارچگی عمیق با Composer Symfony: استفاده از کامپوننت های مستقل چالش ها یا سوءبرداشت های رایج در مورد آن چالش اصلی، مدیریت وابستگی های متضاد در پروژه های بزرگ است. همچنین برخی توسعه دهندگان تفاوت بین composer install و composer update را درک نمی کنند. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی تسلط بر Composer یک مهارت اساسی برای توسعه دهندگان PHP مدرن است که بهره وری و قابلیت نگهداری پروژه ها را به شدت افزایش می دهد.
مقدمه مفهومی درباره واژه مترجم (Compiler) یک برنامه سیستم است که کدهای نوشته شده توسط انسان را به فرمتی قابل اجرا توسط ماشین تبدیل می کند. این فرآیند پیچیده معمولاً شامل چندین مرحله تحلیل و تبدیل است. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات مترجم ها در زبان های کامپایلری مانند C، C++، Rust، Go و Haskell استفاده می شوند. در توسعه سیستم های عامل، کامپایلرهای کراس پلتفرم اهمیت ویژه ای دارند. مثال های واقعی و کاربردی در زندگی یا پروژه های IT GCC (GNU Compiler Collection) LLVM و Clang کامپایلر رسمی Java (javac) Roslyn برای C# کامپایلر Rust (rustc) نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری سیستم های بزرگ، انتخاب کامپایلر مناسب می تواند بر عملکرد و امنیت تأثیر بگذارد. در سیستم های embedded، کامپایلرهای سفارشی برای معماری های خاص طراحی می شوند. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف اولین کامپایلرها در دهه 1950 توسط Grace Hopper و همکارانش توسعه یافتند. در دهه 1980 با ظهور کامپایلرهای بهینه ساز مدرن مانند GCC، عملکرد برنامه ها به شدت بهبود یافت. امروزه کامپایلرهایی مانند LLVM از معماری های ماژولار استفاده می کنند. تفکیک آن از واژگان مشابه مترجم با مفسر (Interpreter) که کد را بدون تبدیل به زبان ماشین اجرا می کند متفاوت است. همچنین با ترانسپایلر (Transpiler) که بین زبان های سطح بالا تبدیل انجام می دهد فرق دارد. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف C: کامپایلر GCC/Clang با گزینه های بهینه سازی مختلف Java: کامپایل به بایت کد با javac Rust: کامپایلر rustc با سیستم borrow checker Haskell: کامپایلر GHC با بهینه سازی های پیشرفته WebAssembly: کامپایلرهای Emscripten چالش ها یا سوءبرداشت های رایج در مورد آن چالش اصلی، تولید کد بهینه بدون افزایش زمان کامپایل است. همچنین برخی توسعه دهندگان انتظار دارند کامپایلر تمام خطاهای منطقی را تشخیص دهد. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی درک کارکرد مترجم ها به توسعه دهندگان کمک می کند کدهای بهتری بنویسند و از ویژگی های پیشرفته زبان ها بهتر استفاده کنند.