Ayah saya tidak sabar dengan kecepatan belajar saya ke program. Apa yang saya lakukan? [Tutup]

200

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!

David
sumber
15
Komentator: komentar dimaksudkan untuk mencari klarifikasi, bukan untuk diskusi panjang. Jika Anda punya solusi, tinggalkan jawaban. Jika solusi Anda sudah diposting, harap perbarui. Jika Anda ingin mendiskusikan pertanyaan ini dengan orang lain, silakan gunakan obrolan . Lihat FAQ untuk informasi lebih lanjut.
7
Omong-omong, Anda harus menunjukkan kepadanya utas ini. Mungkin lebih jauh dengannya, jika ia melihat pendapat programmer profesional tentang kemajuan Anda.
Pengumpul
15
@ David Itu tidak tradisional, itu menjadi orangtua yang buruk dan orang yang egois. Pada titik ini dia tidak ingin Anda benar-benar berhasil, atau dia akan berada di lubang bersama Anda. Dia benar-benar hanya ingin menjadi ayah dari anak yang sukses. Sayangnya tidak banyak yang dapat Anda lakukan tentang itu, karena itu adalah ayah Anda dan Anda tidak bisa tidak sopan. Apa yang saya katakan adalah meringis dan menanggungnya, lalu ketika tiba saatnya untuk sarjana, pilihlah liga ivy yang jauh sekali.
Lee Louviere
15
Saya tidak terkejut ini ditutup (di luar topik), tapi itu salah satu pertanyaan di mana saya berharap kami memiliki tag / bendera untuk "di luar topik, tapi tetap simpan". :)
Cyclops
12
Tanyakan ayahmu apa yang dia lakukan ketika dia berusia 14
CodeART

Jawaban:

197

Saya menunjukkan kepadanya program C ++ yang saya buat yang mengambil apa yang Anda ketik, lalu 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.

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.

Joonas Pulakka
sumber
8
Ya, saya telah belajar dengan ambisius (program khusus itu memberi saya sekitar 60 sakit kepala).
David
8
@ David: Mengingat bahwa dia seorang arsitek, dapat dimengerti bahwa dia peduli tentang bagaimana segala sesuatu terlihat . Tetapi jika dia tidak tahu apa-apa tentang pemrograman, maka dia seharusnya tidak mengkritiknya. Grafik, tampilan dan nuansa perangkat lunak hanyalah puncak gunung es .
Joonas Pulakka
12
Serius? "Fatbooth" memiliki beberapa algoritma manipulasi grafis berbulu yang membutuhkan bertahun-tahun untuk dipelajari dan dikuasai. Jika ayahmu ingin kamu menguasai pengenalan wajah maka dia seharusnya membeli buku tentang itu. Ini mungkin terlihat mudah (karena mudah digunakan) tetapi lebih sulit untuk dicapai daripada yang Anda pikirkan, memberi Anda lebih dari 60-an sakit kepala digabungkan. Dengan asumsi bahwa aplikasi seperti "Fatbooth" mudah dilakukan adalah penghinaan serius (tapi rahasia) untuk programmer.
Spoike
121
+1 untuk sangat mengesankan . Ini, terutama mengingat dari mana Anda berasal. Saya kira Anda bisa bertanya kepada ayah Anda berapa banyak bangunan yang pernah ia gunakan, apalagi bekerja sendiri, satu bulan setelah mulai dari awal mempelajari keahliannya. Masukkan hal-hal ke dalam istilah yang bisa dia hubungkan.
CVn
13
@Joonas: Belum lagi bahwa desain grafis, kegunaan, dan desain antarmuka benar-benar semua disiplin ilmu yang umumnya tidak ada hubungannya dengan pemrograman .
Toby
88

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.

World Engineer
sumber
83
  1. 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.

  2. 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.

  3. Lupakan semua kecuali satu buku, setidaknya untuk saat ini. Kedengarannya seperti Anda sudah mulai dengan C ++, jadi ikuti dengan itu jika Anda suka.

  4. 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.)

  5. 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.

  6. 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.

  7. 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.

