27

المبرمج ليس إنسانًا خارقًا

يحب كثير من المبرمجين أن ينظر إليه من حوله على أنه عبقري أو خارق الذكاء. في الحقيقة البرمجة ليست سوى القدرة على حل المشكلات، لكن نوع هذه المشكلات يختلف عن المشكلات التي يصادفها غير المبرمجين. المبرمج يحاول دومًا حل المشكلة بأقصر وأسرع طريقة، ولحل هذه المشكلة يحتاج إلى تعلم لغات معينة أو حِيَل معينة أو إطار عمل معين...

بالإضافة إلى ذلك، ليس كل من يقول عن نفسه "مبرمج" بالفعل كذلك، بعض المبرمجين ليسوا أكثر من "كاتبي كود Coders".

على الجانب الآخر هناك مصطلح "مطوّر Developer" وهو باعتقادي رتبة أعلى من المبرمج... وأما "الأشخاص الخارقون" بالفعل فهم علماء الكمبيوتر (Computer Scientists) فهولاء بالفعل يعرفون كيف تعمل الحواسيب، وتجاوزوا منذ زمن حل المشكلات البرمجية إلى ما هو أعمق بكثير :)

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

19

اتفق معك في كثير من كلامك، ماعدا بعض النقاط وهي:

  • أن المُبرمج له قدرة على حل المشكلات البرمجية، وليس كل المشكلات، من له قُدرة على حل المشكلات الغير برمجية هو المحلل والمعماري والمصمم أو المدير الجيد، أو حتى الزبون (في هذه الحال نُسميه business architect)

  • أما عُلماء الكمبيوتر فلا اعتقد أنهم تجاوزوا حل المُشكلات البرمجية. فنأخذ مثال: شركة بورلاند، وهي شركة عريقة كعراقة ميكروسوفت ومنافسة لها ، أنتجت لغات برمجة كانت في طليقة اللغات وكذلك أدوات التطوير مثل دلفي سي بلدر وجي بلدر، ويعمل بها عباقرة من المبرمجين والمطورين أشهرهم أندرس هجلسبيرغ، الذي اشترته ميكروسوفت بمبلغ مليونين أو ثلاثة ملايين حتى يعمل في ميكروسوفت. لكن مع هذا قام بعض المطورون - وهم بالطبع أقل من علماء بورلاند حسب تصنيفك- بعمل برنامج بإستخدام إحدى هذه اﻷدوات وهي أداة التطوير دلفي، قاموا بعمل برنامج Skype بها والذي تم شرائه بواسطة ميكروسوفت بـ 8 مليار دولار، في حين أن شركة إمباركاديرو اشترت كافة أدوات التطوير من شركة بورلاند بما فيها دلفي وسي بلدر وإنتربيز، فقط بمبلغ 23 مليون دولار. أي أن المطور استطاع عمل برنامج ذو قيمة أعلى بواسطة أدوات قام بها بعض علماء الكمبيوتر.

  • بالنسبة للنقطة الأولى فهذا هو بالضبط ما أعنيه، "لكن نوع هذه المشكلات يختلف عن المشكلات التي يصادفها غير المبرمجين"، قدرة المبرمج على حل المشكلات التي يواجهها لا تختلف عن قدرة المهندس أو المعماري على حل المشكلات التي يواجهها في اختصاصه.

  • وبالنسبة للنقطة الثانية فأعتقد أنك تنظر للأمور من ناحية مادية، الأمر ليس بالضرورة تحقيق منتجات تدر أرباحًا، هناك الكثير من علماء الكمبيوتر الذين طوروا لغات برمجة ونظم تشغيل وثروتهم متواضعة بالنسبة لمطورين صمموا برامج بنيت على هذه المكونات، النجاح لا يعني الثروة بالضرورة. خذ على سبيل المثال Linux النواة التي بناها Linus Torvalds مقابل Android نظام التشغيل الذي تطوره Google، أو شبكة الإنترنت التي أسهها مجموعة من العلماء وGoogle التي تعتمد عليها كأساس لمنتجاتها... إلخ.

