kami telah bermigrasi dari assembler ke C dalam pemrograman mikroprosesor. Saya ragu bahwa ini adalah ide yang bagus
Jangan takut, tidak ada yang mengembangkan program baru di assembler 100% lagi. Saat ini, C dapat digunakan bahkan untuk arsitektur 8-bit paling kecil dan paling jelek. Namun , mengetahui assembler membuat Anda seorang programmer C yang jauh lebih baik. Juga, selalu ada beberapa detail kecil dalam suatu program yang perlu ditulis dalam assembler.
Saya dapat mengatakan bahwa sintaks C jauh lebih mudah dipelajari daripada sintaks Assembler.
Ya sintaks lebih mudah, tentu saja. Namun, mempelajari seluruh bahasa C dengan semua detail yang mengganggu jauh lebih kompleks daripada mempelajari semua detail assembler tertentu. C adalah bahasa yang jauh lebih besar dan lebih luas. Tetapi sekali lagi, Anda mungkin tidak perlu mempelajari semua detailnya.
C lebih mudah digunakan untuk membuat program yang lebih kompleks.
Memang, C menyediakan mekanisme untuk desain program modular, seperti enkapsulasi dan lingkup lokal / variabel lokal. Dan C memiliki perpustakaan standar, ditambah sejumlah besar sumber daya yang ditulis selama 30 tahun terakhir. Dan yang paling penting, C itu portabel.
Belajar C entah bagaimana lebih produktif daripada belajar assembler karena ada lebih banyak hal yang berkembang di sekitar C daripada Assembler.
C memiliki banyak fungsi, perpustakaan, dan sumber daya yang sudah dibuat sebelumnya, sehingga akan ada sedikit penemuan kembali roda. Namun terlepas dari itu, pernyataan Anda bersifat subyektif. Saya percaya ini masalah pilihan pribadi.
Sebagai contoh, saya adalah seorang programmer C yang berpengalaman, terkadang pemrograman C ++. Saya menemukan diri saya jauh kurang produktif dalam C ++, karena saya tidak tahu bahasa itu juga saya tahu C. Tapi hanya karena saya merasa seperti itu, itu tidak selalu berarti bahwa pemrograman dalam C lebih produktif daripada pemrograman dalam C ++. Seorang programmer C ++ berpengalaman pasti akan memiliki pendapat yang berlawanan.
Dan ada banyak aspek untuk "produktif". Aspek yang sangat penting adalah waktu pemeliharaan, dan terutama waktu yang diperlukan untuk memperbaiki bug yang disebabkan oleh pemeliharaan. C jauh lebih mudah dirawat daripada assembler.
Assembler adalah bahasa pemrograman level lebih rendah dari C, jadi ini membuatnya bagus untuk pemrograman langsung ke perangkat keras.
Pemrograman perangkat keras dapat dilakukan secara langsung dalam bahasa apa pun. Satu-satunya hal yang tidak dapat Anda lakukan di C adalah mengakses penunjuk tumpukan dan register kondisi dll, dari inti CPU itu sendiri. Jadi jika dengan pemrograman perangkat keras yang Anda maksud berbicara dengan CPU Anda sendiri, maka ya, assembler memungkinkan sedikit lebih banyak daripada C. Jika Anda maksud mengakses perangkat keras eksternal, maka assembler tidak memiliki kelebihan dibandingkan C. Tetapi mungkin kerugiannya, karena seringkali lebih sulit untuk menulis kode assembler generik untuk perangkat eksternal tertentu, daripada kode C generik.
Jauh lebih fleksibel menyinggung Anda untuk bekerja dengan memori, interupsi, register-mikro, dll.
Ini tidak benar. C memungkinkan Anda untuk melakukan semua itu juga, walaupun Anda mungkin harus bergantung pada kode C khusus-kompiler seperti kata kunci interrupt.
Pada akhirnya, Anda perlu mengetahui kedua bahasa untuk memprogram MCU, dengan penekanan pada C.