المترجم المبرمج - حنا, جبر (Latakia University Journal -Engineering Sciences Series, 2019)
عندما يطور المبرمج برنامجا فإنه كثيراً ما يستخدم نماذج لخوارزميات مطورة مسبقا. هذا يفسر لماذا الأشخاص ذوي الخبرة الأكثر يبرمجون بشكل أسرع. كما يكتسب المبرمج خبرة أكثر, فإنه يقوم بتطوير تعريف معمارية البرنامج بشكل أسرع. ولكنه يقضي نفس المدة الزمنية في عمل كود لخوارزميات مألوفة عند عمل كود لخوارزميات جديدة. يوجد طريقة واحدة تمكننا من تلافي هذا التكرار وضياع المصادر هو استخدام دوال فرعية subroutines وتعريفات ميكرويةmacro definitions لتخطيط الخوارزمية. ومع ذلك فإن تخطيط الخوارزميات هو أمر قاسي جداً. ويعمل فقط مع الخوارزميات التي تكون متساوية تقريباً لولا المتغيرات. والتخطيط الأفضل للخوارزميات ممكن عن طريق برمجة المترجم لذلك لا بد من برمجة التطبيق نفسه. فيبرمج المترجم للسماح لنفس المحاولة بأن تستخدم في حالات مستقبلية مشابهه. When a programmer develops a program, he frequently uses previously developed patterns of algorithms. These explain why people with more experience program faster. As the programmer gains more experience, he develops the program architecture definition faster. But he spends the same amount of time coding familiar algorithms as he would coding a new algorithm. One way to avoid this repetition and waste of resources is to use subroutines and macro definitions to map the algorithms. However, mapping algorithms this way is too rigid, and works only with algorithms that are almost equal except for variables. A much better mapping of algorithms is possible by preprogramming the compile, so instead of programming the application itself, we program the compiler to allow the same effort to be used in future similar situations.