payamvha/North_RAG huggingface dataset:
آنجایی که نسخه ۱٫۰ ارتقای پایگاه داده باقی‌ماندهٔ یکی از قوی‌ترین نقاط دلفی است. کتابخانه مؤلفهٔ دیداری (VCL) شامل کتابخانهٔ بزرگی از پایگاه داده کنترل‌های آگاه است، و پایگاه داده به مؤلفه‌ها دسترسی دارد. موتور پایگاه داده Borland پایگاه دادهٔ اصلی لایهٔ اتصال بود، و تنها انتخاب در نسخه‌های اولیهٔ دلفی بود، اگرچه الآن به ندرت استفاده می‌شود، اما آخرین نسخه به عنوان یکی از اختیارات قابل نصب در BDE وجود دارد. دلفی۷ که در اوت ۲۰۰۲ منتشر شد، تبدیل به نسخهٔ استانداردی شد که بیشتر از دیگر نسخ ساده توسط توسعه
شد که بیشتر از دیگر نسخ ساده توسط توسعه دهندگان استفاده شد، و تا این تاریخ نیز استفادهٔ مؤثری از آن می‌شود. این نسخه قابلیت حمایت از قالب‌های Windows XP، و حمایت‌های بیشتری را نیز برای ساختن برنامه‌های تحت web اضافه کرده‌است. همچنین آخرین نسخهٔ دلفی بود که بدون فعال سازی قابل استفاده بود. این خصوصیت ثبت اختیاری دارد که می‌توان از آن صرف نظر نمود. دلفی۷ یکی از پر طرفدارترین IDEها است که توسط Borland تولید شده‌است، که به خاطر پایداری، سرعت و نیاز کم به سخت‌افزار است. به هر حال، در تمام نسخه‌های دلفی مقدار
است. به هر حال، در تمام نسخه‌های دلفی مقدار زیادی از خطاهای شناخته شده وجود دارد که Borland آن‌ها را برطرف نکرده‌است. وظیفهٔ برطرف کردن این خطاها در انجمن دلفی باقی‌ماند. دلفی۸ در دسامبر ۲۰۰۳ منتشر شد، که تنها .NET منتشر شده بود و به کاربران اجازه می‌داد اشیاء دلفی با کد پاسکال را به .NET CIL کامپایل کنند. این همچنان مهم بود که IDEهای خود را برای اولین بار تغییر دهد، از نوع IDE پنجرهٔ چندگانه متغیر در روی میز کار(desktop) به نوع دیدن و احساس کردن شبیه Microsoft's Visual Studio.NET. HDEهای جدید هنوز لایهٔ
Visual Studio.NET. HDEهای جدید هنوز لایهٔ پنجره‌های «Classic Undocked» را به عنوان Option در دسترس دارند. نسخهٔ بعدی، دلفی۲۰۰۵ (دلفی۹)، شامل ارتقای Win۳۲ و .NET در یک IDE ساده، که تعهدات Borland را برای کاربران Win۳۲ تکرار کرد. دلفی ۲۰۰۵ شامل فرصت انجام طراحی به وسیلهٔ ترک داده در پایگاه داده‌است. همچنین شامل ID پیشرفته‌است و در متن برنامه for را نیز اضافه کرده‌است (شبیه foreach برای C#). به هر حال، به خاطر بعضی از خطاها مورد انتقاد قرار گرفت. هردوی دلفی۸ و دلفی۲۰۰۵ مشکلات پایداری را در هنگام اجرا شدن
و دلفی۲۰۰۵ مشکلات پایداری را در هنگام اجرا شدن دارند، که فقط تا اندکی در service packها بر طرف شده‌اند. بعدها در سال ۲۰۰۵ دلفی ۲۰۰۶ منتشر شد و مدل ارتقا یافته‌ای از C# و Delphi.NET ,DelphiWin۳۲ و C++ را در IDE ساده‌ای ترکیب کرد. از دلفی ۸ یا دلفی ۲۰۰۵ وقتی که اجرا می‌شد پایدارتر بود، و حتی توسط انتشار بسته‌های خدماتی و برطرف سازی اساسی مشکلات پیشرفته تر شد. در ۸ فوریه سال۲۰۰۶ Borland اعلام کرد که به دنبال خریداری برای IDEهایش و خط پایگاه داده‌ای محصولاتش است، که شامل دلفی برای تأکید بر خط ALM است. اخبار
است، که شامل دلفی برای تأکید بر خط ALM است. اخبار دلگرم کننده‌ای برای کاربران باقی‌مانده آمد. در ۶ سپتامبر سال ۲۰۰۶ ابزار ارتقا دهندهٔ گروهی (اسم شرکتی که هنوز از بین نرفته) شرکت نرم‌افزاری Borland نسخه‌های تک زبانه از Borland developer studio را منتشر کرد، که به نام مشهور Turbo بازگشت. محصول مجموعهٔ Turbo شامل Turbo Delphi برای Win32 ,Turbo Delphi برای .NET, Turbo C++، و Turbo C# است. هر نسخه در دو ویرایش در دسترس است: Explorer(نسخه‌ای که Download آن رایگان است) و Professional(با قیمت ارزانتر US$۸۹۹ برای
است) و Professional(با قیمت ارزانتر US$۸۹۹ برای کاربران جدید؛US$۳۹۹ برای نو سازی) نسخه‌ای که دسترسی به هزاران مؤلفهٔ شخص ثالث را امکان‌پذیر می‌کند. بر خلاف نسخه‌های شخصی قبلی دلفی، ویرایش‌های جدید Explorer می‌توانند برای گسترش‌های تجاری قابل استفاده باشند. در ۱۴ نوامبر سال ۲۰۰۶ Borland اعلام کرد که ترجیح می‌دهد که فروش ابزار توسعهٔ گروهی متوقف و به شرکت فرعی مستقلی با نام CodeGear تبدیل شود. دلفی ۲۰۰۷، اولین نسخهٔ CodeGear، در ۱۶ مارس ۲۰۰۷ منتشر شد. در ابتدا ماهیت Win۳۲ منتشر شد، قبل از اینکه ماهیت.NET از
ماهیت Win۳۲ منتشر شد، قبل از اینکه ماهیت.NET از دلفی۲۰۰۷ منتشر شود، به عنوان بخشی از محصول CodeGear RAD Studio ۲۰۰۷. ویژگی‌های جدید شامل حمایت از ساخت MS و ارتقای کتابخانه مؤلفه دیداری برای Windows vista است. CodeGear هم چنین DBX۴ را به عنوان نسخهٔ بعدی dbExpress معرفی کرد. برای اولین بار دلفی می‌توانست از اینترنت Download و با اجازه‌نامه فعال سازی شود. نسخه‌های بین‌المللی از دلفی ۲۰۰۷ همزمان به انگلیسی، فرانسوی، آلمانی و ژاپنی پیاده‌سازی می‌شد. RAD Studio ۲۰۰۷ که شامل .NET وC++Builder development می‌شود،
۲۰۰۷ که شامل .NET وC++Builder development می‌شود، در ۵ سپتامبر ۲۰۰۷ منتشر شد. آخرین نسخه، دلفی ۲۰۰۹(با نام کد شدهٔ Tiburón)، خیلی از ویژگی‌های جدید مثل کار دوبارهٔ به صورت کامل روی VCL و RTL برای حمایت کامل از Unicode، و روش‌های کلی با نام مستعار (برای هردویWin32 native و .Net development) را اضافه کرد. Borland, CodeGear را به Embarcadero Technologies در سال ۲۰۰۸ فروخت. Embarcadero امتیاز CodeGear را که توسط Borland تولید شده بود، برای شناسایی ابزار و راهنمایی‌های پایگاه داده‌ای آن، نگهداری می‌کند؛ و
راهنمایی‌های پایگاه داده‌ای آن، نگهداری می‌کند؛ و Embarcadero تصمیم گرفته‌است ابزار پایگاه دادهٔ آن را تحت DatabaseGear moniker شناسایی کند. نام. دلفی در اصل پروژهٔ تحقیقاتی محرمانه‌ای بود در Borland که منجر به محصولی شد که AppBuilder نامیده می‌شد. کمی قبل از اولین انتشار AppBuilder از طرف Borland, Novell AppBuilder منتشر شد، که Borland را در نیاز اسمی جدید رها کرد. بعد از تلاش‌های بسیار بالاخره نام دلفی غلبه کرد. توسعه دهنده Danny Thorpe که نام دلفی را با مرجع Oracle at Delphi انتخاب کرد. یکی از اهداف
با مرجع Oracle at Delphi انتخاب کرد. یکی از اهداف اصلی دلفی تأمین اتصال پایگاه داده با برنامه‌نویس به عنوان یک ویژگی کلیدی بود و بستهٔ پایگاه داده‌ای رایج در آن زمان Oracle database بود؛ بنابراین «اگر می‌خواهید با Oracle صحبت کنید، به دلفی بروید. (البته این یک ضرب‌المثل قدیمی یونانی است)» همین‌طور که توسعه ادامه یافت، نام بر آن‌ها رشد کرد و حمایت Borland نیزاز نام دلفی بیشتر شد. دورهٔ بعدی تولیدکنندگان Anders Hejlsberg، معمار اصلی دلفی و Turbo pascal، در سال ۱۹۹۶ تحت استخدام Microsoft درآمد، جایی که او یک
۱۹۹۶ تحت استخدام Microsoft درآمد، جایی که او یک مهرهٔ کلیدی بود در تولید قالب‌های گرافیکی Microsoft.NET و منجر به طراحی هر دوی Java با گرایش J++ و C# شد. Chuck Jazdzewski، کسیکه دانشمند رئیس و معمار در تکنولوژی دلفی Borland بود، در سال ۲۰۰۴ Borland را ترک کرد و به Microsoft پیوست. Danny Thorpe، دانشمند رئیس در آن موقع در ۲۰۰۵ به Google پیوست و در ۲۰۰۶ به Microsoft پیوست. نرم‌افزار مربوط محصولاتی که توسط دلفی تولید شده‌است. در میان خیلی از محصولاتی که توسط دلفی تولید شده‌است داریم: Skype (VoIP and IM), QIP
تولید شده‌است داریم: Skype (VoIP and IM), QIP (IM), The Bat! (e-mail کاربر)، PopTray (e-mail چک کننده)، FeedDemon (feed viewer), XanaNews, Xnews (خوانندهٔ اخبار گروهی) Dev-C++ (IDE), DUnit (unit testing), Help &amp; Manual (help system authoring), Inno Setup (installer engine) Macromedia HomeSite (HTML ویرایش‌گر)، TopStyle Pro (CSS ویرایش‌گر)، Macromedia Captivate (screencast) Spybot - Search &amp; Destroy, Ad-Aware (anti-spyware), jv16 PowerTools, Total Commander (file manager), Copernic Desktop Search,
(file manager), Copernic Desktop Search, PowerArchiver, Beyond Compare(file comparison)], WordWeb (dictionary/thesaurus همزادها و جایگزین‌ها. خیلی از کامپایلرهای Pascal شیءگرا وجود دارند که در اصل بوسیلهٔ Borland توسعه یافته‌اند، و همچنین محصولاتی که قالب‌های گرافیکی را مثل دلفی کاملاً فراهم کردند. بعضی از آن‌ها کارهایی را انجام می‌دهند که دلفی نمی‌تواند، مثل حمایت از سیستم‌عامل‌های مختلف، و اجازه برای امتحان کد منبع کامپایلر. آن‌ها بعضی مواقع عادت دارند بخش‌های server از برنامه‌های دلفی را در
دارند بخش‌های server از برنامه‌های دلفی را در سیستم‌عامل‌هایی به غیر سیستم‌عامل‌های Microsoft اجرا کنند. اکثراً حمایت Linux را در سال‌های قبل از Kylix داشتند. تبصره. ۱. ^ «A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006". About.com. Retrieved on ۲۰۰۷-۱۲-۱۹. ۲. ^ «Delphi and C++Builder Roadmap". CodeGear.com. Retrieved on ۲۰۰۸-۰۹-۲۹. ۳. ^ David Intersimone. "Press Release: Borland forming CodeGear to focus exclusively on developer productivity". Retrieved on ۲۰۰۶-۱۱-۲۸.
developer productivity". Retrieved on ۲۰۰۶-۱۱-۲۸. ۴. ^ David Intersimone. "Borland History: Why the name"Delphi?"". Retrieved on ۲۰۰۶-۱۱-۲۸. ۵. ^ «Borland Brain Drain Continues". eWeek (2004-02-02). Retrieved on ۲۰۰۷-۱۲-۱۹. ۶. ^ «Into the Maelstrom» (۲۰۰۶-۰۴-۱۴). Retrieved on ۲۰۰۷-۱۲-۱۹.
AWK یک زبان برنامه‌نویسی مفسری است که برای پردازش متن طراحی شده و عموماً به عنوان ابزاری برای گزارش‌گیری و استخراج داده‌ها مورد استفاده قرار می‌گیرد. این زبان برنامه‌نویسی، تبدیل به یکی از ویژگی‌های استاندارد در سیستم‌عامل‌های خانواده یونیکس شده‌است. زبان AWK در دهه ۱۹۷۰ در "آزمایش‌گاه‌های بل طراحی شد. نام این زبان از نام خانوادگی طراحان آن Alfred Aho, Peter Weinberger, و Brian Kernighan گرفته شده‌است. سرواژه AWK در زبان انگلیسی، عمدتاً مشابه نام پرنده auk تلفظ می‌شود، که تصویری از این پرنده بر روی جلد کتاب
می‌شود، که تصویری از این پرنده بر روی جلد کتاب زبان برنامه‌نویسی AWK" استفاده شده‌است، هرچند که AWK به صورت مجزا و حرف‌به‌حرف هم تلفظ می‌شود. زبان برنامه‌نویسی AWK یک زبان اسکریپتی داده‌محور است؛ این زبان عموماً از یکسری دوجفتی "الگو" (pattern) و "عمل" (action) تشکیل می‌شود که قرار است بر روی یکسری داده‌های متنی اجرا شود؛ که این داده‌های متنی یا از فایل‌های عادی خوانده می‌شوند، یا اینکه از طریق خط لوله بدست می‌آیند. به کمک AWK می‌توان اطلاعاتی را از این داده‌های متنی استخراج کرد یا اینکه گزارش‌هایی
این داده‌های متنی استخراج کرد یا اینکه گزارش‌هایی قالب‌بندی‌شده از آن‌ها تهیه کرد. این زبان به‌طور گسترده‌ای از نوع‌داده string (رشته)، آرایه‌های انجمنی (آرایه‌ای که با کلیدرشته اندیس‌گزاری می‌شود) و عبارات باقاعده استفاده می‌کند. در حالی که دامنه استفاده محدودی برای زبان AWK در نظر گرفته شده، و این زبان خصوصاً برای نوشتن برنامه‌های یک‌خطی طراحی شده، AWK یک زبان Turing-complete است و حتی کاربران اولیه AWK در آزمایش‌گاه‌های بل نیز برنامه‌های بزرگ با ساختاربندی خوب به زبان AWK می‌نوشتند. تاریخچه. زبان
خوب به زبان AWK می‌نوشتند. تاریخچه. زبان برنامه‌نویسی AWK در ابتدا در سال ۱۹۷۷ توسط Alfred Aho, Peter Weinberger, و Brian Kernighan ساخته شد. نام این زبان از حرف اول نام خانوادگی تولیدکنندگانش گرفته شده‌است. امروزه AWK یکی از ابزارهای الزامی در استاندارد Single UNIX Specification است و استاندارد Linux Standard Base هم آن را الزامی کرده‌است. زبان AWK در طی سال‌های ۱۹۸۵–۱۹۸۸ به‌طور گسترده‌ای گسترش یافت و نتیجهٔ این گسترش پیاده‌سازی GNU AWK بود که توسط Paul Rubin, Jay Fenlason, و Richard Stallman نوشته‌شده
Rubin, Jay Fenlason, و Richard Stallman نوشته‌شده بود و در سال ۱۹۸۸ منتشر شد. کدهای منبع nawk که توسط برایان کرنیگان نوشته شده بود، در ابتدا در سال ۱۹۹۳ به صورت غیرعمومی و سپس در اواخر دهه ۱۹۹۰ به صورت عمومی منتشر شد. بسیاری از سیستم‌های BSD برای پرهیز از مجوز GPL از این پیاده‌سازی استفاده می‌کنند. زبان AWK پس از دستور sed (سال ۱۹۷۴) درست شد. هر دو این ابزارها برای پردازش متن درست شده‌اند. هر دو آن‌ها پارادیم داده‌محور و خط‌گرا دارند و عموماً برای نوشتن برنامه‌های یک‌خطی مناسب هستند. قدرت و ایجازی که
برنامه‌های یک‌خطی مناسب هستند. قدرت و ایجازی که برنامه‌های AWK داشتند، خصوصاً قدرت آن در اداره‌کردن عبارات باقاعده و عدم نیاز به تعریف صریح متغیرها -- که نوشتن برنامه‌های یک‌خطی را تسهیل می‌کرد-- در کنار محدودیت‌هایی که AWK در آن زمان‌ها داشت، از جمله مهم‌ترین دلایلی بودند که الهام‌دهندهٔ لری وال برای ساخت زبان برنامه‌نویسی پرل (۱۹۸۷) شدند. در دهه ۱۹۹۰، پرل بسیار محبوب شد، و در زمره زبان‌های پردازش متن، از جمله رقیبان AWK بود. ساختار برنامه‌های AWK. یک برنامهٔ AWK از یکسری دوجفتی الگو-عمل تشکیل می‌شود که
AWK از یکسری دوجفتی الگو-عمل تشکیل می‌شود که به این صورت نوشته می‌شوند. که در کد بالا، بخش condition یک عبارت است و بخش action هم دنباله‌ای از دستورها است. فایل ورودی به یکسری رکورد شکسته می‌شود. به‌طور پیشفرض، رکوردها با استفاده از کاراکتر newline از هم مجزا می‌شوند، بنابراین، فایل ورودی بر اساس خطوط موجود در آن تقسیم‌بندی می‌شود. برنامه به نوبت هر عبارتی که در بخش condition نوشته شده را بر روی رکورد فعلی آزمایش می‌کند، در صورتی که هر کدام از آن عبارات با رکورد فعلی تطابق داشت، بخش action مربوط به آن
با رکورد فعلی تطابق داشت، بخش action مربوط به آن عبارت اجرا می‌شود. یکی از بخش‌های condition یا action را می‌توان ننوشت، اما حداقل یکی از آن‌ها باید نوشته شود. رفتار پیشفرض برای conditionای که نوشته نشده این است که فرض می‌شود آن condition با تمام خطوط تطابق دارد. در صورتی که از نوشتن بخش action صرف نظر شود، به صورت پیشفرض این‌طور تصور می‌شود که قصد برنامه‌نویس چاپ کردن رکورد فعلی بوده‌است. بخش condition علاوه بر اینکه می‌تواند شامل عبارت‌های ساده‌ای همچون foo == ۱ یا /^foo/ باشد، می‌تواند کلمات مخصوصی
foo == ۱ یا /^foo/ باشد، می‌تواند کلمات مخصوصی همچون BEGIN یا END هم باشد. در مورد BEGIN، بخش action متناظر پیش از خوانده‌شدن اولین رکورد اجرا می‌شود، و در مورد END، بخش action متناظر، پس از خوانده‌شدن آخرین رکورد اجرا می‌شود. بخش condition همچنین می‌تواند به صورت pattern1, pattern2 باشد که در این صورت، بخش action متناظر بر روی محدوده‌ای از خطوط اجرا می‌شود که شروع این محدوده اولین خطی است که حاوی pattern1 است و پایان این محدوده هم خطی است که حاوی pattern2 است. عبارات AWK علاوه بر اینکه می‌توانند حاوی
است. عبارات AWK علاوه بر اینکه می‌توانند حاوی عملگرهای منطقی و محاسباتی عادی باشند، می‌توانند حاوی عملگر تیلد tilde هم باشند (~) که این عملگر، یک عبارت باقاعده را بر روی یک رشته آزمایش می‌کند. به جای استفاده از این عملگر همچنین می‌توان از سینتکس /regexp/ استفاده کرد. این سینتکس از sed گرفته شده‌است که sed هم آن را از ویرایشگر ed گرفته‌است که در این ویرایشگر از کاراکتر / برای جستجو استفاده می‌شود.
زبان اَسمبلی یا همگذاری یک زبان برنامه‌نویسی سطح پایین برای رایانه‌ها و دیگر دستگاه‌های برنامه‌پذیر است که رابطهٔ یک-به-یک با دستورالعمل‌های زبان ماشین معماری رایانه دارد. هر زبان اسمبلی مختص به یک معماری رایانه خاص است، برخلاف بیشتر زبان‌های برنامه‌نویسی سطح بالا که با معماری‌های مختلف سازگار هستند ولی برای اجرا شدن به مفسر و مترجم نیاز دارند. زبان اسمبلی با استفاده از یک برنامهٔ جانبی به نام اسمبلر یا همگذار، به کد ماشین قابل اجرا تبدیل می‌شود؛ به این فرایند تبدیل، اسمبل کردن گفته می‌شود. زبان اسمبلی از
تبدیل، اسمبل کردن گفته می‌شود. زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح-پایین یا آپ‌کد استفاده می‌کند. بعضی آپ‌کدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند و بیشتر اسمبلرها می‌توانند لیبل‌ها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرس‌های حافظه و ثابت‌های عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشت‌دستوری را شامل می‌شوند که این امکان را به وجود می‌آورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها
خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزم‌های اضافی برای تسهیل فرایند توسعهٔ برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکال‌زدایی ارائه کرده‌اند. اسمبلر. برنامه‌ای است که با تبدیل یادیارهای دستوری اسمبلی به آپ‌کدها و جایگزینی شناسه‌ها با آدرس‌های حافظه، کد هدف را به وجود می‌آورد. استفاده از ارجاعات نمادی از ویژگی‌های کلیدی اسمبلرها است که از محاسبات خسته‌کننده و به‌روزرسانی‌های دستی آدرس‌ها بعد از تغییر کد برنامه توسط برنامه‌نویس جلوگیری می‌کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره
می‌کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره می‌برند که این امکان را به وجود می‌آورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمت‌های مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالی‌های دستوری کوتاه رایج در خلال متن برنامه به جای فراخوانی رویه‌ها استفاده می‌شود. اسمبلرها از دههٔ ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آنها بسیار راحت‌تر از نوشتن مترجم‌ها برای زبان‌های برنامه‌نویسی سطح بالا است به طوری که هر
زبان‌های برنامه‌نویسی سطح بالا است به طوری که هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ‌کد زبان ماشین تبدیل می‌شود. اسمبلرهای جدید، به‌طور خاص برای معماری‌های ریسک، مانند اسپارک و پاور، همانند معماری ایکس۸۶ و ایکس۸۶–۶۴، با بهینه‌سازی زمان‌بندی دستورالعمل‌ها باعث استفادهٔ کارآمد از خط لولهٔ واحد پردازش مرکزی می‌شوند. برخی از رایج‌ترین اسمبلرهای معماری ایکس۸۶ عبارتند از: تعداد گذرها. دو نوع اسمبلر بر اساس تعداد گذرها از روی کد منبع برای تولید برنامهٔ قابل اجرا وجود دارد: هدف اصلی در
تولید برنامهٔ قابل اجرا وجود دارد: هدف اصلی در استفاده از اسمبلرهای یکبار-گذر، سرعت اسمبل کردن بود زیرا در گذر دوم به برگرداندن و بازخوانی نوار یا کارت پانچ، که در گذشته برای ذخیره‌سازی کدها استفاده می‌شدند، نیاز بود. این مشکل بعدها با وجود کامپیوترهای جدید برطرف شد. مزیت اسمبلرهای چندبار-گذر این است که در نبود خطاها در کد آبجکت، فرایند پیونددهی سریع‌تر انجام می‌شود. اسمبلرهای سطح-بالا. اسمبلرهای پیچیده‌تر سطح-بالا انتزاع‌های زبانی زیر را فراهم می‌کنند: زبان اسمبلی. برنامه‌ای که به زبان اسمبلی نوشته می‌شود
اسمبلی. برنامه‌ای که به زبان اسمبلی نوشته می‌شود شامل مجموعه‌ای از دستورالعمل‌های پردازنده (یادیارها)، شبه-دستورها ، کامنت‌ها و داده‌ها است. دستورهای زبان اسمبلی معمولاً از یک آپ‌کد و سپس فهرستی از داده‌ها، آرگومان‌ها یا پارامترها تشکیل شده‌اند و توسط اسمبلر به دستورهای زبان ماشین ترجمه و به حافظه منتقل می‌شوند تا اجرا شوند. برای مثال، دستور زیر به پردازندهٔ معماری ایکس۸۶/آی‌ای-۳۲ می‌گوید که یک مقدار ثابت ۸ بیتی را به یک ثبات منتقل کند. کد باینری این دستور codice_1 است که پس از آن یک شناسهٔ ۳ بیتی می‌آید
codice_1 است که پس از آن یک شناسهٔ ۳ بیتی می‌آید تا مشخص کند کدام ثبات باید استفاده شود. codice_2 شناسهٔ ثبات "AL" است، بنابراین کد ماشین زیر دادهٔ codice_3 را در ثبات "AL" بار می‌کند: codice_4 این کد باینری را می‌توان با تبدیل به مبنای ۱۶ کمی خواناتر کرد: codice_5 در اینجا codice_6 به معنی انتقال مقدار بعدی به ثبات "AL" است و codice_7 نمایش مبنای ۱۶ مقدار باینری codice_3 است که باید منتقل شود و در مبنای ده برابر ۹۷ است. زبان اسمبلی اینتل یادیار codice_9 را (مخفف "Move") برای دستورهای این چنینی فراهم کرده،
(مخفف "Move") برای دستورهای این چنینی فراهم کرده، به‌طوری‌که کد ماشین بالا در زبان اسمبلی به شکل زیر نوشته می‌شود که خواندن و به خاطر سپردن آن راحت‌تر است (آنچه بعد از نقطه-ویرگول (;) آمده توضیح است): MOV AL, 61h ; Load AL with 97 decimal (61 hex) برخی زبان‌های اسمبلی ممکن است از دستورهای مشابه codice_9 برای انتقال، کپی و بارگذاری داده‌ها، چه ثبات‌ها، چه مقادیر عددی و چه متغیرهای حافظه استفاده کنند و برخی دیگر از اسمبلرها ممکن از دستورهای متفاوتی استفاده کنند؛ مثلاً codice_11 برای انتقال حافظه به ثبات،
کنند؛ مثلاً codice_11 برای انتقال حافظه به ثبات، codice_12 برای انتقال از ثبات به حافظه، codice_13 برای انتقال از ثبات به ثبات و codice_14 برای انتقال ثابت‌های عددی به ثبات و غیره. آپ‌کد اینتل codice_15 یک مقدار ۸ بیتی را به ثبات "AL" کپی می‌کند، در حالیکه codice_16 آن را به "CL" منتقل می‌کند و codice_17 همین کار را با "DL" انجام می‌دهد. مثال‌های اسمبلی آن به صورت زیر است: MOV AL, 1h ; Load AL with immediate value 1 MOV CL, 2h ; Load CL with immediate value 2 MOV DL, 3h ; Load DL with immediate value 3
2 MOV DL, 3h ; Load DL with immediate value 3 دستور codice_9 می‌تواند مانند مثال زیر به اشکال پیچیده‌تری نیز استفاده شود: MOV EAX, [EBX] ; Move the 4 bytes in memory at the address contained in EBX into EAX MOV [ESI+EAX], CL ; Move the contents of CL into the byte at address ESI+EAX در هر حالت، دستور codice_9 مستقیماً توسط اسمبلر به یک آپ‌کد در بازهٔ 88-8E یا A0-A3 یا B0-B8 یا C6 یا C7 ترجمه می‌شود و برنامه‌نویس مجبور به دانستن یا حفظ کردن آن‌ها نیست. تبدیل زبان اسمبلی به زبان ماشین وظیفهٔ اسمبلر است و عکس
زبان اسمبلی به زبان ماشین وظیفهٔ اسمبلر است و عکس این عمل تا حدی توسط دیس‌اسمبلر امکان‌پذیر است. برخلاف زبان‌های برنامه‌نویسی سطح بالا، ارتباط یک به یکی بین دستورهای زبان اسمبلی و دستورالعمل‌های زبان ماشین وجود دارد. با این حال، در برخی موارد، یک اسمبلر ممکن است شبه‌دستورهایی را به کار بگیرد (اساساً ماکروها) که به چند دستورالعمل زبان ماشین تبدیل می‌شود تا پاسخگوی نیازهای رایج باشد. هر معماری کامپیوتر زبان ماشین مختص به خود را داراست. کامپیوترها در تعداد و نوع دستورهای قابل استفاده، تعداد و اندازهٔ ثبات‌ها
دستورهای قابل استفاده، تعداد و اندازهٔ ثبات‌ها و نحوهٔ انبارش داده‌ها با یکدیگر تفاوت دارند. با اینکه کامپیوترهای همه منظوره اساساً قادر به انجام کارکردهای مشابه هستند ولی این کار را با روش‌های گوناگونی انجام می‌دهند؛ بنابراین زبان اسمبلی مربوط به آن‌ها نیز این تفاوت‌ها را منعکس می‌کند. مجموعه‌های متعددی از یادیارها یا دستورهای زبان اسمبلی ممکن است برای یک مجموعه دستورالعمل واحد وجود داشته باشد، که به‌طور معمول در برنامه‌های اسمبلی مختلفی نمونه‌سازی می‌شوند. در این موارد، رایج‌ترین آن‌ها معمولاً نمونه‌ای
در این موارد، رایج‌ترین آن‌ها معمولاً نمونه‌ای است که توسط کارخانهٔ سازنده عرضه می‌شود یا در مستندات آن‌ها استفاده شده‌است. کاربرد زبان اسمبلی. چشم‌انداز تاریخی. در زمانی که کامپیوتر با قابلیت ذخیره کردن برنامه معرفی شد، زبان‌های اسمبلی در دسترس نبودند. کثلین بوث مسئول اختراع زبان اسمبلی می‌باشد؛ که بر پایهٔ کار نظری اش که در سال ۱۹۴۷ آغاز کرد، می‌باشد. همزمان که با همفکری اندرو بوث (که در آینده همسر او شد) و با ریاضی‌دانی به نام جان فون نویمان و فیزیکدانی به نام هرمن گلداستاین در مؤسسه مطالعه‌های پیشرفته،
نام هرمن گلداستاین در مؤسسه مطالعه‌های پیشرفته، بر روی ARC2 در دانشگاه لندن، بیرکبک کار می‌کرد. در اواخر ۱۹۴۸، محاسبه کننده ی خودکار مخزن تأخیر الکترونیکی (EDSAC) یک اسمبلر (به نام دستورهای اولیه) داشت که با برنامهٔ خودراه انداز آن دستگاه یکپارچه شده بود. از حافظه ای تک حرفی استفاده می‌کرد که به وسیلهٔ دیوید ویلر توسعه یافت. کسی که به عنوان سازندهٔ اولین اسمبلر، مسئول جامعهٔ کامپیوتر IEEE می‌باشد. گزارش‌های دربارهٔ EDSAC، اسمبلی را برای فرایند ترکیب زمینه‌ها برای رسیدن به یک کلمهٔ راهنما معرفی کردند. SOAP
برای رسیدن به یک کلمهٔ راهنما معرفی کردند. SOAP (برنامهٔ اسمبلی بهینهٔ نمادین) یک زبان اسمبلی برای کامپیوتر IBM 650 بود که به وسیلهٔ استن پلی در ۱۹۵۵ نوشته شد. زبان اسمبلی تعداد زیادی از نیازهای مستعد خطا، خسته کننده و وقت گیر برنامه‌نویسی نسل اول با اولین کامپیوترها را ازبین برد؛ و برنامه نویسان را از موارد خسته کننده ای از جمله به خاطر سپردن کدهای عددی و محاسبه کردن آدرس‌ها آزاد کرد. آن‌ها یک بار به‌طور گسترده برای همهٔ انواع برنامه‌نویسی استفاده شدند. با این حال در دههٔ ۱۹۸۰ (در دههٔ ۱۹۹۰ برای
شدند. با این حال در دههٔ ۱۹۸۰ (در دههٔ ۱۹۹۰ برای ریزرایانه‌ها) در جستجو برای بهره‌وری برنامه‌نویسی که اثبات شده‌است، استفاده از آنها به مقدار زیادی با زبان‌های سطح بالا جایگزین شد. امروزه زبان اسمبلی هنوز برای دست کاری دستی سخت‌افزار، دسترسی به دستورالعمل‌های مخصوص پردازنده، یا برای آدرس دهی موضوع‌های ساختاری بحرانی استفاده می‌شود. نمونه‌های استفاده عبارت اند از گرداننده‌های دستگاه، سیستم‌های نهفتهٔ سطح پایین، و سیستم‌های بی درنگ. از دید تاریخی، برنامه‌های متعددی وجود دارند که کاملاً به زبان اسمبلی نوشته
متعددی وجود دارند که کاملاً به زبان اسمبلی نوشته شده‌اند. باروز ام‌سی‌پی(۱۹۶۱)(Burroughs MCP) اولین کامپیوتری بود که سیستم عملیاتی به‌طور کامل به زبان اسمبلی توسعه نیافته بود؛ بلکه در زبان مشکل محور سیستم‌های اجرایی (ESPOL) ـ که یک گویش از الگول (زبان الگوریتمی) می‌باشد ـ نوشته شده بود. همچنین بسیاری از کاربردهای تجاری به زبان اسمبلی نوشته شدند. به انضمام مقدار زیادی نرم‌افزارهای رایانه‌های بزرگ آی‌بی‌ام که نوشته شده به وسیلهٔ شرکت‌های بزرگ بود. کوبول، فورترن و بعضی از PL/Iها سرانجام جایگزین مقدار زیادی از
و بعضی از PL/Iها سرانجام جایگزین مقدار زیادی از این کار شدند. اگرچه تعدادی از سازمان‌های بزرگ در دههٔ ۱۹۹۰، کاربرد زیرساخت‌هایی با زبان‌های اسمبلی را به خوبی حفظ کردند. بیشتر ریزرایانه‌های اولیه بر زبان اسمبلی از نوع کدگذاری دستی تکیه کردند. به انضمام بیشتر سیستم‌های عملیاتی و برنامه‌های بزرگ. این بخاطر این بود که این سیستم‌ها محدودیت‌های شدید منابع، ساختارهای حافظه و نمایش ویژهٔ تحمیلی و سرویس‌های سیستمی مشکل دار و محدود شده آماده شده داشتند. احتمالاً فقدان کامپایلرهای با زبان سطح بالای درجه یک مناسب برای
کامپایلرهای با زبان سطح بالای درجه یک مناسب برای استفاده ریزرایانه چیز مهمتری بود. یک عامل روانشناسانه نیز احتمالاً نقش بازی می‌کرد: اولین نسل برنامه نویسان ریزرایانه‌ها که باقی ماندند افراد دیوانهٔ بازی با نگرشی خاص بودند. در مفهومی تجاری تر، حداقل اندازه، حداقل میزان پردازش مورد نیاز، سرعت بهتر و قابل اعتماد بودن از بزرگ‌ترین دلایل برای استفاده از زبان اسمبلی بودند. سیستم عملیاتی IBM PC DOS، کامپایلر توربو پاسکال و برنامه‌های اولیه مانند برنامهٔ صفحه گسترده ی لوتوس ۱-۲-۳، مثال‌های نمونهٔ برنامه‌های بزرگ
ی لوتوس ۱-۲-۳، مثال‌های نمونهٔ برنامه‌های بزرگ با زبان اسمبلی در این زمان می‌باشند. زبان اسمبلی در گذشته بهترین نمایش را در سگا ساترن - برای توسعه و برنامه‌نویسی بازی‌های این کنسول که به‌طور آشکار چالش‌برانگیز بود - داشت. بازی ان بی ای جم که یک بازی مخصوص دستگاه‌های بازی ویدئویی بود، مثال دیگری می‌باشد. زبان اسمبلی برای یک مدت طولانی زبان اصلی توسعه برای بسیاری از بازی‌های کامپیوتری در دهه‌های ۱۹۸۰ و ۱۹۹۰ بود (از جمله ام‌اس‌ایکس، سینکلر زد ایکس اسپکتروم، کمودور ۶۴، کومودور آمیگا و آتاری اس‌تی). این در بخش
۶۴، کومودور آمیگا و آتاری اس‌تی). این در بخش بزرگی بود زیرا گویش پایهٔ تفسیری در این سیستم‌ها با عث سرعت اجرایی ناکافی می‌شد همچنان که باعث قابلیت‌های ناکافی برای بدست آوردن همهٔ مزیت‌های سخت‌افزار موجود در این سیستم‌ها می‌شد. بعضی از سیستم‌ها حتی یک محیط یکپارچه توسعه نرم‌افزار (IDE) دارند که دارای قابلیت فوق پیشرفته اشکال زدایی و قابلیت‌های ماکروها هستند. بعضی از کامپایلرهای در دسترس برای ریدیوشک تی آر اس-۸۰ و جانشینانش، قابلیت ترکیب برخط منبع اسمبلی با جمله‌های سطح بالای برنامه را داشتند. پس از گردآوری،