Kapan mempelajari versi baris perintah dari alat pemrograman? [Tutup]

12

Hampir setiap alat pemrograman memiliki versi baris perintah; banyak yang juga memiliki versi gui. Dibutuhkan banyak waktu dan upaya menghafal untuk mempelajari berbagai perintah dan berbagai opsi / sakelar versi baris perintah.

Jadi saya punya beberapa pertanyaan (yang tidak harus saling eksklusif):

1) Kapan Anda akan bersusah payah mempelajari / menghafal perintah dalam versi baris perintah dari alat yang juga datang dalam versi gui?

2) Alat apa yang harus saya pelajari versi baris perintah? .... kompiler? sistem kontrol versi? dll

explorest
sumber
Jika alat yang Anda gunakan menyediakan antarmuka baris perintah, tetapi tidak memiliki dokumentasi yang layak untuk itu, maka saya akan berhati-hati dalam menggunakan alat tersebut. Jika ya, maka RTFM. Tidak sulit, dan jika sampai pada titik itu, maka tanyakan pada StackOverflow.com. Jika Anda perlu mencari cara untuk melakukan sesuatu dari command line, saya yakin Anda bisa. Jika Anda tidak yakin apakah Anda perlu mencari tahu, maka Anda mungkin tidak. Hidup ini penuh dengan hal-hal menarik di luar pekerjaan, andai saja ada cukup waktu ...
Ayub

Jawaban:

21

Saya dapat melihat dua alasan mengapa Anda harus mempelajari opsi baris perintah dari suatu program:

  1. Ketika Anda perlu mengotomatisasi program dengan cara tertentu - buat skrip, pemrosesan batch, dll.

  2. Saat Anda perlu mengoptimalkan perilaku program - kurangi jejak memori, dll.

Mengenai alat apa yang harus Anda pelajari - baik itu benar-benar tergantung pada apa yang ingin Anda lakukan selanjutnya.

ChrisF
sumber
1
Anda selalu ingin dapat membuat skrip sebuah program agar dapat mengotomatiskannya ...
1
@ Thorbjørn - bukankah itu yang saya katakan? Atau tidakkah saya jelas?
ChrisF
3
Iya. Saya hanya menekankan bagian otomasi - tidak memahami bahwa di depan akan menyebabkan rasa sakit nanti ketika mencoba untuk menyesuaikan metodologi saat ini menjadi sesuatu yang dapat dituliskan.
9

Sudah banyak jawaban bagus. Saya menambahkan satu lagi sudut pandang tambahan.

Anda mengganti GUI dengan alat baris perintah, saat Anda ingin mengeluarkan manusia dari persamaan / proses. Beberapa alasan dan / atau manfaat untuk melakukan ini:

  • Anda menyingkirkan kesalahan manusia (saat mengulangi perintah)
  • Sangat bagus untuk semua jenis otomatisasi, misalnya penerapan, pembangunan, atau pengujian berjalan dengan input acak.
  • Anda benar-benar menjadi pengguna yang kuat . Ini memberi Anda pilihan untuk naik tangga pemrograman meta. Anda tidak harus membuat setiap tindakan (klik pada GUI) sendiri, Anda dapat dengan mudah menuliskannya!
  • Anda dapat menghubungkan alat bersama-sama (pikirkan pipa Unix).
  • Buat komputer melakukan pekerjaan - Anda tidak perlu skala, komputer bisa!

Kapan melakukannya? Ketika Anda menemukan mengulangi diri Anda sendiri.

Tentu saja ada tempat dan waktu untuk GUI. Tetapi jika Anda benar-benar ingin memanfaatkan kekuatan komputer dan menjelajahi gelombang Hukum Moore, Anda perlu belajar menulis tugas Anda.

Sunting : Bonus ekstra. Anda bisa mengenakan T-shirt ini :)

Maglob
sumber
7

Tambang adalah:

