it-swarm-id.com

Apa mitos paling absurd tentang masalah pemrograman?

Dengan kata lain ... Kesalahpahaman apa yang paling umum dipegang dan membuat frustrasi tentang pemrograman, Anda temui?

Mitos/kesalahpahaman yang tersebar luas dan lama yang Anda temukan sulit bagi programmer untuk menghilangkan/mengoreksi.

Tolong, jelaskan mengapa ini adalah mitos.

101
Maniero

Itu karena Anda seorang programmer, Anda tahu cara memperbaiki mesin yang ditunggangi virus [orang].

272
Neth

Suatu hal SDM yang umum yang membuat saya gila ketika saya mencari pekerjaan: asumsi implisit bahwa semua keterampilan pengkodean adalah khusus bahasa, bahwa tidak ada keahlian rekayasa perangkat lunak yang melampaui kumpulan perintah. Sepuluh tahun pengalaman dalam Java dan lima lainnya di Perl berarti Anda akan sama sekali tidak berguna pada proyek yang menggunakan, katakanlah, C #.

"Ya, ada kurva belajar. Tapi saya telah membuat transisi yang lebih sulit dari ini. Saya akan membuat kesepakatan, bayar saya 80% untuk bulan pertama dan pada akhir waktu itu jika saya tidak ... oh , tunggu, kami sebenarnya tidak memiliki percakapan ini, karena monyet SDM Anda hanya menghapus aplikasi saya. "

266
BlairHippo

Jika Anda tidak mengetik, Anda tidak bekerja.

Saya percaya tatapan kosong zombie dan jalan kopi sangat penting untuk programer mengatur hal-hal di kepala mereka.

260
burnt_hand

anda dapat mempercepat proyek yang terlambat, hanya dengan melemparkan lebih banyak orang ke sana.

158
chrmue

Perangkat lunak penulisan itu mudah.

Bagaimana lagi Anda menjelaskan semua proyek yang berjalan seiring waktu dan melebihi anggaran dan orang-orang (politisi, media, dll.) Masih terkejut, dan pelanggan mengeluh ketika Anda memberi tahu mereka bahwa "situs web kecil" mereka (atau apa pun) akan benar-benar mengambil 6 bulan untuk mengembangkan dan menelan biaya beberapa ribu dolar (pound, Euro, [masukkan mata uang pilihan])

Dengan persyaratan yang tidak jelas dan selalu berubah, saya terkadang berpikir bahwa luar biasa bahwa perangkat lunak apa pun dapat diselesaikan!

Saya tahu ini sedikit lebih rumit dari itu;)

132
ChrisF

Kompleksitas aplikasi berbanding lurus dengan kompleksitas UI. Dengan alasan ini, Anda dapat membangun Google atau Twitter selama akhir pekan.

114
JohnFx

Semua programmer pandai matematika. :-)

95
David Cary

Setiap anak remaja yang meretas dengan komputer setara (atau unggul) dalam keterampilan dengan programmer yang bekerja veteran.

Keponakan saya yang berusia 14 tahun baik dengan komputer dan saya membayarnya $ 10/jam untuk memotong rumput saya. Mengapa saya harus membayar Anda enam angka untuk menulis FaceBook berikutnya?

95
JohnFx

Itu waktu nyata berarti cepat.

Menyatakan "Paket-paket perlu diproses secara real-time." tidak berharga dan si kembar jahat ... menjawab "Seberapa cepat X perlu terjadi?" dengan "Waktu nyata" mungkin kurang berharga. ..bordering pada bodoh daripada bodoh.

Real-time berarti bahwa, cukup cantumkan, fungsi Y akan selalu mengambil jumlah waktu X dan bahwa setiap penyimpangan menunjukkan kesalahan serius. Durasi X tidak mendefinisikan "waktu nyata" itu bisa enam mikrodetik atau enam hari. Anda dapat menentukan fungsi Y akan mengambil X waktu mendefinisikan "real-time". Sistem waktu nyata ditentukan oleh definisi ini.

Jadi hentikan itu ..

