الحاسوب[عر 1] أو الحاسِب أو الحاسِبَة (بالإنجليزية: Computer) هو آلة يمكن برمجتها لتُنفِّذ آلياً سلسلة من العمليات الحسابية والمنطقية. يمكن للحواسيب الإلكترونية الرقمية الحديثة أن تُنفِّذ مجموعات من العمليات تُسمَّى البرامج، مما يَسمح لها بتنفيذ طَيفٍ واسعٍ من المُهِمَّات. يُشير مصطلح نظام حاسوبي عموماً إلى حاسوبٍ فيه برمجيات وعَتاد ونظام تشغيل، بالإضافة إلى الطَّرفيات الضرورية لإتمام العمليات، وقد يُشير المصطلح نفسه إلى مجموعة من الحواسيب الموصولة ببعضها البعض، والتي تعمل معاً مثل شبكات الحاسوب وعناقيد الحَوسَبة.
يعتمد طَيفٌ واسعٌ من التطبيقات الصِّناعية والمنتجات الإلكترونية الاستهلاكية على الحواسيب بوصفها أنظمة تحكُّم. ويشمل هذا الطيف الأجهزة البسيطة محدَّدة الاستعمال، مثل: فُرن الأمواج الصُّغريَّة، وأجهزة التحكم عن بعد؛ والأجهزة البسيطة عامة الاستعمال، مثل: الحواسيب الشخصية، والأجهزة المحمولة باليد، والهواتف الذكية؛ والأجهزة الصناعية، مثل الإنسالات الصناعية.
ساعدت المَعاديد الناس في إنجاز الحسابات البسيطة منذ أقدم الأزمنة، وكان هذا هو الهدفُ من تطوير الحواسيب الأولى. بُنيت أيضاً آلات ميكانيكية في بدايات الثورة الصناعية لعمل المهمات الطويلة المُمِلَّة، مثل توليد أنماط هندسية تكرارية لعمل المناسِج. ثُمَّ طُوِّرت آلات كهربائية ميكانيكية أكثر تعقيداً في مطلع القرن العشرين اعتمدت على الإلكترونيات التماثلية، أما أوَّل آلات الحِساب الرقمية، فقد طُوِّرَت في أثناء الحرب العالمية الثانية، واعتُمِدَ التصميم الميكانيكي الكهربائي والصمامات المُفرَّغة معاً. طُوِّرت ترانزستورات أشباه الموصولات في أواخر عقد الأربعينيات من القرن العشرين، تلاها ترانزستورات الأثر الحقلي للأكاسيد المعدنية لأشباه المُوصِلات المَبنيَّة على ركيزة من السيلكون، تلاها تقانات رقائق الدارات المتكاملة في أواخر الخمسينيات وصولاً إلى المعالجات الصغرية في السبعينيات. زادت سرعة الحواسيب وقدراتها ومجالاتها زيادة كبيرة منذ ذلك الوقت، مع زياد سريعة في عدد الترانزستورات في الشريحة (يتضاعف هذا العدد مرة كل سنتين حسب قانون مور) وصولاً إلى الثورة الرقمية في أواخر القرن العشرين ومطلع القرن الحادي والعشرين.
يتكون الحاسوب المعاصر عموماً من عنصر معالجة واحد على الأقل، غالباً ما يكون وحدة معالجة مركزية بهيئة معالج صغري، ويُلحَق بها ذاكرة مكونة من رقائق أشباه مُوصِلات بالإضافة لأجهزة الإدخال، مثل لوحة المفاتيح والفأرة، والإخراج مثل الشاشة والطابعة، والإدخال والإخراج مثل شاشة اللمس. يُنفِّذ عنصر المعالجة العمليات الحسابية والمنطقية، في حين تعمل وحدة التحكم فيه على تغيير ترتيب العمليات بما يتوافق مع المعلومات المخزَّنة، أما أجهزة إدخال البيانات وإخراج المعلومات، فتَربط عنصر المعالجة مع العالم الخارجي.
كلمة حاسوب بالإنجليزية هي (computer)، وتُشتق من الفعل (بالإنجليزية: Compute) وهو يعني حَسَبَ أو حَدَّدَ قيمة ما باستعمال العمليات الحسابية أو الرياضية، أما (computer) فهي تدل على من يعمل الحِساب، فإما أن يكون شخصاً يُجري الحساب، وهو أول معنى لهذه الكلمة وأقدمها، ويرجع استعماله إلى قرابة سنة 1646م، وإما أن يُشير إلى آلة حِساب، وبخاصةٍ إلكترونية، تُجري عمليات رياضية ومنطقية، ويرجع أقدم استعمال مُوثَّق للكلمة بهذا المعنى لسنة 1897م.[1]
أما في العربية، فسواء أسمَيت الآلة حاسوباً أو حاسباً[عر 2] أو حاسبةً[عر 3]، فالجذر هو (ح س ب)، وقد أورد لسان العرب ست دلالات لهذا الجذر، هي ما يدل على:[عر 4]
يحمل اسم هذه الآلة في العربية المعنى الرابع (الدلالة على العدد). أما حاسب وحاسبة، فهما على صيغة اسم الفاعل، الأول مذكره والآخر مؤنثه، وهو لفظ مستحدَث يدل على آلة الحِساب،[عر 5] وأما (حاسوب) فهي اسم آلة وزنها فاعول،[عر 6] وهي صيغة تدل على المبالغة في الآلة نفسها.
وقد أوردت معاجم التقانة في أغلبها لفظ حاسوب مقابلاً للمصطلح الأجنبي، كما أوردت لفظ حاسب وحاسبة ومِحْساب كذلك، وذكر بعضها المصطلح منقولاً نقلاً حرفياً بصيغة: "كُمْبيُوتر"[عر 7] (الجمع: كمبيوترات) أو "الكومبيوتر". وفي ما يأتي بيان المشتقات الإنجليزية من اللفظة (compute) وما يقابلها في العربية في جملة من المعاجم العامة والمختصة:
اسم المعجم | compute | computing | computer | computation | computational | computable | computerize | computerized | Computerizable |
---|---|---|---|---|---|---|---|---|---|
معجمات عامة | |||||||||
المورد الأكبر[عر 8] | يَحْسُب: يُقدِّر حسابياً | مثال | 1. الحاسب: من يُجري حساباً 2. الكومبيوتر، الحاسبة الإلكترونية، الحاسوب، المِحْساب[* 1] |
1. الحساب: إجراء عملية حسابية أو أكثر أو نتيجة هذا الإجراء 2. تقدير، تخمين |
- | - | - | مُكَمْتَر: مُنفَّذ أو مُجرَى أو محفوظ بكومبيوتر أو حاسبة إلكترونية. | - |
قاموس أكسفورد العربي[عر 9] | أحصى، عدَّ، حسب | حوسبة، معلوماتية | حاسوب، كُمْبْيوتَر | حِساب | حاسوبي | - | حَوْسَب | - | - |
معاجم متخصصة | |||||||||
الجمعية السورية للمعلوماتية[عر 10] |
1. يحسب: يُجري حساب 2. يستعمل حاسوباً أو يجعله يقوم بعمل ما. |
- | حاسوب[* 2] | حساب | - | - | - | مُحوسَب | - |
المعجم الموحد لمصطلحات المعلوماتية[عر 11] | - | - | حاسوب | تحسيب | حسابي | قابل للحساب، قابل للحوسبة |
- | محاسبة | قابل للحوسبة |
معجم مصطلحات الحاسبات[عر 12] | - | حوسبة | حاسوب[* 3] | - | - | - | - | - | - |
قائمة مصطلحات المعلوماتية[عر 13] | يَحْسُب | حِساب، حوسبة | حاسوب | حسابات | حاسوبي | - | - | محاسبة | قابل للحوسبة، يُحَوْسَب |
استُعملت الأدوات للمساعدة على العد منذ آلاف السنين، وغالباً ما اعتُمِدَت الأصابع. يُعتقد أن أقدم أدوات العد كانت على هيئة عصا تسجيل [الإنجليزية]. ظهرت أول السجلات في منطقة الهلال الخصيب على هيئة حصوات أو كرات طين في مخاريط من الطين غير المشوي، والغالب أنها استُعمِلت لتدوين الأعداد المرتبطة بالمحاصيل والغلال.[وب-إنج 1][2]
واستعملت المِعددات أولاً لإنجاز المهام الحسابية. وقد طُوِّر المعداد الروماني [الإنجليزية] من أداة استُعمِلت في بابل منذ سنة 2400 قبل الميلاد على الأقل. وظهرت بعد ذلك أشكال عدّة من ألواح الحساب أو جداوله. وكانت توضع في مكاتب الحساب في العصور الوسطى في أروبا قطعة من الملابس على الطاولة، وتُحرَّك علامات مُحددة فوقها حسب قواعد معينة لتساعد على حسابات المال والأعمال.
وتعد آلة أنتيكيثيرا أقدم حاسوب تماثلي ميكانيكي معروف، حيث اكتشفت سنة 1901م في حطام سفينة مقابل ساحل جزيرة أنتيكيثيرا اليونانية الواقعة بين كيثيرا وكريت. يُقدَّر أنها صُممت في القرن الثاني قبل الميلاد لحساب المواقع الفلكية. لم تظهر آليات مُعقَّدة يمكن مقارنتها بآلة أنتيكيثيرا حتى القرن الرابع عشر الميلادي.[3]
ساعدت الحيل الميكانيكية في الحساب والقياسات، واستعملت لبنان أدوات فلكية كان لها أثرٌ جلي في تطور المِلاحة. وضع البيروني خريطة نجوم دائرية [الإنجليزية] في القرن الحادي عشر الميلادي.[4] اُخترع الأسطُرلاب في العصر الهلنستي بين القرنين الثاني والأول قبل الميلاد، وغالباً ما يُنسب إلى أبرخش، وهو عملياً حاسوب تماثلي قادر على حل مشكلات عديدة في الفلك الكروي، يتكون الأسطُرلاب من ديوبترا وخريطة نجوم دائرية لآلية ميكانيكية لحساب التقويم.[5]
جمع الأسطرلاب الكروي بين الأسطرلاب التقليدي وذات الحلق أو الأُسطرلاب الكروي، وصُنع في العالم الإسلامي خلال العصر الذهبي للحضارة الإسلامية.[ا] يُسند أقدم وصف معروف للأسطرلاب الكروي إلى أبي العباس النيريزي، قرابة 892–902 م. أما شرف الدين الطوسي، فقد اخترع الأسطرلاب الخطي، الذي يُسمى أيضاً "عصاة الطوسي"، وكان "قضيباً بسيطاً من الخشب من غير رسوم عليه علامات متدرجة، ومزُوَّد بخط ناظم ووتر مزدوج لعمل القياسات الزاويَّة بمؤشر مثقوب". أما الأسطرلاب الميكانيكي، فقد اخترعه أبو بكر الأصفهاني سنة 1235م.[7] واخترع البيروني أول أسطرلاب ميكانيكي فيه تقويم شمسي قمري[8] وتروس متقاطرة قرابة سنة 1000 ميلادية.[9]
طُورت المسطرة القطاعية [الإنجليزية] في أواخر القرن السادس عشر الميلادي، حيث استعملت لحل مشكلات تتضمن الضرب والقسم والمثلثات ولحساب الجذور التربيعية والتكعبيبة، وكان لها تطبيقات مهمة في المدفعية ومسح الأراضي والملاحة. أما مقياس السطوح [الإنجليزية]، أو الممساح، فكان أداة يدوية تُستعمل لحساب مساحة سطح مغلق من خلال الحركة فوقه.
اخترع ويليام أوتريد المسطرة الحاسبة في العقد الثالث من القرن السابع عشر بعد فترة قصيرة من نشر مفهوم اللوغاريتم. المسطرة الحاسبة بالأساس هي حاسوب تماثلي مُشغل يدوياً يُنجز الضرب والقسمة، وأضيف إليها لاحقاً حساب المربعات والجذور التربيعية والمكعبات والجذور التكعيبية بالإضافة للدوال المتسامية نحو دوال اللوغاريتمات والدوال الأسية والزائدية والمثلثية. ما تزال المساطر الحاسبة متداولة، ويمكن استعمالها لإجراء حسابات تكرارية سريعة، وأشهر أمثلتها المسطرة E6B [الإنجليزية] التي تُستعمل في حساب المسافات عند التدريب على الطيران، أو في بعض الرحلات البسيطة.
بنى صانع الساعات السويسري بيير جاكيه دروز [الإنجليزية] في عقد السبعينيات من القرن الثامن عشر لعبة ميكانيكية (آلة ذاتية التشغيل) يمكنها الكتابة بقلم مع إمكانية لتغيير الإعدادات لإنتاج حروف مختلفة. وهذا يعني أنها كانت تقبل البرمجة الميكانيكية. تُعرض هذه الآلة، إلى جانب آلتين معقدتين أُخريين في متحف الفن والتاريخ (بالفرنسية: Musée d'Art et d'Histoire) في نوشاتيل في سويسرا.
وقد صنع المهندس والرياضي جيوفاني بلانا آلة تقويم دائم بين عامي 1831 و1835م. اعتمدت الآلة على الأسطوانات والبكرات، وكانت قادرة على تحديد يوم الأسبوع الموافق لأي يوم في أي سنة ميلادية بين 1 و4000م، بما في ذلك السنوات الكبيسة. واخترع وليم طومسون آلة لتوقع حركة المد والجزر [الإنجليزية] في عام 1872م، وكانت ذات فائدة كبرى في الملاحة قرب السواحل. اعتمدت آلة طومسون على البكرات والأسلاك لحساب توقع لمستوى المد والجزر لموقع محدد.
اعتمد المحلل التفاضلي على آلية ميكانيكية مكونة من الأقراص والبكرات لإنجاز التكاملات لحل المعادلات التفاضلية، وهو يُعد حاسوباً ميكانيكياً تماثلياً، يتكون المحلل من عدد من المكاملات، يكون خرج المكامل هو دخل المكامل التالي أو آلة الرسم. وكان وليم طومسون قد ناقش في سنة 1876م إمكانية إنشاء حاسبات مشابهة، ولكنه أُحبط من عزم الدوران الناتج عن مكاملات الكرات والأقراص [الإنجليزية].[وب-إنج 2] كان تطوير مضخم عزم الدوران [الإنجليزية] هو ما دفع تطوير المحلل.
بدأ ليوناردو توريس كيبيدو في العقد الأخير من القرن التاسع عشر بتطوير سلسلة من الآلات التماثلية القادرة على إيجاد الجذور الحقيقية والمركبة لعديدات الحدود.[10] ونشرت الأكاديمية الفرنسية للعلوم نتائج أعماله سنة 1901م.[فر 1]
ترجع أصول الحاسوب القابل للبرمجة إلى مهندس الميكانيك والموسوعي الإنكليزي تشارلز بابيج. صاغ بابيج مفهوم الحاسوب الميكانيكي وصنعه في بدايات القرن التاسع عشر، لذلك يُنظر إليه على أنه المؤسس الحقيقي لعلم الحاسوب.
كشف بابيج سنة 1822م، بعد فترة من عمله على محركه التفاضلي [الإنجليزية]، عن اختراعه: الحاسوب الميكانيكي، وكان ذلك بورقة بحثية أرسلها إلى الجمعية الفلكية الملكية عنوانها: ملاحظات على تطبيق المكننة لحساب الجداول الرياضية والفلكية (بالإنجليزية: Note on the application of machinery to the computation of astronomical and mathematical tables). أدرك بابيج سنة 1833م إمكانية تعميم عمله وإنشاء محرك تحليلي يمكن تزويده ببرنامج دخل وبيانات باستعمال بطاقات مثقوبة، وكانت هذه الطريقة شائعة في أيامه لضبط عمل المناسج مثل منسج جَكَرد. أما الخرج فكان طابعة وراسمة منحنيات وجرسًا، وكانت الآلة قادرة، بالإضافة لذلك، على تثقيب بطاقات لقراءتها لاحقاً. احتوت الآلة على وحدة حساب ومنطق، وعلى انسياب للتحكم بصورة تعابير شرطية وحلقات وذاكرة ليكون بذلك التصميم الأول لحاسوب عام يمكن وصفه بأنه مكتمل وفقاً لتورنغ.[وب-إنج 3]
احتاجت آلة بابيج لآلاف القطع الميكانيكية يدوية الصنع، وهذه كانت عقبة رئيسة واجهتها الآلة، ثُمَّ توقف المشروع نهائياً بعد أن أوقفت الحكومة البريطانية التمويل. سبقت آلة بابيج عصرها قرناً على الأقل، ويمكن القول أن سبب إخفاق بابيج في إنهاء محركه التحليلي كان الصعوبات المالية والسياسية إلى جانب إصراره على صنع آلة شديدة التعقيد يسبق بها كل أقرانه. أكمل هنري بابيج [الإنجليزية] عمل والده وصنع نسخة مُبسَّطة من وحدة الحساب في المحرك التحليلي سنة 1888م، وقدم عرضاً ناجحاً لكيفية استعمالها في جداول الحوسبة سنة 1906م.
ذكر ليوناردو توريس كيبيدو في عمله الذي نشره سنة 1914 وعنوانه مقالات في الأتمتة (بالإنجليزية: Essays on Automatics) جهود بابيج في إنشاء محرك تفاضلي ميكانيكي ومحرك تحليلي. وصف كيبيدو المحرك التحليلي بأنه تنفيذ لنظرياته حول القدرة الكامنة في الآلات، وجعل مشكلة تصميم هذا المحرك تحدياً لمهاراته بصفته مخترعاً لآلات ميكانيكية كهربائية. تضمن العمل تصميماً لآلة قادرة على حساب قيمة الصيغة آلياً من أجل مجموعة من القيم المتغيرة. كانت الآلة محكومة ببرنامج قروء فقط تضمَّن بنى متفرَّعة شرطية، قدَّم كيبيدو في هذا العمل أيضاً فكرة حسابات الفاصلة المتحركة.[11]
عرض كيبيدو في باريس سنة 1920 مقياسَ حسابٍ ميكانيكياً كهربائياً في الذكرى المئوية لاختراع مقياس الحساب [الإنجليزية]. تكوَّن المقياس من وحدة حساب متصلة من عامل يحدد الدخل الذي يكون بصورة أوامر، أما الخرج فيطبع آلياً.[12] أظهر هذا العرض إمكانية تصنيع محرك تحليلي ميكانيكي كهربائي.[13]
ساعدت الحواسيب التماثلية التي ازداد تعقيدها في النص الأول من القرن العشرين في إنجاز العديد من الحسابات العلمية، واعتمَدَتْ هذه الحواسيب عادة على نموذج كهربائي أو ميكانيكي للمشكلة أساساً لبدء الحساب. لكن هذه الحواسيب افتقدت الدقة مقارنة بنظيراتها الرقمية المعاصرة، ولم يكن بالإمكان برمجتها، بل كانت تُصمَّم لحل مُشكلة محددة سلفاً.[وب-إنج 4] كانت آلة توقع المد والجزر [الإنجليزية] التي صنع وليام طومسون نموذجها الأول سنة 1872م أول حاسوب تماثلي معاصر. أما المحلل التفاضلي، الذي صممه جيمس طومسون، شقيق وليام، سنة 1876، فاعتمد الأقراص والعجلات لإنجاز التكاملات لحل المعادلات التفاضلية.[وب-إنج 2]
بلغ تصنيع الحواسيب الميكانيكية التماثلية ذروته مع المحلل التفاضلي الذي بناه هارولد لوك هازن وفانيفار بوش في معهد ماساتشوستس للتقانة بدءاً من سنة 1927م. بُني هذا المحلل باستعمال المكاملات الميكانيكية التي صنعها جيمس طومسون، ومضخمات عزم الدورات التي اخترعها هنري نيمان (بالإنجليزية: Henry Nieman).
أنهى ظهور الحواسيب الرقمية الإلكترونية في خمسينيات القرن العشرين عصر آلات الحساب الميكانيكية، ولكنها بقيت في الاستعمال خلال الخمسينيات في تطبيقات محددة، مثل التعليم (المسطرة الحاسبة)، والطيران (نظم التحكم).
طورت بحرية الولايات المتحدة بحلول العام 1938م حاسوباً تشابهياً ميكانيكياً كهربائياً صغيراً بما فيه الكفاية ليوضع في غواصة. استعمل هذا الحاسوب لحل مشكلة الحسابات المثلثية المرتبطة بإطلاق طُربيد على هدف متحرك، وسُمِّي حاسوب بيانات الطربيد [الإنجليزية]، وقد طورت نماذج عديدة مشابهة في دول أخرى خلال الحرب العالمية الثانية.
كانت الحواسيب الرقمية المبكرة ميكانيكية كهربائية، تسحب فيها مفاتيح كهربائية مرحلات ميكانيكية لإجراء الحسابات. حاسوب زد2 [الإنجليزية] الذي صنعه المهندس الألماني كونراد سوزه في برلين سنة 1939م هو أحد أوائل الحواسيب من هذا النوع. كانت هذه الحواسيب بطيئة في إجراء العمليات، ولم تدم لفترة طويلة، ليحل محلها حواسيب كهربائية بالكامل استعملت الصمامات المفرغة.[وب-إنج 5]
تابع سوزه العمل وصنع في سنة 1941 حاسوباً أكثر تعقيداً أسماه زد3، وكان أول حاسوب ميكانيكي كهربائي رقمي يمكن برمجته.[وب-إنج 7] بُني زد3 باستعمال 2000 مُرحِّلة وعمل بكلمات طولها 22 بت بتردد 5-10 هرتز.
زوِّد الحاسوب بالبرامج باستعمال شريط رقيق مثقوب، أما البيانات فكانت تُخزَّن في ذاكرة تتسع 64 كلمة تُدخل من لوحة المفاتيح. تشابه هذا الحاسوب مع الحواسيب المعاصرة في مسائل عديدة، منها مثلاً القدرة على إجراء حسابات تتضمن فاصلة متحركة. اعتمد حاسوب سوزه على نظام العد الثنائي، وكان تصميم الآلة أبسط وأسهل من تصميم آلة بابيج الذي اعتمد نظام العد العشري قياساً للتقانات الموجودة في ذلك الزمن. لم يكن زد3 حاسوباً عاماً، ولكن كان بالإمكان توسعته ليصبح كاملاً حسب تورنغ.[14]
تأخر سوزه في صناعة الحاسوب التالي؛ بسبب الحرب العالمية الثاني، ولكنه انتهى من صنع حاسوب زد4 في سنة 1950م، وأصبح بذلك أول حاسوب تجاري في التاريخ، وسُلِّم للمعهد الاتحادي السويسري للتقانة في زيورخ.[15] صُنع الحاسوب في شركة أسسها سوزه اسمها: سوزه التضامنية المحدودة (بالألمانية: Zuse Kommanditgesellschaft) اختصاراً Zuse KG، أنشئت سنة 1941م وكانت الشركة الأولى التي تتخصص فقط بتطوير الحواسيب في برلين.[15]
حلت العناصر الإلكترونية في الدارات محل مكافآتها الميكانيكية والميكانيكية الكهربائية في الوقت نفسه الذي ساد فيه الحساب الرقمي على الحساب التماثلي. بدأ تومي فلاورز، وهو باحث في مركز أبحاث مكتب البريد [الإنجليزية] في لندن في ثلاثينيات القرن العشرين، التجارب على استعمال الإلكترونيات في مقاسم الهاتف. صُنعت نماذج تجريب سنة 1934، ثم استعملت في إنجاز العمليات بعد 5 سنوات، فحولت جزءًا من شبكة مقاسم الهاتف إلى نظام إلكتروني لمعالجة البيانات بالاعتماد على آلاف الصمامات المفرغة.[وب-إنج 4] طوَّر جون أتاناسوف وكليفورد بيري من جامعة ولاية آيوا حاسوب بيري وأتاناسوف [الإنجليزية] وجربوه سنة 1942م، وكان أول حاسوب "رقمي إلكتروني ذاتي التشغيل". كان هذا الحاسوب ذا تصميم إلكتروني بالكامل، فيه 300 صمام مُفرَّغ مع مكثفات مثبَّتة على أسطوانات دوَّارة تمثِّل الذاكرة.[16]
نجح مستخرجو التعمية الإنجليز في حديقة بلتشلي خلال الحرب العالمية الثانية في اختراق الاتصالات الألمانية العسكرية المُعمَّاة. كانت آلة إنجما الألمانية هدفاً رئيساً لمستخرجي التعمية الذي استعملوا آلة سميت بُمب (بالإنجليزية: bombe)، ولعبت النساء دوراً بارزاً في عملية استخراج المعمى هذه.[وب-إنج 8]
أما لاستخراج مُعمَّى آلات ألمانية أكثر تعقيداً مثل آلة لورينز للتعمية، والتي استعملت عاد لتعمية اتصالات القيادة العليا للجيش الألماني، فقد بنى ماكس نيومان حاسوب كولوسس.[16] استغرقت عملية تصميم الحاسوب وبناؤه 11 شهراً بدءاً من شهر فبراير 1943م.[وب-إنج 9] اجتاز كولوسس اختبارًا للتجريب بنجاح، ثم شُحِن إلى حديقة بلتشلي، وسُلِّم في 18 يناير 1944،[وب-إنج 10] ليبدأ العمل في استخراج المُعمَّى في 5 فبراير من العام نفسه.[16]
كولوسس هو أول حاسوب إلكتروني رقمي يمكن برمجته،[وب-إنج 4] استعملت الصمامات المفرَّغة في بنائه. كان دخل كولوسس شريطاً من الورق، وكان قادراً على معالجة الدخل باستعمال مجموعة متنوعة من العمليات المُعرَّفة حسب جبر بول، لكنه لم يكن كاملاً حسب تورنغ. سُمي هذا الحاسوب بالإصدار الأول (بالإنجليزية: Colossus Mark I)، ورقيَّت هذه الآلة إلى إصدارٍ ثان (بالإنجليزية: Colossus Mark II)، وصنع منها 9 نسخ فقط، ليكون المجمل، مع الآلة التي رُقِّيت 10 آلات. ضمَّ الإصدار الأول 1500 صماماً والثاني 2400، وكان الإصدارات أسرع بخمس مرات من الإصدار الأول لحاسوب هَرفرد، وكان استعمالهما أبسط ما سرَّع عملية فك التعمية.
الحاسوب والمكامِل الرقمي الإلكتروني (بالإنجليزية: Electronic Numerical Integrator And Computer) تختصر ENIAC، وتُلفظ إنياك، هو أول حاسوب إلكتروني يمكن برمجته يُبنى في الولايات المُتحدة.[17] كان إنياك أسرع من كولوسس وأسهل بالاستعمال، وكان كاملاً حسب تورنغ. يُعرَّف البرنامج في إنياك حسب حالة المفاتيح والكبلات. ويلزم إدخاله يدوياً إلى الآلة، بعد أن يُكتب، باستعمال مقابس ومفاتيح. عملت ست نساء في برمجة إنياك، وأُشير إليهم معاً باسم "فتيات إنياك" (بالإنجليزية: ENIAC girls).[18]
بدأ تطوير إنياك وبناؤه في سنة 1943م تحت إشراف جون ماكلي وجون برسبر إيكيرت في جامعة بنسلفانيا، ودخل الخدمة سنة 1945م. جمع هذا الحاسوب بين سرعة الإلكترونيات العالية وإمكانية البرمجة، ومكَّنه ذلك من حل مشكلات معقدة. كان إنياك قادراً على إنجاز 5000 آلاف عملية جمع أو طرح في الثانية، أسرع بألف مرة من الآلات الأخرى. وكان قادراً أيضاً على حساب الضرب والقسم والجذر التربيعي، وكانت ذاكرته عالية السرعة محدودة بعشرين كلمة فقط، قرابة 80 بايتاً. ولكنه كان هائل الحجم، يزن 30 طناً، ويحتاج 200 ألف واط من الاستطاعة الكهربائية لتغذية 18 ألف صمام مُفرَّغ و1500 مُرحِّلة ومئات الآلاف من المقاومة والمكثفات والوشائع.
اقترح آلان تورنغ مفهوم الحاسوب المعاصر في ورقة بحثية نُشرت سنة 1937م عنوانها: "عن الأرقام الحَسُوبة أو الأعداد القابلة للحساب (بالإنجليزية: Computable Numbers)،[19] أشار تورنغ في عمله إلى آلة بسيطة سمَّاها (آلة الحوسبة العامة) (بالإنجليزية: Universal Computing machine)، وهي تُسمَّى اليوم آلة تورنغ العامة. أثبت تورنغ أن آلة كهذه تستطيع حساب أي عملية حَسُوبة (أعداد قابلة للحساب) من خلال تنفيذ برنامج مكوَّن من مجموعة تعليمات مخزونة على شريط، وهذا يعني إمكانية برمجة الآلة. لقد تمحور تصميم تورنغ حول مفهوم جوهري هو البرنامج المخزون حيث تُخزَّن كل تعليمات الحوسبة في الذاكرة. يُرجع جون فون نيومان الفضل في تطوير الحاسوب الحديث إلى هذا المفهوم المركزي.[20] ما تزال آلات تورنغ مادة للدراسة في نظرية الحوسبة. على فرض إهمال حجم الذاكرة المحدود نظرياً، فإن الحواسيب المعاصرة هي كاملة حسب تورنغ، وهذا يعني أنها قادرة على تنفيذ الخوارزميات تنفيذاً يُجارِي آلة تورنغ العامة.
عملت آلات الحوسبة المبكرة ببرامج ثابتة، لذلك كان التغيير في وظيفتها يتطلَّب تغييراً في توصيل الأسلاك، وفي بنية الآلة.[16] ولكن هذا تغيير مع اقتراح استعمال البرامج المخزونة، فأصبحت الآلات تتضمن في تصميمها مجموعة تعليمات، وتدعم تخزين برنامج مُكوَّن من هذه التعليمات في الذاكرة، وتكون تفاصيل الحوسبة في هذا البرنامج. وضع آلان تورنغ الأساس النظري لحاسوب البرنامج المخزون في ورقة بحثية نشرها سنة 1936م. انضم تورنغ في سنة 1945م إلى المختبر الفيزيائي الوطني، وبدأ العمل على تطوير حاسوب برنامج مخزون إلكتروني رقمي، وكان تقريره المنشور في السنة نفسها والمعنون: حاسبة إلكترونية مقترحة (بالإنجليزية: Proposed Electronic Calculator) أول مُحددات لآلة من هذا النوع. نشر جون فون نويمان في الوقت ذاته في جامعة بنسلفانيا تقريراً حول الحاسوب الذي يطوره عنوانه: "المسودة الأولى لتقرير عن إدفاك" (بالإنجليزية: First Draft of a Report on the EDVAC).[وب-إنج 4]
كانت آلة مانشستر التجريبية صغيرة النطاق الشهيرة باسم صغير مانشستر (بالإنجليزية: Manchester Baby) أول حاسوب برنامج مخزون في العالم. بناها فريدريك وليامز وتوم كِلبرن [الإنجليزية] وجيوف توتيل [الإنجليزية] في جامعة مانشستر في إنجلترا، نجحت الآلة في تشغيل أول برامجها في 21-06-1948م.[21] صُمِّم هذا الحاسوب بالأساس ليكون منصة اختبار لأنبوب ويليامز: أول أداة تخزين رقمية تدعم ميزة الوصول العشوائي.[وب-إنج 11] وُصِف صغير مانشستر سنة 1998م في مراجعة نقدية بأنه "صغير وبُدائي"، ولكنه كان أول آلة عاملة تضم كل العناصر الرئيسة لحاسوب إلكتروني معاصر.[وب-إنج 12] بعد أن ظهرت جدوى تصميم صغير مانشستر، بدأ مشروع جديد في الجامعة لتطويره إلى حاسوب يمكن الاستفادة منه عملياً، ونتج عن ذلك الإصدار الأول لحاسوب مانشستر (بالإنجليزية: Manchester Mark 1).
أصبح الإصدار الأول لحاسوب مانشستر سريعاً الإصدار الأول لحاسوب فيرانتي [الإنجليزية]، الذي كان أول حاسوب تجاري عام الاستخدام[وب-إنج 13] كما يدل الاسم، فقد بنت فيرانتي هذا الحاسوب لجامعة مانشستر، وسلَّمته في فبراير 1951م. صُنِعت سبعة حواسيب أخرى على الأقل من الإصدار نفسه بين عامي 1953 و1957م، سُلِّم أحدها إلى مختبرات شركة شل في أمستردام. قرر مديرو شركة جي ليونز البريطانية للأطعمة في أكتوبر 1947 أن يكون لشركتهم دور فاعل في الترويج للتطوير التجاري للحواسيب. صُنِع، نتيجة لذلك، حاسوب ليو الأول [الإنجليزية] وفق نموذج مشابه لنموذج الحاسبة الآلية الإلكترونية ذاتية التخزين [الإنجليزية]، المعروفة اختصاراً بالاسم إدساك، الذي طورتها جامعة كامبريدج. شُغِّل هذا الحاسوب في أبريل 1951، وأنجز أول عمل برمجي [الإنجليزية] مكتبي محوسب في التاريخ.
اقترح جوليوس إدغار ليلينفيلد مبدأ ترانزستور الأثر الحقلي سنة 1925م، وصنع جون باردين ووالتر براتين في أثناء عملهما بإشراف وليم شوكلي في مختبرات بل ترانزستور التلامس النقطي في سنة 1947م، ليكون أول ترانزستور مصنوع، ثم صنع شوكلي الترانزستور ثنائي القطب سنة 1948م.[22] حلَّت الترانزستورات محل الصِّمامات المفرغة في تصميم الحواسيب بدءاً من سنة 1955م، وكان هذا الاستبدال هو بداية الجيل الثاني من الحواسيب. للترانزستورات فوائد عديدة مقارنةً بالصِّمامات المُفرَّغة، هي أصغر حجم وأقل استهلاكاً للطاقة،[عر 14] وأقل إشعاعاً للحرارة، وأكثر موثوقية وذات عمر خدمة أطول. أمكن للحاسوب، بعد استعمال الترانزستور، أن يحوي عشرات الآلاف من الدارات المنطقية في حيز صغير نسبياً، لكن الترانزستورات الأولى كانت كبيرة نسبياً، ويصعب تصنيعها على نطاق واسع، لذلك فقد كان استعمالها محدوداً بعدد من التطبيقات المتخصصة.[23]
نجح فريق من الباحثين في جامعة مانشستر بإشراف توم كلبرن [الإنجليزية] في بناء حاسوب باستعمال الترانزستورات الجديدة،[24] فصنعوا الحاسوب الترانزستوري [الإنجليزية] الأول في سنة 1953م. واكتملت النسخة الثانية في شهر أبريل 1955م. لم يتخلَّ الحاسوب الترانزستوري عن الصمامات تماماً، بل استعملها في توليد نبضات الساعة بتردد 125 ألف هرتز وللكتابة والقراءة من الذواكر الأسطوانية. أما الحاسوب الأول الذي بُنِي من غير صمامات، فكان هَرُوِل كاديت [الإنجليزية] سنة 1955م، والذي صُنِع في مؤسسة الطاقة الذرية البريطانية في هَرُوِل بأكسفوردشاير [الإنجليزية].[25]
صنع محمد عطا الله وداون كانغ ترانزستور الأثر الحقلي للأكاسيد المعدنية لأشباه الموصلات المعروف اختصراً بالاسم موسفت (بالإنجليزية: MOSFET) في مختبرات بل سنة 1959م.[وب-إنج 14] كان هذا أول ترانزستور مضغوط يمكن تصغير صناعته على نطاق واسع لتطبيقات متنوعة.[23] لأن تصنيع المُوسْفِت ممكن بمقاييس مختلفة ذات كثافة عالية مقارنة بالترانزستور ثنائي القطبية،[26][وب-إنج 15] ولأن استهلاكه للطاقة منخفض، أصبح من الممكن بناء دارات متكاملة عالية الكثافة.[وب-إنج 16][27] تجاوزت استعمالات الموسفت معالجات البيانات، واستخدمت ترانزستورات الموسفت بوصفها عنصر تخزين، وصنعت منها خلايا ذاكرة، فحلت بذلك محل الذواكر مغناطيسية النواة التي استعملت في الحواسيب المبكرة. أدى تطوير الموسفت إلى تصنيع الحواسيب الصِغرية.[28] ترانزستور الموسفت هو الأكثر استعمالاً في الحواسيب، وهو وحدة البناء الرئيسة في الإلكترونيات الرقمية، وقوة دافعة لعصر المعلومات.[29]
كانت القفزة الكبيرة التالية في قوة الحوسبة هي الدارات المتكاملة. كان جيوفري دامر [الإنجليزية]، وهو مهندس إلكترونيات يعمل في مؤسسة الرادار الملكية [الإنجليزية] في وزارة دفاع المملكة المتحدة، أول من طرح مفهوم الدارة المتكاملة في ورقة بحثية شارك فيها في مؤتمر عنوانه: "ندوة حول التقدم المحرز في جودة المكونات الإلكترونية" (بالإنجليزية: Symposium on Progress in Quality Electronic Components) عُقد في واشنطن في 7 مايو 1952.[30]
صنع جاك كيلبي في تكساس إنسترومنتس وروبرت نويس في فيرتشايلد لأشباه الموصلات أول الدارات المتكاملة. كتب كيلبي أفكاره الأولى حول الدارات المتكاملة في شهر يوليو سنة 1958م،[وب-إنج 17] ونجح بتنفيذها في 12 سبتمبر 1958م. وصف كيلبي ما صنعه في براءة الاختراع كما يأتي: "تركيب من أشباه الموصلات... تكون كل مكونات الدارة الإلكترونية فيه متكاملة" (بالإنجليزية: a body of semiconductor material ... wherein all the components of the electronic circuit are completely integrated)[31] لم يكن اختراع كيلبي في الواقع دارة متكاملة مطبوعة على رقاقة واحدة،[32] بل كان دارة متكاملة هجينة [الإنجليزية] فيها أسلاك توصيل خارجية، لذلك كان تصنيعها على نطاق واسع صعباً.
وضع نويس مفهومه الخاص عن الدارات المتكاملة بعد نصف سنة من كيلبي،[33] وكان اختراعه هو أول دارة متكاملة مطبوعة على رقاقة واحدة،[وب-إنج 18] وحلَّت رقاقته مشكلات عديدة لم تستطع رقاقة كيلبي حلها. كانت رقاقة نويس مصنوعة من السيلكون، في حين أن رقاقة كيلبي كانت مصنوعة من الجرمانيوم. صُنعت رقاقة نويس باستعمال تقنية العملية السطحية التي طورها زميله في فيرتشايلد لأشباه الموصلات جان هورني.[34]
الدارات المتكاملة المعاصرة المطبوعة على رقاقة واحدة مكونة في أغلبها من أشباه الموصلات والأكاسيد المعدنية، وتُبنَى باستعمال موسفت.[35] أقدم مثال معروف لدارة متكاملة مصنوعة من أشباه الموصلات والأكاسيد المعدنية هو رقاقة فيها 16 ترانزستوراً بناها فريد هايمن وإستيفن هوفشتاين سنة 1962م في شركة راديو أمريكا. أطلقت شركة الإلكترونيات الصغرية العامة لاحقاً أول دارة متكاملة مصنوعة من أشباه الموصلات والأكاسيد المعدنية لأغراض تجارية سنة 1964م،[وب-إنج 19] وكانت من تطوير روبرت نورمان. بعد أن طوَّر روبرت كيرون ودونالد كلين [الإنجليزية] وجون سارس ترانزستورات أشباه الموصلات والأكاسيد المعدنية ذات البوابة ذاتية المحاذاة [الإنجليزية] من السيلكون في مختبرات بل سنة 1967م، نجح فيدريكو فاجين في تطوير دارات متكاملة من أشباه الموصلات والأكاسيد المعدنية ذات بوابة ذاتية المحاذاة من السيلكون في فيرتشايلد لأشباه الموصلات سنة 1968م.[وب-إنج 20] وأصبح موسفت بعدها المكون الأكثر أهمية في الدارات المتكاملة المعاصرة.[35]
نتج عن تطوير الدارات المتكاملة باستعمال أشباه الموصلات والأكاسيد المعدنية اختراع المعالجات الصغرية،[36] وكان فاتحةً لعصر جديد سادت فيه الحواسيب الشخصية بوصفها منتجات تجارية. لا يوجد توافق حول من هو المعالج الصغري الأول؛ بسبب عدم التوافق حول تعريف ما هو المعالج الصغري بالأصل، ولكن يُقبل على نطاق واسع أن المعالج الصغري الأول المصنوع على رقاقة واحدة كان إنتل 4004، صنعه فيدريكو فاجين باستعمال تقانة الدارات المتكاملة المكونة من أشباه الموصلات والأكاسيد المعدنية ذات البوابة السِّلكونية، بمساعدة تيد هوفمان وماساتوشي شيما [الإنجليزية] وستانلي مزور في إنتل.[ب][38] نجحت تقانة الدارات المتكاملة المكونة من أشباه الموصلات والأكاسيد المعدنية في بدايات سبعينيات القرن العشرين بصناعة رقاقة واحدة فيها أكثر من 10 آلاف ترانزستور.[27]
النظام على رقاقة هو حاسوب كامل على رقاقة واحدة لا تزيد أبعادها عن قطعة نقد. ليس بالضرورة أن تحتوي دائماً على ذاكرة وصول عشوائي والذاكرة الوميضية، في حالات عدم وجودها تُضاف ذاكرة الوصول العشوائي مباشرة فوق الرقاقة (تُسمى التقنية عندها مُحيفِظة على المُحيفِظة [الإنجليزية]) أو تحتها (على الوجه المعاكس من لوحة الدارة)، في حين تضاف الذاكرة الوميضية عادةً إلى جانب الرقاقة، والهدف من ذلك هو تقليل المسافة التي تقطعها الإشارات ومن ثم زيادة سرعة نقل البيانات.
كانت الحواسيب المنقولة الأولى ثقيلة الوزن، وتحتاج إلى توصيل بمصادر الطاقة الكهربائية توصيلاً دائماً، مثلاً الحاسوب آي بي إم 5100 كان يزن قرابة 23 كغ، أما الحاسوبان أوسبرن 1 [الإنجليزية] وحاسوب كومباك المنقول، فكانا أخف وزناً خفة ملحوظة، ولكنهما احتاجا توصيلاً دائماً بمصدر للطاقة الكهربائية. أما الحواسيب المحمولة المُبكرة، فألغت الحاجة للتوصيل بالمصدر الكهربائي؛ لأنها اشتملت على بطاريات مُدمجة، مثل حاسوب بوصلة غريد [الإنجليزية]. استمرت عملية تصغير العتاد وموارد الحوسبة وتحسين عمر البطاريات، حتى أصبحت الحواسيب المحمولة خياراً شائعاً منذ العقد الأول من القرن الواحد والعشرين. ساعدت هذه التحسينات المصنعين على تصغير عتاد موارد الحوسبة لتُستعمل في الهواتف المحمولة أيضاً في الفترة نفسها.
تدعم الهواتف الذكية والحواسيب اللوحية أنظمة تشغيل متنوعة وهي أجهزة الحاسوب السائدة بين المستهلكين، يحوي كل من هذه الحواسيب ما يُسمى "نظام على رقاقة"، وهي كما تقدم، حاسوب كامل على رقاقة لا تزيد أبعادها عن قطعة نقد معدنية.
يشمل مصطلح العتاد كل الأجزاء المادية الملموسة من الحاسوب: الرقائق الإلكترونية، مثل: بطاقة الرسوميات، وبطاقة الصوتيات، وبطاقة الذاكرة، واللوحة الأم؛ والدارات الكهربائية، مثل وحدة التغذية والكبلات؛ وأجهزة الإدخال والإخراج، مثل لوحة المفاتيح والطابعة.
الأجهزة الطرفية (الإدخال والإخراج) |
إدخال | فأرة، لوحة مفاتيح، عصا القيادة، ضوئية، آلة تصوير، لويحة بيانية، لاقط صوت |
إخراج | شاشة، طابعة، مكبرات الصوت | |
إدخال وإخراج | شاشات اللمس، مبرقة كاتبة | |
مساري | قصيرة المدى | آر إس 232 (RS-232)، واجهة النظام الحاسوبي الصغير (SCSI)، مسرى الربط بين المكونات الطرفية (PCI)، المسرى التسلسلي العام (USB) |
طويلة المدى (شبكات الحاسوب) | إثرنت، أسلوب النقل اللاتزامني (ATM)، الواجهة البينية للبيانات الموزعة بالألياف (FDDI) |
يضم الحاسوب شائع الاستعمال أربعة مكونات رئيسة: وحدة الحساب والمنطق، ووحدة المعالجة المركزية، والذواكر، ووحدات الإدخال والإخراج. تتصل هذه المكونات فيما بينها باستعمال المساري التي غالباً ما تكون مجموعة من الأسلاك. في داخل كل من هذه المكونات دارات إلكترونية صغيرة قد يصل عددها إلى المليارات، يمكن تشغيلها أو إيقافها باستعمال ترانزستور. تُمثّل كل دارة بتًا واحدًا من المعلومات، لو شُغِّلت فهي تُمثِّل القيمة "1" ولو أُوقِفت تُمثِّل القيمة "0".
تساعد أجهزة الإدخال الحاسوبَ على استقبال بيانات غير معالجة لمعالجتها وإرسالها للخرج.
وهي الوسائل التي يمكن فيها استعراض ناتج معالجة الأوامر، سواء بصرياً أو سمعياً أو عبر الطباعة على وسيط مادي، من الأمثلة عليها:
تدير وحدة التحكم مكونات الحاسوب الأخرى، وتُسمَّى أحياناً نظام التحكم أو المُتحكِّم المركزي. وظيفتها الرئيسة قراءة تعليمات البرنامج وتفسيرها، أي فك ترميزها، ثم تحويلها إلى إشارات تحكم تُفعِّل أجزاء أخرى من الحاسوب.[د] يمكن لوحدات التحكم في الحواسيب المتقدمة أن تُغير ترتيب تنفيذ بعض التعليمات لتحسين الأداء.
عداد البرنامج هو عنصر رئيس مشترك في تصاميم وحدات المعالجة المركزية، وهو موقع في الذاكرة يُسمَّى سجلاً، ويحتفظ بعنوان الذاكرة للتعليمة التي ستقرأ تالياً.[ه]
تعمل وحدة التحكم كما يأتي:[و]
إن عداد البرنامج هو موقع تخزين في الذاكرة، ويمكن تغيير قيمته بعمليات حسابية. إضافة 100 مثلاً إلى قيمة عداد البرنامج ستسبب قراءة التعليمة التي تقع بعد 100 تعليمة من موقع التنفيذ الحالي. تُسمى عملية تعديل قيمة عداد البرنامج بالقفز، وهي تسمح بإنشاء عناصر التحكم بالانسياب نحو بنى الاختيار وبنى التكرار.
تتابع العمليات الذي تجريه وحدة التحكم لمعالجة عملية ما هو برنامج حاسوب صغير بحد ذاته، وفي بعض تصاميم وحدات المعالجة المعقدة يُنظِّم متتبع صغري هذا المسألة بتنفيذ نص برمجي صغري يسبب حصول ما سبق.
تُعرف وحدة الحساب والمنطق مع المسجلات باسم وحدة المعالجة المركزية. صُنعت وحدات المعالجة المُبكِّرة من مكونات منفصلة، لكنها تُنشَأ منذ سبعينيات القرن العشرين على دارة متكاملة واحدة مصنوعة من الأكاسيد المعدنية لأشباه الموصلات، وتُسمَّى معالجاً صغرياً.
تُنجِز هذه الوحدات نوعين من العمليات: الحسابية والمنطقية.[39] قد تكون العمليات الحسابية التي تجريها وحدة الحساب والمنطق محصورة بالجمع والطرح فقط، وقد تشمل الضرب والقسمة والدوال المثلثية، نحو: الجيب، وجيب التمام، والجذور التربيعية. تدعم بعض الوحدات فقط الأعداد الصحيحة، في حين تشمل عمليات بعضها الأعداد ذات الفواصل مع درجات دقة مختلفة. يكون كل حاسوب قادراً في العموم على تبسيط العمليات المعقدة إلى عدد من العمليات البسيطة التي يمكن أن ينفذها، ولكن الوقت المستغرق لعمل ذلك سيكون أكبر. تنفَّذ الوحدة عمليات منطقية، ويكون خرجها قيماً منطقية، أي إمَّا 0 أو 1. من العمليات المنطقية: النفي، والعطف المنطقي، والفرق المنطقي. تستعمل هذه العمليات لبناء عبارات منطقية أكثر تعقيداً مثل التعابير الشرطية.
تتضمن المعالجات العددية الفائقة وحدات حساب ومنطق متعددة، ويسمح لها هذا بمعالجة تعليمات متعددة على التوازي.[40] تستطيع المعالجات الرسومية والحواسب التي تحتوي ميزات، مثل: التعليمات وحيدة البيانات المتعددة (SIMD)، والتعليمات المتعددة والبيانات المتعددة (MIMD)، أن تُنفِّذ عمليات حسابية على المُتجَّهات والمصفوفات.
الذاكرة في الحاسوب هي مجموعة من الخلايا التي يمكن كتابة الأرقام فيها أو قراءتها. تخزِّن كل خلية رقماً واحداً، ويكون لها مُعرِّف مميز يُسمَّى عنوانها. ويمكن بعدها للحاسوب أن يجري عمليات حسابية على القيم المُخزَّنة في الخلايا باستعمال عنوانها. المعلومات المخزنة في الذاكرة مجرَّدة، ويمكن أن تستعمل لتمثيل أي شيء: حرف أبجدي أو عدد رياضي أو حتى تعليمة من تعليمات الحاسوب، ولا تميز الذاكرة بينها، وتكون عملية التمييز من مهام البرمجيات.
تخزِّن كل خلية في الحواسيب المعاصرة عدداً ثنائياً مكون من مجموعة من 8 بتات تُسمَّى بايتاً. يمكن لكل بايت أن يُمثِّل 256 رقماً مختلفاً (28 = 256) تتراوح بين 0 إلى 255 أو بين −128 إلى +127. أما لتخزين أعداد أكبر، فتُستعمل مجموعة من البايتات المتتالية، اثنان أو أربعة أو ثمانية، في حين تُمثَّل الأعداد السالبة باستعمال المتمم الثنائي. مع أن طرق تمثيل أخرى ممكنة، إلا أنها نادراً ما تستعمل.
تضم وحدة المعالجة المركزية مجموعة خاصة من خلايا الذاكرة تُسمَّى السجلات، تستعمل الوحدة السجلات لتخزين البيانات الأكثر استعمالاً لتجنب قراءتها في كل من الذاكرة الرئيسة، فالكتابة والقراءة في السجلات أسرع مقارنة مع الذاكرة الرئيسة. قد تحتوي وحدة المعالجة على سجلين فقط، ولكن قد يزيد عدد السجلات عن مئة في بعض الأنواع.
تُصنف ذاكرة الحاسوب تحت صنفين رئيسين:
يمكن قراءة ما يوجد في ذاكرة الوصول العشوائي أو الكتابة فيها في أي وقت، وهي تفقد ما يُخزَّن فيها لو قُطِعت عنها التغذية الكهربائية نتيجة لإيقاف تشغيل الحاسوب. أما ذاكرة القراءة فقط، فإنها تُحمَّل ببيانات وبرمجيات لا تتغير، وتقرؤها وحدة المعالجة فقط، وهي لا تفقد ما فيها، حتى لو قطعت التغذية الكهربائية عنها، لذلك تُستعمل عادة لتخزين تعليمات الإقلاع. تضم ذاكرة القراءة فقط في الحاسوب الشخصي برنامجاً مخصصاً يُسمَّى النظام الأساسي للإدخال والإخراج ينسِّق عملية تحميل نظام التشغيل من القرص الصلب إلى ذاكرة القراءة العشوائية. أما في الأنظمة المُضمَّنة التي لا تحتوي أقراص تخزين صلبة، فإنَّ كل البرمجيات الضرورية تُخزَّن في ذاكرة القراءة فقط، وتُسمَّى البرمجيات التي تُخزَّن بهذا الشكل بالبرمجيات الثابتة؛ لأنها مُثبتة على العتاد لا يُمكن للمستخدم تغييرها. تطمس الذاكرة الوميضية الحد الفاصل بين ذاكرة القراءة فقط وذاكرة الوصول العشوائي، فهي تحتفظ بما يُخزن فيها بعد انقطاع التغذية، ويمكن إعادة الكتابة فيها، ولكنها أبطأ بكثير من النوعين السابقين، لذلك يكون استعمالها محصوراً في التطبيقات التي تكون السرعة العالية فيها غير ضرورية.[ز]
يوجد في الحواسيب الأكثر تعقيداً أكثر من ذاكرة مخبئية مرفقة مع وحدة المعالجة المركزية. تكون عملية القراءة والكتابة فيها أبطأ من السجلات، ولكنها أسرع من الذاكرة الرئيسة. تُصمم هذه الحواسيب لتنقل آلياً البيانات الأكثر استعمالاً إلى الذاكرة المخبئية من دون تدخل المبرمجين.
وحدات الدخل والخرج هي الوسائل التي يتبادل فيها الحاسوب المعلومات مع العالم المحيط.[42] تسمَّى الأجهزة التي تؤدي وظائف الدخل والخرج بالطرفيات.[43] تشمل الطرفيات في حاسوب شخصي أجهزة الدخل مثل الفأرة ولوحة مفاتيح حاسوب، وأجهزة الخرج مثل الشاشة والطابعة. بعض الأجهزة مثل شاشة اللمس تكون جهاز إدخال وإخراج في الوقت نفسه.
يمكن للحاسوب أن يكون متعدد المهام، وهذا يعني أنه قادر على تشغيل برامج عديدة في الوقت نفسه من التبديل بسرعة بين البرامج.[44] يمكن أن تُنفَّذ الآلية السابقة باستعمال المقاطعة، وفيها يتوقف الحاسوب عن تنفيذ تعليمات البرنامج التي يُنفذها حالياً، وينتقل إلى تنفيذ تعليمات أخرى، ثم يعود مرة أخرى بعد الانتهاء من تنفيذ التعليمات الأخرى إلى التعليمات الأولى التي كان يعمل عليها قبل المقاطعة وينهي تنفيذها، وهذا يعني بالضرورة أن الحاسوب يحتاج إلى تخزين موقع التعليمات الأولى قبل الانتقال إلى تنفيذ الأخرى. لو نُفِّذت العملية السابقة عدة مئات من المرات في الثانية على برامج عديدة، فإنها ستبدو وكأنها تُنفَّذ في الوقت نفسه، أما الحقيقة فهي أن الحاسوب ينفذ برنامجاً واحداً فقط في كل لحظة زمن. تُسمى هذه الطريقة لتعدد المهام بتشارك الزمن؛ لأن كل برنامج يحصل على "شريحة" محددة من الزمن ليُنفذ فيها، ويكون زمن التنفيذ المجمل مُشتركاً بين البرامج.[45]
قبل انتشار الحواسب رخيصة الثمن، كان الهدف من تعدد المهام هو السماح بمشاركة حاسوب واحد بين أشخاص متعددين. يبدو مما سبق أن الحاسوب سيكون أبطأ في التنفيذ بما يتناسب مع عدد البرامج التي يُشغلها، ولكن في التطبيق العملي وُجِد أن سبب التأخير هو انتظار الحاسوب لمدخلات أجهزة الدخل التي لم تنهِ مهمتها بعد. أي إذا كان البرنامج ينتظر أن يضغط المستخدم على مفتاح في لوحة المفاتيح، أو ينقر بالفأرة، فعندها لم يحصل البرنامج على "الشريحة الزمنية" حتى حصول الحدث الذي يُنتظر حدوثه. تُحرر هذه الخاصية مزيداً من الزمن للبرامج الأخرى لتعمل معاً من غير إبطاء غير مُستحَب.
تُصمم بعض الحواسيب لتوزع عملها على وحدات معالجة مركزية عديدة باستعمال تقانة تُسمَّى المعالجة المتعددة، اختصت هذه التقانة بالحواسيب الكبيرة ذات قدرات المعالجة العالية مثل الحواسيب الفائقة والمركزية والخوادم فيما سبق، ولكنها أصبحت متوفرة في الحواسيب الشخصية والحواسيب المحمولة، خاصة بهيئة معالج متعدد النوى.
يكون للحواسيب الفائقة عادةً معمارية فريدة تختلف عن معمارية حواسيب البرامج المخزونة والحواسيب عامة الاستعمال.[ح] وتحتوي في الغالب على آلاف وحدات المعالجة المركزية ومساري مخصصة عالية السرعة وعتاد مصمم لدعم الحوسبة. تستعمل هذه الحواسيب عادة في إنجاز محاكاة كبرى بالحاسوب، وفي تصيير واسع النطاق للرسوميات، وفي تطبيقات التعمية.
تشمل كلمة "البرمجيات" أجزاء الحاسوب التي ليس لها هيئة مادية، مثل: البرامج، والبيانات، والمكتبات، والبروتوكول، وتتكون من معلومات مرموزة أو تعليمات، على عكس العتاد الذي يُبنى منه الحاسوب. تُقسم البرمجيات عادةً إلى برمجيات النظم وبرمجيات تطبيقية، ويشمل المفهوم أيضاً بيانات لا يمكن تنفيذها كما تُنفَّذ البرامج مثل مستندات توثيق البرمجيات.
تحتاج البرمجيات والعتاد بعضهما البعض، ولا يمكن لأحدهما أن يعمل بمعزلٍ عن الآخر. لكن البرمجيات تكون مستقلة عن العتاد عموماً، أي يمكن استعمالها مع غير قيود صارمة تحدد العتاد المطلوب، أما البرمجيات التي لا تعمل إلا مع نوع محدد من العتاد بالبرمجيات الثابتة مثل النظام الأساسي للإدخال والإخراج.
يوجد الآلاف من لغات البرمجة تتراوح في درجة تخصصها بين العام الذي يمكن استعماله لأي غرض والدقيق المخصَّص الذي طور استجابة لحاجة محددة دقيقة.
قوائم لغات البرمجة | التسلسل الزمني للغات البرمجة، قائمة لغات البرمجة وفق النوع، قائمة لغات البرمجة حسب الأصل [الإنجليزية]، قائمة لغات البرمجة، لغات برمجة غير إنجليزية |
لغات تجميع شهيرة | آرم (ARM)، ميبس (MIPS)، لغة تجميع x86 [الإنجليزية] |
لغات برمجة شهيرة عالية المستوى |
أيدا (Ada)، بيسيك، (BASIC) سي (C)، سي++ (++C)، سي شارب (#C)، كوبول (COBOL)، فورتران (Fortran)، جافا (Java)، ليسب (Lisp)، باسكال (Pascal) |
لغات إخطاطية شهيرة | جافا سكريبت، بايثون (Python)، روبي (Ruby)، بيرل (Perl) |
ما يميز الحواسيب الحديثة اليوم عن كل الآلات الأخرى هو إمكانية البرمجة، وهذا يعني أنه يوجد طريقة ما لإدخال مجموعة من التعليمات تُسمى برنامجاً إلى الحاسوب لينفذها. تملك الحواسيب الحديثة لغة آلة يمكن كتابة برنامج بها باستعمال البرمجة الأمرية، وقد يكون طول البرنامج فيها سطور متعددة، وقد يطول لملايين التعليمات، ويمكن للحواسيب أن تعالج (تُنفِّض) الملايين من هذه التعليمات كل ثانية من غير وجود أخطاء، وتقاس هذه القدرة بوحدة فلوبس وهي عدد التعليمات الشاملة للفاصلة المتحركة التي يمكن للحاسوب تنفيذها في الثانية.
تعليمات الحاسوب في معظم الحالات بسيطة: أضف عدداً إلى آخر، أو أُنقل بعضاً من البيانات من موقع إلى آخر، أو أرسل رسالة إلى جهاز خارجي... تُقرأ التعليمات من ذاكرة الحاسوب، وتُنفَّذ [الإنجليزية] وفق الترتيب الذي وردت به. يوجد تعليمات معدودة وظيفتها تغيير تتابع التنفيذ، وتسمى تعليمات التفرع [الإنجليزية]: إما تنفيذ تعليمات تسبق التعليمة الحالية في الترتيب، ويكون القفز حينها إلى الخلف، وإما تنفيذ تعليمات تتبع التعليمة الحالية في الترتيب، ويكون القفز حينها إلى الأمام. قد تحتوي تعليمة التفرع على تعبير شرطي، يحدد حصول عملية القفز من عدمها نتيجة لحساب رياضي يعتمد على قيم مخزنة في الذاكرة. تدعم العديد من الحواسب مفهوم "الدوال" وهي مجموعة من التعليمات التي يمكن تنفيذها عند الحاجة من خلال تعليمة تفرع خاصة تُسمى تعليمة الاستدعاء، وهي تحفَظ موقع التنفيذ الذي يسبقها لتعود إليه بعد انتهاء تنفيذ الدالة اعتماداً على تعليمة تفرع خاصة تُسمَّى تعليمة العودة توجد في نهاية الدالة.
يُشبه تنفيذ برنامج الحاسوب قراءة كتاب. يُقرَأ الكتاب تتابعاً من البداية إلى النهاية: كلمة كلمة وسطراً سطراً، ولكن يمكن في أحيانٍ كثيرة أن يعود القارئ إلى مواقع من الكتاب قرأها سابقاً ليتذكر معلومة محددة ذُكرت فيها، ويمكن أن يتجاوز فصلاً كاملاً فلا يقرأه لعدم اهتمامه بمحتواه. يُسمَّى تتابع القراءة، ويقابله تتابع تنفيذ التعليمات في حالة الحاسوب، انسياب التحكم. ينساب التحكم عند التنفيذ من غير تدخل المبرمجين، فقد يسبب تنفيذ مجموعة محددة من التعليمات تكراراً عدة مرات حتى تحقق شرطًا محددًا، ويمكن أن يستدعي دالة ما حسب قيمة شرط آخر، وقد ينفذ التعليمات تتابعاً حتى نهاية البرنامج.
يمكن للإنسان باستعمال آلة حاسبة أن ينفذ عمليات حساب بسيطة، مثل أن يجمع عددين، أو يضربهما بضغطات بسيطة ومعدودة. أما عمليات الحساب الطويلة أو المعقدة مثل مجموعة الأعداد الصحيحة بين 1 و1000، فيصعب تنفيذها يدوياً؛ لأنها تتطلب آلاف الضغطات على مفاتيح الآلة الحاسبة ووقتاً طويلاً للتنفيذ، ناهيك باحتمال حدوث أخطاء قد تؤدي إلى إعادة التنفيذ من البدء. يمكن برمجة الحاسوب لتنفيذ المجموع السابق باستعمال عدد قليل من التعليمات البسيطة مقارنة بالإنسان. المثال التالي هو لبرنامج مكتوب بلغة تجميع ميبس:
begin:
addi $8, $0, 0 # القيمة الابتدائية للمجموعة هي 0
addi $9, $0, 1 # أول عدد سيُضاف هو 1
loop:
slti $10, $9, 1000 # تحقق من أن قيمة العدد المُضاف أقل من 1000
beq $10, $0, finish # اخرج من التكرار لو كانت القيمة أكبر من 1000
add $8, $8, $9 # احسب المجموع تراكمياً
addi $9, $9, 1 # احسب العدد التالي الذي سيُضاف (+1)
j loop # كرر عملية الجمع
finish:
add $2, $8, $0 # ضع المجموع في سجل الخرج
عند تنفيذ هذا البرنامج، فإن الحاسوب سينفذ تكراراً عملية الجمع من غير تدخل المبرمجين، ومن غير أخطاء. يمكن للحواسيب المعاصرة أن تُنفِّذ هذا البرنامج في أجزاء قليلة من الثانية.
نكتب التعليمات في الحواسيب باستعمال لغة الآلة، ويكون لكل تعليمة رقم فريد مميز يُسمَّى رمز العملية، أي يكون لتعليمة جمع عددين رمز واحد فريد، ويكون لعملية ضرب عددين رمز آخر فريد مختلف عن رمز تعليمة الجمع، وهكذا... يكون عدد التعليمات في الحواسيب البسيطة صغيراً محدوداً، أما في الحواسب المعقدة، فقد يبلغ عددها المئات. بما أن ذاكرة الحاسوب تخزِّن الأرقام، فإنها قادرة على تخزين التعليمات أيضاً، لأن برنامج الحاسوب بأكمله هو مجموعة من الأرقام، ويمكن بالتالي تخزينه والتعامل معه بالطريقة نفسها التي تُخزَّن البيانات الرقمية فيها، وهذه هي الفكرة الجوهرية في معمارية فون نيومان.[46] يوجد معماريات أخرى أقل انتشاراً مثل معمارية هارفارد، وفيها تكون الذاكرة التي تُخزِّن البيانات مفصولة تماماً عن الذاكرة التي تخزن التعليمات.
كتبت البرامج في الحواسيب المبكرة بلغة الآلة مباشرة، ولا يوجد مانع نظرياً من كتابة أي برنامج بلغة الآلة مباشرة، ولكنها عملية صعبة وكثيرة الأخطاء، خاصةً لو كان البرنامج معقداً وطويلاً. تعطى كل تعليمة بدلاً عن ذلك اسماً بسيطاً مختصراً يُستدل به على وظيفتها بسهولة مثل: وADD للجمع، وSUB للطرح، وMULT للضرب، وJUMP للقفز، وهكذا... وتجمع هذه التعليمات بعضها مع بعضٍ لتشكل ما يُعرف باسم لغة التجميع. ينقل تطبيق خاص، يُسمَّى المُجمِّع، البرنامج المكتوب بلغة التجميع إلى لغة الآلة.
تستعمل لغات البرمجة لكتابة البرامج التي تنفذها الحواسيب. تُصمم لغات البرمجة، على خلاف اللغات الطبيعية، لتُعبِّر عن المراد بجلاء وإيجاز. لغات البرمجة كلها مكتوبة، وتصعب قراءتها جهاراً، تترجم إلى لغة الآلة قبل تنفيذها باستعمال مُصرِّف أو مُجمِّع، أو تترجم مباشرة عند تنفيذها باستعمال مُفسِّر، تُنفَّذ بعض البرامج بطريقة هجينة تشمل التقنيتين السابقتين.
تشمل اللغات منخفضة المستوى لغات الآلة ولغات التجميع، وتكون كل لغة منها متخصصة بمعمارية فريدة لوحدة المعالجة المركزية في الحاسوب. وحدة المعالجة المركزية في معمارية آرم، الموجودة عادة في الهواتف الذكية لا يمكنها أن تفهم لغة الآلة المستعملة في معمارية إكس 86 الموجودة عادة في الحواسيب الشخصية.[ط] لم يمنع هذا تصميم معماريات حوسبة أخرى على مر تاريخ الحوسبة، وانتشارها انتشاراً واسعاً.
كتابة البرامج بلغة التجميع أسهل من كتابتها بلغة الآلة، ولكنها، مع ذلك، صعبة وكثيرة الأخطاء ومستهلكة للوقت. لذلك، فإن البرامج تكتب عادةً بلغات أكثر تجريداً تُسمَّى لغات البرمجة عالية المستوى. تُصرَّف البرامج المكتوبة بلغات البرمجة عالية المستوى إلى لغة الآلة مباشرةً أو مروراً بلغة تجميع، ويُسمَّى البرنامج الذي يُصرِّفها بالمُصِّرف.[ي] تكون اللغات عالية المستوى أقل ارتباطاً بالحاسوب الهدف الذي تعمل عليه مقارنةً بلغات التجميع، لذلك فمن الممكن استعمال مُصرِّفات متعددة لترجمة برنامج واحد إلى لغة الآلة لحواسيب مختلفة، يمكن مثلاً توفير لعبة فيديو ما على مشغلات ألعاب فيديو مختلفة باستعمال مُصرِّفات مختلفة تترجم النص البرمجي للعبة، المكتوب بلغة عالية المستوى، للغات آلة المُشغِّلات المطلوبة. طوَّرت جريس هوبر أول مُصرِّف للغة برمجة.[47]
تصميم البرامج الصغيرة بسيط، ويتضمن تحليل المشكلة وجمع المدخلات ثم استعمال لغة البرمجة لتنفيذ الخوارزميات وكتابة الإجرائيات، ثم طباعة البيانات الناتجة على أداة الخرج.[48] تُستعمل ميزات مثل البرامج الفرعية والتوثيق عندما تصبح المشكلة أعقد وأكبر حجماً، وقد تستعمل أنماط برمجة أخرى مثل برمجة كائنية التوجه.[49] تتألف البرامج الكبيرة من آلاف السطور، وتحتاج إلى منهج عمل متناسق لتطويرها.[50] إن مهمة إنتاج برمجيات مقبولة ذات موثوقية عالية في إطار زمني محدد ما تزال صعبة المنال. وهي موضوع بحث يدرسه اختصاص هندسة البرمجيات وتحدٍ تسعى شركات البرمجة للتغلب عليه.[51]
توجد الأخطاء البرمجية في البرامج، وقد تكون حميدة لا أثر لها على عمل البرنامج، أو قد تكون ذات أثر محدود، ولكنها قد تؤدي أيضاً إلى تجمَّد [الإنجليزية] البرنامج وجعله لا يستجيب للمستخدمين، كما قد تؤدي إلى فشل البرنامج كاملاً أو انهياره.[وب-إنج 21] قد يستغل بعض قراصنة الحاسوب الأخطاء الحميدة لتطوير برمجيات استغلال وتعطيل التنفيذ السليم لتنفيذ البرنامج. ليست الأخطاء وليدة الحواسيب التي تنفِّذ فقط التعليمات التي تُعطى لها، لكنها نتيجة لخطأ ارتكبه المبرمج عند كتابة البرنامج.[يا] الكلمة الإنكليزي التي تدل على الخطأ البرمجي هي (بالإنجليزية: Bug)، وهي تدل على كلمة حشرة أيضاً. يُنسَب الاستعمال الأول لهذه الكلمة في سياق الحوسبة للدلالة على الخطأ البرمجي لعالمة الحاسوب الأمريكية غريس هوبر، التي طوَّرت مُصرِّف لغات البرمجة الأول، فقد عثرت على عثة ميتة محشورة في مُرحِّل في الإصدار الثاني من حاسوب هارفرد في سبتمبر 1947م.[وب-إنج 22]
استعملت الحواسيب لنقل المعلومات بين مواقع عديدة منذ خمسينيات القرن العشرين. كانت بيئة الأرض نصف الآلية [الإنجليزية] المعروفة اختصاراً بالاسم الرمزي ساج (بالإنجليزية: SAGE) المثال الأول لنظام شبكة بيانات، وكان الأساس الذي بُنيت عليه عدد من أنظمة التشبيك التجارية لاحقاً مثل بيئة أبحاث الأعمال نصف الآلية المعروفة [الإنجليزية] اختصاراً بالاسم سِيبر (بالإنجليزية: Sabre).[52] بدأ مهندسو الحاسوب في مراكز الأبحاث في الولايات المتحدة بربط شبكاتهم المحلية معاً باستعمال تقانات الاتصال البُعدي، وموَّلت وكالة مشاريع أبحاث الدفاع المتقدمة، التي كانت تُعرَف بالاسم المُختصر أربا (بالإنجليزية: ARPA) هذه الجهود، وبُنيت شبكة الحاسوب أربانت نتيجة لذلك.[53] ثم شاعت التقانات التي استعملت لبناء أربانت خارج النطاقين البحثي والعسكري، وتطورت لتكون الأساس للإنترنت.
ساهم صعود شبكات البيانات في إعادة تعريف طبيعة الحاسوب وحدوده وإمكانياته. عُدِّلت أنظمة التشغيل والبرامج لتسمح بالنفاذ إلى موارد موجودة في حواسيب أخرى على الشبكة أو لتخزين البيانات وقراءتها من مخدِّمات متصلة مع الشبكة. كان انتشار هذه التقنيات محدوداً في البداية بالعاملين في البيئات المتطورة عالية التقانة، ولكن انتشار التطبيقات البسيطة التي لا تتطلب معرفة تقنية متقدمة مثل البريد الإلكترونية وخدمات الوب بالإضافة لتطوير تقنيات شبكة سريعة مثل الإثرنت وخط المشترك الرقمي غير المتناظر جعل استعمال الحواسيب في بيئات العمل كلها أمراً لا مفر منه بدءاً من تسعينيات القرن العشرين، وأصبح اتصال الحواسيب مع الإنترنت لنقل البيانات في العمل والمنزل أمراً واسع الانتشار، وتطورت في الفترة نفسها شبكات البيانات اللاسلكية مثل واي فاي وشبكات الاتصال الخلوية؛ مما سمح باتصال أسهل مع الإنترنت.
ليس بالضرورة أن يكون الحاسوب مكوناً من عناصر إلكترونية ولا أن يحتوي على معالج أو ذاكرة وصول عشوائي أو قرص صلب. مع أن الاستعمال الدارج لكلمة الحاسوب مرتبط بالحاسوب الشخصي الإلكتروني، إلا أن تعريف الحاسوب هو: "أي آلة تقوم بثلاث مهمات: تتلقى مدخلات ذات بنية مُعرَّفة، وتعالجها وفق قواعد معرَّفة سلفاً، وتولَّد النتائج كمخرجات"[عر 15]، حسب هذا التعريف، فإن أي جهاز يعالج المعلومات يمكن أن يُصنَّف على أنه حاسوب.
الأبحاث جارية لصناعة حواسيب غير تقليدية باستعمال تقانات مختلفة، مثل الحواسيب البصرية وحواسيب الحمض النووي والحواسيب العصبونية والحواسيب الكمومية. الغالب الأعم من الحواسيب عامٌ قادرٌ على حساب الدوال الحَسُوبَة، ويكون كل منها محدوداً بسعة ذاكرته وبسرعة إنجاز العمليات الحسابية، ولكن تصاميم أخرى للحاسوب أعطت نتائج مختلفة أداءً عند معالجة مشكلات محددة، مثلاً تستطيع الحواسيب الكمومية استخراج مُعمَّى خوارزمية تعمية حديثة، مثل خوارزمية شور بسرعة كبيرة.
توجد أنواع مختلفة لمعماريات الحاسوب:
يبدو الحاسوب الكمومي هو الاتجاه الواعد لإحداث ثورة في الحوسبة من بين هذه الآلات المجردة.[54]
يحل الحاسوب المشكلات التي تواجهه متبعاً الطريقة التي بُرمِج بها بحذافيرها، ومن غير اهتمام بوجود طرائق أخرى أكثر كفاءة أو حلولًا بديلة أو اختصارات ممكنة أو حتى أخطاء في النص البرمجي. لكن الذكاء الصنعي وتعلُّم الآلة سوف يغيران هذا الجانب، فهما يسمحان للحاسوب بالتعلم من التجارب السابقة والتكيف مع الظروف المحيطة وطرح حلول إبداعية جديدة غير موجودة في البرامج التي ينفذها.
أصبح الحاسوب جزءاً من سوق العمل، فعُدِّل بعضٌ من الاختصاصات القديمة لتشمل الحاسوب أو أحد جوانبه وتدرسها، في حين ظهرت مهن وأعمال جديدة مرتبطة بالحاسوب وتقانته، لم تكن موجودة قبله.
تستعمل الحواسيب في تبادل المعلومات بين أطراف مختلفة، لذلك وجدت حاجة لاستعمال مواصفات موحدة متفق عليها، لذلك تهتم مجموعة من منظمات المعايير ومجموعات مهنية أو منتديات، بعضها رسمي وبعضها غير رسمي، بوضع معايير مرتبطة بالحاسوب وتطبيقاته.
مجموعات لوضع المعايير | المعهد الأمريكي للمعايير الوطنية (ANSI)، اللجنة الكهروتقنية الدولية (IEC)، معهد مهندسي الكهرباء والإلكترونيات (IEEE)، مجموعة مهندسي الإنترنت (IETF)، المنظمة الدولية للمعايير (ISO)، رابطة الشبكة العالمية (W3C) |
مجتمعات مهنية | جمعية آلات الحوسبة (ACM)، رابطة نظم المعلومات [الإنجليزية] (AIS)، معهد الهندسة والتقانة (IET)، الجمعية الدولية لمعالجة المعلومات (IFIP)، جمعية الحاسبات البريطانية (BCS) |
مجموعات البرمجيات الحرة ومفتوحة المصدر | مؤسسة البرمجيات الحرة، مؤسسة موزيلا، مؤسسة برمجيات أباتشي |
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ=
(help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ=
(help)