Apakah programmer yang tidak berpengalaman membutuhkan IDE? [Tutup]

12

Membaca pertanyaan lain ini membuat saya bertanya-tanya apakah saya (sebagai programmer PHP pemula mutlak) harus tetap dengan WAMP dan Notepad ++ atau untuk beralih ke beberapa IDE seperti Eclipse.

Dapat dipahami bahwa pengembang yang terampil akan mendapat manfaat dari IDE besar yang mengkilap. Tetapi mengapa seorang pemula yang absolut harus menggunakan IDE? Apakah manfaatnya melebihi tantangan ekstra untuk belajar IDE selain belajar untuk dikembangkan?

Pembaruan untuk klarifikasi:

Tujuan saya adalah untuk mendapatkan pengalaman pemrograman dasar. Dengan memilih PHP dan WAMP (dan FogBugz dan Kiln) saya berharap untuk tidak harus menavigasi spesifik OS rumit / berantakan dan kompilasi dll dan hanya fokus pada fungsi dasar seperti formulir pendaftaran pengguna online.

Saya punya banyak pemahaman teoretis dari universitas satu dekade lalu tetapi tidak ada pengalaman praktis. Saya ingin mengatasinya dengan proyek hobi yang akan mirip dengan aplikasi web yang dapat dijual di dunia nyata.

Ada begitu banyak pertanyaan untuk diajukan. Begitu banyak jebakan yang mungkin harus saya bahas. Pertanyaan ini hanya satu bagian (pertama saya!) Dari teka-teki itu.

Torben Gundtofte-Bruun
sumber
Tergantung apa yang Anda maksud dengan IDE ... Notepad ++ dapat digunakan sebagai IDE yang belum sempurna.
Oded
10
Iya! Tidak! Saya tidak tahu .. Pergilah dengan apa yang tepat untuk Anda!
Ben
1
situasi dengan editor biasa adalah baseline - pengalaman yang umum bagi semua programmer. Semua perkakas di atas itu hanya itu - perkakas di atas itu - jadi Anda harus mulai mempelajari dasar-dasar untuk menghargai apa yang IDE dapat membantu Anda.
Saya menjalankan sedikit goresan layar di programmers.stacexchange.com. Menggunakan kata "tergantung" atau "tergantung" tampaknya meningkatkan kemungkinan suara sementara orang yang menjawab dengan frasa dimulai dengan "Saya akan ..." atau mulai dengan "Ya" atau "Tidak" cenderung ditolak. Kiat untuk menulis posting: tidak memiliki pendapat yang jelas tentang apa pun.
Jason Sebring

Jawaban:

21

Bergantung pada jenis program yang Anda coba buat, sebuah IDE dapat membuat seluruh proses, terutama membangun dan menggunakan, jauh lebih mudah. Ini khususnya terjadi ketika Anda menggunakan kerangka kerja yang relatif kompleks.

Di sisi lain, melakukan semuanya dengan tangan sangat meningkatkan pemahaman apa yang terjadi di bawah tenda. Untuk alasan itu, membuat beberapa program kecil "jalan yang sulit" adalah latihan yang baik untuk pemula.

pengguna281377
sumber
16

Haruskah n00b menggunakan IDE? Ini tergantung pada apa tujuan Anda sebagai n00b. Berikut adalah beberapa sasaran langsung yang mungkin:

1) Baru mulai belajar beberapa bahasa pemrograman / sesuatu tentang pemrograman (pengantar ringan)

2) Menjadi master dan memahami bagaimana semuanya bekerja (pengantar kelas berat)

Untuk 1), gunakan IDE . Menggunakan IDE yang baik akan membuat hidup Anda MUDAH. Tidak lebih sulit Mempelajari cara menggunakan IDE jarang sulit setelah Anda menginstalnya. Kemudian untuk mengkompilasi dan menjalankan program Anda, Anda cukup mengklik tombol "jalankan" atau sesuatu seperti itu. Debug juga akan lebih mudah ... cukup klik beberapa tombol debug.

Untuk 2), jangan gunakan IDE (pada awalnya). Jika Anda ingin memahami semuanya dengan sempurna, maka menggunakan debugger baris perintah dan kompiler akan memberi Anda lebih banyak wawasan tentang bagaimana semuanya bekerja. Ini akan lebih sulit dan mungkin mengecewakan pada awalnya.