1) Untuk menjadi lebih produktif . Bagi saya, lebih cepat melakukan sesuatu dalam shell daripada hanya mengklik. Saya sedang berbicara tentang menggunakan alat, tidak menyiapkan layanan / alat / dll, karena kadang-kadang lebih cepat untuk memiliki penyihir dan cukup klik Next Next Next, meskipun penyihir itu juga ada di versi baris perintah :)

2) Untuk menggunakan versi baris perintah di aplikasi Anda. Misalnya, misalkan Anda ingin mengonversi PDF ke file teks . Jika Anda menggunakan versi GUI, tidak masalah. Tetapi jika itu juga menyediakan antarmuka baris perintah di mana Anda dapat melakukan sesuatu seperti:, ./pdf2text input.pdf output.txtmaka jika Anda perlu mengembangkan aplikasi yang membaca teks dari PDF, Anda dapat dengan mudah menggunakannya, tanpa menggunakan API apa pun, atau melakukan beberapa tweak .. .

3) Untuk mempelajari hal-hal umum dari suatu aplikasi. Misalnya, jika Anda telah menginstal diff pada Windows, dan front-end untuk membandingkan dua file. Itu sempurna. Tetapi bagaimana jika Anda perlu menggunakannya di Linux ? Anda dapat menemukan front-end yang sama untuk Linux, tetapi bagaimana jika itu tidak ada? Anda harus belajar lagi bagaimana menggunakannya di Linux, menginstal front-end baru dan terbiasa menggunakannya. Jika Anda telah belajar cara menggunakan versi baris perintah, Anda tidak akan membutuhkannya;)

Sekitar 3) ... beberapa orang memiliki banyak masalah untuk terbiasa bekerja dengan Git di Windows. Mereka mengatakan tidak ada front-end yang baik pada Windows, tetapi jika Anda hanya belajar cara command-line, Anda tidak akan memiliki masalah. Cara kerjanya sama. Tentu saja, masalahnya adalah kadang-kadang orang takut pada baris perintah ;)

Saya sarankan Anda mempelajari versi baris perintah:

  • Kompiler seperti gcc
  • Debuggers menyukai gdb
  • Git ;)
  • dan banyak alat di GNU / Linux yang bisa Anda kerjakan di Windows seperti egrep , awk , find , ...
Oscar Mederos
sumber
Yeahhhh +1 untuk git: D Meskipun diff adalah satu contoh, saya tidak akan menggunakan perintah asli untuk; Saya lebih suka vimdiff (walaupun saya kira secara teknis terminal itu juga jadi apa pun)
alternatif
@ mathepic Anda benar, tetapi vimdiffjuga merupakan alat baris perintah, bukan?
Oscar Mederos
Pada saat yang sama itu ncurses (saya pikir, tidak yakin) jadi saya membuat perbedaan kecil.
alternatif
ya, tapi saya juga menggunakan alat-alat baris perintah :)
Oscar Mederos
@mathepic: Jawaban atas keprihatinan Anda:gvimdiff
Lie Ryan
3

Mengapa Anda perlu mengkomit sintaks parameter ke memori? Itu sebabnya manada dan --help( /?jika Anda berada di winblowz land).

Saya menemukan saya dapat mencari opsi apa saja dalam waktu kurang dari satu menit. Tujuannya adalah untuk mengingat apa yang dilakukan perintah , sehingga Anda tahu apa yang harus dicari!

Orbling
sumber
1

Secara pragmatis, tergantung pada apakah alat gui tidak memiliki fitur, atau apakah lebih cepat dari baris perintah.

Manfaat sampingan dari menggunakan baris perintah, bagaimanapun, adalah Anda akan lebih cenderung membaca dokumentasi dan mencari tahu apa yang sebenarnya terjadi. Terutama dengan contoh Anda kontrol versi, melakukan ini dari baris perintah akan mengajarkan Anda sedikit.

