أجدى نصيحة يمكن أن تُقدم في هذا الصدد أن تبدأ من حيث ينتهي البعض أي أن تباشر دراسة علم التحسيب النظري Theoretical computer science من فورك بدلا من المخطط المعهود الذي يبدأ مع أمور تطبيقية ومناحي عملية. فبدلا من دراسة لغة برمجة معينة -وهذا يحسنه أي أحد- تدرس نظرية لغات البرمجة Programming languages theory وبدلا من دراسة التعقيد الحسابي Computational complexity للخوارزميات في سياقات برمجية تدرس نظرية التعقيد الحسابي Computational complexity Theory والتحليل الخوارزمي Analysis of Algorithmsونظرية التحسيب Computability وللمشي في هكذا طريق لا بد من امتلاك أدوات رياضية صارمة فتطالعْ نظرية المبيان Graph Theory والتحليل التوافقي Combinatorics وسائر ما يندرج تحت الرياضيات المتقطعة Discrete mathematics أشكال للمنطق معينة. وحينما يتيسر لك الفهم والاستيعاب الوافي لهذه الحقول تصبح الجوانب التطبيقية مثل البرمجة باستخدام لغة معينة أمرا أسهل. ولا تنسَ المجالات الأقل شهرة مثل علم التشفير Cryptography ونظرية الترميز أو التكويد Coding theory.
وأما عن الطريق المعينة لسلوك كل هذا فكل امرئ يرتأي لنفسه مذهبا يرتضيه وقد أمدك لاحقا بدزينة من الكتب أرفعها على تلغرام
ولتعلمْ أن جوابي هذا قد عكس رؤية تخصني تتمثل في إجلاء علم التحسيب النظري فوق غيره من الحقول ولذلك قد يختلف الكلام كل الاختلاف إذا لم يكن غرضك علميا بحتا كأن تريد وظيفةً أو شغلا من وراءه.
والأهم من هذا وذاك أنكم تعقدون الأمور فبالوسع اختصار جوابي هذا كله عبر إخبارك بأن تمسك كتابا علميا فتقرأه ثم تعبر منه إلى غيره وهكذا دواليك...لا تصعب الأمور على نفسك لئلا تصعب عليك.