GNU/Linux >> Belajar Linux >  >> Linux

5 alasan mengapa saya suka coding di Linux

Pada tahun 2021, ada lebih banyak alasan mengapa orang menyukai Linux daripada sebelumnya. Dalam seri ini, saya akan membagikan 21 cara berbeda untuk menggunakan Linux. Di sini saya akan menjelaskan mengapa begitu banyak programmer memilih Linux.

Ketika saya pertama kali mulai menggunakan Linux, itu karena dukungan multimedia yang sangat baik karena saya bekerja di produksi film. Kami menemukan bahwa aplikasi pengeditan video eksklusif tidak dapat menangani sebagian besar rekaman yang kami tarik dari hampir semua perangkat yang dapat merekam gambar. Pada saat itu, saya tidak menyadari bahwa Linux memiliki reputasi sebagai sistem operasi untuk server dan pemrogram. Semakin banyak yang saya lakukan di Linux, semakin saya ingin mengontrol setiap aspeknya. Dan pada akhirnya, saya menemukan bahwa komputer paling kuat saat penggunanya dapat "berbicara" dalam bahasanya. Dalam beberapa tahun setelah beralih ke Linux, saya membuat skrip pengeditan video tanpa pengawasan, merangkai file audio, foto pengeditan massal, dan hal lain yang dapat saya bayangkan dan kemudian menemukan solusi untuknya. Tidak butuh waktu lama bagi saya untuk memahami mengapa programmer menyukai Linux, tetapi Linuxlah yang mengajari saya untuk menyukai pemrograman.

Ternyata Linux adalah platform yang sangat baik untuk programmer, baik yang baru maupun yang berpengalaman. Bukannya Anda membutuhkan Linux untuk diprogram. Ada pengembang yang sukses di semua jenis platform yang berbeda. Namun, Linux memiliki banyak hal untuk ditawarkan kepada pengembang. Berikut beberapa hal yang menurut saya berguna.

Dasar logika

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Linux dibangun di sekitar otomatisasi. Sangat disengaja bahwa aplikasi staples di Linux setidaknya dapat diluncurkan dari terminal dengan opsi tambahan, dan seringkali aplikasi tersebut bahkan dapat digunakan seluruhnya dari terminal. Ide ini terkadang disalahartikan sebagai model komputasi primitif karena orang secara keliru percaya bahwa menulis perangkat lunak yang beroperasi dari terminal hanya melakukan hal minimum untuk mendapatkan aplikasi yang berfungsi. Ini adalah kesalahpahaman yang disayangkan tentang cara kerja kode, tetapi ini adalah sesuatu yang banyak dari kita bersalah dari waktu ke waktu. Kami pikir lebih selalu lebih baik, jadi aplikasi yang berisi 1.000 baris kode harus 100 kali lebih baik daripada aplikasi dengan sepuluh baris kode, bukan? Yang benar adalah bahwa semua hal dianggap sama, aplikasi dengan fleksibilitas yang lebih besar lebih disukai, terlepas dari bagaimana menerjemahkannya ke baris kode.

Di Linux, proses yang mungkin memakan waktu satu jam jika dilakukan secara manual dapat dikurangi menjadi satu menit dengan perintah terminal yang tepat, dan mungkin lebih sedikit jika diuraikan ke GNU Parallel. Fenomena ini membutuhkan perubahan dalam cara Anda berpikir tentang apa yang dilakukan komputer. Misalnya, jika tugas Anda adalah menambahkan gambar sampul ke 30 file PDF, Anda mungkin berpikir ini adalah alur kerja yang masuk akal:

  1. Buka PDF di editor PDF
  2. Buka sampul depan
  3. Menambahkan PDF di akhir file sampul
  4. Simpan file sebagai PDF baru
  5. Ulangi proses ini untuk setiap PDF lama (tetapi jangan menduplikasi proses ini untuk setiap PDF baru)

Ini sebagian besar merupakan hal yang masuk akal, dan meskipun berulang-ulang dengan menyakitkan, itu menyelesaikan pekerjaan. Di Linux, bagaimanapun, Anda dapat bekerja lebih pintar dari itu. Proses berpikirnya serupa:Pertama, Anda merancang langkah-langkah yang diperlukan untuk hasil yang sukses. Setelah beberapa penelitian, Anda akan mengetahui tentang pdftk-java perintah, dan Anda akan menemukan solusi sederhana:

$ pdftk A=cover.pdf B=document_1.pdf \
 cat A B \
 output doc+cover_1.pdf

Setelah Anda membuktikan kepada diri sendiri bahwa perintah bekerja pada satu dokumen, Anda mengambil waktu untuk mempelajari tentang opsi pengulangan, dan Anda menyelesaikan operasi paralel:

$ find ~/docs/ -name "*.pdf" | \
 parallel pdftk A=cover.pdf B={} \
 cat A B \
 output {.}.cover.pdf

Ini adalah cara berpikir yang sedikit berbeda karena "kode" yang Anda tulis memproses data secara berbeda dari linearitas yang biasa Anda gunakan. Namun, keluar dari cara berpikir linier lama Anda penting untuk menulis kode yang sebenarnya nanti, dan ini memiliki manfaat sampingan yaitu memberdayakan Anda untuk menghitung dengan lebih cerdas.

Sambungan kode

