Apakah bermanfaat untuk mempelajari dasar-dasar bahasa inti ketika tujuan utamanya adalah mengandalkan kerangka kerjanya? [Tutup]

10

Harap diingat bahwa ini bukan yang lain 'Berapa banyak [ masukkan bahasa pemrograman di sini ] yang harus saya ketahui sebelum pindah ke [ masukkan kerangka kerja di sini ]?' Yang ingin saya ketahui adalah betapa bermanfaatnya mempelajari konsep-konsep lanjutan dari bahasa pemrograman ketika niat Anda adalah untuk sangat bergantung pada kerangka kerjanya sebagian besar waktu. Jadi misalnya saya sudah mulai menggunakan jQuery dan pertama kali meluangkan waktu untuk benar-benar memahami konsep inti Javascript. Selain itu saya memiliki beberapa buku di luar dasar-dasar (Rahasia Ninja Javascript misalnya) di rak yang benar-benar mempelajari bahasa. Ketika saya membaca halaman-halamannya, saya menemukan bahwa sebagian kecil dari itu tidak terbawa ke jQuery karena niat utama saya adalah manipulasi DOM.

Hal yang sama dapat dikatakan untuk Ruby dan RoR. Akankah buku-buku ini menjadikan saya programmer yang lebih baik secara keseluruhan? Mungkin. Bisakah topik ini membantu saya menjadi jauh lebih baik dengan kerangka kerjanya? Itulah yang saya sulit mengerti.

Carl Edwards
sumber
7
Saat debugging, sering kali membantu jika Anda memahami apa yang terjadi di balik tirai. Selain itu, saya lebih banyak belajar hal-hal baru ketika saya menemukan kebutuhan, dan saya menikmatinya.
marczellm
2
Saya agak suka dengan marczellm dalam hal ini. Sikap umum saya adalah bahwa Anda hanya memiliki begitu banyak kode yang dapat Anda hasilkan dalam hidup Anda, dan bahasa, dialek, dan kerangka kerja pada dasarnya keluar lebih cepat daripada Anda dapat menulis kode. Jika Anda sudah bisa bekerja dengan beberapa bahasa dan kerangka kerja, maka Anda mungkin ingin mempelajarinya berdasarkan kebutuhan-ingin-tahu atau ingin-tahu, bukan takik yang terus meningkat di ikat pinggang Anda.
Panzercrisis
Saya akan mengatakan bahwa ini ADALAH pertanyaan "Berapa banyak" lainnya - ia tentu memiliki jawaban yang sama yaitu bahwa skala gesernya tergantung pada keadaan Anda yang sebenarnya.
jmoreno
jQuery adalah sedikit kasus khusus. Ini hampir merupakan Bahasa Spesifik Domain lainnya yang tertanam di dalam Javascript. (hampir tetapi tidak tenang). Saya bertanya-tanya apakah karena kekhasan ini, pertanyaan ini akan lebih baik ditulis secara khusus tentang jQuery dan Javascript (daripada jQuery dan javascript hanya sebagai contoh)
Lyndon White

Jawaban:

27

Ini lebih penting untuk belajar bahasa daripada untuk mempelajari kerangka. Pelajari bahasa dengan baik, dan Anda akan menggunakan kerangka kerja dengan baik.

Dalam urutan kepentingan (paling penting pertama):

  1. Prinsip pemrograman mendasar - Algoritma, struktur data, dll.
  2. Paradigma bahasa - OOP, Fungsional, dll.
  3. Fitur bahasa.
  4. Sintaks dan kerangka kerja.
Robert Harvey
sumber
2
Banyak upvotes tentang ini jika saya bisa. Seorang programmer akan dibatasi baik dalam desain dan kemampuan untuk pekerjaan lanjut oleh apa yang tidak mereka ketahui.
Peter Smith
8
5. kode idiomatik. Baca kode orang lain dan pelajari gaya bahasa khusus ini.
Joshua Taylor
5
@ JoshuaTaylor Saya pikir saya akan menempatkan itu di depan kerangka kerja yang penting, karena kode idiomatik cenderung digunakan dengan kerangka kerja dan mempelajarinya secara terpisah lebih berguna - idiom bahasa bukan bagian dari kerangka kerja, dan pengguna kerangka kerja mungkin memiliki menambahkan lebih banyak
Izkata
Terpilih karena menegaskan bias pribadi saya. Namun demikian, ingin mendapatkan sumber Anda.
Aaron Hall
5

Tentu saja. Pertanyaannya adalah "apakah manfaat itu sepadan dengan investasi waktu?". Saya berpendapat bahwa selalu demikian, tetapi tentu saja itu tergantung pada Anda dan lingkungan Anda karena mereka akan memengaruhi manfaat (berapa banyak lingkungan Anda akan dapatkan dari pengetahuan Anda) versus biaya (berapa lama waktu yang Anda butuhkan untuk belajar, dan seberapa baik Anda menyerap pengetahuan).