Caleb
sumber
47
+1 "Lupakan semua kecuali satu buku"
PA.
9
+1 untuk ide-ide bagus dan praktis. Saat belajar, bagian tersulit sering kali muncul dengan ide untuk sebuah proyek pada saat yang sama Anda sedang dihimpit informasi baru.
Morgan Herlocker
5
"Ingatlah bahwa ayahmu ..." Senang memiliki sudut pandang ayahnya di sana, bahkan jika dia membekap antusiasme David dengan kegembiraannya sendiri untuk membantu.
John MacIntyre
7
Buat alat pemecahan masalah / arsitektur kecil dengan melibatkan ayahmu!
Vaibhav Garg
3
+1 untuk poin pertama. Saya pikir sangat penting bagi orang tua untuk berpikir tentang anak-anak mereka sebagai yang paling cerdas di dunia. Pada akhirnya, jika bukan sikap seperti itu, OP tidak akan melakukan banyak dalam sebulan, saya yakin. Namun, itu mungkin overhead jika memberikan OP sakit kepala begitu banyak.
Anton Strogonoff
53

Dia membelikan saya karena saya bilang pemrograman itu menyenangkan dan saya ingin mempelajarinya. ... Apa yang harus saya katakan kepadanya?

"Ayah, pendekatanmu dalam hal ini membuat belajar ke program sama sekali tidak menyenangkan . Hentikan itu."

Blrfl
sumber
4
bukan saran terbaik. Ayah tidak suka dijawab seperti itu
CyprUS
1
ya tetapi jika OP hanya duduk di sana dan mengambilnya maka ayah merasa dia benar; bagaimanapun juga, anaknya tidak bekerja sangat keras. Anak itu harus berbicara pada titik tertentu sehingga ayahnya akan menyadari betapa kerasnya dia bekerja.
Kevin
1
@ CyprUS Benar, tapi saya ngeri mendengar kata robotika sekarang. Itu adalah cinta dalam hidupku setahun yang lalu. Saya memiliki Lego Mindstorms Kit yang menginstal RobotC dan semua itu. Menyukainya, sampai ayah saya mendapatkan beberapa gigi dan motor "nyata" dan menyuruh saya untuk membuat sesuatu yang "nyata" seperti lengan robot. Benci robotika dengan hasrat sekarang.
chandsie
48

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.

Spoike
sumber
44
Juga saran untuk ayah Anda (meskipun di luar lingkup pertanyaan): Jatuhkan sikap Gordon Ramsay . Ini hanya bekerja di Hell's Kitchen karena para pesaing adalah orang dewasa yang berpengalaman yang diharapkan untuk tahu cara memasak dan melakukan kesempurnaan di restorannya dan Gordon memang memberikan penghargaan ketika jatuh tempo. Jika Anda melakukan ini untuk pemula atau anak-anak pemula, itu hanya akan membuat mereka takut belajar praktik. Patut dicatat bahwa Ramsay lebih baik di serial tv-nya yang lain karena itu bukan urusannya sendiri.
Spoike
30

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."

Jason True
sumber
2
+1 untuk memotong gigi Anda pada TI 99 / 4A. Cukup banyak cerita yang sama bagi saya pemrograman itu menyenangkan dan memulai melakukannya jauh lebih mudah diakses (atau mungkin tampak seperti itu). Anak perempuan saya (10) menunjukkan minat dalam belajar program dan saya mengalami kesulitan memikirkan cara yang menyenangkan namun iteratif untuk memulainya. Untuk OP dari nol pengetahuan hingga 1 bulan dan melakukan apa yang Anda katakan terdengar benar di PAR.
Ominus
Ominus (dan David), lihat Memproses, dan buku ini dari Manning: manning.com/pearson
JasonTrue
4
+1 karena tidak semua buku bagus. Dalam pengalaman saya sebagian besar buku di luar sana ditargetkan pada orang yang sudah mengerti pemrograman. Tidak banyak yang diarahkan pada pendatang baru, tetapi saya akan merekomendasikan ini dan / atau yang ini .
David
@ David terima kasih atas tautannya. Memesan buku untuk anak perempuan pagi ini.
Ominus
@Jason: Dia menyebutkan bahwa dia masih anak-anak berusia 14 tahun.
CyprUS
19

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.

