Selama bertahun-tahun saya telah mempertimbangkan menggali ke dalam apa yang saya anggap bahasa "tingkat rendah". Bagi saya ini berarti C dan perakitan. Namun saya belum punya waktu untuk ini, juga belum pernah diperlukan.
Sekarang karena saya tidak melihat adanya kebutuhan yang muncul, saya merasa seperti saya harus menjadwalkan beberapa saat ketika saya akan mempelajari subjek atau membatalkan rencana selamanya.
Posisi saya
Selama 4 tahun terakhir saya telah berfokus pada "teknologi web", yang dapat berubah, dan saya adalah pengembang aplikasi, yang tidak mungkin berubah.
Dalam pengembangan aplikasi, saya pikir kegunaan adalah hal yang paling penting. Anda menulis aplikasi untuk "dikonsumsi" oleh pengguna. Semakin banyak aplikasi tersebut dapat digunakan, semakin banyak nilai yang Anda hasilkan.
Untuk mencapai kegunaan yang baik, saya percaya hal-hal berikut dapat dilakukan
- Desain bagus : Fitur yang dipikirkan dengan baik dapat diakses melalui antarmuka pengguna yang dipikirkan dengan matang.
- Kebenaran : Desain terbaik tidak berarti apa-apa, jika tidak diimplementasikan dengan benar.
- Fleksibilitas : Aplikasi A harus terus berkembang, sehingga penggunanya tidak perlu beralih ke aplikasi B yang berbeda, yang memiliki fitur baru, yang dapat diterapkan oleh A. Aplikasi yang menangani masalah yang sama seharusnya tidak berbeda dalam fitur tetapi dalam filosofi.
- Kinerja : Kinerja berkontribusi pada pengalaman pengguna yang baik. Sebuah aplikasi idealnya selalu responsif dan melakukan tugasnya dengan cukup cepat (berdasarkan frekuensinya). Nilai optimasi kinerja di luar titik di mana hal itu terlihat oleh pengguna dipertanyakan.
Saya pikir pemrograman tingkat rendah tidak akan membantu saya dengan itu, kecuali untuk kinerja. Tetapi menulis seluruh aplikasi dalam bahasa tingkat rendah demi kinerja adalah pengoptimalan prematur bagi saya.
Pertanyaan saya
Apa yang bisa diajarkan oleh pemrograman tingkat rendah, bahasa apa yang tidak akan saya ajarkan? Apakah saya kehilangan sesuatu, atau hanya keterampilan, yang sangat sedikit gunanya untuk pengembangan aplikasi? Tolong mengerti, bahwa saya tidak mempertanyakan nilai C dan perakitan. Hanya saja dalam kehidupan sehari-hari saya, saya cukup senang bahwa semua seluk-beluk dunia itu disarikan dan dikelola untuk saya (kebanyakan oleh lapisan yang ditulis dalam C / C ++ dan berkumpul sendiri). Saya hanya tidak melihat konsep apa pun, yang mungkin baru bagi saya, hanya detail yang harus saya isi kepala saya. Jadi apa untungnya bagi saya?
Kesimpulan saya
Terima kasih untuk semuanya atas jawaban mereka. Saya harus mengatakan, tidak ada yang benar-benar mengejutkan saya, tetapi setidaknya sekarang saya cukup yakin saya akan menjatuhkan bidang minat ini sampai ada kebutuhan untuk itu muncul.
Untuk pemahaman saya, menulis perakitan hari ini untuk prosesor seperti yang digunakan dalam CPU hari ini tidak hanya rumit, tetapi berisiko menghasilkan kinerja runtime yang lebih buruk daripada rekan C. Mengoptimalkan dengan tangan hampir mustahil karena OOE, sementara Anda tidak mendapatkan semua jenis optimasi yang dapat dilakukan oleh kompiler secara otomatis. Selain itu, kodenya bisa dibawa-bawa, karena ia menggunakan sebagian kecil dari perintah yang tersedia, atau dioptimalkan, tetapi mungkin hanya bekerja pada satu arsitektur saja.
Menulis C tidak lagi diperlukan, seperti di masa lalu. Jika saya menulis aplikasi dalam C, saya akan menggunakan banyak perpustakaan dan kerangka kerja yang teruji dan mapan, yang akan membuat saya menerapkan rutinitas penyalinan string, pengurutan algoritma dan hal-hal lain yang berfungsi sebagai latihan di universitas. Kode saya sendiri akan dieksekusi lebih cepat dengan biaya keamanan tipe. Saya tidak tertarik untuk menemukan kembali roda dalam pengembangan aplikasi normal, atau mencoba men-debug dengan melihat dump inti: D
Saat ini saya sedang bereksperimen dengan bahasa dan penerjemah, jadi jika ada sesuatu yang ingin saya terbitkan, saya kira saya akan port konsep yang berfungsi ke C, meskipun C ++ mungkin juga melakukan trik.
Sekali lagi, terima kasih kepada semua orang atas jawaban dan wawasan Anda.