Bagaimana menjelaskan kepada non-programmer bahwa pemrograman bukanlah tugas yang berulang? [Tutup]

11

Beberapa orang memiliki pandangan pemrograman yang hanya mengetik berulang pada keyboard. Semua ini tidak benar. Pertama-tama, ada jauh lebih banyak yang harus Anda lakukan daripada benar-benar mengetikkan kode, seperti arsitektur desain dan sebagainya. Kedua, ini bisa menjadi tugas yang sangat bervariasi, tidak berulang, dengan tantangan baru yang datang setiap saat.

Bagaimana Anda menjelaskan bahwa pemrograman bukanlah tugas yang berulang-ulang bagi yang bukan programmer ?

Anto
sumber
5
Tanyakan, apakah pekerjaan mereka tugas yang berulang? Jika itu, maka, yah, menyebalkan bagi mereka, mereka mungkin tidak tahu kegembiraan profesi yang kreatif dan beragam. Jika tidak, katakan itu persis sama.
Mark Canlas
4
@ Mark Canlas: Poin bagus. Pekerjaan apa yang dimiliki orang-orang ini (dengan pandangan pemrograman sebagai pengetikan berulang)? Kemungkinannya adalah, Anda bisa menunjukkan beberapa pengulangan yang dangkal dalam tugas sehari-hari mereka dan mengurangi pekerjaan mereka menjadi "sesuatu yang berulang-ulang", dan kemudian meminta mereka untuk menjelaskan bagaimana hal itu tidak terjadi .
FrustratedWithFormsDesigner
14
Jika berulang, Anda salah melakukannya.
1
Pernyataan itu dimaksudkan secara umum. Banyak tugas yang dilakukan salah ketika Anda melakukan hal yang sama berulang kali. Hanya menempelkan bagian mobil? Desain robot untuk melakukannya (dengan asumsi Anda bisa, tentu saja - jika tidak, maaf Anda akan kehilangan pekerjaan Anda). Hanya menyatukan bagian-bagian robot? Bangun robot untuk membuat robot;) Itu pada dasarnya pemrograman . Tambahkan lebih banyak layer untuk ketidakterulangan berulang.
2
Katakanlah sepak bola adalah olahraga yang berulang (Semua orang terus melakukan hal yang sama, menendang bola).
apoorv020

Jawaban:

31

Beri mereka contoh yang bisa mereka hubungkan.

Tenis berulang-ulang. Anda hanya terus memukul bola sepanjang waktu ke sisi lain gawang.

Sepak bola berulang. Anda terus menendang bola setiap kali sampai Anda menemukan tiang gawang.

Bermain piano itu berulang-ulang. Anda terus menggerakkan jari-jari Anda di papan tulis.

Sial, semuanya sangat membosankan !!!

gofeddy
sumber
3
Bermain tenis, sepak bola, dan piano itu membosankan, dengan cara pemrograman tidak. Dalam semua pengejaran itu, seseorang berulang kali dihadapkan pada situasi yang sama, dan harus melakukan hal yang sama. Namun, dalam pemrograman, seperti yang ditunjukkan oleh jawaban lain, jika Anda berada dalam situasi yang sama dua kali, Anda salah melakukannya.
Avi
1
@ Avi dalam pemrograman yang sama membosankan dalam hal tenis atau piano tidak, jadi itu benar-benar argumen yang bisa diperdebatkan.
Maurycy
18

Anda selalu dapat mengatakan bahwa pemrograman adalah pengetikan berulang sampai tingkat yang sama persis seperti prosa menulis pengetikan berulang. Akankah orang menulis novel yang hebat (atau bahkan biasa-biasa saja) dengan duduk dan dengan hati-hati menyusun surat?

sharptooth
sumber
18

Yah, itu ada hubungannya. Anda mengetik berulang kali huruf yang sama (AZ, az, 0-9) berulang-ulang. Hanya dalam kombinasi berbeda.

Saya biasanya mencoba menghindari diskusi semacam itu dengan orang-orang seperti itu.

Benteng
sumber
1
@Rook - Saran bagus.
John Shaft
4
+1. Buat saya memikirkan perbandingan yang bagus antara buku dan alfabet . (Diterjemahkan secara longgar ke: Alfabet adalah kumpulan huruf, yang melampaui buku-buku dalam struktur dan isi. Sementara di buku-buku semua surat dicampur, orang-orang dalam alfabet berturut-turut ditulis dalam urutan menaik. )
back2dos
1
Saya harap Anda tidak menghindari semua orang yang menaruh minat pada Anda.
3
@Rook: Memiliki seseorang yang mengajukan pertanyaan tentang dunia pemrograman adalah berkah. Jangan menghindarinya. Bicara dengan mereka. Sebanyak yang kamu bisa.
4
Saya mencoba untuk mencampuradukkan hal-hal dengan menggunakan tanda baca. AZ tidak cukup menarik bagi saya.
MJB
13

