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