Casey Patton
sumber
Bagaimana tidak menggunakan IDE memberi Anda pemahaman yang lebih baik tentang bagaimana semuanya bekerja? Anda akan kehilangan opsi baris perintah kompiler dan perintah debugger, tetapi keduanya adalah hal yang dapat Anda pelajari nanti dalam penjelasan satu halaman. Makefiles juga tidak terlalu sulit. Saya tidak bisa memikirkan hal lain yang tidak sepele.
Rei Miyasaka
3
Saya tidak mengatakan ada perbedaan malam dan siang, tapi saya pasti tidak akan mengklasifikasikan Makefiles dan semua itu sebagai "sepele" untuk pengembang baru. Saya juga tidak mengatakan bahwa Anda akan benar-benar lupa jika Anda mulai dengan IDE. Saya hanya mengatakan bahwa memulai dengan baris perintah memberi Anda ide yang lebih baik tentang cara kerja.
Casey Patton
Yah, maksud saya, Makefiles cukup sepele di kemudian hari setelah Anda memahami bahwa membangun program biasanya melibatkan beberapa langkah dan banyak file - yang IDE akan ajarkan kepada Anda sepanjang jalan.
Rei Miyasaka
3
@ReiMiyasaka, apakah IDE mengajari Anda sepanjang jalan? Kesan saya adalah bahwa banyak coders tidak pernah tahu apa yang terjadi antara memasukkan kode ke IDE dan memproduksi kode yang dapat dieksekusi.
Winston Ewert
@ Winston Ya, benar. Tidak mungkin untuk tidak memperhatikan bahwa sesuatu terjadi untuk menyatukan puluhan file kode dan pustaka. Mempelajari format tepat dari data yang menggambarkan interaksi itu bermanfaat, tetapi sekali lagi, itu adalah sesuatu yang dapat dipelajari dalam beberapa jam begitu sudah dipahami bahwa sesuatu memang terjadi. Pernahkah Anda mencoba mengajarkan daftar tertaut tanpa menjelaskan apa gunanya? Daftar tertaut lebih masuk akal bagi orang-orang begitu mereka memiliki alasan untuk perlu mengetahui detailnya. Kesepakatan yang sama dengan parameter makefile dan kompiler dan semua itu.
Rei Miyasaka
5

Sebagai seseorang yang mencoba mempelajari bahasa baru pada proyek hobi kecil saya akan mengatakan tetap berpegang pada editor teks dengan penyorotan sintaksis.

Ketika Anda pertama kali memulai, Anda akan membuat kesalahan. Anda akan melupakan titik koma di suatu tempat atau salah mengeja nama variabel. Tanpa dan IDE Anda harus fokus hanya pada bahasa dan bagaimana Anda menulisnya. Ini adalah pembelajaran yang berharga.

IDE mengkilap besar akan mencoba menghemat waktu Anda dengan mencoba menangkap kesalahan-kesalahan ini, yang merampas Anda dari pembelajaran Anda. Juga seperti yang orang lain katakan belajar IDE juga akan menempatkan lebih banyak pada pembelajaran Anda. Bayangkan ketika IDE menyarankan sesuatu, Anda akan bertanya-tanya mengapa itu membuat saran, atau bahkan apakah itu hal yang benar. Ini hanya akan menambah kebingungan.

Saya suka memulai bahasa baru hanya dengan editor teks, lalu saya melihat-lihat plug-in Eclipse begitu saya cukup percaya diri.

joatis
sumber
4

tantangan ekstra untuk mempelajari IDE

Maksud Anda, bagian di mana IDE melakukan sebagian besar pekerjaan untuk Anda?

Sekarang, saya tidak pernah menggunakan IDE PHP apa pun, tetapi dengan anggapan bahwa fungsinya mirip dengan jenis IDE lainnya, mereka menghemat banyak pekerjaan. Pekerjaan yang terlibat dalam mempelajari IDE akan sepele dibandingkan dengan fungsionalitas yang menyelamatkan Anda dari keharusan untuk melakukannya sendiri. Hal-hal seperti penyempurnaan kode dan penyorotan sintaks adalah alat yang sangat berguna dan sepenuhnya tidak dapat diganti.

Setiap orang yang mengkode secara profesional melakukannya dengan bantuan alat seperti IDE dan untuk alasan yang baik.

