3 poin oleh GN⁺ 2024-07-01 | Belum ada komentar. | Bagikan ke WhatsApp

Proyek Akhir Pekan: Bersenang-senang dengan Bahasa C

  • Bahasa C sederhana namun kuat, sehingga seluruh sistem operasi dapat ditulis dengan relatif mudah
  • Sintaks ringkas C memengaruhi banyak bahasa penerus seperti Java dan Go
  • Juga berkontribusi pada lahirnya seni obfuscation kode

Kompetisi IOCCC

  • Kompetisi IOCCC adalah contoh paling representatif dari obfuscation kode
  • Karya yang ikut kompetisi sering memakai makro preprocessor yang membingungkan, format yang tidak logis, nama variabel yang tidak membantu, dan sebagainya
  • Kode semacam ini sulit dibaca, tetapi C bisa tetap mudah dibaca sekaligus membingungkan

Pernyataan switch

  • Pernyataan switch, seperti if atau for, tidak wajib memakai kurung kurawal
  • Jika digunakan tanpa kurung kurawal, hanya satu pernyataan yang dapat dimasukkan
  • switch pada dasarnya mirip goto yang dipermak
  • Inisialisasi variabel di dalam switch dapat memicu perilaku yang tak terduga

Label case

  • Label case tidak harus berada di tingkat teratas blok switch
  • Dapat digunakan bersama kondisi if (0)
  • Bisa tetap berfungsi bahkan tanpa pernyataan break

Kombinasi else dan if

  • else dan if dapat digunakan untuk menggantikan pernyataan switch
  • Beberapa kondisi dapat ditangani bahkan tanpa kurung kurawal

Fitur ekstensi GNU

  • Alamat label dapat diambil dengan operator && lalu dilompati menggunakan goto
  • Dengan cara ini, pernyataan switch bisa digantikan

Pengganti pernyataan for

  • Loop dapat diimplementasikan dengan memakai label di dalam deklarasi variabel
  • Meski khusus GCC, tetap memungkinkan menulis kode C yang sangat orisinal dan membingungkan

Kesimpulan

  • Bahasa C menawarkan kemungkinan untuk menulis kode yang sangat orisinal dan membingungkan
  • Kode seperti ini sulit dibaca, tetapi menunjukkan betapa kuatnya bahasa C

Opini GN⁺

  • Artikel ini dengan baik menunjukkan orisinalitas dan kompleksitas bahasa C
  • Berguna untuk mengeksplorasi beragam kemungkinan penggunaan bahasa C
  • Sisi artistik seperti obfuscation kode juga menarik
  • Contoh yang memanfaatkan ekstensi GNU sangat unik dan kreatif
  • Bagi pengembang pemula yang sedang belajar C, isinya bisa terasa agak sulit

Belum ada komentar.

Belum ada komentar.