Jadi ayah saya membelikan saya 5 buku tentang pemrograman (C ++, Java, PHP, Javascript, Android) sekitar sebulan yang lalu. Dia seorang arsitek dan dia tidak tahu apa-apa tentang pemrograman. Dia membelikan saya karena saya bilang pemrograman itu menyenangkan dan saya ingin mempelajarinya.
Seperti yang mungkin Anda ketahui, menjadi anak-anak (usia 14 tahun) dan disuruh belajar pemrograman dari buku-buku yang membosankan bukan hal yang termudah. Saya selalu terganggu. Saya katakan sebelumnya bahwa saya tidak perlu membeli buku dan saya hanya bisa menonton tutorial online .. tapi tidak, dia sangat kuno. Dia hanya mengizinkan saya menggunakan buku-buku itu.
Baru-baru ini, dia mulai bertanya kepada saya apa yang telah saya lakukan dengan itu, dan saya menunjukkan kepadanya program C ++ yang saya buat yang mengambil apa yang Anda ketik, kemudian memberikan nilai untuk setiap huruf (A adalah huruf pertama dalam alfabet sehingga mendapat nilai 1) .. dan seterusnya. Kemudian menambahkan semua nilai dan memberitahu Anda itu. Jadi kata "tambah" akan memiliki nilai 9.
^^ Itu tidak terlalu mengesankan baginya. Dia meneriaki saya dan mengatakan bahwa yang saya lakukan hanyalah bermain-main. Itu tidak benar. Dia sangat tradisional dan keras kepala dan tidak mendengarkan apa pun yang saya katakan. Apa yang harus saya katakan kepadanya?
PS: Jika Anda memiliki tips tentang penetapan wilayah pada sebuah buku, beri tahu saya
EDIT: Terima kasih banyak semuanya, Anda tidak tahu betapa berartinya mengetahui bahwa ada beberapa orang yang memahami situasi saya. Saya sudah membaca semua dan saya akan mempertimbangkan pendapat semua orang. Gracias!
Jawaban:
Saya tidak tahu apa yang harus Anda lakukan dengan ayahmu. Tapi:
Jika Anda melakukan ini sendiri, mulai dari awal, belajar dari buku, dalam sebulan , sangat mengesankan. Dan Anda melakukannya di C ++, yang merupakan salah satu bahasa pemrograman paling menakutkan yang ada.
Ada beberapa orang di luar sana yang melakukan wawancara, dengan serius berusaha mendapatkan pekerjaan pemrograman, yang akan kesulitan dengan itu. Lihat cerita ini .
Saya hanya dapat menyarankan: tetap melakukan apa yang Anda sukai. Abaikan ayahmu dalam konteks ini; dia tidak tahu apa yang dia bicarakan. Anda memiliki bakat dalam pemrograman dan kemauan untuk belajar - bahan utama untuk menjadi programmer yang hebat.
sumber
Tunjukkan padanya pos ini oleh Peter Norvig. Norvig adalah kepala R&D di Google dan mengajar di Stanford, khususnya Artificial Intelligence, ia menulis buku pengantar standar tentang AI. Berapa lama Anda mengerjakannya? Saya berharap tidak lebih dari itu setelah satu bulan bekerja oleh seorang pemula tanpa instruksi tambahan terutama dengan sesuatu yang sulit seperti C ++. Apa pun yang layak dipelajari layak dipelajari dengan baik.
sumber
Ingatlah bahwa ayahmu mungkin berpikir bahwa kamu adalah anak paling cerdas di dunia, dan dia mencoba membantumu belajar tentang sesuatu yang kamu katakan kamu nikmati.
Ketahuilah bahwa meskipun ayahmu salah besar (lima topik yang sangat berbeda banyak untuk dilontarkan pada seorang anak sekaligus), dia juga agak benar. Banyak orang mencoba mengambil pemrograman dengan meniru "tutorial" yang mereka temukan di web. Itu tidak selalu merupakan hal yang buruk, tetapi IMO biasanya tidak mengarah pada pemahaman yang kuat. Buku yang tepat akan mengajarkan Anda dasar-dasarnya terlebih dahulu. Itu mungkin tidak menyenangkan seperti mengikuti tutorial yang menyelesaikan sesuatu yang mencolok, tetapi kesempatan Anda untuk sukses jangka panjang akan naik, dan jumlah pertanyaan yang Anda tanyakan di stackoverflow.com akan turun.
Lupakan semua kecuali satu buku, setidaknya untuk saat ini. Kedengarannya seperti Anda sudah mulai dengan C ++, jadi ikuti dengan itu jika Anda suka.
Anda akan merasa kecil hati dari waktu ke waktu. Kadang-kadang rasanya seperti setengah pemrograman macet, dan setengah lainnya macet. Mendapatkan kemandekan adalah keterampilan yang berharga, dan semakin Anda mempraktikkannya semakin baik Anda akan. (Menghindari macet di tempat pertama juga merupakan keterampilan yang berharga, jadi latihlah juga.)
Mempelajari bahasa komputer pertama Anda adalah untuk pengembangan perangkat lunak. Apa yang dimaksud dengan belajar menggambar adalah merancang bangunan. Ini mungkin bukan bagian yang paling menarik, tetapi ini adalah keterampilan yang dibutuhkan.
Jika Anda dapat membuatnya mendengarkan, cobalah untuk menjabarkan semua hal yang Anda harus pelajari untuk menulis program kecil Anda. Butuh beberapa waktu hanya untuk belajar menggunakan alat, dan dia pasti tidak mengerti cara kerjanya.
Sekarang Anda sudah sampai pada titik memiliki program berjalan sederhana, dan Anda tampaknya telah belajar sedikit C ++, program kecil apa yang menarik yang bisa Anda tulis? Bagaimana dengan kalkulator pinjaman yang menerima suku bunga, jumlah pinjaman, dan jangka waktu pinjaman serta mencetak jadwal pembayaran? Atau kalkulator yang membaca rumus molekul seperti "H2SO4" atau "C6H12O6" dan mencetak berat molekulnya? Itu tidak jauh lebih rumit daripada program yang sudah Anda tulis.
sumber
"Ayah, pendekatanmu dalam hal ini membuat belajar ke program sama sekali tidak menyenangkan . Hentikan itu."
sumber
Sebagai seorang arsitek, dia pasti menarik kaki Anda atau bersikap kasar.
Cari tahu dia ketika dia mulai: Tanyakan padanya apakah dia menggambar gedung pencakar langit dengan rencana pipa ledeng yang terperinci, menghitung kekuatan dan tekanan pada material, dan melakukan penilaian risiko bencana (seperti ditabrak pesawat dengan ular di dalamnya) setelah sebulan menghabiskan waktu dengan buku saat dia semuda Anda. Mungkin itu akan menenangkannya.
Oke, mungkin itu bukan saran terbaik yang bisa saya berikan kepada Anda, untuk berbicara kembali dengan orang tua Anda. Saya dapat memahami bahwa memiliki ayah, yang menghukum kemajuan bukannya mendorong, agak melelahkan sebagai anak-anak tetapi menganggapnya sebagai dorongan untuk berbuat lebih baik. Dia mungkin memiliki masalah sikap, tetapi itu tidak berarti niat buruk.
sumber
Saya ingin tahu buku mana yang Anda gunakan. Tidak semuanya benar-benar baik. Juga, tidak setiap buku cocok untuk semua orang.
Anda tidak menentukan usia Anda, jadi saya anggap Anda berusia di bawah 18 tahun. Saya mulai belajar ketika berusia sekitar 8 tahun.
Ketika saya masih kecil, saya memanfaatkan banyak sumber daya ketika belajar program. Saya memiliki manual yang datang dengan TI 99 / 4A saya, yang berisi banyak program menyenangkan untuk menggambar dan menghidupkan tokoh. Internet tidak tersedia bagi saya, tetapi bahkan ada majalah komputer yang menargetkan anak-anak, dengan program yang bisa saya ketik dan dapatkan umpan balik segera, dan artikel tentang cara mengatasi jenis tantangan lainnya. Saya sangat menyukai seri novel mata-mata yang memungkinkan saya mengetik dan men-debug program yang dimasukkan sebagai bagian dari cerita. Sayangnya, saya tidak berpikir bahwa sumber daya semacam ini masih ada, tetapi ada beberapa buku pemrograman yang menargetkan orang yang lebih muda, seperti buku Hello World tentang Python, dan Land of Lisp (meskipun itu juga menyenangkan untuk orang dewasa).
Saya tidak tahu tentang Anda, tetapi ada saat ketika saya mendapatkan cukup banyak program penulisan yang melakukan hal-hal yang sangat mirip dengan apa yang baru saja Anda jelaskan. Akhirnya saya pindah ke hal-hal yang lebih maju. Saya menulis beberapa permainan biasa-biasa saja, beberapa demo yang memainkan berbagai suara dan animasi sebagai reaksi terhadap penekanan tombol, dan beberapa alat bantu belajar. Ketika saya berusia sekitar 10 atau 11 tahun saya menulis sebuah program yang membantu saya menghafal tabel periodik unsur-unsur dengan berulang kali menanyai saya. (Pada saat itu, keterampilan menghafal saya lebih baik daripada yang sekarang, jadi saya hampir sama mengetik data pada saat pertama kali saya memainkan kuis, tetapi intinya adalah untuk membuat kemajuan).
Ayah Anda mungkin tidak menyadarinya, tetapi buku hanyalah bagian dari proses ketika Anda belajar memprogram. Menemukan sedikit masalah dan mencoba mencari cara untuk menyelesaikannya adalah bagian lain dari persamaan. Menemukan buku yang mengajarkan Anda sedikit demi sedikit dan memungkinkan Anda mendapatkan sesuatu yang menyenangkan terjadi di mesin adalah separuh lainnya. Dalam kasus saya, buku-buku yang menekankan grafik dan animasi adalah buku-buku yang membuat saya kesal.
Sebagai seorang anak, mata saya berkaca-kaca ketika saya membaca buku-buku tentang pengurutan algoritma dan struktur data yang kompleks, sampai saya telah belajar cukup banyak untuk melihat bagaimana mereka diterapkan pada masalah yang benar-benar saya pedulikan. Tidak semua kata dalam buku yang Anda baca akan memukau. Tidak apa-apa. Anda akan mendapatkan barang-barang itu saat Anda membutuhkannya; beberapa masalah yang ingin Anda selesaikan akan mengingatkan Anda tentang teknik yang menurut Anda tidak menarik tiga minggu, tiga bulan atau tiga tahun lalu dan Anda akan kembali dan memeriksanya dan mencari tahu.
Sebulan bukan waktu yang sangat lama untuk belajar pemrograman. Saya telah menulis kode dalam satu atau lain bentuk selama sekitar 30 tahun, termasuk selama masa kanak-kanak, dan saya masih belajar sesuatu yang baru setiap hari. Saya cukup yakin pada bulan pertama bahwa saya memiliki komputer pertama saya, saya menghabiskan banyak waktu bermain Munch Man dan jumlah jam yang jauh lebih kecil mencoba memahami program sampel dalam buku referensi saya. Belajar dengan kecepatan yang sesuai untuk Anda. Tidak ada tekanan sekarang, dan itu hebat.
"Bermain-main" adalah apa yang seharusnya Anda lakukan ketika pertama kali belajar memprogram. Peretas (jenis Paul Graham) menyodok, mencoba memahami bagaimana sistem mereka bekerja, bagaimana bahasa pemrograman mereka bekerja, bagaimana alat mereka bekerja. Anda mencoba sesuatu, Anda gagal, Anda beralasan melalui masalah yang Anda hadapi, dan Anda mencoba sesuatu yang lain, sampai Anda mendapatkan sesuatu yang berfungsi. Jangan terlalu khawatir tentang itu.
Kecuali ayahmu mengerjakan buku yang sama, dia mungkin tidak mengerti seberapa banyak yang telah kamu pelajari sejauh ini. Saya tidak berharap bisa mendesain rumah atau gedung pencakar langit setelah membaca buku tentang arsitektur selama sebulan, terutama saat remaja.
Untuk meletakkan segala sesuatunya dalam perspektif, selama empat minggu terakhir ini saya telah bekerja di beberapa sudut esoterik fitur Engines framework on the rails Ruby. Sampai hari ini, saya akhirnya memiliki sesuatu untuk ditunjukkan dari sudut pandang pengguna. Saya belajar banyak pada waktu itu dan mengembangkan banyak kode dasar kritis yang bekerja dengan sangat baik, tetapi apakah ini setara dengan profesional saya yang memungkinkan pengguna untuk mengetik beberapa hal dan mendapatkan sesuatu yang lain kembali: tidak begitu mengesankan pada pandangan pertama kepada pengguna biasa , tapi banyak pekerjaan yang harus dilakukan. Jika seseorang mengatakan kepada saya bahwa saya telah bermain-main selama empat minggu, saya akan sangat kecewa, tetapi saya juga tahu mereka hanya memiliki sedikit pemahaman tentang apa yang membuat hal-hal menjadi begitu "sederhana."
sumber
Kedengarannya seperti dalam situasi ini ayahmu bukanlah seseorang yang memberimu dukungan dan dukungan positif dalam apa yang kamu lakukan. Solusi sederhana: jangan gunakan dia untuk itu.
Kerjakan proyek Anda sendiri dan lakukan itu karena itu menyenangkan, bukan karena dia (atau siapa pun) ingin Anda melakukannya. Pilih sesuatu yang menyenangkan untuk Anda. Anda tidak perlu mempelajari seluruh bahasa / teknologi dari sebuah buku. Alih-alih, mulailah mengutak-atik berbagai hal. Akhirnya ketika segalanya menjadi mudah, Anda akan mencari konsep / tantangan baru. Dan Anda akan mendapati diri Anda ingin membaca buku-buku yang hari ini Anda rasa membosankan (atau setidaknya bagian-bagian tertentu).
Jika Anda pernah mengalami kesulitan dan membutuhkan bantuan untuk mengkodekan apa pun, stackexchange adalah sumber yang bagus seperti yang sudah Anda ketahui.
sumber
Kedengarannya bagi saya bahwa ayah Anda memiliki kecenderungan untuk harapan yang tidak realistis, atau mungkin Anda memiliki sejarah memulai hal-hal dan tidak mengikuti, atau keduanya. Hal penting untuk disadari adalah tidak ada yang benar-benar penting di sini, yang penting adalah Anda menikmati apa yang Anda lakukan dan menjadi lebih baik dalam melakukannya.
Saya memiliki waktu yang sangat sulit dengan buku-buku yang tidak menghibur saya, saya selalu punya. Saya belajar paling baik dengan melihat orang lain melakukan sesuatu, mengajukan pertanyaan ketika saya tidak mengerti tujuan dari sesuatu dan kemudian berjuang sampai saya mengetahuinya. Berjuang membuat kita lebih kuat dan memberi kita rasa memiliki atas pencapaian akhir kita, mungkin karena itulah sangat sulit untuk keluar dari rahim.
Yang sedang berkata, salah satu alat paling tajam di kotak alat Anda adalah kemampuan untuk tetap terbuka, bekerja secara produktif di tengah-tengah kritik dan tidak mengesampingkan saran berdasarkan sumbernya. Buku-buku pemrograman yang bagus cenderung menarik Anda, menginspirasi Anda, dan mengharapkan Anda kembali kepadanya ketika Anda menabrak dinding. Tanpa mereka, Anda akan melakukan banyak hal luar biasa tanpa awalnya mengerti apa yang Anda lakukan. Pemrograman adalah seni yang sangat disengaja, jadi saya mendorong Anda untuk mencari buku yang ditulis dengan cara yang mudah dicerna.
Saya sudah pemrograman secara profesional untuk sementara waktu sekarang dan saya bisa memberi tahu Anda bahwa kepuasan saya benar-benar milik saya. Bos saya tidak begitu mengerti mengapa hal-hal yang saya tulis begitu mengagumkan, istri saya tertidur ketika saya bercerita tentang hari saya dan teman-teman saya berusaha keras untuk menghindari menanyakan pekerjaan saya. Saya menikmati kemenangan saya dan kesempatan sesekali untuk membagikannya dengan teman-teman saya. Ayahmu, dalam hal ini, bukan salah satu dari temanmu.
Terus berjalan dan terus membaik. Terbiasa dengan kenyataan bahwa non-programmer perlu melihat sesuatu yang mengesankan secara visual sebelum terkesan. Mengapa tidak mencoba keberuntungan Anda dalam menulis sesuatu seperti generator set Mandelbrot / Julia ? Itu mungkin menunjukkan padanya jenis kemajuan yang dia cari, membebaskannya dari kasusmu untuk sementara waktu. Dalam sepuluh tahun, Anda akan melakukan sesuatu yang sangat mirip untuk mendapatkan manajer non-teknis dari belakang sehingga Anda dapat menyelesaikan pekerjaan nyata.
Ingat saja, Anda melakukannya karena Anda menikmatinya.
sumber
Sulit untuk mengatakan apakah pertanyaan ini terbaik untuk forum Parenting, atau forum Programming. Saya khawatir saran saya saya tidak tepat sasaran, karena saya merasa bahwa terjerat dalam pertanyaan ini berpotensi banyak "masalah" hubungan ayah-anak.
Yang sedang berkata, apa yang akan saya fokuskan adalah peluang besar yang ada untuk Anda dan ayah Anda untuk terhubung pada subjek yang Anda berdua dapat berbagi hasrat dalam beberapa cara. Menjadi seorang ayah sendiri, dan mengenal ayah saya sendiri, saya tahu betapa putus asa kami ingin anak-anak kami mendengarkan kami, mengikuti instruksi kami, dan belajar dari kami. Anak-anak kita sering terdorong untuk melakukan yang sebaliknya. Jadi fakta bahwa Anda berdua memiliki minat yang sama, sungguh luar biasa.
Ayah pasti keras kepala, tetapi saya masih berpikir ada kesempatan bagi Anda untuk melenturkan individualitas dan pilihan Anda sendiri melalui latihan ini. Bukan karena rasa menentang, tetapi berasal dari dorongan dan ambisi Anda sendiri untuk mengetahui subjek pemrograman dengan baik. Secara pribadi, sepertinya ayah Anda melemparkan Anda ke ujung yang dalam ketika datang ke pemrograman. Memang bukan MIPS Assembly Language atau LISP, tapi tetap saja, C ++? Jawa? Astaga. Saya suka pemrograman, tetapi membaca itu sejak awal mungkin telah mematikan saya semua. Bercanda. :)
Jadi yang akan saya tanyakan adalah ini: apa yang menginspirasi Anda ? Hal-hal apa yang ingin Anda bangun? Jawab itu, lalu cari buku dan tutorial Anda sendiri tentang hal itu. Datang ke sini dan ajukan pertanyaan. Bangun sesuatu. Lalu tunjukkan pada ayahmu apa yang kamu bangun. Katakan padanya apa yang kamu pelajari. Berterimakasihlah padanya karena begitu terlibat dengan Anda dan katakan padanya Anda menghargainya. Saya mengatakan itu karena pada akhirnya, itulah masalahnya. Dia ingin berbagi sesuatu denganmu karena dia mencintaimu. Terkadang ayah kesulitan mengungkapkannya dengan cara tradisional, jadi kami mencari cara tidak langsung ini untuk mengatakan hal yang sama. Terkadang kita payah melakukan hal itu. Tapi jangan lupa bahwa dalam semua ini adalah keinginan untuk menjadi lebih dekat dengan Anda.
sumber
Sepertinya belum ada yang menyarankan ini:
Jika Anda memikirkannya, program itu tidak terlalu mengesankan bagi seseorang yang menggunakan komputer dan tidak tahu apa-apa tentang pemrograman.
Tunjukkan pada ayahmu bagaimana kamu membuatnya. Jalani dia melalui kode sumber. Dia mungkin (pasti) tidak akan memahaminya, tetapi itu akan menyampaikan berapa banyak pekerjaan yang telah Anda masukkan ke dalamnya, dan seberapa banyak Anda mengerti, dan mungkin dia akan pergi dengan kesan yang lebih positif tentang berapa banyak yang sebenarnya telah Anda capai.
sumber
Melakukan apapun yang Anda inginkan
Ini hidupmu. Anda dapat melakukan apa pun yang Anda inginkan. Jangan biarkan siapa pun (termasuk ayahmu) mengendalikan hidupmu.
Saya berasumsi bahwa Anda menikmati pemrograman kurang lebih dan ingin menjadi spesialis yang sukses (dan ayahmu ingin, semua orang mau). Tetapi masalahnya, Anda tidak akan pernah menjadi sukses kecuali Anda tahu apa yang Anda lakukan dan kecuali Anda menyukainya .
Menguasai bidang apa pun itu sulit. Anda tidak dapat melakukan ini hanya di bawah pengaruh seseorang. Dan tidak ada yang tahu apa yang harus Anda lakukan lebih baik daripada Anda . Anda ingin beristirahat hari ini dan merasa seperti bermain game sepanjang hari? Itu keputusan Anda dan Anda bertanggung jawab untuk itu. Anda harus belajar untuk bertanggung jawab atas keputusan dan hidup Anda. Bertanggung jawab atas keputusan Anda adalah wajib untuk setiap spesialis yang sukses.
Jadi apa yang Anda lakukan dalam situasi itu? Berdiri tegak, jangan dengarkan siapa pun dan lakukan apa pun yang bermanfaat bagi Anda.
sumber
Anda meminta buku. Jujur, Anda akan melakukan pemecahan masalah yang lebih baik daripada membaca buku. Temukan puzzle atau masalah yang Anda sukai. Project Euler adalah sumber yang hebat, dan CodeGolf dapat menawarkan pertanyaan menarik sesekali. Proyek pemrograman pertama saya adalah aplikasi C ++ yang menemukan bilangan prima. Buku teks yang saya gunakan pada saat itu menawarkan implementasi sederhana seperti ini:
yang sangat tidak efisien. Saya menemukan sekitar 500 bilangan prima pertama dengan fungsi itu sebelum menyerah dengan jijik pada kelambatannya. Ayah dan saya bersenang-senang mencoba mengoptimalkan di atas, dan meskipun itu adalah aplikasi sederhana yang bahkan tidak menulis outputnya ke file saya bersenang-senang dan produk yang dihasilkan keren.
Apakah Anda akan belajar dengan membaca buku? ya, tapi saya tidak bisa menekankan nilai hanya mucking sekitar dengan bahasa pemrograman dan belajar dengan coba-coba.
Jika Anda belajar pemrograman untuk ayah Anda, berhentilah dan temukan alasan Anda sendiri untuk melakukannya. Milik saya masih memburu saya untuk membangunnya sistem perdagangan otomatis volume tinggi. Saya sangat serius ketika saya mengatakan bahwa Anda perlu menemukan sesuatu yang ingin Anda kerjakan karena jika tidak, Anda mungkin akan meninggalkan pemrograman sama sekali karena Anda akan melihatnya sebagai pekerjaan rumah bukan hobi atau olahraga.
Coba baca buku Linus Torvalds "Just For Fun" di mana ia menceritakan asal-usul sistem operasi Linux. Judulnya mengatakan itu semua.
Serius. Cukup retas pada beberapa masalah. Saat macet, libatkan orang tua itu.
Jika ayahmu tidak menghargai pekerjaanmu, itu bukan karena dia kecewa. Dia seorang arsitek, dia tidak tahu betapa rumitnya beberapa hal. Cobalah untuk menuntunnya melalui kode Anda, jika hanya logika dan membuatnya menghargai apa itu tentang logika yang Anda pelajari dengan menulisnya.
TL; DR
sumber
Coba temukan buku yang secara khusus merupakan pengantar pemrograman untuk pemula. Mungkin sesuatu seperti Hello World! Pemrograman Komputer untuk Anak-Anak dan Pemula Lainnya oleh Warren Sande.
Anda juga harus melihat apa yang dimiliki perpustakaan Anda. Sebagian besar perpustakaan harus memiliki beberapa buku pemula.
sumber
Dalam pikiran saya, Anda memiliki dua masalah:
MENURUT OPINI SAYA:
Untuk masalah pertama Anda, Anda hanya pergi ke situs-situs seperti ini dan mengajukan pertanyaan seperti yang Anda lakukan. Temukan sumber daya seperti https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 ini . Pikirkan sesuatu yang ingin Anda ciptakan (permainan, daftar yang harus dilakukan, sistem manajemen koleksi film, platform sosial terbaik berikutnya) dan mulailah coding. Atau mulai dengan memecahkan teka-teki Di mana saya dapat menemukan teka-teki dan tantangan pemrograman?
Masalah kedua Anda lebih sulit, Anda perlu mendidik ayah Anda (sementara dia tampaknya tidak mau) Sementara Anda belajar Anda akan menjadi lebih baik dalam menjelaskan kepadanya apa yang sulit tentang pemrograman. Anda bisa mencoba menggunakan metafora seperti menjelaskan padanya Apa itu Metafora Pemrograman yang baik? . Tip lain adalah bahwa non-programmer pada umumnya tidak mendapatkan kompleksitas dari algoritma yang hebat tetapi mudah ditahan oleh antarmuka yang terlihat bagus. Tergantung pada platform yang Anda pilih, Anda dapat membuat antarmuka yang cantik dengan mudah untuk mengesankan ayah Anda. Gunakan misalnya:
Semoga ini membantu.
sumber
Saya hanya ingin menambahkan bahwa saya berada dalam posisi yang sangat mirip pada satu waktu dalam hidup saya, ayah saya tidak benar-benar mengerti apa arti penguatan positif. Tetapi melihat saya gigih dan ulet terhadap ketidaksetujuannya yang terkadang keras, saya berhasil melakukannya. Sekitar dua puluh tahun kemudian hubungan dengan ayah saya telah banyak berubah, itu membaik tetapi nuansa halus saat itu, masih ada.
Ini adalah saat yang sulit dalam hidup Anda dan yang penting di sini adalah Anda bersenang-senang melakukan ini lebih dari apa pun.
sumber
Mengenai bahasa pemrograman, saya setuju bahwa Anda harus fokus hanya pada satu.
Sebenarnya, saya merekomendasikan satu yang belum Anda miliki: Python. Python adalah bahasa yang cukup mudah dipelajari, tetapi juga cukup kuat. C ++, Java, PHP, dan Javascript semuanya jauh lebih kompleks.
Ada beberapa buku dari Manning yang mengajarkan pemrograman menggunakan Python. Saya akan sangat mempertimbangkan "Halo, Dunia!", Bahkan jika itu ditujukan untuk demografi yang sedikit lebih muda.
Jika Anda ingin melanjutkan dengan C ++, maka saya merekomendasikan buku ini:
Meskipun lebih dari "referensi" dan lebih sedikit dari "tutorial". Saya tidak mengetahui tutorial C ++ yang bagus - ada banyak jenis buku "ajarkan diri Anda C ++ cepat" di luar sana, tapi saya rasa itu tidak terlalu berguna. (C ++ adalah bahasa yang cukup sulit untuk dipelajari terlebih dahulu; kebanyakan programmer C ++ memulai dengan bahasa yang lebih mudah).
sumber
def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum
(\ n - baris baru \ t -tab) atau menggunakan pemrograman fungsional yang lebih canggih, ini adalah liner satu.string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
Tentang C ++, Java, PHP, JavaScript, dan Android (sehingga Anda mungkin dapat memilih di antara mereka, karena mencoba untuk menguasai semuanya sekaligus kemungkinan akan gagal):
Ada banyak pustaka dan kerangka kerja JavaScript di luar sana. Saya sarankan Anda memeriksa sistem gugur dan jQuery serta qooxdoo dan ext.jsjika Anda sedang mencari sesuatu yang hebat. Juga, untuk pengembangan di sisi server, Anda harus memeriksa express.js .
Juga, saya ingin menunjukkan CoffeeScript , bahasa yang mengkompilasi ke JavaScript, tetapi memiliki beberapa tambahan, yang berguna.
Bagaimanapun, yang benar-benar penting adalah, Anda merasa ini menyenangkan. Bahwa Anda menciptakan sesuatu, Anda pikir itu keren. Itu menyelesaikan beberapa kebutuhan Anda, atau yang menyenangkan untuk dimainkan. Pemrograman adalah untuk mereka yang menikmatinya. Anda memerlukan toolset, yang memungkinkan Anda membuat aplikasi dengan beberapa baris kode. JavaScript / CoffeeScript mungkin merupakan titik awal yang baik.
Secara pribadi, saya ingin mengarahkan Anda ke Ruby. Ini telah mengajarkan saya banyak hal tentang pemrograman dan saya merasa tidak beruntung karena tidak mengetahuinya ketika saya mulai pemrograman. Pada dasarnya, ada dua buku yang hebat (keduanya tersedia gratis):
Bersamaan dengan itu saya sarankan Anda memeriksa sepatu . Ini adalah alat yang hebat dengan bantuan terintegrasi yang mengagumkan, termasuk referensi, tutorial, dan demo. Anda akan memulai dan menjalankan tugas pertama dalam beberapa hari.
Dan, mungkin untuk nanti, saya ingin mengarahkan Anda ke haXe . Saya pikir itu adalah bahasa yang hebat (bahasa pilihan saya), dan ada panduan pemula yang baru , yang telah dikeluarkan baru-baru ini. Namun haXe tidak memiliki alat yang tersedia, yang membuatnya sama mudahnya untuk membuat aplikasi seperti dengan JavaScript dan Ruby. Karena itu, Anda mungkin merasa bosan atau bahkan frustasi untuk memulai, yang mengalahkan seluruh tujuan.
sumber
Cukup banyak untuk mencoba berharap dalam satu bulan. Sebaliknya, Anda harus mencoba berkonsentrasi pada belajar satu bahasa atau paradigma pada suatu waktu atau itu bisa menjadi luar biasa. Mendorong terlalu banyak sekaligus juga merupakan cara yang baik untuk dimatikan. Anda dapat belajar lebih baik dengan mengerjakan program tertentu yang Anda minati. Jika ponsel Android berada di tempat minat Anda, Anda mungkin lebih baik menggunakan Java daripada C ++. Dia mungkin telah mengharapkan beberapa hal UI jagoan banget sebagai pelanggan khas akan jadi jangan berkecil hati dengan kekecewaannya :)
Beberapa buku Kepala Pertama dapat membantu belajar sedikit kurang kering jika Anda harus tetap menggunakan buku.
sumber
Saya pikir Anda harus menyingkirkan hal-hal yang lebih formal untuk saat ini, dan melihat Scratch - http://scratch.mit.edu/ - ini memungkinkan Anda untuk menangani sebagian besar konstruksi pemrograman dengan cara yang lebih mudah sambil tetap mempelajari hal-hal tersebut pada Anda. Anda perlu seperti loop dll.
Hal ini juga memungkinkan untuk multithreading sempurna yang mungkin merupakan bagian tersulit untuk dilakukan dengan tangan, dan yang diperlukan untuk memberikan hasil yang menarik di dunia saat ini.
Jangan meremehkannya karena menggunakan warna dan pendekatan seperti lego untuk pemrograman. Anda dapat melakukan banyak hal dengannya, tanpa tersesat dalam detail teknis.
sumber
Tanyakan ayahmu apakah dia bisa merancang gedung bertingkat di usia Anda. Itulah pemrograman. Butuh waktu untuk belajar, karena ada begitu banyak yang harus dipelajari. Ini seperti mengendarai sepeda, hanya Anda yang memiliki seribu pedal, persneling, gagang, kenop, dan Anda tidak dapat memilih dan memilih mana yang akan digunakan pada waktu tertentu. Itu membutuhkan latihan.
Aku tidak meragukanmu. Anda telah mencoba-coba dengan C ++ sejak awal dalam tujuan Anda untuk menjadi seorang programmer. Itu mengesankan bagi saya .
Bertahanlah di sana, dan semoga sukses dengan karier Anda sebagai seorang programmer!
sumber
Saya tahu sudah ada banyak jawaban. Tetapi saya belum melihat saran ini: cobalah minta ayahmu membantu Anda. Cobalah untuk memilih sesuatu yang berbulu di buku C ++, yang dapat Anda pahami dan minta dia untuk membantu.
Beri dia buku itu dan biarkan dia merangkak di C ++. Saya cukup yakin ini akan membuatnya menyadari betapa sulitnya untuk kode.
sumber
Cobalah untuk mengubah situasi ini untuk kebaikan Anda sendiri. Terima saja bahwa apa yang Anda capai sampai sekarang tidak cukup dan cobalah untuk melakukan yang lebih baik ... Anda akan mengalami masa-masa sulit seperti ini ketika Anda akan bekerja untuk bos jika Anda tidak mulai mengatasinya dan membaik mulai sekarang .
Kalau saja saya bekerja dua kali lebih keras ketika saya seusiamu ...
sumber
Masukan ayahmu tidak kondusif untuk proses belajarmu. Ya, ada sejumlah cara untuk mempelajari pemrograman seperti yang disebutkan orang lain. Namun, Anda telah menunjukkan kemajuan fenomenal dalam C ++ menurut pendapat saya. Program menambahkan Anda akan menjadi sesuatu yang saya hampir tidak bisa menangani setelah semester pertama saya di pemrograman java.
Ada dua hal yang harus Anda tangani jika ingin melanjutkan:
1) Tangani ayahmu.
Begini, setiap ayah memiliki impian yang luar biasa untuk anak-anak mereka. Namun, harapan mereka bisa sangat tinggi dan pada akhirnya akan mengarah pada sesuatu yang bahkan tidak mungkin terjadi dalam beberapa dongeng. Saya sarankan membawa seseorang dari luar ke dalam situasi untuk mengevaluasi kemajuan Anda dengan lebih baik dan membawa ayah Anda ke bumi. Anda dapat mencoba berbicara dengan keluarga / teman yang Anda kenal dengan pengalaman pemrograman atau bahkan orang-orang di komunitas ini dapat mengirim email kepadanya atas nama pengalaman dan pengetahuan kami sendiri. Ini adalah langkah terpenting, karena jika ayahmu tidak tenang, kamu akan kehilangan minat bersama.
2) Temukan fokus.
Tidak kondusif untuk mempelajari semuanya sekaligus. Pilih bahasa dan tetap menggunakannya. Ketika Anda membaca buku tentang bahasa tertentu. Mengikuti contoh-contoh buku ini kata demi kata bukan cara yang tepat. Regurgitasi adalah proses pembelajaran bagi sebagian orang, tetapi tidak semua (terutama saya sendiri). Penting untuk menyerang dari sudut sebanyak yang Anda bisa dan sudut yang Anda minati. Memprogram buku-buku oleh penulis yang berbeda pada bahasa yang sama tetapi penggunaan yang berbeda dapat menumbuhkan rasa ingin tahu Anda tentang bagaimana Anda ingin menggunakan bahasa dan wawasan untuk keinginan Anda sendiri dari pemrograman (membuat game? mendesain aplikasi? menguji? dll, dll). Anda juga dapat melakukan petualangan pribadi untuk membuat program. Cari tahu apa yang ingin Anda lakukan terlepas dari apa yang Anda ketahui saat ini, kemudian selidiki sebagai program Anda. Seiring berjalannya waktu, Anda Akhirnya saya ingin mencoba bahasa pemrograman lain yang terkait atau tidak. Anda mungkin juga menyadari bahwa Anda tidak ingin melakukan pemrograman bersama.
Di atas segalanya, ingatlah bahwa itu bukan hasil akhir yang penting, itu adalah perjalanan. Jangan lupa bersenang-senang!
sumber
Anda telah diberi tanggapan dan saran yang bagus tentang aspek pemrograman dari situasi Anda. Tetapi saya ingin menambahkan sesuatu dari perspektif yang berbeda ...
Saya memiliki kesan bahwa Anda mengalami beberapa pemikiran negatif tentang Ayah Anda - dia telah menekan Anda dan telah membuat beberapa komentar yang telah membuat Anda sedikit kesedihan dan kekhawatiran - dan itu telah menghilangkan kesenangan dari pemrograman. Itu memalukan dan saya pikir sebagian besar orang di sini akan setuju bahwa pemrograman itu menyenangkan - saya sudah pemrograman selama lebih dari tiga puluh tahun dan saya masih menganggapnya menyenangkan.
Tapi, kupikir ayahmu ada di pihakmu. Dia melakukan apa yang menurutnya benar, dia berusaha membantu, dia membelikanmu buku-buku untuk memberimu awal yang baik. Tapi dia salah (dan saya berbicara sebagai seorang Ayah, kadang-kadang kita salah!). Baginya, buku mungkin adalah tempat ia memulai karir arsitekturalnya (saya berasumsi ini dimulai sebelum internet dan www biasanya tersedia, jika ada). Jadi untuk pola pikirnya, buku adalah tempat Anda memulai.
Jadi, dengan asumsi bahwa ayahmu ada di pihakmu (dan aku yakin dia ada di sana) maka masalahnya adalah dia tidak mengerti betapa sulitnya saat pertama kali memulai pemrograman - jadi tunjukkan padanya semua jawaban yang dia berikan. diposting di sini - saya yakin ayahmu adalah pria yang baik dan dia akan mengerti dan dia akan mendukungmu.
Dan semoga sukses dengan pemrograman Anda - sepertinya Anda membuat awal yang bagus.
sumber
Satu hal yang tidak disebutkan dalam jawaban lain:
Anda tentu perlu mengerjakan bagian itu. Internet adalah alat penting setiap programmer dan Anda harus bekerja dengannya.
Pertama, pemrograman adalah tentang pemecahan masalah. Ketika Anda tidak tahu bagaimana melakukan X dalam bahasa XYZ, Anda google dan mencari solusinya. * Menemukan solusi dengan cepat adalah sama pentingnya bagi seorang programmer seperti menggunakan keyboard.
Kedua, keterampilan penting lainnya adalah menggunakan dokumentasi . Buku biasanya seperti tutorial - mereka menawarkan panduan, tetapi mereka tidak menawarkan Anda pengetahuan lengkap - dan di sinilah dokumentasi berguna. Misalnya: Anda memprogram dalam C ++, Anda memiliki pengalaman selama sebulan. Cepat atau lambat (saya akan katakan segera) Anda akan perlu menggunakan perpustakaan standar ... atau mungkin Anda sudah menggunakannya? Jika demikian, itu pertanda baik, buku Anda mungkin bukan yang buruk dalam hal itu. Bagaimanapun- akan berguna untuk mengetahui apa yang sudah ada di pustaka standar C ++, dan apa yang tidak. Untuk itu, berguna untuk menyimpan referensi seperti http://cplusplus.com/ buka sepanjang waktu selama pemrograman.
Internet sangat penting untuk pengkodean, dan bahkan lebih penting lagi untuk belajar kode. Jika Ayah Anda tidak memahaminya dan mengharapkan Anda belajar pemrograman hanya dengan menggunakan buku , maka pendekatannya kontraproduktif dan membuat Anda maju lebih lambat (dan mungkin mendapatkan kebiasaan buruk).
sumber
Dia tidak tahu tentang proses condong ke program. Anda dapat membaca semua buku-buku itu dan masih belum bisa menulis apa pun yang layak, karena yang paling lama adalah pemahaman yang tulus tentang apa yang dapat Anda lakukan, dan bagaimana cara mendekatinya.
Anda telah memberi tahu ayah Anda bahwa Anda menikmati pemrograman - jangan biarkan dia merusaknya untuk Anda. Dan tentu saja jangan mencoba dan mempelajari 5 bahasa pemrograman, setidaknya tidak sekarang. Tetap dengan yang relatif sederhana pada seperti Java, yang dapat ditransfer ke yang lain setelah Anda menguasainya.
Berkenaan dengan buku-buku, omong-omong, itu adalah cara yang tepat untuk melakukannya, karena Anda belajar tentang bahasa dengan cara yang benar. Tutorial berikut sering mengarah pada mengambil kebiasaan buruk dll.
Semoga berhasil; dan biarkan dia tahu bahwa Anda melakukannya dengan benar, kemajuan lambat tetapi Anda belajar banyak saat Anda melakukannya.
sumber
Saya pikir banyak programmer berusia 25-35 dan tumbuh dengan bermain Nintendo dan Sega. Sebagian besar dari mereka / kami membuat transisi mental mengapa bermain game ketika Anda bisa membuatnya sendiri. Ini adalah motivasi yang melayani diri sendiri yang dapat mendorong Anda untuk menjadi programmer yang lebih baik. Ini awal. Di kemudian hari Anda mungkin beralih dari menulis video game (masalah virtual) ke game dengan taruhan lebih tinggi (masalah dunia nyata). Seperti halnya resep ini untuk pasien ini yang tidak akan berinteraksi secara negatif dengan obat resep lain, bisakah truk-truk ini menghasilkan pengiriman paling banyak dengan jumlah gas paling sedikit untuk mengurangi polusi, atau bagaimana saya bisa memastikan pembelian stok ini akan membeli pada harga yang saya inginkan ketika ada 1000-an yang lain membelinya pada saat yang sama.
sumber
Arsitektur berakar pada dunia fisik, yang telah Anda pelajari sejak Anda dilahirkan. Bagi seorang mahasiswa arsitektur, bermain dengan lego akan membuang-buang waktu. Ayahmu berasumsi bahwa karena kamu tahu matematika, kamu akrab dengan dasar-dasarnya, dan kamu harusnya bisa mulai membuat sesuatu. Itu tidak benar. Dia tidak tahu apa-apa tentang pemrograman, karena dia bahkan tidak menyadari bahwa itu bukan cabang matematika .
Pemrograman adalah dunia baru. Cara terbaik untuk menjadi mahir dalam hal itu adalah mempelajarinya sama seperti Anda mempelajari dunia fisik: Benamkan diri Anda dan bereksperimen. Singkatnya, mainkan. Sudah waktunya lego.
Sebagai perbandingan, pertimbangkan astronot. Mereka juga memiliki dunia baru di mana mereka sama sekali tidak siap. Mereka harus mulai dengan dasar-dasar seperti bagaimana bergerak melintasi ruangan.
Sebagai langkah selanjutnya, saya sarankan membuat game di mana komputer mengambil nomor acak, dan Anda mencoba menebaknya, dan itu memberi tahu Anda jika Anda menebak terlalu tinggi atau terlalu rendah.
Coba banyak bahasa yang berbeda juga! Tidak semuanya sekaligus, tapi mungkin selama satu minggu sekaligus.
Ketika Anda sudah mendapatkan beberapa pengalaman, membuat video game penuh adalah salah satu tantangan terbesar yang dapat Anda ambil sebagai programmer pembuat buku harian. Permainan video menyentuh hampir setiap sudut disiplin kami, dan membangun satu adalah cara yang bagus untuk membangun keterampilan Anda. Ini juga merupakan tempat yang sempurna untuk bereksperimen dan belajar pada tingkat keterampilan yang lebih tinggi dan lebih tinggi.
sumber
Luangkan waktu Anda sendiri dalam belajar bahasa pemrograman, semakin banyak Anda berlatih semakin banyak Anda akan masuk ke pemrograman, kali ini Anda telah membuat program yang sangat sederhana yang cukup lucu untuk pemula tetapi saat Anda maju pastikan bahwa Anda memastikan bahwa Anda membuat Program bagus yang sebenarnya bisa digunakan ayahmu, nah kalau kamu tanya aku ini bagaimana aku membantu ayahku dalam pekerjaannya.
Bicaralah dengan ayahmu dan jelaskan padanya hal-hal itu dan aku yakin dia akan benar-benar mengerti dan aku yakin suatu hari kau akan menjadi pengembang yang hebat.
sumber
Saya belajar sebagai insinyur perangkat lunak dan kemajuan pembelajaran pemrograman di pendidikan saya lebih dari sekadar membaca buku.
Pertama-tama saya akan merekomendasikan Anda untuk belajar C, karena itu adalah bahasa yang mudah dan banyak bahasa lainnya (seperti C ++, objektif-c) dibangun di atas C. Cara kami melakukannya adalah kami harus membeli chip mikro ( dalam kasus kami sebuah Atmel Mega16 dengan kit STK 500, yang hanya papan dengan LED dan tombol di atasnya), dan kemudian kami hanya bermain-main dengannya, memprogram program untuk membuatnya bip dan bop. Itu lebih menyenangkan daripada sekadar membaca dan menulis halo program dunia IMO.
Ketika C menjadi jalan-jalan di taman untuk Anda, beralihlah ke C ++ dan pemrograman berorientasi objek (OOP). OOP adalah konsep kunci dalam banyak bahasa dan cara untuk memikirkan pemrograman dan karena itu suatu keharusan jika Anda serius dengan pemrograman Anda. Pastikan untuk memahami teori di balik OOP sebelum menyelam ke dalamnya - jika tidak, mungkin akan menjadi proses yang sulit :-)
Last but not least, saya akan merekomendasikan Anda untuk mempelajari berbagai tipe data, seperti tumpukan, antrian, tumpukan dll, yang sangat bagus untuk dipahami ketika Anda memprogram dan membaca tentang bahasa baru.
Semoga beruntung temanku!
sumber