Kita semua memiliki tugas yang muncul dari waktu ke waktu yang kami pikir kami akan lebih baik menulis atau mengotomatisasi daripada melakukan secara manual.
Jelas beberapa alat atau bahasa lebih baik untuk ini daripada yang lain - tidak ada seorang pun (yang waras) yang melakukan pekerjaan satu-satu untuk referensi silang dari sekumpulan daftar teks yang baru saja diberikan PM mereka di assembler misalnya.
Apa satu alat atau bahasa yang akan Anda rekomendasikan untuk jenis pekerjaan umum cepat dan kotor yang Anda diminta lakukan di mana waktu (bukan keanggunan) adalah intinya?
Latar belakang: Saya seorang mantan programmer, sekarang manajer pengembangan PM, ingin belajar bahasa baru untuk bersenang-senang. Jika saya ingin belajar sesuatu untuk bersenang-senang, saya ingin itu berguna dan jenis penggunaan ini adalah yang paling mungkin muncul.
sumber
Jawaban:
Python
Jawaban yang jelas (dan dengan alasan yang bagus) adalah Python. Ini adalah bahasa yang solid, tersedia lintas platform. Karena sifatnya yang dinamis, Anda dapat menjalankannya secara interaktif yang bagus untuk menjilat hal-hal bersama dan memiliki pilihan perpustakaan yang cukup besar sehingga merupakan bahasa tujuan umum sehingga dapat diterapkan pada sebagian besar masalah.
sumber
Autoit tidak terkalahkan. Ini alat dengan bahasa.
sumber
Autohotkey
AutoHotkey adalah utilitas open-source gratis untuk Windows. Dengan itu, Anda dapat:
http://ahkscript.org/
Saya telah menabung sejumlah perusahaan dalam jumlah besar dengan menggunakan alat ini.
sumber
Perl
Perl definisi saya cepat dan kotor.
Perl sangat fleksibel yang merupakan kekuatan dan kelemahan. Itu tidak memaksa struktur pada Anda, tetapi ada di sana jika Anda menginginkannya. Ini memiliki perpustakaan untuk semuanya. Ini telah digunakan secara luas selama 20 tahun; ada banyak kode untuk dikerjakan.
sumber
$=
; $ _ = \% !; $ _) = / (.) /; $ == ++ $ |; ($., $ /, $ ,, $ \, $ ", $;, $ ^, $ #, $ ~, $ *, $ :, @%) = ($! = ~ / (.) (.). (.) (.) (.) (.) (.) (.) (.) .. (.) ... ....) /, $ "), $ = ++; $. ++; $. ++; $ _ ++; $ _ ++; ($ _, $ \, $,) = ($ ~ . $ "." $; $ / $% [$?] $ _ $ \ $, $: $% [$?] ", $" & $ ~, $ #,); $, ++; $, + +; $ ^ | = $ ";$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=
(itu sebenarnya Perl - diakui Perl buruk - bagi mereka yang tidak membacanya)Powershell
Ini kurang generik daripada Python - tetapi jika Anda ada di lingkungan Windows maka itu mungkin akan lebih berguna.
Shell / skripnya lebih seperti dari Python (karena memang seperti itu) tetapi bisa menghubungkan ke kerangka .NET yang memberi Anda kedalaman kemampuan yang sangat luar biasa. Ini juga memiliki dukungan masyarakat luas.
Microsoft telah sibuk menambahkan PowerShell ke produk server mereka (karenanya "lebih bermanfaat") dan telah memperkenalkan remoting untuk memungkinkan Anda menjalankan skrip di sana dari konsol Anda di sini .
sumber
Shell unix modern. Misalnya bash.
sumber
Elisp, jika Anda telah melihat banyak tugas yang digunakan untuk mencapai melalui platform yang mendasari Emacs. Emacs dapat menghindari semua fungsionalitas window manager penuh, IDE, Office, browser, klien email, klien obrolan, shell, explorer sistem file, dan banyak lagi. Sebagian besar dicapai melalui program elisp.
sumber
Untuk beberapa tugas, Tindakan mungkin cocok.
Ini memiliki semacam proses flowcharting, di mana Anda dapat menambahkan
actions
untuk dijalankan secara berurutan. Baruactions
bisa ditulis dalam java.Penafian: Saya belum menggunakannya.
sumber
Untuk otomatisasi yang rumit, Anda mungkin ingin menggunakan Kerangka Robot . Kerangka kerja ini sebagian besar ditujukan untuk pengujian otomatis tetapi juga dapat digunakan untuk otomatisasi umum.
Anda dapat dengan mudah menulis pustaka Anda sendiri dengan Python dan ada sejumlah pustaka yang sudah ada sebelumnya (selenium, AutoIt , telnet, ssh, swing, dll) yang memungkinkan Anda untuk menggerakkan segala macam hal yang sangat kuat jika Anda berada di lingkungan campuran.
Itu didorong kata kunci sehingga Anda dapat membuat kata kunci baru dan karenanya abstrak jauh tugas berulang dan bahkan memiliki IDE yang sedang aktif dikembangkan yang memungkinkan untuk beberapa refactorings sederhana.
sumber
Saya telah bekerja pada penggulingan bersama beberapa rutinitas Lisp Umum untuk membantu dengan scripting, tapi itu tidak semudah asli untuk tugas itu sebagai Perl.
sumber
Untuk windows saya sangat merekomendasikan AutoIt (http://autoitscript.com). Pastikan untuk menginstal paket Scite dari bagian unduhan.
http://autoitscript.com/forum adalah sumber yang bagus untuk mendapatkan bantuan dan menemukan fungsi UDF untuk disertakan dalam skrip.
AutoIt dapat mengontrol jendela aplikasi dan kontrol yang memungkinkan Anda mengotomatisasi apa saja. Itu juga tidak memerlukan dependensi setelah Anda mengkompilasi Anda dieksekusi.
sumber
Saya memiliki masalah yang sama dalam menggunakan beberapa bahasa untuk berbagai otomatisasi. Saya seorang konsultan senior untuk perusahaan Layanan TI di India. Setiap kali saya berkonsultasi berbeda
bahasa untuk tujuan itu, saya mengalami kesulitan membenarkan itu kepada manajemen . Saya bahkan berdiskusi dengan teman-teman saya (sebagai pembicaraan biasa) tentang mengembangkan bahasa terpadu yang menangani semua kebutuhan otomatisasi dan masih lintas platform. Jika ada, maka itu mungkin
ubah dunia scripting. Sejauh yang saya tahu, pemetaan yang biasa kita gunakan berjalan
Bahasa dan domain penggunaan
AutoIT - GUI Automation Bash berbasis Windows - Otomasi berbasis Unix sebagian besar melibatkan interaksi sistem Perl - Otomatisasi pemrosesan data dengan interaksi sistem yang lebih sedikit. Mengharapkan - Persyaratan interaktif berbasis karakter. (yang tidak dapat diselesaikan oleh Perl, Bash) VBS - scripting berbasis Windows
Otomatisasi apa pun selalu menyertai dengan satu atau lebih doa jarak jauh untuk pengambilan informasi atau penerbitan hasil. Berikut adalah daftar berbeda yang membahas OS utama.
Doa Script Remote (alat)
Windows -> Windows
psexec, Powershell
Windows -> Unix
plink, Quest Plink -> SSH Server
Unix -> Unix
Klien SSH -> Server SSH
Unix -> Windows
winexe, wmic -> WMI Agent check_nrpe -> NRPE_NT Agent
Dalam daftar di atas, Anda dapat dengan mudah mengetahui bahwa tidak ada bahasa yang dapat menggantikan yang lain di set fitur. Kita harus hidup dengan itu sampai kita memiliki satu OS universal dan standar protokol dan API komunikasi universal.
sumber
Python sangat bagus untuk ini dan memiliki basis instalasi yang lebih besar, dan Ruby tidak lebih baik kecuali ia memiliki Why Poignant Guide to Ruby . Serius, rubah kartun.
sumber