Bahasa assembly sekarang mulai ditinggalkan dikarenakan programmer sekarang dituntut untuk membuat program yang semakin kompleks. Oleh karena itu, programmer mengembangkan bahasa tingkat tinggi semisal C, Pascal sampai bahasa yang berbasis objek seperti Java atau C++. Meskipun begitu, Assembly tetap memiliki keunggulan yang tidak dimiliki oleh bahasa pemrograman mana pun.
Bahasa assembly memungkinkan komunikasi manusia berkomunikasi langsung dengan mikroprosesor (CPU) secara langsung sehingga akan dihasilkan eksekusi yang lebih cepat. Hal ini tentu karena instruksinya yang lebih singkat dan lebih mendekati cara kerja mesin CPU itu sendiri.
Ada beberapa hal yang menjadi pertimbangan, efektivitas dan kompleksitas masalah yang dihadapi. Efektivitas bahasa assembly sendiri tergantung programmer, bukan berarti dengan menggunakan bahasa assembly performa lebih baik. Jika masalah yang dihadapi cukup kompleks, maka bahasa tingkat tinggi adalah pilihan paling tepat. Untuk membuat program yang kompleks dan fleksibilitas tinggi, mau tidak mau kita harus menggunakan bahasa tingkat tinggi semisal C. Di sisi lain, kita juga membutuhkan performa setinggi-tingginya. Beberapa kompiler C (terutama cross-compiler) sudah dilengkapi dengan directive yang memungkinkan compiler untuk menjalankan instruksi yang dibuat dalam bahasa assembly. Hal ini memungkinkan programmer C untuk meningkatkan performa dari programnya.
Jadi, bahasa pemrograman itu hanyalah sebuah alat terlepas dari masing-masing keunggulan dan kelemahannya. Anda dituntut lebih memahami masalah dan memberikan pemecahan masalah tersebut, istilah ini dinamakan algoritma. Setelah itu, Anda dapat menentukan apakah menggunakan bahasa high level misal C ataukah bahasa Assembly. Akan lebih baik jika mempelajari keduanya, karena Anda dapat mengembangkan bahasa high level dengan bahasa assembly tersebut untuk kasus tertentu yang tidak dapat diselesaikan dengan bahasa high level C.