DXM
sumber
16

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.

Tim Post
sumber
1
Dengarkan orang ini, dia tahu apa yang dia bicarakan;)
drxzcl
2
hehe, saya suka 'fakta bahwa non-programmer perlu melihat sesuatu yang mengesankan secara visual sebelum terkesan'. Menulis generator fraktal adalah salah satu proyek pertama saya di sekolah ilmu komputer. Dan saya terkesan sendiri :)
Guillaume
Mungkin jawaban terbaik di semua utas ini ...
Venki
15

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.

Byrne Reese
sumber
15

Sepertinya belum ada yang menyarankan ini:

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?

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.

benzado
sumber
3
Cara ini layak mendapat lebih banyak pengakuan daripada yang didapatnya. Solusi non-konfrontatif yang baik yang bisa membuat ayahnya lebih memahami hobi putranya.
Fergus In London
@FergusMorrow Setuju. Jawaban ini mendapat terlalu sedikit upvotes.
stommestack
12

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.

Anton Barkovsky
sumber
3
OP adalah minor hukum (14, tampaknya). Orang tuanya diharapkan untuk mengendalikan hidupnya, dan melawan secara membabi buta selama empat tahun ke depan kemungkinan besar akan membuat semua orang sengsara.
jwodder
1
@ jwodder: Jika orang tua itu merasa perlu mengendalikan apa yang dipelajari anak laki-lakinya di waktu luangnya , maka itu mungkin yang terbaik ia mulai melawan secepatnya. Saya juga punya anak, yang sama tuanya dengan David. Jika anak saya tidak dapat memberi tahu saya bahwa saya salah ketika dia berpikir saya salah, saya akan mengkhawatirkan masa depannya. Seorang anak berusia 14 tahun bukan 7yo, dia tahu satu atau dua hal tentang dunia, dan tahu beberapa hal yang tidak dimiliki orang tuanya. Dan jika dia ternyata tidak menjadi apa yang mereka inginkan, mereka telah gagal bertahun-tahun sebelumnya, dan tidak memiliki kesempatan untuk mengejar ketinggalan lagi, apalagi dengan terus melakukan apa yang mereka lakukan selama 14 tahun.
sbi
10

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:

bool isPrime(int x){
    int c = 1;
    while(c < x){
        if(x%c == 0){
            return False;
        }
        c=c+1
        /*c+=1 if compiler is set to '98 or more recent*/
    }
    return True;
}

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


  1. Hanya mengacaukan sesuatu. Memecahkan masalah. Jika Anda tidak dapat menyelesaikannya, cari solusi orang lain dan cobalah memahaminya.
  2. Bersenang-senang dengan # 1
  3. Setiap kali Anda belajar sesuatu atau membuat kemajuan, ingat untuk memberi tahu orang tua Anda.
  4. Tenangkan dirimu. Setiap orang belajar dengan cara mereka sendiri dan dengan kecepatan mereka sendiri. Terus lakukan itu dan pada akhirnya Anda akan memiliki keterampilan untuk melakukan apa pun yang Anda inginkan.
rmckenzie
sumber
1
Sebenarnya, dia secara khusus menyatakan bahwa dia tidak meminta buku .... Sisanya saya setuju dengan ini
Paul
6

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.

Aljazair
sumber
5

Dalam pikiran saya, Anda memiliki dua masalah:

  1. Anda ingin belajar pemrograman dan tetap bersenang-senang (kesenangan itu penting, itu membuat semuanya lebih mudah)
  2. Anda memiliki pelanggan yang benar-benar tidak mengerti apa-apa tentang pemrograman tetapi memiliki ide apa yang dia inginkan. (Ayahmu dalam kasusmu)

