<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2001%3A16A2%3AC000%3A9632%3A99B7%3A6A85%3A62AC%3AABFD</id>
	<title>أرابيكا - مساهمات المستخدم [ar]</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=2001%3A16A2%3AC000%3A9632%3A99B7%3A6A85%3A62AC%3AABFD"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/%D8%AE%D8%A7%D8%B5:%D9%85%D8%B3%D8%A7%D9%87%D9%85%D8%A7%D8%AA/2001:16A2:C000:9632:99B7:6A85:62AC:ABFD"/>
	<updated>2026-06-11T14:45:31Z</updated>
	<subtitle>مساهمات المستخدم</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D8%A8%D8%B1%D9%85%D8%AC%D8%A9&amp;diff=1279277</id>
		<title>برمجة</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D8%A8%D8%B1%D9%85%D8%AC%D8%A9&amp;diff=1279277"/>
		<updated>2023-12-05T14:55:07Z</updated>

		<summary type="html">&lt;p&gt;2001:16A2:C000:9632:99B7:6A85:62AC:ABFD: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{بطاقة تخصص}}&lt;br /&gt;
{{مقالة مسموعة|programming.ogg|التاريخ=29 مارس 2009}}&lt;br /&gt;
&#039;&#039;&#039;البرمجة&#039;&#039;&#039; هي عملية كتابة تعليمات وتوجيه أوامر لجهاز [[حاسوب|الحاسوب]] أو أي جهاز آخر مثل قارئات [[دي في دي|أقراص الدي في دي]] أو أجهزة استقبال الصوت والصورة في نظم الاتصالات الحديثة، لتوجيه هذا الجهاز وإعلامه بكيفية التعامل مع [[بيانات|البيانات]] أو كيفية تنفيذ سلسلة من الأعمال المطلوبة تسمى [[خوارزمية]].&lt;br /&gt;
&lt;br /&gt;
وتتبع عملية &#039;&#039;&#039;البرمجة&#039;&#039;&#039; قواعد خاصة باللغة التي اختارها [[مبرمج|المبرمج]]. وكل [[لغة برمجة]] لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع [[برنامج (توضيح)|البرامج]] وحسب المهمة المطلوبة من هذا [[برنامج (توضيح)|البرنامج]]. كما أن [[لغة برمجة|اللغات البرمجية]] &amp;lt;ref&amp;gt;{{استشهاد ويب|مؤلف=Shaun Bebbington|سنة=2014|مسار=http://yearofcodes.tumblr.com/what-is-coding|عنوان=What is coding|تاريخ الوصول=2014-03-03|مسار أرشيف=https://web.archive.org/web/20171218182342/http://yearofcodes.tumblr.com/what-is-coding|تاريخ أرشيف=18 ديسمبر 2017}}&amp;lt;/ref&amp;gt; أيضا لها خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع [[حاسوب|الحاسوب]]. وتتطور [[لغة برمجة|لغات البرمجة]] (السوفتوير Software) بتطور عتاد الحاسوب المرئي (الهاردوير Hardware). فعندما ابتكر [[حاسوب|الحاسوب]] في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات) - وكان [[حاسوب|الكمبيوتر]] يعمل بأعداد كبيرة من [[صمام مفرغ|الصمامات الإلكترونية]] - كانت [[لغة برمجة|لغة البرمجة]] معقدة هي الأخرى، حتى أنها كانت عبارة عن سلسلة من الأعداد لا يدخلها إلا الصفر (0) والواحد (1) وذلك لأن الحاسب يفهم حالتين فقط وجود التيار (1) أو عدم وجوده (0)، وكان ذلك صعبا على [[مبرمج|المبرمجين]]. ولكن بابتكار [[ترانزستور|الترانزيستور]] صغر حجم [[حاسوب|الحاسوب]] كثيرا وزادت إمكانياته، واستطاع المختصون في نفس الوقت أن يبتكروا لغات أسهل للاستخدام، وأصبحت [[لغة برمجة|لغات البرمجة]] مفهومة إلى حد بعيد للمختصين. ولا يزال التطوير والتسهيل جاريا وتسمى هذه اللغات سهلة التعامل بالنسبة للمبرمجين باللغات عالية المستوى.&amp;lt;ref&amp;gt;{{استشهاد ويب|مؤلف=Shaun Bebbington|سنة=2014|مسار=http://yearofcodes.tumblr.com/what-is-programming|عنوان=What is programming|تاريخ الوصول=2014-03-03|مسار أرشيف=https://web.archive.org/web/20171217104540/http://yearofcodes.tumblr.com/what-is-programming|تاريخ أرشيف=17 ديسمبر 2017}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;برمجة الحاسوب&#039;&#039;&#039;: هي عملية كتابة، اختبار، تصحيح للأخطاء وتطوير [[نص برمجي مصدري|للشيفرة المصدرية]] لبرنامج حاسوبي يقوم بها الإنسان، تهدف البرمجة إلى إنشاء [[أداة برمجة|برامج]] تقوم بتطبيق وتنفيذ [[خوارزمية|خوارزميات]] لها سلوك معين بمعنى أن لها وظيفة محددة مسبقا ومتوقعة النتائج. تتم هذه العملية باستخدام إحدى [[لغة برمجة|لغات البرمجة]]. الهدف من البرمجة هو إنشاء برنامج حيث ينفذ عمليات محددة أو يظهر سلوك مطلوب محدد. بشكل عام البرمجة عملية تستلزم معرفة في مجالات مختلفة منها معرفة [[رياضيات|بالرياضيات]] والمن[[خوارزمية|خوارزميات]]رند عمتكم♥️🥺&lt;br /&gt;
&lt;br /&gt;
== التاريخ ==&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;50&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;كانت الأجهزة القابلة للبرمجة موجودة على الأقل منذ عام [[1206]] ميلادي عندما كانت [[الآلات المتحركة بذاتها|أوتوماتيكي]] [[الجزري|الجزاري]] قابلة للبرمجة عبر الأوتاد [[حدبة|والكامينات]] للعب مختلف الإيقاعات وأنماط الطبل؛ &amp;lt;ref&amp;gt;{{استشهاد بدورية محكمة|عنوان=The Museum of Music: A History of Mechanical Instruments|الأول=Charles B.|الأخير=Fowler|صحيفة=Music Educators Journal|المجلد=54|العدد=2|تاريخ=October 1967|صفحات=45–49|DOI=10.2307/3391092|jstor=3391092|postscript=&amp;lt;!--None--&amp;gt;}}&amp;lt;/ref&amp;gt; ويمكن لجهاز jacquard loom سنة [[1801]] موجات مختلفة عن طريق تغير برمجته - سلسلة من بطاقات [[Card stock|اللوح]] مع ثقوب مثقوبة فيها.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;56&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;ومع ذلك يرجع تاريخ أول برنامج كمبيوتر إلى عام 1843 عندما قامت عالمة الرياضيات [[آدا لوفلايس|أدا لوفليس]] بنشر [[خوارزمية]] لحساب سلسلة من [[عدد برنولي|أرقام برنولي]] يهدف إلى تنفيذها بواسطة [[تشارلز بابيج|تشارلز باباج]] عن طريق محرك [[محرك تحليلي|تحليلي]].&amp;lt;ref name=&amp;quot;IEEE&amp;quot;&amp;gt;{{استشهاد بدورية محكمة|الأخير=Fuegi|الأول=J.|الأخير2=Francis|الأول2=J.|عنوان=Lovelace &amp;amp; Babbage and the Creation of the 1843 &#039;notes&#039;|صحيفة=IEEE Annals of the History of Computing|المجلد=25|العدد=4|صفحات=16|سنة=2003|DOI=10.1109/MAHC.2003.1253887}}&amp;lt;/ref&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;64&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;في الثمانينات من القرن التاسع عشر اخترع [[هيرمان هولليريث|هيرمان هوليريث]] مفهوم تخزين &#039;&#039;البيانات&#039;&#039; في شكل قابل للقراءة آليا.&amp;lt;ref&amp;gt;{{استشهاد ويب&lt;br /&gt;
| مسار = http://www.columbia.edu/cu/computinghistory/hollerith.html&lt;br /&gt;
| عنوان = Columbia University Computing History – Herman Hollerith&lt;br /&gt;
| ناشر = Columbia.edu&lt;br /&gt;
| تاريخ الوصول = 2010-04-25&lt;br /&gt;
| مسار أرشيف = https://web.archive.org/web/20110513134315/http://www.columbia.edu/acis/history/hollerith.html&lt;br /&gt;
| تاريخ أرشيف = 13 مايو 2011&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;66&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;في وقت لاحق سمحت [[Plugboard|لوحة التحكم]] ([[Plugboard|لوحة]] التوصيل) التي تمت إضافتها إلى [[Plugboard|لوحة]] Type I Tabulator 1906 الخاصة به ببرمجة وظائف مختلفة وبحلول أواخر الأربعينيات من القرن الماضي تمت برمجة {{Ill-WD2|معدات تسجيل الوحدات|id=Q16927915}} مثل [[IBM 602]] و[[IBM 604]] بواسطة لوحات التحكم بطريقة مماثلة. كما كانت هي أول [[حاسوب|أجهزة الكمبيوتر الإلكترونية]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;72&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;وكذلك مع مفهوم [[حاسوب البرنامج المخزون|أجهزة الكمبيوتر المخزنة في البرنامج التي]] أدخلت في عام 1949 تم تخزين كل من البرامج والبيانات ومعالجتها بنفس الطريقة في [[ذاكرة حاسوب|ذاكرة الكمبيوتر]].&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;76&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;كانت [[لغة الآلة|شفرة الآلة]] هي لغة البرامج المبكرة وهي مكتوبة في [[مجموعة التعليمات]] الخاصة بالجهاز المحدد وغالبًا ما تكون بترميز [[نظام عد ثنائي|ثنائي]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;80&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;سرعان ما تم تطوير [[لغة التجميع|لغات التجميع]] والتي تتيح للمبرمج تحديد التعليمات بتنسيق نصي (على سبيل المثال ADD X TOTAL) مع اختصارات لكل رمز تشغيل وأسماء ذات معنى لتحديد العناوين.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;82&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;ومع ذلك نظرًا لأن لغة التجميع ليست أكثر من مجرد ترميز مختلف للغة الآلة فإن أي جهازين لهما {{Ill-WD2|مجموعات تعليمات|id=Q21074989}} مختلفة لهما أيضًا لغات تجميع مختلفة.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;86&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;جعلت [[لغة برمجة عالية المستوى|لغات البرمجة عاليات المستوى]] عملية تطوير البرنامج أكثر بساطة وقابلية للفهم.&amp;lt;/span&amp;gt; وتعتبر &amp;lt;span data-segmentid=&amp;quot;88&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;[[فورتران|لغة فورتران للبرمجة]] أول لغة عالية المستوى تستخدم على نطاق واسع للتنفيذ العملي عام 1957.&amp;lt;ref&amp;gt;{{استشهاد ويب&lt;br /&gt;
| مسار = https://www.msn.com/nl-nl/&lt;br /&gt;
| عنوان = Fortran creator John Backus dies - Tech and gadgets- msnbc.com&lt;br /&gt;
| تاريخ = 2007-03-20&lt;br /&gt;
| ناشر = MSNBC&lt;br /&gt;
| تاريخ الوصول = 2010-04-25&lt;br /&gt;
| الأخير = &lt;br /&gt;
| مسار أرشيف = https://web.archive.org/web/20121104083956/http://www.msnbc.msn.com/id/17704662/&lt;br /&gt;
| تاريخ أرشيف = 04 نوفمبر 2012&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; تم تطوير العديد من اللغات بعدها - على وجه الخصوص [[كوبول|لغة كوبول]] التي تهدف إلى معالجة البيانات التجارية ولغة [[ليسب]] لأبحاث الحاسوب.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;92&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;قديما كانت البرامج لا تزال تدخل باستخدام [[شريط مثقب|شريط ورقي مثقب]]&amp;lt;/span&amp;gt;&amp;lt;span data-segmentid=&amp;quot;94&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt; ثم &amp;lt;span data-segmentid=&amp;quot;96&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;بحلول أواخر الستينيات أصبحت [[تخزين البيانات|أجهزة تخزين البيانات وأجهزة]] [[طرفية حاسوب|الكمبيوتر]] غير مكلفة بما يكفي بحيث يمكن إنشاء البرامج عن طريق الكتابة مباشرة على أجهزة الحاسوب.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;99&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تم تطوير [[محرر نصوص|برامج تحرير النصوص]] التي تتيح إجراء تغييرات وتصحيحات بسهولة أكبر من البطاقات المثقوبة.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== لغات البرمجة ==&lt;br /&gt;
[[ملف:Listing1.jpg|تصغير|قائمة أوامر الكومودور C64]]&lt;br /&gt;
تجدر الإشارة هنا إلى التذكير بمعنى كلمة لغة وهي طريقة الاتصال والتفاهم بين الأشخاص أو لنقل في حالة الحاسوب الطريقة التي يفهم بها الحاسوب طلب الإنسان. لذلك نجد في حياتنا مجموعة مصطلحات وكلمات يختلف استخدامها حسب الحاجة. لغات البرمجة المختلفة تتمتع بهذه الخاصية أيضا. فهناك الكثير من اللغات البرمجية الموجودة وهذه اللغات تختلف من ناحية عملها وهدفها ولكن في النهاية كل هذه اللغات تترجم إلى لغة الآلة 0 و1.&lt;br /&gt;
&lt;br /&gt;
لذلك يجب على المبرمج أن يكون ملما ببعض لغات البرمجة وأن يعرف ما هي اللغة المناسبة لتطبيق هذا البرنامج.&lt;br /&gt;
لغة البرمجة الوحيدة التي يفهمها الحاسوب ويستطيع أن يتعامل معها هي [[لغة الآلة]] -machine language-. في البداية عمل المبرمجون على تحليل شيفرة الحاسوب –machine code- والتعامل معها بشكلها الجامد وغير المفهوم وهو (0,1). ولكن هذه العملية معقدة جدا ويصعب التعامل معها لعدم فهمها الواضح للبشر ولغموضها لذلك تم ابتكار لغات راقية تعمل كوسيط بين لغة الإنسان ولغة الآلة وهي [[لغة التجميع]] أسمبلي Assembly ثم تطورت للغات عالية المستوى مثل لغة ال[[سي (لغة برمجة)|سي]] ولغة [[بيسيك|البيسيك]]. ثم يتم تشغيل البرامج المكتوبة بهذه اللغات عن طريق أحد البرامج المتخصصة مثل [[مفسر (برمجة)|المترجم]] و[[مصرف (حوسبة)|المصرف]]. هذه البرامج تعمل على ترجمة أسطر لغة البرمجة إلى لغة الحاسوب مما يسهل على الحاسوب تنفيذ هذه الأوامر وإخراج نتائج التنفيذ الواضحة.&lt;br /&gt;
&lt;br /&gt;
== البرمجة الحديثة ==&lt;br /&gt;
=== متطلبات الجودة ===&lt;br /&gt;
لكل نهج في عملية تطوير البرامج، يجب على البرنامج النهائي أن يحقق خصائص جوهرية، مثل:&lt;br /&gt;
* [[هندسة الوثوقية#وثوقية البرمجيات|الاعتمادية]]: &amp;lt;span data-segmentid=&amp;quot;105&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;وهي كم عدد المرات التي تكون فيها نتائج البرنامج صحيحة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;107&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يعتمد هذا على الدقة النظرية للخوارزميات، وتقليل أخطاء البرمجة إلى الحد الأدنى مثل الأخطاء في إدارة الموارد (على سبيل المثال [[تجاوز سعة المخزن المؤقت|تجاوزات في مساحات التخزين المؤقة]]) والأخطاء المنطقية (مثل القسمة على الصفر).&amp;lt;/span&amp;gt;&lt;br /&gt;
* ال[[متانة (علوم الحاسب)|متانة]]: &amp;lt;span data-segmentid=&amp;quot;111&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;مدى توقع البرنامج للمشاكل بسبب الأخطاء (errors) (وليس الأخطاء (bugs)).&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;113&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يتضمن ذلك مواقف مثل البيانات غير الصحيحة أو غير المناسبة أو التالفة وعدم توفر الموارد اللازمة مثل الذاكرة وخدمات نظام التشغيل واتصالات الشبكة وخطأ المستخدم وانقطاع الطاقة غير المتوقع.&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[صحة (المنطق)|الصلاحية]]: &amp;lt;span data-segmentid=&amp;quot;114&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;[[الهندسة البشرية|بيئة العمل]] الخاصة بالبرنامج: السهولة التي يمكن بها استخدام البرنامج للغرض المقصود منه أو حتى في بعض الحالات لأغراض غير متوقعة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;118&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يتضمن ذلك مجموعة واسعة من العناصر النصية والرسوماتية وفي بعض الأحيان للأجهزة التي تعمل على تحسين وضوح حدس التماسك واكتمال واجهة مستخدم البرنامج.&amp;lt;/span&amp;gt;&lt;br /&gt;
* القابلية للنقل: &amp;lt;span data-segmentid=&amp;quot;119&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;مجموعة [[عتاد حاسوب|أجهزة الكمبيوتر]] وأنظمة [[نظام تشغيل|التشغيل]] الأساسية التي يمكنها [[مصرف (حوسبة)|تجميع]] / [[مفسر (برمجة)|تفسير]] الشفرة المصدرية للبرنامج وتشغيلها.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;125&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يعتمد هذا على الاختلافات في تسهيلات البرمجة التي توفرها الأنظمة الأساسية المختلفة بما في ذلك موارد الأجهزة ونظام التشغيل والسلوك المتوقع للجهاز ونظام التشغيل وتوافر مترجمين خاصين بالمنصة (وأحيانًا المكتبات) للغة الكود المصدري.&amp;lt;/span&amp;gt;&lt;br /&gt;
* القابلية للصيانة: &amp;lt;span data-segmentid=&amp;quot;126&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;سهولة تعديل البرنامج بواسطة مطوريه الحاليين أو المستقبليين من أجل إجراء تحسينات أو تخصيصات أو إصلاح [[خطأ برمجي|الأخطاء وثغرات]] [[نقطة ضعف (حوسبة)|الأمان]] أو تكييفها مع بيئات جديدة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;130&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;الممارسات الجيدة &amp;lt;ref&amp;gt;{{استشهاد ويب&lt;br /&gt;
| مسار = https://www.wisdomgeek.com/development/programming/tips-become-good-programmer/&lt;br /&gt;
| عنوان = Programming 101: Tips to become a good programmer – Wisdom Geek&lt;br /&gt;
| تاريخ = 2016-05-19&lt;br /&gt;
| موقع = Wisdom Geek&lt;br /&gt;
| لغة = en-US&lt;br /&gt;
| تاريخ الوصول = 2016-05-23&lt;br /&gt;
| مسار أرشيف = https://web.archive.org/web/20170814140924/https://www.wisdomgeek.com/programming/tips-become-good-programmer/&lt;br /&gt;
| تاريخ أرشيف = 14 أغسطس 2017&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; أثناء التطوير الأولي تحدث فرقًا في هذا الصدد.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;131&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;قد لا تكون هذه الجودة واضحة بشكل مباشر للمستخدم النهائي ولكنها قد تؤثر بشكل كبير على مصير البرنامج على المدى الطويل.&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[فعالية|الفعالية]]/[[هندسة الأداء|الأداء]]: &amp;lt;span data-segmentid=&amp;quot;132&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;قياس موارد النظام التي يستهلكها البرنامج (وقت المعالج مساحة الذاكرة الأجهزة البطيئة مثل الأقراص عرض النطاق الترددي للشبكة وحتى تفاعل المستخدم إلى حد ما): كلما كان ذلك أقل كان ذلك أفضل.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;135&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يتضمن ذلك أيضًا إدارة الموارد بعناية على سبيل المثال تنظيف [[ملف مؤقت|الملفات المؤقتة]] والتخلص من [[تسرب الذاكرة]].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== القدرة على قراءة الشيفرة المصدرية ===&lt;br /&gt;
في [[علم الحاسوب]]، القدرة على القراءة تشير إلى مدى السهولة التي يحتاجها قارئ بشري لفهم هدف، التحكم في تدفق، وعملية [[نص برمجي مصدري|الشيفرة المصدرية]]. تؤثر على جوانب الجودة المذكورة في الأعلى، بما في ذلك القابلية للنقل، الصلاحية، والأهم القابلية للصيانة.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;143&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تعتبر سهولة القراءة مهمة لأن المبرمجين يقضون معظم وقتهم في القراءة في محاولة لفهم وتعديل التعليمات البرمجية المصدر الموجودة بدلاً من كتابة شفرة مصدر جديدة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;144&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;غالبًا ما تؤدي الشفرة غير القابلة للقراءة إلى الأخطاء وعدم الكفاءة [[تكرار الكود|والرموز المكررة]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;146&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;وجدت دراسة &amp;lt;ref&amp;gt;{{استشهاد بدورية محكمة|DOI=10.1145/358589.358596|عنوان=Improving computer program readability to aid modification|صحيفة=Communications of the ACM|المجلد=25|العدد=8|صفحات=512–521|سنة=1982|الأخير=Elshoff|الأول=James L.|الأخير2=Marcotty|الأول2=Michael}}&amp;lt;/ref&amp;gt; أن بعض التحولات البسيطة في قابلية القراءة جعلت الشفرة أقصر وقللت بشكل كبير من الوقت لفهمها.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;147&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;اتباع [[أسلوب البرمجة|أسلوب برمجة]] ثابت يساعد غالبًا على القراءة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;149&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;ومع ذلك فإن القراءة أكثر من مجرد أسلوب البرمجة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;150&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;هناك العديد من العوامل التي لها علاقة قليلة أو لا علاقة لها بقدرة الكمبيوتر على ترجمة التعليمات البرمجية وتنفيذها بكفاءة تساهم في سهولة القراءة.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;150&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;&amp;lt;ref&amp;gt;{{استشهاد ويب&lt;br /&gt;
| مسار = http://docforge.com/wiki/Readability&lt;br /&gt;
| عنوان = Readability&lt;br /&gt;
| موقع = Docforge&lt;br /&gt;
| تاريخ الوصول = 2010-01-30&lt;br /&gt;
| الأخير = Multiple (wiki)&lt;br /&gt;
| وصلة مكسورة = dead&lt;br /&gt;
| تاريخ أرشيف = 29 أبريل 2020&lt;br /&gt;
| مسار أرشيف = https://web.archive.org/web/20200429211203/http://www.docforge.com/wiki/Readability&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;151&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;بعض هذه العوامل تشمل:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
من العوامل التي تؤثر على القدرة على القراءة:&lt;br /&gt;
* [[أسلوب إزاحة|أسلوب المسافة بادئة]]&lt;br /&gt;
* كتابة ال[[تعليق (برمجة)|تعليقات]]&lt;br /&gt;
* اتفاقيات التسمية&lt;br /&gt;
* التقسيم&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;161&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;غالبًا ما تتم معالجة جوانب {{Ill-WD2|العرض التقديمي|id=Q3511030}} الخاصة بهذا (مثل المسافات البادئة وفواصل الأسطر وتمييز اللون وما إلى ذلك) بواسطة [[محرر النصوص البرمجية|محرر التعليمات البرمجية المصدر]] لكن جانب المحتوى يعكس موهبة ومهارات المبرمج.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;164&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;كما تم تطوير [[لغة برمجة مرئية|لغات البرمجة المرئية]] المختلفة بهدف حل مخاوف قابلية القراءة من خلال تبني طرق غير تقليدية لهيكلة الشفرة وعرضها.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;166&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تهدف [[بيئة تطوير متكاملة|بيئات التطوير المتكاملة]] (IDEs) إلى دمج كل هذه المساعدات.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;168&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تقنيات مثل [[إعادة هيكلة الكود|refactoring Code]] يمكن أن تعزز قابلية القراءة بشكل كبير.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== التعقيد الخوارزمي ===&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;171&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يهتم المجال الأكاديمي والممارسة الهندسية لبرمجة الكمبيوتر إلى حد كبير باكتشاف وتنفيذ الخوارزميات الأكثر كفاءة لفئة معينة من المشكلات.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;172&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;لهذا الغرض يتم تصنيف الخوارزميات في &#039;&#039;أوامر&#039;&#039; باستخدام ما يسمى [[تمثيل O الكبرى|Big O notation]] والذي يعبر عن استخدام الموارد مثل وقت التنفيذ أو استهلاك الذاكرة من حيث حجم المدخلات.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;174&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;المبرمجين الخبراء على دراية بمجموعة متنوعة من الخوارزميات الراسخة والتعقيدات الخاصة بكل منها ويستخدمون هذه المعرفة لاختيار الخوارزميات الأكثر ملاءمة للظروف.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;span data-segmentid=&amp;quot;175&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;خوارزميات الشطرنج كمثال&amp;lt;/span&amp;gt; ====&lt;br /&gt;
كانت «برمجة كمبيوتر للعب الشطرنج» في سنة 1950 عبارة عن ورقة تحمل خوارزمية &amp;quot;minimax&amp;quot; والتي هي جزء من تاريخ الخوارزميات المعقدة.&lt;br /&gt;
&lt;br /&gt;
دورة &amp;quot;IBM Deep Blue&amp;quot; (شطرنج الحواسيب) هي جزء من البرنامج التعليمي لشعبة علوم الحاسوب بجامعة ستانفورد.&lt;br /&gt;
&lt;br /&gt;
=== المنهجيات ===&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;181&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;الخطوة الأولى في معظم عمليات تطوير البرمجيات الرسمية هي تحليل المتطلبات يليه اختبار لتحديد نمذجة القيمة والتنفيذ وإزالة الأعطال (تصحيح الأخطاء (Debugging)).&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;182&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;هناك الكثير من الأساليب المختلفة لكل مهمة من هذه المهام.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;183&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;أحد الأساليب الشائعة [[متطلبات التحليل|لتحليل المتطلبات]] هو [[حالة الاستخدام (هندسة البرمجيات)|استخدام]] تحليل [[حالة الاستخدام (هندسة البرمجيات)|الحالة]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;186&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يستخدم العديد من المبرمجين أشكالًا [[أجايل (مبادئ تطوير برمجيات)|لتطوير برامج Agile]] حيث يتم دمج المراحل المختلفة لتطوير البرامج الرسمية معًا في دورات قصيرة تستغرق عدة أسابيع بدلاً من سنوات.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;188&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;هناك العديد من الطرق لعملية تطوير البرمجيات.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;189&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تتضمن تقنيات النمذجة الشائعة التحاليل والتصاميم الخاصة ب&amp;lt;nowiki/&amp;gt;{{Ill-WD2|التوجيه الكائناتي|id=Q1237775}} ([[OOAD]]) أو الهندسة القائمة على النماذج ([[Model-Driven Architecture|MDA]]).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;192&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;لغة النمذجة الموحدة ([[لغة النمذجة الموحدة|UML]]) هي ترميز يستخدم لكل من OOAD و MDA.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== قياس استخدام اللغة ===&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;202&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;من الصعب جدًا تحديد أكثر لغات البرمجة الحديثة شيوعًا.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;203&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تتضمن طرق قياس شعبية لغة البرمجة ما يلي: حساب عدد إعلانات الوظائف التي تذكر اللغة &amp;lt;ref&amp;gt;[https://www.computerweekly.com/feature/SSL-Computer-Weekly-IT-salary-survey-finance-boom-drives-IT-job-growth Survey of Job advertisements mentioning a given language] {{Webarchive|url=https://web.archive.org/web/20111026035734/http://www.computerweekly.com/Articles/2007/09/11/226631/SSLComputer-Weekly-IT-salary-survey-finance-boom-drives-IT-job.htm |date=26 أكتوبر 2011 }}&amp;lt;/ref&amp;gt; عدد الكتب المباعة والدورات التعليمية التي تدرس اللغة (هذا يبالغ في تقدير أهمية اللغات الأحدث) وتقديرات عدد الخطوط الحالية من الشفرة المكتوبة باللغة (هذا يقلل من عدد مستخدمي لغات العمل مثل COBOL).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;204&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تحظى بعض اللغات بشعبية كبيرة لأنواع معينة من التطبيقات بينما تستخدم بعض اللغات بانتظام لكتابة العديد من أنواع التطبيقات المختلفة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;205&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;على سبيل المثال لا يزال [[كوبول|COBOL]] قويًا في مراكز بيانات الشركات &amp;lt;ref&amp;gt;{{استشهاد ويب&lt;br /&gt;
| مسار = https://www.computerworld.com/article/2504568/the-cobol-brain-drain.html&lt;br /&gt;
| عنوان = The Cobol Brain Drain&lt;br /&gt;
| تاريخ = 2012-05-21&lt;br /&gt;
| ناشر = Computer World&lt;br /&gt;
| تاريخ الوصول = 9 May 2015&lt;br /&gt;
| الأخير = Mitchell&lt;br /&gt;
| الأول = Robert&lt;br /&gt;
| مسار أرشيف = https://web.archive.org/web/20190212185631/https://www.computerworld.com/article/2504568/data-center/the-cobol-brain-drain.html&lt;br /&gt;
| تاريخ أرشيف = 12 فبراير 2019&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; غالبًا على [[حاسوب مركزي|أجهزة الكمبيوتر]] الكبيرة و[[فورتران|Fortran]] في التطبيقات الهندسية [[لغة برمجة نصية|ولغات البرمجة النصية]] في تطوير [[الشبكة العنكبوتية العالمية|الويب]] و[[سي (لغة برمجة)|C]] في {{Ill-WD2|البرامج المدمجة|id=Q1335007}}.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;213&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تستخدم العديد من التطبيقات مزيجًا من عدة لغات في بنائها واستخدامها.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;214&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يتم تصميم اللغات الجديدة عمومًا حول لغة سابقة مع إضافة وظيفة جديدة (على سبيل المثال يضيف [[سي++|C ++]] اتجاه الكائناتي (OPP) إلى C ويضيف [[جافا (لغة برمجة)|Java]] إدارة الذاكرة [[شيفرة البايت|والرمز الثانوي]] إلى C ++ ونتيجة لذلك يفقد الكفاءة والقدرة على التلاعب بالبيانات على مستوى منخفض)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== التنقيح ===&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;221&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تعد عملية تصحيح الأخطاء مهمة للغاية في عملية تطوير البرامج حيث أن وجود عيوب في أحد البرامج قد يكون له عواقب وخيمة على مستخدميه.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;222&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تكون بعض اللغات أكثر عرضة لبعض أنواع الأخطاء لأن مواصفاتها لا تتطلب من المترجمين (compilers) أن يقوموا بالتحقق على قدر اللغات الأخرى.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;223&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يمكن أن يساعد استخدام أداة [[تحليل البرنامج الساكن|تحليل الشفرة الثابتة في]] اكتشاف بعض المشكلات المحتملة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;225&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;عادةً ما تكون الخطوة الأولى في تصحيح الأخطاء هي محاولة إعادة إنشاء المشكلة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;226&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;قد تكون هذه مهمة غير تافهة على سبيل المثال مع العمليات المتوازية أو بعض الأخطاء البرمجية غير المعتادة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;227&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;أيضًا يمكن أن تجعل بيئة المستخدم ومحفوظات الاستخدام من الصعب إعادة إنتاج المشكلة.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;228&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;بعد إعادة إنتاج الخلل قد يحتاج الأمر إلى تبسيط إدخال البرنامج لتسهيل تصحيحه.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;229&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;على سبيل المثال يمكن أن يؤدي وجود خطأ في برنامج التحويل البرمجي إلى تعطله عند تحليل بعض ملفات المصدر الكبيرة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;230&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;ومع ذلك بعد تبسيط حالة الاختبار يمكن أن تكون الأسطر القليلة فقط من الملف المصدر الأصلي كافية لإعادة إنتاج نفس التعطل.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;231&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يمكن إجراء هذا التبسيط يدويًا باستخدام نهج الفجوة والقهر.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;232&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;سيحاول المبرمج إزالة بعض أجزاء حالة الاختبار الأصلية والتحقق من استمرار المشكلة.&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;233&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;عند تصحيح المشكلة في واجهة المستخدم الرسومية يمكن للمبرمج محاولة تخطي بعض تفاعلات المستخدم من وصف المشكلة الأصلي ومعرفة ما إذا كانت الإجراءات المتبقية كافية لظهور الأخطاء.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span data-segmentid=&amp;quot;234&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;غالبًا ما يتم تصحيح [[كي ديفيلوب|الأخطاء]] باستخدام [[بيئة تطوير متكاملة]] مثل [[إكلبس|إكليبس]] و[[مايكروسوفت فيجوال ستوديو|Visual Studio]] و {{Ill-WD2|إكس كود|id=Q250328}} و[[كي ديفيلوب|Kdevelop]] و[[نت بينز|NetBeans]] و[[كود::بلوكس|Code :: Blocks]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;242&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;يتم استخدام مصححات الأخطاء المستقلة مثل [[مصحح جنو|GDB]] أيضًا وغالبًا ما توفر هذه الأجهزة بيئة بصرية أقل وعادة ما تستخدم [[واجهة سطر الأوامر|سطر أوامر]].&amp;lt;/span&amp;gt; &amp;lt;span data-segmentid=&amp;quot;245&amp;quot; class=&amp;quot;cx-segment&amp;quot;&amp;gt;تسمح بعض برامج تحرير النصوص مثل [[إيماكس|Emacs]] باستدعاء GDB من خلالهم لتوفير بيئة بصرية.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== قائمة ببعض لغات البرمجة ==&lt;br /&gt;
{{قائمة أعمدة|عدد الأعمدة=3|الأعمدة=&lt;br /&gt;
* [[لغة التجميع|لغة تجميع]]&lt;br /&gt;
* [[سي (لغة برمجة)|سي]]&lt;br /&gt;
* [[سي++]]&lt;br /&gt;
* [[باسكال (توضيح)|باسكال]]&lt;br /&gt;
* [[ليسب]]&lt;br /&gt;
* [[فيجوال بيسك]]&lt;br /&gt;
* [[فيجوال بيسك دوت نت|فيجوال بيزك دوت نت]]&lt;br /&gt;
* [[سي شارب]]&lt;br /&gt;
* [[لغة ج|ج]]&lt;br /&gt;
* [[بايثون (توضيح)|بايثون]]&lt;br /&gt;
* [[دلفي (لغة برمجة)|دلفي]]&lt;br /&gt;
* [[بيرل]]&lt;br /&gt;
* [[جافا (لغة برمجة)|جافا]]&lt;br /&gt;
* [[بي إتش بي]]&lt;br /&gt;
* [[روبي (توضيح)|روبي]]&lt;br /&gt;
* [[سيتل (لغة برمجة)|سيتل]]&lt;br /&gt;
* [[لوا (لغة برمجة)|لوا]]&lt;br /&gt;
* [[غو (لغة برمجة)|Go]]&lt;br /&gt;
* [[فورتران]]&lt;br /&gt;
* [[ماتلاب]]&lt;br /&gt;
* [[سي شارب]]&lt;br /&gt;
* [[لغة توصيف النص الفائق|HTML]]&lt;br /&gt;
* [[إيه إس بي دوت نت]]&lt;br /&gt;
* [[بيسيك|بيسك]]&lt;br /&gt;
* [[كوتلن (لغة برمجة)|كوتلن]]&lt;br /&gt;
* [[جافا سكريبت]]&lt;br /&gt;
* [[لغة الاستعلامات المهيكلة|إس كيو إيل]] (SQL)&lt;br /&gt;
* {{وإو|مالبوج|Malbolge}}&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{استشهاد ويب&lt;br /&gt;
 | عنوان = Interview with Ben Olmstead&lt;br /&gt;
 | مسار = https://esoteric.codes/blog/interview-with-ben-olmstead&lt;br /&gt;
 | الأخير = Temkin&lt;br /&gt;
 | الأول = Daniel&lt;br /&gt;
 | تاريخ = 2014-11-03&lt;br /&gt;
 | موقع = esoteric.codes&lt;br /&gt;
 | تاريخ الوصول = 2021-01-07|مسار أرشيف= https://web.archive.org/web/20230320212242/https://esoteric.codes/blog/interview-with-ben-olmstead|تاريخ أرشيف=2023-03-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== المبرمجون ==&lt;br /&gt;
&lt;br /&gt;
{{مفصلة|مبرمج}}&lt;br /&gt;
{{أيضا|مطور برمجيات}}&lt;br /&gt;
&lt;br /&gt;
مبرمجو الحاسوب هم الذين يكتبون برامج الحاسوب. وظائفهم تشمل بشكل عام:&lt;br /&gt;
* [[نص برمجي مصدري|كتابة الشفرة]]&lt;br /&gt;
* [[مصرف (حوسبة)|التصريف]]&lt;br /&gt;
* التنقيح&lt;br /&gt;
* [[توثيق|التوثيق]]&lt;br /&gt;
* [[صيانة البرمجيات|الصيانة]]&lt;br /&gt;
* [[فحص البرمجيات]]&lt;br /&gt;
* هندسة البنى البرمجية الضخمة&lt;br /&gt;
&lt;br /&gt;
== مراجع ==&lt;br /&gt;
&lt;br /&gt;
{{مراجع}}&lt;br /&gt;
{{روابط شقيقة}}&lt;br /&gt;
{{معلوماتية}}&lt;br /&gt;
{{لغات برمجة}}&lt;br /&gt;
{{هندسة برمجيات}}&lt;br /&gt;
{{ضبط استنادي}}&lt;br /&gt;
{{شريط بوابات|برمجة الحاسوب|تقانة|علم الحاسوب}}&lt;br /&gt;
&lt;br /&gt;
[[تصنيف:برمجة|*]]&lt;br /&gt;
[[تصنيف:حواسيب]]&lt;/div&gt;</summary>
		<author><name>2001:16A2:C000:9632:99B7:6A85:62AC:ABFD</name></author>
	</entry>
</feed>