69
Rusty

Mengapa kalian tidak menuliskannya dengan benar pertama kali, daripada menghabiskan begitu banyak waktu mengetik kode kereta dan kemudian membaca kode mencoba menemukan bug?

:-) :-) :-) :-)

69
David Cary

Jika Anda belum kuliah, Anda tidak cocok untuk pekerjaan itu

64
user2528

Optimasi prematur itu berarti Anda tidak boleh mengoptimalkan sama sekali. Saya telah melihat basis data yang lebih buruk karena tidak ada yang mau mempertimbangkan kinerja (penting untuk sistem basis data apa pun) dalam desain karena itu adalah optimasi prematur daripada masalah desain basis data lainnya. Sampah, ada pembunuh kinerja yang dikenal, berhenti menggunakannya sebagai pilihan pertama Anda.

Mitos lain, terlalu sulit untuk memperbaiki database. Tidak, tetapi Anda harus mempertimbangkan bagaimana melakukan refactoring pada fase desain untuk melakukannya secara efektif. Dan BTW, semakin lama Anda menunggu untuk memperbaiki masalah kinerja berbasis desain yang menjengkelkan itu, semakin sulit untuk memperbaikinya.

Mitos buruk lainnya, desain database harus mencerminkan prinsip-prinsip OOP. Tidak, basis data dirancang untuk bekerja dengan set tidak OOP prinsip. Beberapa OOP Hal-hal akan menyebabkan masalah kinerja yang mengerikan dan yang lain hanya sangat konyol dalam hal basis data.

Akhirnya, Anda harus menegakkan integritas data dalam aplikasi. Basis data akan bertahan melewati aplikasi dan akan kehilangan aturan ketika aplikasi diganti, aplikasi mulitple akan mengaksesnya dan sering kali ada kebutuhan untuk menjalankan kueri langsung untuk memperbaiki hal-hal yang tidak melalui aplikasi. Saya belum pernah melihat database yang menolak untuk menegakkan integritas data dalam basis data yang memiliki data yang baik.

61
HLGEM

Bahwa ada beberapa sumber mitos praktik terbaik mutlak.

Tidak ada penyimpangan yang bisa dibenarkan.

Tidak ada dokumen yang mengklaim mendefinisikan sesuatu sebagai praktik terbaik yang dapat dipertanyakan.

53
Bill

Fakta bahwa pemasaran tampaknya berpikir bahwa menambahkan satu ton fitur kecil lebih sedikit bekerja daripada menambahkan fitur tunggal, tetapi agak berat. Yang mungkin adalah kasus yang lebih spesifik dari kesalahpahaman bahwa "pengalihan tugas tidak memiliki overhead".

51
Giel

Kode komentar itu tidak perlu, atau bahwa "kode yang baik tidak perlu komentar". Terkadang Anda perlu menjelaskan apa yang dilakukan sedikit kode kompleks. Selain itu, mengomentari bagian kode membantu Anda membaca sepintas lebih efektif.

50
DisgruntledGoat

Mitos terburuk: Jika Anda pemrograman untuk waktu yang lama maka Anda bisa menjadi Manajer Proyek dengan mudah.

Dan Anda harus menjadi manajer proyek jika Anda telah memprogram untuk waktu yang lama.

50
Namwar Rizvi

Jika kami menggunakan sesuatu selain Java, C # dan C++ dalam proyek kami, kami tidak akan menemukan programmer untuk mendukungnya.

50
P Shved

Java hanya C++ dengan kelas yang berbeda.

42
Gordon
33
TheLQ

Mungkin yang paling berbahaya yang pernah saya lihat, karena dapat diterima dengan mudah, adalah kemampuan untuk menulis kode dengan cepat adalah baik, dan oleh karena itu semakin cepat Anda dapat membuat kode [memasukkan fitur di sini] dalam bahasa yang diberikan, semakin baik bahasanya adalah.