DeadMG
sumber
2
Saya bekerja dengan PHP secara profesional dan saya tidak menggunakan IDE, saya menggunakan Vim!
Gary Willoughby
1
@Gary VIM adalah IDE.
sayap kanan
2
Tidak, ini editor. Definisi IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim bukan itu.
Gary Willoughby
1
Saya cukup yakin bahwa Vim datang dengan hal-hal seperti penyelesaian kode, atau dapat ditambahkan untuk melakukan hal itu, yang cukup banyak membuatnya menjadi IDE untuk tujuan ini.
DeadMG
3
Ada perbedaan besar antara VIM dan IDE. VIM tidak menyembunyikan detail apa yang terjadi seperti IDE. Banyak manfaat IDE tersedia di VIM. Tetapi menyebut VIM sebagai IDE tidak benar.
Winston Ewert
4

Saya pikir pengembang PHP yang tidak berpengalaman akan jauh lebih produktif dengan IDE.

Pertanyaannya seharusnya, harus berpengalaman pengembang PHP membutuhkan IDE?

Gary Willoughby
sumber
2
Itulah sebenarnya yang saya pikir maksud dari salah membaca judul ...
bunglestink
4

Sebagai aturan praktis saya memilih seperti ini:

  • Jika ini adalah aplikasi kecil dengan file yang tidak banyak, tetap gunakan command line.
  • Jika itu adalah aplikasi besar dengan banyak file menggunakan IDE, karena Anda akan selalu beralih di antara file dan dapat mengambil manfaat dari fitur penjelajahan dan ikhtisar cepat (terutama bahasa berorientasi objek).

Belajar menggunakan keduanya saat yang tepat. Mulailah dengan baris perintah.

David
sumber
3

ada beberapa hal yang akan membantu programmer mana pun dalam bahasa apa pun apa pun tingkat keahliannya:

  1. penyorotan sintaks plus pencocokan penjepit

  2. memeriksa sintaks saat Anda mengetik (sangat berguna untuk menghindari selusin kesalahan yang semuanya berasal dari satu ;kawat gigi yang dilupakan atau tidak cocok)

  3. penjelajahan dokumentasi yang mudah (namun ini tidak harus dalam IDE itu sendiri),

    • perpustakaan utama dari bahasa apa pun akan memiliki dokumentasi online yang dapat Anda akses di browser Anda,
    • tetapi dokumentasi internal (dari proyek yang sedang Anda kerjakan) tidak akan kecuali Anda secara eksplisit membuatnya tersedia
  4. format otomatis ke gaya penjepit yang benar dan penspasian yang benar (sehingga Anda menghabiskan lebih sedikit waktu menegakkan aturan-aturan itu) (sekali lagi ini dapat dilakukan dengan alat luar)

hanya 1 dan 2 yang perlu ada di IDE / editor

aneh ratchet
sumber
3

Saya selalu menggunakan IDE (Eclipse) dan akan merekomendasikannya bahkan untuk pemula. Keuntungan utama jika Anda memulai:

  • Umpan balik instan pada kode buruk (mis. Kesalahan sintaks dalam kode)
  • Mengurus menyiapkan proyek menggunakan konvensi standar sehingga Anda tidak perlu khawatir tentang konfigurasi / OS spesifik dll.
  • Sering dapat menghasilkan kode sampel yang dapat Anda bangun dan pelajari
  • Menghindari Anda harus mengingat seluruh rangkaian opsi baris perintah dan doa misterius sehingga Anda dapat fokus pada kode.

Namun, meskipun saya pikir Anda harus menggunakan IDE di gerneral, saya pikir perlu melakukan setidaknya satu atau dua eksekusi manual kode Anda di baris perintah. Ini agar Anda memahami apa yang terjadi di bawah tenda. Pemahaman ini akan membantu Anda jika Anda perlu men-debug masalah nanti.

mikera
sumber
1

Yang lain, pertanyaan yang tidak ditanyakan: apakah programmer PHP yang berpengalaman membutuhkan IDE?

IDE membantu Anda mengotomatiskan proses pembuatan - tetapi dengan PHP, tidak ada proses pembuatan. Penyorotan sintaksis adalah fitur yang sangat bagus, tetapi Anda tidak memerlukan IDE lengkap untuk itu, banyak editor teks ringan memberikan penyorotan.

Saya melakukan pekerjaan PHP saya di NetBeans, tapi itu hanya karena saya sudah terbiasa dengan NetBeans. Saya yakin saya bisa melakukannya dengan baik di sejumlah editor teks.

Mike Baranczak
sumber
1