لا اقصد من ناحية مادية فقط، لكن قصدت أنهم عملوا برنامج (Skype) ربما لا يستطيع من عمل أداة التطوير نفسها (Delphi) أن يُنافسهم. وهُناك أمثلة كثيرة. من بنى Android يُمكن أن يكون أفضل من ناحية معرفة وذكاء أكثر من ليونس نفسه. ليس بالضرورة أن من بداية أول مشروع ثم التحق به آخرون أن يكون أفضلهم. كثير من المبرمجين أو المطورين غير المعروفين في رأيي هم أفضل من كثير من المبرمجين أو العلماء الذين اسسوا علوم الكمبيوتر وحتى أفضل ممن قاموا بإختراع الكمبيوتر. والدليل على ذلك، كم سطراً كتب ليونس تورفادز في نواة لينكس، وكم سطراً كتب من أتوا من خلفه.

مسأله أن علماء الحاسوب قد تجاوزوا حل المشكلات البرمجية هذه غير صحيحة بالمرة، من قال أن المشكلات تم تجاوزها أصلاً. ربما نحن لم نتجاوز إلا 1 من مليار من المشكلات البرمجية، ولو حدث ذلك لتوقف تطوير برامج الكمبيوتر.

أحد اﻷشياء اﻷخرى التي تُثبت أن علماء الحاسوب لم يتجاوزا المشكلات البرمجية هو مسألة السرية والتشفير، مازالت مسأله مؤرقة لكل العالم المعلوماتي وليس هُناك حل أثبت نجاحة مائة بالمائة إلى اﻵن.

أيضاً لا توجد لغة برمجة أو أداة تطوير تنفع لكل اﻷغراض. يحتاج الشخص لأن يتعلم أكثر من لغة ليعمل في عدة مجالات، أو أن يكتفي بالمجالات التي تستطيع أن تُنافس فيها اﻷدوات ولغات البرمجة التي يتقنها

18

المبرمج خارق في نظر الزبون غالباً وهذا ما يؤدي عادة إلى الخلاف بين المبرمج والزبون الغير مُطلع على البرمجة.

كلام سليم 100%

المبرمج إنسانًا خارقًا .. اعتقد انه هذا ما يظنه المبتدئين و اصحاب الخبرة الضعيفة

في استخدام الحاسوب و حل مشكلته و ليس البرمجة ..

بالمناسبة .. فإن مختلف الشروط لما نسقطها على العالم العربي تختل

يعني المبرمج أو المطور عند الغرب هو كذلك عن حق

أما في العالم العربي فمن يتعلم echo و print يعتبر نفسه مبرمج

عموما وفي عالمنا العربي فلازلنا نحتاج الكثير من الوعي والكثير من دعم المواهب والطاقات

-1

ماهو تخصص يجعلني عالم كمبيوتر ؟

هناك الكثير من التخصصات التي تجعلك عالم في الحاسب (ليس الكمبيوتر الشخصي بل أي نظام يحتوي على معالج وذاكرة وصول ومداخل ومخارج I/Os) ، أذكر منها باختصار:

  • علوم الحاسب (Computer Science) تخصص نظريات الحاسب والبرمجة وتركيب البيانات والذكاء الاصطناعي (Artificial Intelligence) وما يتفرع منه من تعليم الآلة (Machine Learning)

  • هندسة الحاسب (Computer Engineering) تخصص كل شيء يتعلق بالحاسب من الهندسة الكهربائية (Electrical Circuits) إلى المنطق في الحاسبات (Logic) إلى التطوير البرمجي (Software Development) إلى التطوير العتادي (Hardware Development) إلى الشبكات (Networking) مما يؤدي إلى تصميم وتطوير أنظمة مُضمنة (Embedded Systems) تستخدم ما سبق ذكره من علوم.

  • وأيضاً هناك هندسة البرمجية (Software Engineering) وهو تخصص تصميم واختبار البرمجيات الضخمة مثل أنظمة التشغيل (OS's) وتخطيط مواردها.

كل هذه التخصصات تتداخل مع بعضها في بعض المواد.

لا أعرف، ربما دراسة Computer Science في جامعة محترمة مع الكثير والكثير من الجهد الشخصي