Baru-baru ini saya mendengar seorang mentor instruktur bahwa mengembangkan game adalah cara terbaik untuk belajar pemrograman. Selain fakta bahwa semuanya harus dibuat dalam kode, dia berkata Anda benar-benar bisa sepenuhnya mengalami dan menerapkan OOP ke dalam program Anda. Dengan kata lain semua yang Anda buat dalam game adalah objek literal baik secara teknis maupun konsep. Apakah aman untuk membuat asumsi ini? Atau selalu ada pengecualian saat belajar pemrograman?
perhatikan itu diarahkan pengembangan .net / xna / c #.
learning
object-oriented
Edward
sumber
sumber
Jawaban:
Pengembangan game adalah beberapa pengembangan yang paling menantang yang ada, menurut saya. Mari kita lihat semua konsep yang perlu diketahui oleh satu orang yang membuat penembak orang pertama:
Soalnya, satu game bisa mencakup banyak area secara bersamaan. Ini membuatnya menjadi alat pembelajaran yang sangat baik jika Anda bersedia menghabiskan waktu dan menjadikannya baik.
Adapun OOP, itu satu pola yang bekerja dengan baik. Anda dapat menggunakan game sebagai alat belajar untuk berlatih teknik desain yang baik.
Untuk menjawab pertanyaan Anda, itu bukan satu-satunya cara untuk belajar pemrograman. Setelah Anda menjadi pengembang perantara, membuat game akan memungkinkan Anda menyentuh banyak konsep dan level pemrograman. Selain itu, itu menyenangkan!
sumber
Bukan untuk menjadi tautologis, tetapi pemrograman adalah cara terbaik untuk belajar pemrograman. Jika Anda tertarik dengan game komputer, maka pemrograman game mungkin merupakan cara yang bagus untuk belajar pemrograman.
Saya tidak peduli dengan permainan, tetapi saya suka matematika, begitu banyak proyek pembelajaran saya sangat matematis.
Intinya adalah, Anda perlu menemukan cara untuk memecahkan masalah dengan kode, dan gim bekerja untuk banyak orang.
sumber
Ini adalah sebuah cara untuk belajar pemrograman, antara cara lain. Ketika Anda menulis kode, Anda belajar banyak hal. Sekarang, apakah yang cara terbaik? Tidak begitu yakin.
Paling tidak, dua alasan yang diberikan oleh guru Anda tidak valid .
"semuanya harus dibuat dalam kode" : ketika Anda menulis aplikasi bisnis, Anda sebenarnya menulis kode tersebut. Itu tidak akan ditulis dengan sihir. Ya, ada bantuan yang memungkinkan Anda menggunakan kode yang dibuat secara otomatis. Tidak, itu tidak wajib untuk menggunakannya. Omong-omong, bagian-bagian yang dibuat secara otomatis pada umumnya adalah pemrograman yang paling menjengkelkan (bukan dengan menambahkan kontrol ke kontrol Windows Forms sehingga Anda akan mempelajari sesuatu yang menarik dan berguna).
"Anda benar-benar dapat sepenuhnya mengalami dan menerapkan OOP ke dalam program Anda" : seseorang harus menjelaskan kepada saya mengapa ini hanya berlaku untuk game, tetapi tidak valid untuk hal lain. Jika Anda memahami OOP dan ingin menggunakannya, Anda dapat menggunakannya dalam aplikasi bisnis juga. Jika Anda tidak mendapatkannya atau tidak ingin menggunakannya (dan lebih suka menggunakan pemrograman fungsional misalnya), pengembangan game tidak akan memaksa Anda untuk berubah.
Tapi:
Mengembangkan game mungkin menyenangkan . Sebagian besar anak muda suka game, jadi mereka akan senang mengembangkan game daripada menulis aplikasi bisnis, yang akan sangat membosankan bagi kebanyakan dari mereka. Melihat ini, para guru dapat mulai percaya bahwa sebenarnya bermain game adalah cara terbaik untuk belajar pemrograman, dan kemudian mereka akan mencoba menemukan penjelasan logis untuk itu.
Karena itu, para guru itu mengakhiri dengan membuat pengembangan game membosankan bagi kaum muda seperti pengembangan aplikasi bisnis. Jika mereka percaya bahwa bermain game harus dilakukan untuk mempelajari OOP dll., Maka mereka akan meminta siswa mereka untuk melakukan berbagai proyek yang tidak menyenangkan sama sekali. Ini adalah salah satu kesalahan terbesar guru saya ketika saya masih kuliah. Mereka memberi kami sangat sering proyek game untuk menulis di Ada dalam mode konsol. Tanpa grafis. Tidak menyenangkan. Tidak ada pengalaman pengguna. Sepanjang hidup dan karier saya, saya tidak pernah melihat proyek membosankan seperti itu.
sumber
BadGuy
,Weapon
,PowerUp
, dan item lainnya dalam sebuah game dapat dengan mudah menjadi obyek. Anda bisa memprogram interaksi antara objek dan melihatnya di layar. Saya pikir bagian visual inilah yang membuatnya begitu menarik. Aplikasi bisnis yang memiliki jenis hierarkiServerTaskScheduler
,AbstractDataProcessor
,UserQueryAgent
, dll ... yang tidak menarik , meskipun mereka mungkin mengajarkan konsep OOP sama seperti di game.Customer
atauProduct
atauTransaction
bisa benda. Tapi saya mengerti bahwa jauh lebih menyenangkan untuk berurusan denganBadGuy
daripada membosankanTransaction
.Transaction
diperlukan.Pemrograman game adalah cara terbaik untuk mempelajari pemrograman game. Jika Anda ingin mempelajari pengembangan web, lakukan itu, jika Anda ingin mempelajari pemrograman sistem, lakukan itu dan seterusnya.
Pemrograman game itu menantang, dan kemungkinan besar akan mengajarkan Anda banyak hal (Michael mencatat banyak dalam jawabannya, dan banyak dari mereka sangat menantang, dan dapat digunakan di luar game juga). Membuat RPG atau taipan (atau game serupa) akan mengajarkan Anda banyak tentang desain OOP karena mereka cocok untuk paradigma itu. Anda juga akan dapat belajar banyak tentang pertimbangan kinerja, beberapa matematika hardcore untuk game dll, tergantung pada kompleksitas grafik dan fisika Anda.
Ini adalah cara yang baik, dan cara terbaik untuk mempelajari beberapa hal, tetapi itu bukan cara yang unggul untuk belajar pemrograman. Tidak peduli berapa banyak game yang telah Anda programkan, kemungkinan besar Anda tidak akan tahu cara membuat sistem operasi. Saya pikir sebagian besar pengembang masih bisa mendapatkan sesuatu dengan mengembangkan game, bahkan jika mereka tidak melakukan itu sebagai disiplin pemrograman utama mereka, selama mereka punya waktu.
sumber
Pertanyaan: Apa metode terbaik untuk mempelajari pemrograman
Jawab: Metode yang sebenarnya Anda lakukan
Yaitu, ketika belajar atau melakukan sesuatu, tidak masalah metode apa yang Anda pilih terlalu lama itu metode yang benar-benar Anda lalui.
Jika bermain game adalah sesuatu yang tampaknya sangat menyenangkan bagi Anda, lakukanlah. Jika Anda menemukan pemecahan masalah matematika lebih memuaskan, mulailah dengan itu. Ada banyak jenis pemrograman dan masing-masing memerlukan keterampilan yang berbeda sehingga taruhan yang baik adalah memulai dengan yang menurut Anda paling menarik, mungkin itulah yang akan Anda kerjakan.
... Tapi ya, bermain game adalah cara yang baik untuk mempelajari beragam pemrograman karena menggabungkan matematika, konkurensi, algoritme, oop, grafik, dll.
sumber
Jika Anda menikmati game maka menulis game akan menjadi cara yang baik untuk masuk ke pengembangan tetapi saya tidak akan mengatakan itu adalah cara terbaik. Saya pikir cara terbaik adalah kursus gelar CS diikuti oleh pekerjaan dengan rumah perangkat lunak yang akan berinvestasi dalam pelatihan dan bimbingan staf junior.
Terlepas dari jawaban yang diakui agak sombong itu, ya, pengembangan game akan mengajarkan Anda banyak keterampilan yang baik saya pikir, dan jika Anda menikmati permainan komputer itu akan membuat Anda tertarik pada proses pengembangan. Itu harus lebih menarik daripada banyak aplikasi sederhana lain yang Anda lihat di buku.
sumber
Saya akan mengatakan bahwa cara terbaik belajar kode adalah dengan membuatnya menyenangkan bagi Anda. Itu tidak harus menjadi permainan nyata, tetapi semacam permainan untuk Anda. Bagi saya, ini adalah permainan untuk memecahkan beberapa masalah matematika mengembangkan algoritma dengan cara yang saya bisa memecahkan masalah yang kompleks dengan cara tercepat mungkin. Tantang diri saya, saya menjadi pembuat kode yang lebih baik di setiap upaya untuk menyelesaikan masalah. Semakin sulit masalahnya, semakin baik.
Untuk belajar Kode (praktik terbaik), saya katakan Anda harus menghadapi tantangan yang lebih besar. Tantangan membutuhkan lebih banyak input / output tunggal
sumber
Saya belum pernah mendengar tentang klaim bahwa bermain Halflife atau Call of Duty mengajarkan Anda keterampilan pemrograman.
Memprogram mereka mungkin, tetapi memprogram sesuatu seperti itu bukanlah sesuatu yang pemula bahkan harus berusaha sedikit. Dan terutama pemula sering mendapat kesan bahwa mereka dapat membuat blockbuster berikutnya dengan pengetahuan pemrograman yang tidak ada. Katakan kepada mereka untuk mencoba membuat klon PacMan atau Tetris terlebih dahulu dan mereka berteriak bahwa itu bukan yang ingin mereka lakukan dan bahwa Anda harus 'memberi saya zuh koduz'.
sumber
Tidak juga. Tidak ada satu jenis terbaik proyek untuk belajar pemrograman di. Jenis proyek terbaik adalah yang relevan dengan minat Anda.
Sebagai contoh, saya mencoba belajar pemrograman beberapa cara yang berbeda, termasuk belajar ke permainan program. Sepertinya tidak pernah menempel.
Lalu ketika saya perlu belajar bagaimana memprogram untuk apa yang saya lakukan dalam penelitian saya? Saat ini saya cukup nyaman untuk mengatakan saya tahu 2 bahasa, dan saya sedang mengerjakan yang ketiga. Mengapa? Karena itu relevan dengan minat saya. Saya punya alasan untuk tetap menggunakannya, alasan untuk belajar, dan lebih banyak masalah untuk dicoba daripada hanya "Latihan 8" dalam buku ini.
Ini, kebetulan, tidak berarti pemrograman model epidemi adalah cara terbaik untuk belajar pemrograman. Tapi itu cara terbaik bagiku. Temukan milikmu. Mungkin itu game, tapi mungkin juga tidak.
sumber
Dalam pengalaman saya sendiri, dengan menulis game (dengan asumsi Anda melakukan ini pada tim Anda sendiri / tim pengembang kecil), Anda dipaksa untuk tidak hanya memikirkan bagian algoritmik / analitik pemrograman tetapi juga pengalaman pengguna dan desain.
Selain itu, jika ini adalah permainan yang cukup kompleks, Anda akan mengerjakan ini selama beberapa bulan, dan Anda akan menyadari pentingnya mendokumentasikan semua yang Anda lakukan - yang nantinya akan menjadikan Anda anggota tim yang lebih baik.
sumber
Saya pikir ini adalah artikel yang bagus memberikan wawasan tentang pengembangan game.
Ini berbicara tentang beberapa bidang dasar untuk fokus
sumber
Saya setuju kecuali ...
Kemungkinan besar pengalaman pemrograman pertama yang pernah dimiliki adalah membangun dan memprogram robot Lego (Mindstorms).
Sementara istilah umum "permainan" dapat menentukan kategori yang sangat besar sehingga mencakup hampir semua pemrograman, bila digunakan dalam konteks poster aslinya, sepertinya selalu berarti "menulis game gaya Doom".
Seperti yang telah dinyatakan di sini sebelumnya - cara terbaik untuk mempelajari pemrograman adalah memiliki sesuatu yang benar-benar Anda inginkan yang memerlukan program. Yaitu - pelajari pemrograman dengan menulis program yang Anda inginkan.
Salah satu program Windows pertama saya adalah program pengontrol MIDI, karena saya benar-benar menginginkan program pengontrol MIDI, dan Windows tampaknya sangat cocok (slider, tombol, dukungan SDK untuk MIDI, dll.). Saya belajar banyak tentang pemrograman Windows (ini kembali di Win 3.1 hari) dari program itu.
Saya tidak pernah menyukai pemrograman game karena alasan yang disebutkan di sini juga - Saya tidak menggambar semuanya dengan baik, jadi setiap game yang saya buat akan memiliki grafik yang lebih buruk daripada yang dimiliki seorang artis. Saya ingin belajar memprogram, bukan mengelola "tim pembuat game" (latihan yang patut dipuji tetapi sangat berbeda).
Pada akhirnya saya sangat tidak setuju dengan pernyataan guru. Cara terbaik untuk belajar pemrograman adalah menulis program yang Anda inginkan.
-R
sumber