Jika Anda secara wajar berharap Anda pada dasarnya akan menulis kode selama masa hidup Anda, atau neraka, bahkan jika tidak - Anda harus mendapatkan editor / IDE yang dapat dikembangkan dan mulai mempelajarinya. Jika Anda tidak mampu membeli apa pun, gunakan Notepad ++ atau yang serupa - sesuatu yang akan membuat Anda memulai tugas seumur hidup Anda untuk memutuskan "bagaimana saya suka hotkeys saya", dan mempelajari yang konvensional.

IDE perkakas Anda, demikian saya menyebutnya - Visual Studio, Eclipse, What-have-you, akan datang dan pergi dan berkembang, seringkali menjadi terlalu besar dan tidak responsif untuk digunakan ketika Anda hanya ingin mengatakan kode, atau memijat / refactor dengan cara tertentu.

Dengan demikian, Anda memiliki editor "rumah" Anda, yang tetap bersama Anda seumur hidup, yang Anda cintai lebih dari GF Anda.

Anda akan sampai pada titik di mana akan sangat alami dan produktif untuk mengerjakan sesuatu menggunakan IDE Tooling dan Home IDE Anda secara bersamaan, meningkatkan yang terbaik dari kedua dunia.

IDE Rumah saya adalah SlickEdit, yang telah saya gunakan dan kembangkan selama lebih dari 10 tahun terakhir, pada saat itu saya telah menulis 120+ modul Makro untuknya, dan saya memiliki 1000+ hotkey.

Apakah saya mengingat semuanya? Tidak, mungkin sekitar setengah pada waktu tertentu, mungkin 60%, tetapi yang lain adalah untuk tugas-tugas khusus, yang akhirnya saya cari sesuai permintaan.

Ingat, hidup ini singkat, dan jika Anda menghitung di proyek besar apa pun, Anda akan melihat bahwa bahkan jika alien yang baik hati yang secara telepatis mendikte kode sempurna ke kepala Anda untuk mengetik 8 jam sehari - masih akan butuh BULAN untuk menulis sesuatu yang besar (tanpa editor pintar, makro, templat, dll).

Ini sebabnya. Merencanakan jangka panjang, membuka jalan menuju masa depan sesering mungkin.

Sebenarnya sangat sering. Meskipun Anda harus membayarnya sekarang.

Menandai
sumber
1

Saya hanya bisa membagikan pengalaman saya sendiri, serta beberapa wawasan tentang bagaimana hal itu mempengaruhi pengembang.

Pertama, saya akan menyatakan bahwa saya menikmati bekerja di kedua jenis lingkungan. Apakah saya menggunakan Vim dan makefile dengan GCC atau QtCreator / Visual Studio dengan masing-masing lingkungan dan kompiler murni tergantung pada proyek itu sendiri dan skala aplikasi.

Untuk belajar, saya kadang-kadang akan menggunakan Vim hanya karena saya benci tidak tahu cara kerja dan hanya pergi dan menulis sesuatu melalui ketidaktahuan. Ketika saya pertama kali belajar kode saya melakukannya melalui C # dan Visual Studio. Ini mengajarkan saya dasar-dasar. Namun, setelah beberapa saat, saya memutuskan untuk mempelajari sendiri cara menggunakan Makefile dan Editor Teks yang baik.

Rei Miyasaka mengatakan dalam komentarnya bahwa siapa pun dapat mempelajari cara menggunakan Makefile dalam beberapa jam dengan informasi yang tidak lebih dari satu halaman. Saya sepenuh hati tidak setuju dengan ini, terutama untuk seseorang yang baru. Ini bisa memakan waktu beberapa hari (setidaknya, dalam kasus saya itu). Juga patut dicatat adalah bahwa sebagian besar dokumentasi tentang Makefiles mencakup ratusan halaman, dan walaupun Anda bisa mendapatkan pengantar yang baik melalui satu halaman, untuk benar-benar tahu bagaimana menggunakannya membutuhkan waktu dan membaca yang jauh lebih banyak.