MENURUT OPINI SAYA:

  1. 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?

  2. 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.

KeesDijk
sumber
+1 Saya suka pos Anda, tetapi saya tidak berpikir ada orang di sini yang bahkan menyarankan agar anak ini mencari tahu apa harapan ayahnya. Tampaknya agak terlalu dini untuk mengesampingkan harapan ayah tanpa mengetahui apa harapan mereka.
user179700
5

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.

John Leidegren
sumber
5

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).

Stephen Cleary
sumber
Setuju, python adalah pilihan yang lebih baik sebagai bahasa pertama. C ++ bagus tetapi sangat kuat dan sulit digunakan - seperti belajar menerbangkan pesawat sebelum belajar berjalan. Dengan python Anda dapat menggunakan perpustakaan langsung dan melakukan hal-hal menyenangkan. Fungsi string_add Anda adalah 5 baris kode yang dapat dibaca. Misalnya, 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))
dr jimbob
+1 Butuh waktu sekitar satu tahun untuk belajar C ++, sementara saya hanya butuh sepuluh menit untuk belajar Python.
rightfold
+1 Saya juga merekomendasikan Pemrograman Pertama Kepala yang menggunakan Python.
David
4

Tentang C ++, Java, PHP, JavaScript, dan Android (sehingga Anda mungkin dapat memilih di antara mereka, karena mencoba untuk menguasai semuanya sekaligus kemungkinan akan gagal):

  • C ++: Ini adalah bahasa yang sangat kuat. Tapi terlalu kuat, terlalu tak kenal ampun, terlalu samar untuk memulai. Anda harus memahami banyak hal untuk bisa terus maju. Saya pikir, ini dalam pilihan bahasa yang buruk untuk memulai juga program.
  • Java: Pilihan populer untuk pemula. Dalam arti tertentu, ini adalah kebalikan dari C ++: C ++ menawarkan Anda tentang cara apa pun yang bisa dibayangkan untuk menembak diri sendiri, sementara Java berusaha untuk tidak membiarkan apa pun yang berada di luar kendali Anda, yang sebenarnya cukup melumpuhkan. Ini agak terlalu sederhana, terlalu sepele, terlalu ketat untuk menunjukkan banyak pemrograman. Dan Anda tidak bisa menyelesaikan banyak hal di Jawa tanpa mengetahui banyak API standar dan beberapa kerangka kerja. Java sebagai teknologi memiliki banyak hal untuk ditawarkan, tetapi memiliki kekurangan sebagai bahasa.
  • PHP: Bahasa yang sangat populer, sebagian besar karena hambatan masuknya yang rendah. PHP sebagai bahasa telah matang dan sekarang kaya dengan fitur yang diharapkan dari bahasa modern. Namun PHP membawa banyak bagasi karena alasan historis. Jadi, meskipun sebenarnya memungkinkan untuk menulis program yang baik, hanya sedikit orang yang melakukannya dan Anda tidak akan menemukan begitu banyak informasi tentang cara melakukannya. Dan perpustakaan standar berantakan. Jika Anda memutuskan untuk menulis PHP, saran saya adalah mulai bekerja dengan kerangka kerja sejak awal, karena mereka biasanya mempromosikan solusi yang kuat untuk masalah umum. Secara pribadi, saya merekomendasikan symfony , flow3 dan CakePHP . Namun, saran saya adalah: jangan mulai dengan itu.
  • JavaScript: Bahasa yang sangat kuat, begitu Anda mengetahuinya. Ini memiliki "sedikit" kebiasaan , tetapi sebenarnya Anda harus bisa hidup dengan itu. Meskipun awalnya digunakan untuk menambah interaktivitas ke halaman HTML, JavaScript sekarang dapat digunakan di sejumlah bidang. Terlepas dari penggunaan klasik, dapat digunakan untuk Desktop dan Mobile pengembangan aplikasi dengan platform sebagai Appcelerator , PhoneGap dan AIR dan untuk membuat server menggunakan node.js .
    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.
  • Android: Berbeda dengan empat lainnya, ini adalah platform. Platform harus dipilih tergantung pada apa yang ingin Anda lakukan. Jika itu pengembangan aplikasi seluler untuk perangkat Android, maka lakukanlah. Tidak yakin itu adalah hal terbaik untuk memulai, tetapi pada akhirnya Anda harus menciptakan hal-hal yang menurut Anda keren.

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):

  • Why's Poignant Guide - Secara pribadi, itu agak terlalu banyak gangguan (lelucon, kartun, dll.) Di buku itu untuk saya, tetapi Anda mungkin menikmatinya.
  • Ruby Pragmatis - Berfungsi sempurna untuk saya. Ini sedikit kering, tetapi hanya berurusan dengan hal-hal yang penting.

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.