Pemrograman cukup banyak seperti komposisi musik . Yang jauh dari proses berulang.

  • Anda mulai berpikir tentang pandangan keseluruhan tentang apa yang perlu Anda capai
  • Anda memikirkan sepotong kecil komposisi Anda dan Anda menulisnya
  • Setelah selesai, Anda memainkannya (F5 di Visual Studio)
  • Anda ulangi prosesnya, sesuai kebutuhan
  • Terkadang Anda meminjam ide atau terinspirasi oleh kompositor lain
  • Terkadang Anda memperbaiki lagu Anda dengan memindahkan atau mengerjakan ulang bagian-bagian

Terkadang, Anda tidak tahu apa yang Anda inginkan, dan Anda bermain-main. Mungkin cara terbaik untuk mendapatkan komposisi paling menarik ...


sumber
1
Haha ... +1 untuk memainkannya (F5 di Visual Studio). Sekarang jika saya hanya bisa menambahkan kunci F5 ke gitar saya ...
JasCav
3
-1 untuk Visual Studio;)
Jordan
Pierre, walaupun tidak setuju dengan respons Anda secara keseluruhan terhadap OP, saya tidak setuju bahwa komposisi musik mirip dengan pemrograman. Komposisi lebih sulit - saya pikir saya memasukkannya dengan cukup baik di posting ini: linkedin.com/...
azheglov
1
@azheglov: lebih sulit berdasarkan apa? Siapa pun dapat menulis. Sekarang sangat sedikit yang akan ada di MTV seperti sangat sedikit dari kita yang akan diwawancarai oleh CNN
Sekalipun, katakanlah, mengomposisi musik "lebih sulit", masalah dalam skala CS untuk mengimbangi: setiap baris kode mungkin lebih mudah ditulis daripada satu catatan, jadi kami memiliki proyek dengan jutaan baris kode (jika tidak lebih). Jadi, bahkan jika setiap aksi atom lebih sederhana, programmer terbaik hanya diharapkan untuk memecahkan masalah yang lebih sulit.
Tikhon Jelvis
4

Saya biasanya menjelaskan bahwa pemrograman adalah pemecahan masalah yang kreatif. Anda memiliki masalah - Anda ingin fitur dalam suatu produk (dan saya biasanya memilih produk yang terkenal, Amazon.com, MS Word, dll), dan itu tidak ada di sana. Ini belum pernah dilakukan sebelumnya, dan Anda adalah yang pertama, jadi ini seperti proyek seni lainnya - Anda memiliki visi, tetapi Anda perlu mencari jalan.

Saya juga fokus pada kenyataan bahwa ada lebih dari satu cara untuk menyelesaikan masalah, banyak cara yang sangat buruk, dan mungkin lebih dari satu cara yang baik. Dalam jangka panjang mungkin ada cara terbaik , tetapi cara terbaik itu tidak akan jelas untuk waktu yang lama (ekstensibilitas, penggunaan kembali, dll), jadi pada saat pengembangan, ada banyak panggilan penilaian penting.

Akhirnya, produk akhir dapat dicintai atau dibenci oleh penerima. Sama seperti beberapa orang menyukai Picasso dan beberapa tidak dapat membuat kepala atau ekor seni modern - beberapa orang mungkin menyukai fitur, dan beberapa mungkin membencinya. Anda melakukan yang terbaik yang bisa Anda lakukan untuk kebanyakan orang, dan menganggap Anda tidak bisa menyenangkan semua orang.

Berfokus pada:

  • wilayah yang tidak diketahui
  • tidak ada yang menjawab
  • tunduk pada interpretasi

Menunjukkan bahwa karya ini lebih seperti seni, dan lebih sedikit seperti pekerjaan membosankan yang berulang-ulang.