Mengapa saya berpendapat itu bermanfaat? Karena Anda tidak akan selalu berada dalam kerangka kerja. Bahkan kerangka kerja yang paling komprehensif masih merupakan bagian dari ekosistem yang lebih besar. Anda tidak dapat membuat panggilan jQuery sendirian. Anda perlu tahu cara mengikat skrip ke halaman, bagaimana skrip berjalan, bagaimana skrip berinteraksi dengan hal-hal yang ingin Anda lakukan. Itu mungkin "dasar" dalam buku Anda, tetapi saya selalu menemukan bahwa pengetahuan yang lebih dalam membantu saya membuat kode lebih cepat, dan tentunya men-debug masalah lebih cepat. Kerangka atau tidak.

Selain itu, dunia nyata memiliki kebiasaan buruk mengganggu para programmer. Tentu, tugas Anda hari ini mungkin untuk melakukan manipulasi DOM, tetapi besok Anda mungkin perlu memasang beberapa proyek SWFO. Memiliki fondasi yang baik akan membuat Anda lebih mudah menyesuaikan diri dengan perubahan lingkungan.

Dan terakhir, meskipun Anda hanya ingin melakukan manipulasi DOM, sangat sedikit programmer yang bekerja sendiri lagi. Teman sebaya Anda kemungkinan akan melakukan hal-hal yang lebih maju dengan bahasa pemrograman. Anda harus dapat membaca kode itu, atau paling tidak, tidak mengacaukannya.

Telastyn
sumber
1

Mungkin perlu sedikit keseimbangan dalam jumlah yang harus Anda pelajari. Ini tidak semua atau tidak sama sekali, jadi sediakan waktu sebanyak mungkin di dalamnya. Anda harus bertanya pada diri sendiri risiko apa yang ingin Anda terima dengan mengandalkan kerangka kerja.

Sangat bagus jika semua yang Anda butuhkan hanyalah menjalankan dan menjalankan Produk Minimum yang Layak. Tidak akan ada kinerja besar atau kesulitan yang rumit. Ini mengasumsikan Anda memilih kerangka kerja yang dapat menangani apa yang sedang Anda coba bangun.

Di sisi lain dari spektrum adalah jika Anda bekerja pada aplikasi yang cukup besar / kompleks dan Anda menemukan sesuatu yang tidak ditangani oleh kerangka kerja tersebut. Bukan masalah besar, jadi Anda akhirnya harus belajar lebih banyak JavaScript. Anda harus menghabiskan waktu itu untuk itu jika Anda mempelajarinya sejak awal. Tetapi apakah Anda punya waktu? Apakah Anda dapat mempelajari dasar-dasar di bawah tekanan karena tidak menyelesaikan sesuatu tepat waktu? Tidak ada yang bisa menjawabnya.

Menyeimbangkannya mungkin merupakan taruhan terbaik. Tenangkan dirimu. Pelajari beberapa JavaScript jika Anda bisa. Anda mungkin tidak menjadi ahli, tetapi itu bukan alasan untuk mengabaikannya. Kerangka kerja dibuat oleh orang-orang yang perlu menyelesaikan masalah yang mirip dengan Anda, tetapi tidak persis seperti Anda.

JeffO
sumber
1

Suatu area umum yang menderita menggali dalam kerangka (s) sebelum mengetahui bahasa inti dengan baik adalah kinerja. Ini berlaku untuk semua bahasa / platform ( Hibernate n +1 memilih dll). Berikut banyak dari kiat JQuery dan trik yang mengandalkan (antara lain) pada pengetahuan yang baik dari bahasa inti dalam kaitannya dengan kinerja:

Gunakan Untuk Alih-alih Setiap fungsi Asli selalu lebih cepat daripada rekan pembantu. Setiap kali Anda melakukan perulangan melalui objek yang diterima sebagai JSON, Anda sebaiknya menulis ulang JSON Anda dan membuatnya mengembalikan array yang melaluinya Anda dapat melilitkan lebih mudah.

Gunakan ID daripada Kelas Lebih baik untuk memilih objek berdasarkan ID karena perilaku pustaka: jQuery menggunakan metode asli browser, getElementByID (), untuk mengambil objek, menghasilkan kueri yang sangat cepat.

Shivan Dragon
sumber
0

Saya pikir pertanyaan Anda didasarkan pada premis yang salah. Anda mulai dengan mengatakan bahwa Anda berencana untuk bergantung pada suatu kerangka kerja, dan kemudian Anda bertanya apakah itu bermanfaat untuk belajar di luar kerangka kerja. Jadi tentu saja Anda sampai pada kesimpulan itu tidak layak. Tapi premis itu cacat. Anda seharusnya tidak fokus menggunakan kerangka kerja. Anda harus fokus menggunakan alat yang tepat untuk pekerjaan yang tepat . jQuery sangat bagus dalam tugas-tugas tertentu, dan begitu pula Ruby on Rails atau kerangka kerja lainnya. Tetapi mereka tidak selalu merupakan alat yang tepat untuk semuanya. Mempelajari bahasa di luar kerangka kerja, dan bahkan belajar tentang kerangka kerja lain atau pekerjaan mikro atau alat lain, membantu Anda mengidentifikasi kapan kerangka kerja Anda menghalangi Anda lebih dari itu membantu, dan itu memberi Anda kemampuan untuk mencari yang lain,

Jadi jawaban saya adalah: ya, itu sangat berharga karena kerangka kerja bukanlah alat yang tepat untuk setiap pekerjaan.

jpmc26
sumber