Sabtu, 21 April 2012

cpp & cmm

Beberapa minggu lalu, kudapat pekerjaan mendebug (menghilangkan kutu?) software eh perangkat lunak pada ECU mesin Chrysler Tiger Shark. Mesin ini akan digunakan di tahun 2013 pada mobil Dodge Dart. Suatu alat bernama Trace32 dari perusahaan Lauterbach digunakan untuk mendebug.

Alat ini terdiri dari perangkat keras dan lunak. Perangkat lunaknya memiliki tampilan GUI yang dibuat dengan Qt. Perintah-perintah teks yang dipakai menggunakan bahasa Python. Cara mengonfigurasi Trace32 mengandung file cmm. Apa itu file cmm?

CMM adalah C minus minus, lawan kata dari C plus plus (C++). Pada C++, file cpp digunakan untuk source code. Pada C, tentu saja file c. Bahasa C/C++ adalah bahasa pemrograman terstruktur, sedangkan CMM adalah bahasa scripting. Dengan CMM, kita membuat batch untuk menjalankan beberapa perintah pada Trace32.

Bahasa C ada sejak tahun 1971, menggantikan bahasa B yang lahir tahun 1969. Berbahasa C sangat baik buat orang yang senang dengan suatu bahasa pemrograman yang dekat dengan bahasa level rendah seperti assembly yang kata orang jaman dahulu disebut sebagai bahasa mesin. Orang yang ingin mengerti bagaimana hubungan prosesor dan memori bekerja, bisa mengutak-atik konsep pointer dan reference dalam bahasa C. Sebetulnya, aku juga masih tak mengerti tentang ini, jadinya suka kena error yang bukan compiling error. Biasanya galat ini disebabkan aku kelupaan melakukan release atau delete pointer.

Bahasa C mulai ditambah dengan konsep class dalam pemrograman berorientasi objek (OOP) pada tahun 1983. C with classes ini kemudian dikenal sebagai C++. Begitulah nostalgia C/C++. Pointer digabung dengan class adalah cara yang dipakai programmer jaman sekarang untuk membuat dan memakai handle pada Qt, COM, ActiveX, dan berbagai perangkat lainnya.

Kalau ingin belajar konsep OOP (object-oriented programming) yang sesungguhnya, Java adalah bahasa yang tepat. Bahasa Java ini sejak 1991. C++ adalah bahasa tanggung. Berbahasa C++ seperti berdiri di atas dua kaki. Satu kaki C dengan kerumitan pointer dan satu kaki OOP tanggung.

Pada tahun 1992, perusahaan Nombas berusaha membuat suatu bahasa scripting untuk embedded system. Bahasa ini harus cukup tangguh menggantikan makro dan cepat dipelajari seperti C++. Hasilnya adalah C minus-minus (cmm). Bahasa ini masuk dalam suatu "package" shareware CEnvi. Menurut sejarah, ide dari cmm ini melatarbelakangi pembentukan Java Script di tahun 1995.

Nah, kembali ke embedded system. Bulan ini dan bulan depan, aku perlu mempelajari cmm. Bahasa scripting ini penting karena ECU buatan Chrysler dan Continental ini belum berhasil didebug. Proyek-proyek lain dari Fiat yang menggunakan ECU dari Magneti Marelli, telah bisa didebug. Semoga bahasa ini bisa kupelajari dengan cepat demi masa depan cerah di bidang ini.

Gaptek yang tak kunjung padam!
Habis gaptek terbitlah terang ilmu!

Nürnberg, 21 April 2012

iscab.saptocondro