Saya sering membicarakan hal ini dengan seniman (dan mereka tampaknya memiliki keyakinan naluriah bahwa pekerjaan komputer itu tidak kreatif. Biasanya saya juga bisa mengaitkannya dengan bentuk seni favorit artis. Pada tingkat tertentu, sebagian besar seniman juga teknisi - melukis , menari, membuat musik, dan mungkin karya seni lainnya - semua melibatkan serangkaian kegiatan berulang yang membawa Anda ke titik pelaksanaan sesuatu yang baru, berbeda, dan kreatif. Dengan kata lain, para seniman umumnya memiliki masalah menyangkal bahwa kegiatan yang tampaknya berulang dapat menyebabkan untuk karya-karya inspirasi dan keindahan.

Pada titik itu, mereka biasanya mau mengakui bahwa hanya karena "seni" saya melibatkan seperangkat pernyataan sintaks yang aneh dan diagram UML yang tampak hambar, itu tidak berarti bahwa itu tidak kreatif dalam hal baris kode dan model sistem pada akhirnya membuat sesuatu yang sangat berbeda dari jumlah bagian-bagiannya.

bethlakshmi
sumber
2
Sebagai seorang seniman, saya suka perbandingan ini. Ini akan masuk akal bagi sebagian besar seniman, dari semua jenis, dan mereka yang dapat berhubungan dengan kegiatan seni. (Saya tidak yakin tentang non-seniman.)
DarenW
3

Pemrograman adalah tentang abstraksi. Semakin banyak Anda menulis, semakin banyak kesamaan yang dapat Anda lihat. Tapi kemudian waktunya untuk abstrak. Dengan refactoring suatu kerangka kerja berkembang yang menghilangkan duplikasi. Ini mengurangi kompleksitas dalam kode domain masalah.

Pemrograman berulang dimungkinkan. Tetapi itu tidak efisien.

Witek
sumber
+1 saat coding menjadi sangat berulang, itu pertanda bahwa mungkin "Anda salah melakukannya!"
FrustratedWithFormsDesigner
3

Jika benar, kami hanya akan menggunakan salin dan tempel: D

Salah satu tantangan utama dalam pemrograman adalah membuat blok bangunan yang berkualitas tinggi, seperti Anda

  • dapat menggunakannya untuk membangun bangunan Anda (yaitu perangkat lunak yang Anda bangun) dari komponen padat, sehingga meningkatkan stabilitas
  • dapat menggunakannya kembali beberapa kali di gedung yang sama atau bahkan di bangunan yang berbeda (untuk mengurangi pengulangan) dan dengan demikian meningkatkan produktivitas Anda
  • akan dapat mengubah blok tanpa menyebabkan seluruh bangunan Anda runtuh, sehingga meningkatkan fleksibilitas lokal
  • akan dapat mengubah semua instance dari blok sekaligus, sehingga meningkatkan fleksibilitas global

Sesuai sifatnya, tantangan ini menuntut Anda untuk tidak mengulangi diri Anda sendiri .

Sebagai akibat wajar: Jika Anda mengulang diri Anda sebagai seorang programmer, Anda membuang waktu untuk membangun perangkat lunak, itu tidak stabil, atau fleksibel.

back2dos
sumber
1

Selain dari jawaban lain yang menunjukkan bagaimana pengulangan atau mengetik / mengklik itu dangkal, Anda juga bisa menunjukkan bahwa pemrograman biasanya lebih banyak tentang pemecahan masalah daripada pengetikan (dan saya pikir Djikstra yang mengatakan ilmu komputer sama banyak tentang komputer karena astronomi adalah tentang teleskop - atau yang serupa ).

Mengetik hanyalah salah satu cara untuk mengimplementasikan solusi (dan saat ini yang paling populer), meskipun ada cara lain, seperti:

  • pseudocode di papan tulis (yang menggambarkan solusi, tetapi tidak benar-benar menjalankan atau melakukan apa pun, sayangnya)
  • kartu punch (sekarang dianggap usang)
  • Mungkin array logika yang dapat diprogram atau jika Anda ingin solusi Anda diimplementasikan secara langsung dalam perangkat keras (walaupun kemungkinan besar akan ada beberapa pengetikan untuk mendapatkan solusi dari otak Anda ke PLA, saya tidak tahu seberapa umum "kode" ini hal-hal secara langsung - Saya tidak benar-benar bekerja dengan mereka, hanya tahu dari mereka yang melakukannya).
  • orang (saya mendengar tentang grup baru-baru ini yang menerapkan algoritma pengurutan sebagai tarian)
  • batu di gurun . ;)
FrustratedWithFormsDesigner
sumber
0

Banyak tindakan pemrograman mengetik. Melukis melibatkan membelai dengan kuas, tetapi menyebut repetitif cukup dangkal.

Apakah mereka akan menerapkan logika itu untuk: - Tenaga penjualan banyak berbicara di telepon. - Manajer pergi ke banyak rapat. - Penyanyi hanya bernyanyi. - Aktor mengulangi skrip.

Jika demikian, itu sebabnya mereka bukan programmer.

JeffO
sumber
-2

Jika Anda ingin pandai pemrograman itu berulang tetapi hal yang sama dapat dikatakan untuk apa pun. Pengulangan adalah inti dari penguasaan keterampilan apa pun.

John Shaft
sumber
-2

Nah pemrograman benar-benar bisa menjadi tugas yang cukup berulang. Terutama ketika infrastruktur telah dibangun, proses membosankan membangun dialog / perangkat lunak bisnis yang sama (hanya sedikit berbeda) berulang kali dimulai. Anda beruntung jika Anda tidak harus berpartisipasi untuk memenuhi tenggat waktu atau jika Anda memiliki cukup junior untuk melakukan pekerjaan semacam itu.

Elang
sumber
1
Tergantung pada jenis pekerjaan yang Anda lakukan, saya kira
Anto