كان لا بد من إيجاد طريقة لتمثيل الأوامر البرمجية (op-code) بعيداً عن تعقيد رموز لغة الآلة. وتمّ التفكير باستخدام شيفرة نصية مكونة من عدة حروف ( من 1- 5 أحرف ) لكتابة هذه الأوامر ووصف مواقع الذاكرة، عرفت باسم (mnemonics).
عند استخدام هذه التقنية في البداية كان المبرمج يستخدم الشيفرة النصية لتصميم البرنامج على الورق، ومن ثم يقوم بترجمته إلى لغة الآلة عند إدخاله إلى جهاز الحاسوب. ولكن، وبعد بعض الوقت، تم التوصل لطريقة تمكن الحاسوب من القيام بعملية الترجمة بنفسه، حيث تم إنشاء برنامج خاص سمّي باسم المجمّع (assembler) مهمته تجميع الأوامر المكتوبة بلغة الآلة من الأوامر المكتوبة على شكل شيفرة رمزية أو نصية (mnemonics).
هذا التطور في عملية ترميز البرامج وترجمتها أدّى لنشوء لغة برمجة خاصة عرفت باسم لغة التجميع ( assembly language ) والتي تمثل الجيل الثاني من لغات البرمجة. واعتبرت هذه اللغة قفزة عملاقة في عالم لغات البرمجة، وجعلت من تطوير تقنيات برمجية أفضل أمراً ممكناً.