Menurut pendapat saya, jika Anda cukup ambisius dan baru saja mulai belajar, roll distro Linux (tidak masalah yang mana asalkan memiliki paket manager yang baik dan relatif stabil - Saya merekomendasikan Linux Mint atau bahkan Debian itu sendiri), dan pelajari C. Mulailah dengan editor teks (sorotan sintaks, indentasi otomatis, dan dukungan nomor baris adalah keharusan - segala sesuatu yang lain adalah murni preferensi), cukup belajar bagaimana memanggil kompiler melalui CLI. Setelah Anda mendapatkan ke titik di mana Anda belajar masa lalu bagaimana kode menggunakan hanya satu file sumber per proyek adalah ketika Anda kemudianmulailah belajar cara menulis Makefile. Yang juga patut diambil adalah Valgrind (jika Anda menulis dalam C / C ++, saya tidak yakin apakah itu mendukung bahasa pemrograman lain). Setelah beberapa bulan melakukan pengkodean dalam lingkungan ini, saat Anda mengerjakan proyek yang lebih besar, pelajari IDE (lebih disukai sesuatu FL / OSS) dan Anda harus baik untuk melakukannya.

Alasan mengapa saya menyarankan ini adalah karena menggunakan IDE sangat membatasi programmer ketika mereka baru belajar. Penyelesaian otomatis dan manajemen proyek / proyek sangat bagus, namun jika Anda tidak tahu cara kerjanya di bawah tenda, Anda akan sangat terbatas dalam hal debugging dan / atau mencari tahu mengapa aplikasi Anda tidak berjalan dengan benar, terutama jika itu hanya karena pengaturan build atau compiler yang tidak tepat yang ditentukan oleh Anda atau IDE itu sendiri.

Bersulang.

tentang kosong
sumber
-1

Menggunakan IDE akan membuat hidup jauh lebih mudah. PHP terutama memiliki banyak fungsi yang tidak konsisten yang dapat dilengkapi dengan autocomplete dalam IDE. Plus, memiliki debugger di IDE Anda benar-benar tak ternilai ...

Ada sesuatu yang baik tentang kesederhanaan bekerja dengan file mentah dalam editor teks, tetapi jika Anda mencari tahu bagaimana rasanya menghasilkan aplikasi web nyata, belajar menggunakan fitur-fitur IDE akan sangat membantu dalam jangka panjang.

bunglestink
sumber
-1

Di kelas ilmu komputer saya, kami tidak memulai dengan IDE. Itu adalah sesuatu yang kami lakukan SETELAH kami mengerti apa yang kami lakukan.

IDE cenderung terlalu abstrak untuk pemula dan akhirnya menghasilkan orang-orang bodoh yang berpendidikan. Pada awalnya, sangat penting Anda mendapatkan pemahaman yang baik atau Anda akan berakhir dengan berpikir hanya dalam IDE dan tidak dapat menemukan hal-hal dasar tanpanya. Anda juga akan dibatasi hanya dengan apa yang dapat dilakukan IDE. Beberapa IDE benar-benar jahat dalam melakukan abstraksi semacam itu dan memiliki paradigma mereka sendiri yang sebenarnya membuat orang bodoh menggunakannya. Bentuk web point in case untuk ASP.NET.

Ada sesuatu yang bisa dikatakan untuk bootstrap sendiri.

Jason Sebring
sumber
-4

Inilah pendapat saya tentang ini:

  1. Pemula adalah satu-satunya orang yang membutuhkan IDE. Ini karena debugging - pemula masih dapat memiliki masalah dalam memahami cara kerja eksekusi program, dan melangkah melalui kode dapat membantu dengan itu.
  2. Pemrogram yang biasa-biasa saja dapat mempercepat proses pemrograman mereka karena IDE menyediakan fitur yang memungkinkan Anda lebih mudah menavigasi dalam repositori sumber besar dan menemukan di mana masing-masing simbol berada dalam kode sumber. Mereka tidak membutuhkan ide lagi, tetapi terkadang membuat hidup lebih mudah.
  3. Pemrogram tingkat lanjut tidak perlu IDE. Mereka telah melakukannya cukup lama sehingga antarmuka pengguna IDE terlalu lambat bagi mereka - menekan tombol dan menunggu respons hanya membutuhkan waktu terlalu lama - diperlukan respons instan agar tidak membuang waktu. Menavigasi kode sumber bukan prioritas utama, karena mereka dapat mengingat di mana setiap bagian kode berada - mereka membaca seluruh kode sebelum memodifikasi apa pun.
tp1
sumber
1
Saya akan memilih jika saya bisa. Ketika bekerja dengan proyek besar tidak layak untuk menyimpan semuanya di kepala Anda. Anda tidak perlu menggunakan ide, tetapi memiliki beberapa alat untuk hal ini adalah suatu keharusan.
Bwmat
@Bwmat, Anda sekarang DAPAT downvote
Pratik