Tidak peduli untuk platform apa Anda memprogram saat Anda menulis kode, Anda menjalin kisi-kisi rumit dari koneksi tak terlihat di antara banyak file yang berbeda. Dalam semua kecuali kasus yang paling langka, kode diambil dari header dan bergantung pada perpustakaan eksternal untuk menjadi program yang lengkap. Ini terjadi pada platform apa pun, tetapi Linux cenderung mendorong Anda untuk memahaminya sendiri, daripada mempercayai begitu saja kit pengembangan platform untuk mengurusnya untuk Anda.

Sekarang, tidak ada yang salah dengan mempercayai kit pengembangan untuk menyelesaikan perpustakaan dan sertakan jalan. Sebaliknya, abstraksi semacam itu adalah kemewahan yang harus Anda nikmati. Namun, jika Anda tidak pernah memahami apa yang terjadi, maka akan jauh lebih sulit untuk mengesampingkan proses saat Anda perlu melakukan sesuatu yang tidak diketahui oleh kit dev atau untuk memecahkan masalah saat muncul.

Ini juga diterjemahkan ke seluruh platform. Anda dapat mengembangkan kode di Linux yang ingin Anda jalankan di Linux serta sistem operasi lain, dan pemahaman Anda tentang bagaimana kompilasi kode membantu Anda mencapai target.

Memang, Anda tidak mempelajari pelajaran ini hanya dengan menggunakan Linux. Sangat mungkin untuk membuat kode dalam IDE yang bagus dan tidak pernah memikirkan versi perpustakaan apa yang telah Anda instal atau di mana header pengembangan berada. Namun, Linux tidak menyembunyikan apa pun dari Anda. Sangat mudah untuk menggali ke dalam sistem, menemukan bagian-bagian penting, dan membaca kode yang dikandungnya.

Kode yang ada

Mengetahui di mana header dan library berada adalah berguna, tetapi menjadikannya sebagai referensi adalah bonus tambahan lainnya untuk pemrograman di Linux. Di Linux, Anda dapat melihat kode sumber dari apa pun yang Anda inginkan (tidak termasuk aplikasi yang bukan open source tetapi berjalan di Linux). Manfaat di sini tidak dapat dilebih-lebihkan. Saat Anda mempelajari lebih lanjut tentang pemrograman secara umum atau tentang pemrograman sesuatu yang baru bagi Anda, Anda dapat belajar banyak dengan mengacu pada kode yang ada di sistem Linux Anda. Banyak programmer telah belajar bagaimana membuat kode dengan membaca kode sumber terbuka orang lain.

Pada sistem berpemilik, Anda mungkin menemukan dokumentasi pengembang dengan contoh kode di dalamnya. Itu bagus karena dokumentasi itu penting, tetapi tidak ada artinya jika dibandingkan dengan menemukan fungsionalitas persis yang ingin Anda terapkan dan kemudian menemukan kode sumber yang menunjukkan bagaimana hal itu dilakukan dalam aplikasi yang Anda gunakan setiap hari.

Akses langsung ke periferal

Sesuatu yang sering saya anggap remeh setelah mengembangkan kode untuk perusahaan media yang menggunakan Linux adalah akses ke periferal. Misalnya, saat menghubungkan kamera video ke Linux, Anda dapat menarik data yang masuk dari /dev/video0 atau serupa. Semuanya ada di /dev , dan selalu merupakan jalur terpendek antara dua titik untuk sampai ke sana.

Itu tidak terjadi pada platform lain. Menghubungkan ke sistem di luar sistem operasi sering kali merupakan labirin SDK, perpustakaan terbatas, dan terkadang NDA. Ini, tentu saja, bervariasi tergantung pada apa yang Anda pemrograman, tetapi sulit untuk mengalahkan antarmuka Linux yang sederhana dan dapat diprediksi.

Lapisan abstraksi

Sebaliknya, Linux juga menyediakan satu set lapisan abstraksi yang sehat ketika akses langsung atau pengkodean manual akhirnya menciptakan lebih banyak pekerjaan daripada yang ingin Anda lakukan. Ada kemudahan yang ditemukan di Qt dan Java, dan ada banyak tumpukan seperti Pulse Audio, Pipewire, dan gstreamer. Linux ingin Anda dapat membuat kode, dan itu terlihat.

Tambahkan ke daftar ini

Ada lebih banyak alasan yang membuat coding di Linux menyenangkan. Beberapa adalah konsep yang luas dan yang lainnya terlalu detail yang telah menyelamatkan saya dari frustrasi selama berjam-jam. Linux adalah tempat yang tepat untuk dikunjungi, apa pun platform yang Anda targetkan. Baik Anda baru belajar tentang pemrograman atau Anda seorang pembuat kode yang mencari rumah digital baru, tidak ada ruang kerja yang lebih baik untuk pemrograman selain Linux.


Linux
  1. 10 alasan untuk mencintai Linux pada tahun 2021

  2. Mengapa saya jatuh cinta dengan Antergos Linux

  3. Mengapa Linux? – Beberapa Alasan Untuk Mengkonversi Ke Linux

  1. Mengapa saya menyukai KDE untuk desktop Linux saya

  2. Mengapa programmer menyukai kemasan Linux

  3. 12 Alasan Mengapa Setiap Administrator Sistem Linux Harus Malas

  1. 21 alasan mengapa saya pikir semua orang harus mencoba Linux

  2. Mengapa saya suka menggunakan bspwm untuk window manager Linux saya?

  3. Mengapa penggemar Vim menyukai window manager Herbstluftwm Linux