Ini adalah contoh serius pengoptimalan prematur, karena jauh lebih banyak pekerjaan dimasukkan ke dalam memelihara kode daripada membuatnya. Ini berarti bahwa jauh lebih penting untuk menulis kode yang mudah dibaca, dipahami, dan didebug daripada kode yang mudah ditulis dengan cepat, dan memfasilitasi kode yang mudah dibaca adalah pengukuran kualitas bahasa yang jauh lebih berguna.

33
Mason Wheeler

bahwa sebagai seorang programmer Anda tahu segalanya tentang tren perangkat keras terbaru, overclocking, mod case, dll. teman dan kerabat berkonsultasi dengan Anda ketika mereka membeli peralatan mereka.

31
setzamora

Pelajaran manufaktur dapat diterapkan untuk proses pengembangan perangkat lunak.

31
Mike King

Bahwa ketika programmer mengatakan itu sangat sulit untuk dilakukan/tidak mungkin, HR mengira mereka malas dan tidak termotivasi

30
koos303

Harus ada program sumber terbuka untuk bisnis saya. Tidak bisakah Anda mengunduhnya dan Tweak ke persyaratan saya.

28
Tim Murphy

Saya sudah memiliki lebih dari satu orang yang bertanya kepada saya tentang bagaimana rasanya memprogram hanya untuk menyadari di tengah-tengah percakapan bahwa mereka pikir kita memprogram secara langsung dalam biner atau menggunakan simbol-simbol matematika.

Saya tidak tahu apakah saya ingin menghilangkan mitos itu, itu membuat saya terlihat sangat pintar!

27
JohnFx

Saya pikir kesalahpahaman terbesar adalah bahwa lebih penting untuk dapat menulis kode dengan mudah daripada membaca dan memahami kode.

26

Pemrograman sama seperti pekerjaan jalur Majelis. Anda mengerjakan suatu produk untuk waktu tertentu (mungkin dengan rekan kerja) dan akhirnya Anda mengirimkannya. Sama seperti membangun rumah batu bata.

Kontra: Pemrograman mengandung banyak kreativitas dan perencanaan. Itu seni. Seperti tukang batu, seorang programmer juga mengetahui perbedaan antara membentuk batu bata dan merencanakan sebuah katedral yang utuh.

24
Josua Schmid

Porting suatu program ke C++ akan secara otomatis membuatnya berjalan lebih cepat.

24
JohnFx

Lingkungan pemrograman dengan semacam perancang visual akan membuatnya sehingga pengguna bisnis dapat "menulis" program dan pemrogram yang sebenarnya tidak diperlukan.

21
Jesse C. Slicer

OOP digunakan kembali. Ini adalah kesalahan terbesar yang dipasarkan dalam pemrograman.

20
clrod

Mempelajari sintaks adalah bagian yang sulit.

19
palto

2 mitos yang ingin saya ungkapkan. Banyak teman saya tidak mengerti bahwa Java dan JavaScript sama sekali berbeda, dan banyak non-programmer saya tahu tidak mengerti bahwa ada lebih dari satu bahasa. Salah satu teman saya baru saja masuk ke pemrograman dan butuh bantuan dari saya, 'tentu saja dia bahkan tidak tahu bahasa apa yang dia kerjakan.

Mereka berdua datang banyak untukku.

15
Doug

Menentukan prioritas selain "1" berarti tugas tidak akan pernah selesai.

Saya meminta seorang manajer meminta saya untuk menyesuaikan alat pelacak bug dengan prioritas 1a, 1b, 1c, 1d, dan 1e sehingga ia dapat menetapkan semuanya sebagai beberapa variasi prioritas 1, tetapi kami masih dapat mengatur pekerjaan.

Dan ya, saya memang melewati semua masalah "prioritas 1". Tetapi sebelum saya dapat melanjutkan ke masalah yang masih dalam prioritas 2-5, manajer membuat saya menugaskan kembali masalah-masalah tersebut ke dalam lima tingkat prioritas 1.

(Saya menyadari mitos ini bukan spesifik untuk pemrograman, tetapi itu berlaku untuk beberapa jawaban lain di utas ini.)

15
Bill Karwin