back2dos
sumber
Saya pasti akan menyarankan dia untuk memotong giginya di C / C ++. Saya melakukan hal yang sama dan ternyata belajar bahasa apa pun sangat mudah karena hampir semua bahasa modern memperoleh sesuatu dari C / C ++.
CyprUS
@ CyprUS: Walaupun saya setuju, keduanya layak untuk dipelajari, saya juga berpikir itu bukan pilihan yang baik untuk mulai belajar ke program. Juga, saya tidak melihat bagaimana LISP atau keluarga Smalltalk akan mendapatkan sesuatu yang penting dari keduanya.
back2dos
Saya pikir kita harus membiarkan anak itu memutuskan apa yang ingin dia lakukan. Yang mengatakan, LISP / SmallTalk terlalu esoteris untuk menjadi kegunaan umum (pendapat saya)
CyprUS
@CyprUS: Saya hanya menawarkan saran. Pada akhirnya ia harus memilih. Saya tidak bermaksud LISP atau SmallTalk, tetapi kelas (sebagian) tumpang tindih bahasa modern yang mereka buat, terutama Ruby, Squeak, Objective-C, Lua, Scala, Erlang, Clojure, JavaScript, F #, Nemerle, Skema. Semua yang sebenarnya digunakan, beberapa bahkan ada di antara bahasa yang paling populer di luar sana .
back2dos
3

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.

Penjaga penjara
sumber
3

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.

pengguna1249
sumber
+1 - Scratch adalah cara yang hebat dan menyenangkan untuk belajar. Ini sebenarnya dirancang dengan mempertimbangkan usia, tetapi masih Turing Lengkap. Juga, periksa BYOB (Bangun Blok Anda Sendiri) untuk ekstensi berorientasi objek ke Awal.
Morgan Herlocker
3

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!

Jörgen Sigvardsson
sumber
3

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.

Guillaume
sumber
3

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 ...

Johnny
sumber
3

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!

Jonathan
sumber
3

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.

Simon Knights
sumber
mungkin menambahkan 'keajaiban' tidak akan terlalu banyak ya? Membuat program seperti itu akan sulit bagi banyak teman saya, saya dapat meyakinkan Anda
CyprUS
@ CyprUS - Saya tidak berkomentar tentang kemampuan spesifiknya (walaupun saya yakin mereka baik-baik saja). Itu benar-benar berhubungan dengan ayahnya.
Simon Knights
3

Satu hal yang tidak disebutkan dalam jawaban lain:

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.

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).

Kos
sumber
2

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.

Alex coady
sumber
2

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.

Mark Lapasa
sumber
1

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.

Kevin Conner
sumber
0

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.

Akar
sumber
0

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!

Kasper Munck
sumber
Saya akan merekomendasikan sesuatu selain C ++ untuk belajar OOP. Python bagus. C ++ adalah bahasa yang sangat kompleks sehingga mencoba mempelajari konsep OO sangat menyakitkan; setelah Anda benar-benar mempelajarinya, Anda akan tahu apa yang harus dilakukan dengan banyak fitur yang tampak buram.
nmichaels