jdl
sumber
1
  • Kompiler: Akan diperlukan untuk pembuatan otomatis
  • Buat atau sistem build Anda: kesalahan tangkapan build otomatis
  • Kontrol versi: Saya kira begitu, tetapi ini adalah yang paling tidak penting dari ketiganya. Tetapi kemudian saya dapat melakukan operasi baris perintah lainnya, mis., Ambil melalui pesan perubahan.

Tetapi Anda tidak perlu mengingat opsi untuk kompilator atau membuatnya; begitu mereka diatur untuk proyek Anda tidak perlu sering mengubahnya.

Brian Carlton
sumber
1

Manfaat belajar alat baris perintah, saya rasa, jauh melebihi manfaat menggunakan GUI. Ada beberapa kali GUI kehilangan fitur, namun, tidak adil untuk mengatakan bahwa hal ini selalu terjadi (mis. Lihat cmake pada Windows - tidak ada alasan untuk menggunakan baris perintah di luar keadaan normal).

Sejauh menghafal, tidak perlu mengingat bahwa perintah program mengatur pertama kali Anda menggunakannya. Cukup tandai manual (jika Anda menggunakan manual online atau gunakan "man" pada * nix) dan jika Anda memerlukan fungsionalitas tertentu (yang belum Anda hafal), cukup rujuk ke manual. Menghafal hal-hal ini harus datang secara alami dengan menggunakan. Sebagai contoh, saya sangat sering menjalankan "tar" dan "gzip" dari baris perintah, tetapi saya harus merujuk manual untuk menyelesaikan tugas-tugas yang biasanya tidak saya lakukan.

Di atas segalanya, jika Anda mengirim produk atau mengirim semacam kode sumber atau sebaliknya ke sesama pengembang, jauh lebih mudah untuk memasukkan kerangka perintah daripada menulis instruksi rinci tentang menggunakan GUI. Jika pengembang tidak memahami opsi baris perintah yang Anda gunakan, ia bisa mencarinya. Untuk menjelaskan GUI kepada seseorang tidak selalu merupakan solusi yang paling portabel.

Salam,
Dennis M.

RageD
sumber
0

Semuanya, sehingga Anda tidak bergantung pada X11 / Windows untuk pengembangan. Sangat menyenangkan untuk dapat sepenuhnya berkembang dari terminal.

alternatif
sumber
Saya setuju dengan Anda;)
Oscar Mederos
0

Jawaban singkat: Waktu terbaik untuk berubah (yaitu, gunakan perintah) adalah SEKARANG . Pria sejati menggunakan keyboard. Pria sejati JANGAN mengklik. Titik.

Jawaban yang lebih panjang: Dalam perspektif jangka panjang, selain lebih produktif dan karenanya lebih bernilai (lebih kecil kemungkinannya untuk diberhentikan), menggunakan perintah dapat / akan / membuat Anda lebih pintar (karena latihan / hafalan yang substansial) dan lebih sehat (karena menggunakan kedua tangan secara bersamaan dalam antarmuka commandline alih-alih dengan mouse lebih cocok untuk ergonomi).

Berikut ini adalah artikel / esai yang sangat direkomendasikan, " Mengapa Windows Menyebabkan Kebodohan ", di http://www.over-yonder.net/~fullermd/rants/winstupid/1


sumber
3
Bercanda atau tidak, omong kosong pria sejati tidak akan memenangkan hadiah apa pun, meskipun saya 100% setuju bahwa menggunakan CLI jauh lebih produktif, suara macho itu hanya bodoh.
ocodo
0

Saya tidak yakin bahwa Anda harus pernah mencoba untuk menghafal switch pada alat baris perintah. Jika Anda membuat skrip shell atau apa pun untuk mengotomatiskan beberapa tugas, Anda sebaiknya mencari semua itu - habiskan tiga puluh detik sekarang, untuk menghindari berjam-jam kesakitan mencari tahu apa yang terjadi kemudian. Jika Anda menggunakan alat baris perintah yang sama berulang kali, mungkin Anda harus membuat skrip shell ...

mjfgates
sumber