Selama komputer memahami kode yang Anda ketikkan, itu yang terpenting. Oleh karena itu mengetik komentar dan menggunakan nama variabel yang panjangnya lebih dari dua huruf adalah buang-buang waktu. :-(

13
David Cary

Bentuk keyboard terkait dengan kemampuan pemrograman. Serius, salah satu guru di sekolah menengah saya mengatakan kepada saya, "Kamu tidak bisa kode cepat jika kamu tidak bisa mengetik dengan cepat." Tanggapan saya adalah, "Itu seperti mengatakan saya hanya dapat menulis Novel Amerika Hebat jika saya melakukannya dalam kursif."

12
quanticle

Itu programmer prototipikal:

  • masuk kerja setelah jam 11 pagi
  • tidak minum apa pun kecuali Mountain Dew
  • suka makanan India atau sushi
  • hidup sendiri karena pilihan (dengan orang tua dan/atau di ruang bawah tanah)
  • tetap hingga 03:00 bermain video game
12
Kelly S. French

Notasi Hongaria itu hanya berarti bahwa Anda mengawali nama variabel dengan tipe (seperti int iArraylength = 5;) alih-alih jenis data apa yang dipegangnya (seperti int xcTextfield = getTextfield (). Coord.x;)

"Sistem notasi Hongaria"! = "Aplikasi Notasi Hungaria"

10
Zaz

Perangkat lunak bebas bug. Belakangan saya mengetahui bahwa setiap program masih akan berjalan dengan Bugs dan seluruh permainan adalah tentang memenuhi Persyaratan pelanggan.

10
Gopi

Kode apa pun yang ditulis dalam bahasa OOP (C #, C++, Java) oleh siapa pun secara otomatis Berorientasi Objek dan "Dapat Digunakan Kembali".

Bukan hanya sekali di mana saya diminta untuk menggunakan kembali seribu baris kode blok atau kelas dalam arsitektur yang tidak memiliki pola apa pun kecuali warisan (yang bahkan tidak masuk hitungan). Rupanya, copy paste juga dianggap sebagai penggunaan kembali kode yang baik untuk siapa saja yang tidak tahu perbedaan antara bahasa OO dan OOP itu sendiri.

TDWTF favorit yang sering terjadi: Menolak Kode

9
Jonn

Aplikasi web itu dapat mencapai "7x24."

Tanyakan kepada pebisnis apa downtime diizinkan dan mereka selalu menuntut 100% uptime. Nevermind bahwa downtime 1 menit per minggu masih 99,99% dan hampir tidak dapat dicapai untuk organisasi yang lebih kecil dari utilitas utama.

9
bmb

Semua program yang ditulis dalam C/C++ akan menjalankan lebih cepat daripada program yang setara dengan Java/C #.

7

Bahwa ada satu alat/solusi/jawaban "terbaik" untuk setiap masalah/pertanyaan

7
Murph

Mitos terbesar adalah mudah.

7
Fortyrunner

Programmer yang menjadi manajer mengatakan:

"Tiga minggu ?! Saya sudah mengkodekan di masa lalu, bagaimana sulit bisa?"

6
Arcturus

Itu pun M.Sc. dengan satu program saja sudah cukup untuk disewa sebagai pengembang perangkat lunak.

6
FeatureCreep

Itu karena Anda seorang programmer, Anda tahu cara memperbaiki mesin fotokopi.

6
Jeff Siver

Gagasan yang salah mana yang tersebar luas untuk waktu yang lama

Ada kepercayaan yang sangat luas di kalangan programmer tentang bagaimana menemukan masalah kinerja. Yaitu ntuk menemukannya, Anda harus mengukurnya.

Contoh tandingan paling sederhana adalah loop tak terbatas (tidak diinginkan). Dibutuhkan 100% waktu, melakukan hal-hal yang sama sekali tidak perlu.

Bagaimana Anda menemukan masalahnya? Anda mendapatkannya di bawah debugger dan menjeda, menghentikan, atau memotongnya. Kemudian Anda melihat tumpukan itu, karena Anda tahu lingkaran itu ada di suatu tempat. Anda telah menangkapnya saat beraksi Apakah Anda mengukurnya? atau hanya menemukannya?

Misalkan itu bukan loop tak terbatas, hanya butuh waktu lebih lama dari yang Anda anggap perlu. Misalkan pekerjaan yang tidak perlu kurang dari 100%, seperti 90%, 50%, atau 20%. Itu ide yang sama. Jika Anda menjeda, persentase itu adalah peluang bahwa Anda akan menangkapnya saat beraksi. (Anda tidak perlu tahu berapa persen untuk menangkapnya.)

Untuk memastikannya, Anda dapat menjeda beberapa kali. Segera setelah Anda melihatnya melakukan sesuatu, pada sedikitnya dua sampel, yang dapat Anda ganti dengan sesuatu yang lebih cepat, Anda dapat memperbaikinya untuk speedup yang bagus. Tidak hanya itu, Anda baru saja membuat masalah lain lebih mudah ditemukan, karena waktunya lebih singkat dan mereka mengambil persen lebih besar. Ini bisa "Bola Salju" hingga kodenya sangat mendekati optimal.

Tentu saja, jika Anda ingin untuk mengukur masalahnya, cukup ambil lebih banyak sampel, tetapi itu bukan prasyarat untuk menemukannya.

Orang-orang mengatakan kepada saya, dengan penuh harap, bahwa inilah yang dilakukan oleh para pembuat profil sampel tetapi melakukannya dengan lebih baik. Banyak yang lebih suka memperdebatkan masalah ini daripada melihat sendiri.

4
Mike Dunlavey

Menjadi seorang manajer lebih baik daripada menjadi seorang pembuat kode. Menjadi seorang manajer itu membosankan. Siapa pun yang masuk ke manajemen murni tidak pernah menyukai pemrograman sejak awal.

4
zhenka

Komputer dan perangkat lunak meningkatkan proses kerja dengan sendirinya.

4
aasc

Di antara programmer: Delphi itu sudah mati, sekarat, atau hidup.

3
Peter Turner

Seorang manajer mengetahui jack-squat tentang kode yang ditulis oleh pengembangnya.

3
Mike Mooney

Ada bahasa yang disebut C/C++

Atau bahasanya sangat dekat sehingga keterampilannya dapat dipertukarkan.

3
Martin York

Perangkat lunak penulisan itu sebenarnya tentang penulisan kode.

2
Craig Norton

Banyak orang cenderung berpikir bahwa JavaScript mirip dengan C++ dan tidak mengerti bahwa itu sebenarnya menggunakan pewarisan prototipe.

1
diadem

Bahasa pemrograman itu berubah sepanjang waktu.

Ini mungkin sudah lama di masa lalu ...
Namun saat ini perubahan sebagian besar fitur tambahan yang mencoba untuk tidak melanggar kode yang ada.

1
Tamara Wijsman

Mengapa programmer bersikeras menulis bug? (Berasal dari petugas pemasaran + penguji yang tidak pernah dapat menyelesaikan laporan kutu dengan benar).

1
Dorin Lazăr
  • Itu OO berarti kualitas.
  • Bahwa pendekatan OO adalah pendekatan yang tepat.
  • Bahwa tugas seorang programmer adalah menulis kode.
  • Bahasa itu penting.
0
Fredy

Seluruh mentalitas hollywood (karena tidak ada nama yang lebih baik) bahwa setiap kali seorang programmer dalam film/serial tv berbicara dia perlu mengartikulasikan setiap teknologi yang dia butuhkan ( Saya memerlukan PHP front-end dan MySQL back-end !!! 11 ) ... Dan kemudian beberapa lagi yang tidak masuk akal sama sekali tentu saja semua.

Jika saya berbicara seperti ini, saya mungkin akan ditendang.

0

Menggunakan bahasa Inggris (atau bahasa ibu Anda) untuk menjelaskan masalah:

lebih berguna daripada memberikan contoh kode yang dapat dikompilasi yang menggambarkan masalah.

0
Martin York