Babam programlamayı öğrenme hızım konusunda sabırsız. Ben ne yaparım? [kapalı]


200

Babam bir ay kadar önce bana programlama konusunda 5 kitap (C ++, Java, PHP, Javascript, Android) aldı. O bir mimar ve programlama konusunda hiçbir şey bilmiyor. Bana onları aldı çünkü programlamanın eğlenceli olduğunu söyledim ve öğrenmek istedim.

Bildiğiniz gibi, çocuk olmak (14 yaşındayım) ve sıkıcı kitaplardan programlama öğrenmeyi söylemek en kolay şey değil. Her zaman dikkatim dağılıyor. Ona daha önce kitap almam gerekmediğini ve sadece çevrimiçi dersler izleyebileceğimi söyledim .. ama hayır, o çok eski kafalı. Sadece kitapları kullanmama izin veriyor.

Son zamanlarda, bana ne yaptığımı sormaya başladı ve ona yazdığınız şeyi alan bir C ++ programı gösterdim, sonra her harfe değer ataydım (A, alfabedeki ilk harftir, böylece değer 1) .. ve benzeri. Daha sonra tüm değerleri toplar ve size söyler. Böylece "add" kelimesi 9 değerinde olur.

^^ Bu onun için çok etkileyici değildi. Bana bağırdı ve tüm yaptığımın uğraştığını söyledi. Bu doğru değil. O son derece geleneksel ve inatçı ve söyleyeceklerimi dinlemiyor. Ona ne söylemeliyim?

Not: Bir kitapta imar hakkında herhangi bir ipucu varsa, bana bildirin

EDIT: Herkese çok teşekkür ederim, durumumu anlayan bazı insanlar olduğunu bilmenin ne demek olduğunu bilmiyorsunuz. Her birini okudum ve herkesin fikrini düşüneceğim. ¡Gracias!


15
Yorum yapanlar : yorumlar, uzun tartışmalar için değil, açıklama arayışı içindir. Bir çözüm varsa, bir cevap bırakın. Çözümünüz zaten yayınlandıysa, lütfen geçersiz kılın. Bu soruyu başkalarıyla görüşmek isterseniz, lütfen sohbeti kullanın . Daha fazla bilgi için SSS bölümüne bakın .

7
Bu arada, ona bu ipliği göstermelisin. Profesyonel programcının ilerleyişinizle ilgili görüşünü görürse, onunla daha ileri gidebilir.
Collecter

15
@David Bu geleneksel değil, berbat bir ebeveyn ve bencil bir insan. Bu noktada gerçekten başarılı olmanı istemiyor, yoksa seninle birlikte çukurda olacaktı. Gerçekten de sadece başarılı bir çocuğun babası olmak istiyor. Ne yazık ki, bu konuda yapabileceğiniz çok az şey var, çünkü bu sizin babanız ve saygısızlık edemezsiniz. Söyleyeceğim şey yüz buruşturma ve dayanma, daha sonra geçme zamanı geldiğinde çok uzaklarda bir sarmaşık ligi seç.
Lee Louviere,

15
Bunun kapalı olmasına şaşırmıyorum (konu dışı), ancak "konu dışı, ancak yine de devam et" etiketinin / bayrağının olmasını istediğim sorulardan biri. :)
Cyclops

12
Ayağa o 14 yaşındayken için ne babanı sor
CodeART

Yanıtlar:


197

Ona yazdığınız şeyi alan bir C ++ programı gösterdim, sonra her harfe değer atarım (A, alfabedeki ilk harf yani 1'in değerini alır) .. ve benzerleri. Daha sonra tüm değerleri toplar ve size söyler. Böylece "add" kelimesi 9 değerinde olur.

Babanla ne yapmalısın bilmiyorum. Fakat:

Burada tek başına bu yaptıysa, kitaplardan öğrenerek, sıfırdan başlayarak bir ay içinde , bu kadar lanet etkileyici. Ve sen var olan en korkunç programlama dillerinden biri olan C ++ 'da yaptın.

Dışarıda röportajlar yapan, programlama işlerini ciddiye almaya çalışan, bununla mücadele edecek birkaç kişi var. Bu hikayeye bakın .

Sadece önerebilirim: İstediğinizi yapmaya devam edin. Bu bağlamda babanı yoksay; Ne hakkında konuştuğunu bilmiyor. Programlama ve öğrenmeye istekli olma yeteneğine sahipsiniz - harika bir programcı olmanın ana bileşenleri.


8
Evet, iddialı bir şekilde öğreniyorum (bu özel program bana yaklaşık 60 baş ağrısı verdi).
David,

8
@David: Mimar olduğu düşünülürse, işlerin nasıl göründüğü ile ilgilendiği anlaşılabilir . Fakat programlama hakkında hiçbir şey bilmiyorsa, onu eleştirmemelidir. Yazılımın grafikleri, görünüşü ve hissi buzdağının yalnızca tepesinde .
Joonas Pulakka

12
Ciddi anlamda? "Fatbooth", öğrenmesi ve ustalaşması yıllar süren bazı kıllı grafik düzenleme algoritmalarına sahiptir. Babanız yüz tanıma konusunda uzman olmanızı istiyorsa, o zaman bir kitap almış olmalı. Kolay görünebilir (çünkü kullanımı kolaydır), ancak düşündüğünüzden daha zordur, bu da size 60'lı baş ağrısını bir araya getirir. "Fatbooth" gibi uygulamaların kolay olduğunu varsayarsak, programcılara ciddi (ama gizli) bir hakarettir.
Spoike

121
Etkileyici için +1 . Özellikle nereden geldiğini düşünürsün. Sanırım, babanla ne kadar uğraştığını, kendi başına daha az çalıştığını, sanatını öğrenmeye başladıktan bir ay sonra sorabilirsin. Bazı şeyleri ilgili olabileceği terimlere sokun.
bir CVn

13
@Joonas: Grafik tasarım, kullanılabilirlik ve arayüz tasarımının gerçekten programlama ile çok az ilgisi olan tüm disiplinler olduğunu söylemeye gerek yok .
Toby,

88

Ona bu yazıyı Peter Norvig tarafından göster . Norvig Google’da Ar-Ge başkanı ve Stanford’da, özellikle Yapay Zeka’da ders veriyor, AI üzerine standart tanıtım kitabını yazdı . Ne zamandır üzerinde çalışıyorsun? Bir ay çalıştıktan sonra, özellikle C ++ kadar dikenli bir ek talimatı olmayan bir acemi tarafından bundan daha fazlasını beklemiyordum. Öğrenmeye değer her şey iyi öğrenmeye değerdir.


83
  1. Babanızın muhtemelen dünyanın en zeki çocuğu olduğunuzu düşündüğünü ve zevk aldığınızı söylediğiniz bir şeyi öğrenmenize yardım etmeye çalıştığını unutmayın.

  2. Babanız kuşkusuz yanlış olsa da (beş tamamen farklı konu bir çocuğa aynı anda atmak için çok önemlidir) de, biraz haklı. Pek çok insan, web'de buldukları "öğreticileri" taklit ederek programlama yapmaya çalışıyorlar. Bu her zaman kötü bir şey değildir, ancak IMO genellikle sağlam bir anlayışa yol açmaz. Doğru kitap ilk önce size temelleri öğretecektir. Bu, bir şeyi gösterişli hale getiren aşağıdaki eğiticiler kadar eğlenceli olmayabilir, ancak uzun vadeli başarı şansınız artacak ve stackoverflow.com'da sormanız gereken soru sayısı düşecektir.

  3. En azından şimdilik, kitaplardan biri hariç hepsini unut. Daha önce C ++ ile başlamış gibi görünüyorsun, öyleyse istersen devam et.

  4. Zaman zaman cesareti kırılmış hissedeceksiniz. Bazen programlamanın yarısı sıkışmış, diğer yarısı sıkışmış gibi hisseder. Sıkışmak değerli bir beceridir ve ne kadar çok pratik yaparsan o kadar iyi olursun. (İlk etapta sıkışıp kalmaktan kaçınılması aynı zamanda değerli bir beceridir, bu yüzden bunu da uygulayın.)

  5. İlk bilgisayar dilinizi öğrenmek, yazılım geliştirmeyi, çizmeyi öğrenmenin bir bina tasarlamaktır. En ilginç kısım olmayabilir, ancak gerekli bir beceridir.

  6. Onun dinlemesini sağlayabilirseniz, küçük programınızı yazmayı öğrenmek için gereken her şeyi parçalamaya çalışın. Sadece araçları kullanmayı öğrenmek biraz zaman alıyor ve kesinlikle bunların nasıl çalıştığını anlamıyor.

  7. Artık basit bir koşu programına sahip olduğunuzu anladınız ve görünüşe göre biraz C ++ öğrendiniz, hangi ilginç küçük programları yazabilirsiniz? Bir faiz oranı, kredi tutarı ve kredi vadesini kabul eden ve ödeme planını çıkaran bir kredi hesaplayıcıya ne dersiniz? Veya "H2SO4" veya "C6H12O6" gibi bir moleküler formülü okuyan ve molekülün ağırlığını çıkaran bir hesap makinesi? Bu zaten yazdığınız programdan çok daha karmaşık değil.


47
+1 "Kitaplardan biri hariç hepsini unut"
PA.

9
Harika, pratik fikirler için +1. Öğrenirken, en zor kısım çoğu zaman bir proje için bir fikir buluyor, aynı zamanda yeni bilgilerle boğuluyorsunuz.
Morgan Herlocker

5
+1 "Babanı hatırla ..." David'in yardımını kendi heyecanıyla boğmasına rağmen, babasının bakış açısını orada görmek güzel.
John MacIntyre

7
Babanla uğraşarak küçük bir mimari problem çözme / kalk aracı yap!
Vaibhav Garg

3
İlk puan için +1. Bence ebeveynlerin çocukları hakkında dünyadaki en zeki insanlar olduğunu düşünmeleri çok önemli. Sonunda, eğer böyle bir tutum olmasaydı, OP bir ayda bu kadarını yapmazdı, eminim. Bununla birlikte, OP'ye çok fazla baş ağrısı veriyorsa, ek yük olabilir.
Anton Strogonoff

53

Bana onları aldı çünkü programlamanın eğlenceli olduğunu söyledim ve öğrenmek istedim. ... Ona ne söylemeliyim?

"Baba, bu konudaki yaklaşımın kesinlikle eğlenceyi programlamayı öğrenmiyor . Kes şunu."


4
tavsiye en iyisi değil. Babam bu şekilde cevaplanmaktan
hoşlanmıyor

1
evet, ancak OP orada oturur ve alırsa, baba haklı gibi hisseder; Ne de olsa çocuğu çok çalışmıyordu. Çocuk bir noktada konuşmalı, böylece babası ne kadar çok çalıştığını anlayabilsin.
Kevin

1
@CyprUS Doğru, ama şimdi robot kelimesini tıktım. Bir yıl önce hayatımın aşkıydı. Lego Mindstorms Kit'i RobotC kurdu ve hepsi vardı. Babam bazı "gerçek" dişliler ve motorlar alıp, robot kol gibi "gerçek" bir şey yapmamı söyleyene kadar onu sevdim. Artık tutkuyla robotlardan nefret ediyorum.
chandsie

48

Bir mimar olarak kesinlikle bacağınızı çekiyor ya da kaba davranıyor olmalı.

Ne zaman başladığı hakkında onu araştırın: Gökdelenleri ayrıntılı tesisat planları ile çizip çizmediğini, malzemelerin kuvvetlerini ve stresini hesaplayıp, bir ay geçirdikten sonra felaket riski değerlendirmeleri yapıp yapmadığını (içinde yılan bulunan bir uçağın çarpması gibi) olup olmadığını sorun. senin kadar gençken kitaplar. Belki bu onu sakinleştirir.

Tamam, belki de sana verebileceğim en iyi tavsiye değil. Teşvik etmek yerine ilerlemeye ceza veren bir babaya sahip olmanın çocukken biraz vergilendirici olduğunu ama bunun yerine daha iyisini yapmaya teşvik eden bir baba olduğunu anlayabilirim. Bir davranış problemi olabilir, ama bu kötü niyet anlamına gelmez.


44
Ayrıca babanıza bir tavsiye (sorunun kapsamı dışında olsa da): Gordon Ramsay tutumunu bırakın . Sadece Hell's Kitchen'da çalışıyor çünkü yarışmacılar restoranında yemek pişirmeyi ve mükemmellik yapmayı bilmesi beklenen yetişkinler ve Gordon varken kredi veriyor. Bunu acemi bir acemiye ya da çocuğa yaparsanız, bu yalnızca uygulamayı öğrenmekten uzak tutacaktır. Ramsay'ın diğer televizyon dizilerinde daha iyi olduğunu belirtmeye değer çünkü kendi işinde değil.
Spoike

30

Hangi kitapları kullandığını merak ediyorum. Hepsi aslında iyi değil. Ayrıca, her kitap herkes için uygun değildir.

Yaşınızı belirtmediniz, bu yüzden 18 yaşın altında olduğunuzu varsayacağım. 8 yaşımdayken öğrenmeye başladım.

Çocukken, programlamayı öğrenirken birçok kaynaktan yararlandım. Resim çekmek ve rakamları canlandırmak için pek çok eğlenceli program içeren TI 99 / 4A ile gelen kılavuzlara sahiptim. İnternet bana uygun değildi, ancak yazmayı ve anında geri bildirim alabileceğim programları ve diğer zorlukları nasıl çözebileceğimizi anlatan makaleleri olan çocukları hedef alan bilgisayar dergileri bile vardı. Hikayenin bir parçası olarak dahil edilen programları yazıp hata ayıklamama izin veren bir casus romanı dizisine bayıldım. Ne yazık ki, bu tür bir kaynağın hala etrafta olduğunu sanmıyorum, ancak Python'daki Hello World kitabı ve Lisp Land (yetişkinler için eğlenceli olsa da) gibi gençleri hedef alan birkaç programlama kitabı var.

Seni bilmiyorum, ama az önce tarif ettiğin şeye çok benzer şeyler yapan programlar yazmaktan çok hoşlandığım bir zaman vardı. Sonunda daha gelişmiş şeylere geçtim. Birkaç vasat oyun, bazı tuş vuruşlarına tepki olarak çeşitli sesler ve animasyonlar oynayan demolar ve bazı çalışma yardımcıları yazdım. 10 ya da 11 yaşlarındayken, elementlerin periyodik tablosunu tekrar tekrar test ederek ezberlememe yardımcı olan bir program yazdım. (O zamanlar, ezberleme becerilerim şimdi olduğundan daha iyiydi, bu yüzden sınavı ilk kez yaptığımda ilk kez verilere yazmaktan neredeyse çıktım, ama mesele ilerleme kaydetmekti).

Babanız bunu fark etmeyebilir, ancak programlamayı öğrendiğiniz zaman kitaplar sürecin sadece bir parçasıdır. Küçük bir problem bulmak ve nasıl çözüleceğini bulmaya çalışmak denklemin diğer yarısı. Her seferinde size biraz öğreten ve makinede eğlenceli bir şeyler yaşamanızı sağlayan bir kitap bulmak diğer yarısıdır. Benim durumumda, grafikleri ve animasyonu vurgulayan kitaplar beni kazanan kitaplardandı.

Çocukken, sıralama algoritmaları ve karmaşık veri yapıları hakkında kitaplar okuduğumda, aslında gerçekten önemsediğim sorunlara nasıl uygulandıklarını görene kadar öğrendiğimde gözlerim parladı. Okuyacağınız kitaplardaki her kelime perçinlenmiş olmayacak. Bu iyi. İhtiyacınız olduğunda o şeye kavuşacaksınız; Çözmek isteyeceğiniz bazı problemler size üç hafta, üç ay veya üç yıl önce ilginç olmadığını düşündüğünüz bu tekniği hatırlatacak ve geri dönüp gözden geçirip çözeceksiniz.

Bir ay programlama öğrenmek için çok uzun bir zaman değildir. Çocukluk döneminde de dahil olmak üzere yaklaşık 30 yıldır bir biçimde ya da başka bir biçimde kod yazıyorum ve hala her gün yeni bir şeyler öğreniyorum. İlk ayda ilk bilgisayarımı aldığımdan eminim, Munch Man'i oynamak için çok zaman harcadım ve referans kitabımdaki örnek programları anlamayı denemek için çok daha az saat harcadım. İşe yarayan tempoda öğrenin. Şu anda baskı yok ve bu harika.

Programlamayı ilk kez öğrenirken yapmanız gereken şey, “takılmak”. Hacker'lar (Paul Graham türü), sistemlerinin nasıl çalıştığını, programlama dillerinin nasıl çalıştığını, araçlarının nasıl çalıştığını anlamaya çalışırken etrafa karıştı. Bir şeyler denersiniz, başarısız olursunuz, karşılaştığınız problemin sebebi sizsiniz ve çalışacak bir şey bulana kadar başka bir şey denersiniz. Endişelenme.

Baban aynı kitaplar üzerinde çalışmadığı sürece, muhtemelen şu ana kadar ne kadar öğrendiğini anlamıyor. Bir genç için bir ay boyunca mimarlık üzerine bir kitap okuduktan sonra bir ev ya da gökdelen tasarlamayı beklemiyorum.

Son dört hafta boyunca perspektifi ortaya koymak için, Ruby on Rails çerçevesinin Motorlar özelliğinin bazı ezoterik köşelerinde çalışıyorum. Bugün itibariyle, nihayetinde kullanıcının bakış açısından gösterecek bir şeyim var. O zamanlar bir ton öğrendim ve oldukça iyi çalışan bir çok kritik temel kod geliştirdim, ancak kullanıcıların bir şeyler yazıp başka bir şeyi geri almalarına izin vermemdeki profesyonel eşdeğerim: sıradan bir kullanıcıya ilk bakışta etkileyici değil , ama bir sürü iş içine girdi. Biri bana dört haftadır uğraştığımı söyleseydi, oldukça hayal kırıklığına uğrardım ama aynı zamanda işleri "basit" yapan şeyleri en ufak bir anlayışa sahip olduklarını da bilirdim.


2
TI 99 / 4A'da dişlerinizi kesmek için +1. Programlama benim için hemen hemen aynı hikaye eğlenceliydi ve yapmaya başlamak çok daha kolaydı (ya da belki de öyle görünüyordu). Kızım (10) programlamayı öğrenmeye ilgi gösteriyor ve onu başlatmak için eğlenceli ama yinelemeli bir yol düşünmek konusunda en zor zamanları yaşıyorum. OP'ye sıfır bilgiden 1 aya kadar ve söylediklerinizi yapmak Kulağa doğru geliyor.
Ominus

Ominus (ve David), Processing'e ve Manning'den bu kitaba bir göz atın: manning.com/pearson
JasonTrue

4
Tüm kitaplar iyi değil çünkü + 1. Tecrübelerime göre, kitapların çoğu zaten programlamayı anlayan insanlara yöneliktir. Orada yeni gelenler yönelik birçok değildir, ancak ben tavsiye ederim bu bir ve / veya bu bir .
David,

Link için @David teşekkürler. Bu sabah kızı için kitap sipariş ettim.
Ominus,

@Jason: 14 yaşında bir çocuktan bahsetti.
CyprUS

19

Görünüşe göre baban sana yaptıklarında olumlu güçlendirme ve destek veren biri değil. Basit çözüm: Bunun için onu kullanmayın.

Kendi projelerinizi yapın ve yapın çünkü onlar eğlencelidir, çünkü o (veya başka birinin) sizden yapmasını istemez. Sizin için eğlenceli olan bir şey seçin. Tüm dili / teknolojiyi bir kitaptan öğrenmenize gerek yok. Bunun yerine sadece şeylerle uğraşmaya başlayın. Sonunda işler kolaylaştıkça, yeni kavramlar / zorluklar arayacaksınız. Ve kendinizi bugün sıkıcı bulduğunuz kitapları (veya en azından belirli bölümleri) okumak istersiniz.

Sıkışırsanız ve herhangi bir şeyi kodlamak için yardıma ihtiyacınız olursa, stackexchange zaten öğrendiğiniz gibi mükemmel bir kaynaktır.


16

Bana öyle geliyor ki, babanızın gerçekçi olmayan beklentiler için bir tutku hissi var, ya da belki bir şeyleri başlatmaya ve izlemeye ya da her ikisine de devam etmeme geçmişiniz var. Gerçekleşmesi gereken önemli şey, burada gerçekten önemli olanların hiçbiri değildir, önemli olan, yaptığınız şeyden zevk almanız ve bunu yaparken daha iyi olmanızdır.

Ben var çok beni eğlendirmek yok kitaplarla zor bir zaman, hep var. Başkalarının bir şeyleri yaptığını izleyerek, bir şeyin amacını anlamadığımda soruları sorarak ve çözene kadar mücadele ederek en iyisini öğreniyorum. Mücadele etmek bizi güçlendirir ve nihai başarılarımıza sahip olmamızı sağlar, belki de bu yüzden rahimden çıkmanın bu kadar zor olmasının nedeni budur.

Bununla birlikte, araç kutunuzdaki en keskin araçlardan biri açık kalabilme, eleştiri içinde üretken çalışabilme ve kaynağa dayalı tavsiyelerde bulunmama becerisi olacaktır. İyi programlama kitapları sizi kapma, ilham verme ve bir duvara çarptığınızda geri dönmelerini bekler. Onlar olmadan, başlangıçta ne yaptığınızı tam olarak anlamadan, inanılmaz şeyler yapacaksınız. Programlama çok kasıtlı bir sanattır, bu yüzden sindirimi kolay bir şekilde yazılmış kitapları aramanızı tavsiye ederim.

Uzun zamandır profesyonel olarak programlama yapıyorum ve size memnuniyetimin gerçekten benim olduğunu söyleyebilirim. Patronum yazdığım şeylerin neden bu kadar harika olduğunu anlamıyor, karım ona günümü anlattığımda uyuyakalıyor ve arkadaşlarım bana işim hakkında soru sormaktan kaçınmak için yollarından çıkıyorlar. Zaferlerime ve zaman zaman bunları arkadaşlarımla paylaşma fırsatına bayılıyorum. Baban, bu durumda, arkadaşlarından biri değil.

Devam et ve gelişmeye devam et. Programcı olmayanların etkilenmeden önce görsel olarak etkileyici bir şey görmeleri gerektiğine alışın. Neden bir Mandelbrot / Julia set jeneratör gibi bir şeyler yazmaya şansınızı denemiyorsunuz ? Bu, bir süre için onu davadan kurtararak, aradığı ilerleme durumunu gösterebilir. On yıl içinde, teknik olmayan bir yöneticiyi arkanızdan çıkarmak için çok benzer bir şey yapacaksınız, böylece gerçek işlerinizi halledebilirsiniz.

Sadece unutma, yapıyorsun çünkü zevk alıyorsun.


1
Bu adamı dinle, ne hakkında konuştuğunu bilir;)
drxzcl

2
he, programcı olmayanların etkilenmeden önce görsel olarak etkileyici bir şey görmeleri gerektiği gerçeğini sevdim '. Bir fraktal jeneratör yazmak, bilgisayar bilimi okulundaki ilk projemden biriydi. Ve kendimi etkilendim :)
Guillaume

Muhtemelen tüm bu
konudaki

15

Bu sorunun Ebeveynlik forumu veya Programlama forumu için en iyisi olup olmadığını söylemek zordur. Tavsiyemin hedefinde olmamamdan korkuyorum çünkü bu soruya karışmanın potansiyel olarak birçok baba-oğul ilişkisinin "sorun" olduğunu hissediyorum.

Bu konuya odaklanacağım, sizin ve babanızın, ikinizin bir şekilde bir tutkuyu paylaşabileceği bir konuya bağlanması için var olan büyük fırsat. Kendimde bir baba olarak ve kendi babamı tanıyarak, çocuklarımızın bizi ne kadar umutsuzca dinlemelerini, talimatlarımızı takip etmelerini ve bizden öğrenmek istediklerini biliyorum. Çocuklarımız çoğu zaman tam tersini yapmaya itiliyorlar. Bu yüzden, ikinizin bu ortak menfaati paylaştığı gerçeği harika.

Babalar kesinlikle inatçı olabilirler, ama yine de bu egzersizle kendi bireysellik ve tercihlerinizi geliştirmeniz için bir fırsat olduğunu düşünüyorum. Bir meydan okuma duygusundan değil, programlama konusunu iyi tanımak için kendi dürtü ve tutkunuzdan kaynaklanır. Şahsen, sanki programlama geldiğinde baban seni derinlere atmış gibi geliyor. MIPS Assembly Dili veya LISP olmayabilir, ancak yine de, C ++? Java? Amanın. Programlamayı seviyorum, ancak bunları daha erken okumak beni hep birlikte mahvetti. Dalga geçmek. :)

: Yani ne isteyeceğini bu nedir ilham sizi ? Ne tür şeyler yapmak istersin? Buna cevap ver ve sonra kendi konuyla ilgili kendi kitaplarını ve derslerini ara. Buraya gel ve sorular sor. Bir şey yap. O zaman babana ne yaptığını göster. Ona ne öğrendiğini söyle. Seninle bu kadar uğraştığın için teşekkür et ve ona teşekkür ettiğini söyle. Bunu söylüyorum çünkü sonuçta bunun nedeni bu. Seninle bir şeyler paylaşmak istiyor, çünkü seni seviyor. Bazen babalar bunu geleneksel yollarla ifade etmekte zorlanıyorlar, bu yüzden aynı şeyi söylemek için dolaylı yollara bakıyoruz. Bazen bunu bile yapmayı emiyoruz. Ancak bunların hepsinin size daha yakın olma arzusu olduğunu unutmayın.


15

Bunu henüz kimsenin önermediği gibi görünmüyor:

Son zamanlarda, bana ne yaptığımı sormaya başladı ve ona yazdığınız şeyi alan bir C ++ programı gösterdim, sonra her harfe değer ataydım (A, alfabedeki ilk harftir, böylece değer 1) .. ve benzeri. Daha sonra tüm değerleri toplar ve size söyler. Böylece "add" kelimesi 9 değerinde olur.

^^ Bu onun için çok etkileyici değildi. Bana bağırdı ve tüm yaptığımın uğraştığını söyledi. Bu doğru değil. O son derece geleneksel ve inatçı ve söyleyeceklerimi dinlemiyor. Ona ne söylemeliyim?

Eğer düşünürseniz, bu program bilgisayar kullanan ve programlama hakkında hiçbir şey bilmeyen biri için çok etkileyici değildir.

Babana nasıl yaptığını göster. Kaynak kodu boyunca yürü. Muhtemelen (kesinlikle) bunu anlamayacak, ancak ne kadar iş koyduğunuzu ve ne kadar anladığınızı iletecek ve belki de gerçekten ne kadar başardığınız konusunda daha olumlu bir izlenim bırakacaktır.


3
Bu, sahip olduğundan çok daha fazla tanınmayı hak ediyordu. Babasını, oğullarını biraz daha hobi olarak anlamalarını sağlayabilecek iyi bir yüzleşme dışı çözüm.
Fergus In London

@FergusMorrow Kabul Ediyorum. Bu cevap çok az olumlu oy aldı.
stommestack

12

Ne istersen onu yap

Bu senin hayatın. İstediğini yapabilirsin. Kimsenin (babanın bile) hayatını kontrol etmesine izin verme.

Daha fazla veya daha az programlamayı sevdiğinizi ve başarılı bir uzman olmak istediğinizi (ve babanız ister, herkes istiyor) kabul ediyorum. Ama mesele şu ki, ne yaptığınızı bilmiyorsanız ve sevmiyorsanız asla başarılı olamayacaksınız .

Herhangi bir alanda ustalaşmak zordur. Bunu sadece birinin etkisi altında yapamazsınız. Ve kimse, senden daha iyi ne yapman gerektiğini bilmiyor . Bugün dinlenmek ve bütün gün oyun oynamak ister misin? Bu senin kararın ve bundan sen sorumlusun. Kararlarından ve hayatından sorumlu olmayı öğrenmelisin. Kararlarınızdan sorumlu olmak her başarılı uzman için zorunludur.

Peki bu durumda ne yaparsınız? Yerinizi koruyun, kimseyi dinlemeyin ve sizin için değerli olan her şeyi yapın.


3
OP yasal bir refakatçidir (14, görünüşe göre). Ebeveynlerinin hayatını kontrol etmesi bekleniyor ve önümüzdeki dört yıl boyunca kör bir şekilde geri mücadele etmek büyük olasılıkla herkesi mutsuz edecek.
Jwodder

1
jwodder: Eğer ebeveynler boş zamanlarında ne öğrendiklerini kontrol etmeleri gerektiğini hissediyorlarsa , en kısa sürede geri dönmeye başlaması en iyisi olabilir. Benim de bir tane David kadar eski bir çocuğum var. Çocuğum bana, düşündüğümde yanıldığımı söyleyemezse, geleceği için korkardım. 14 yaşında bir çocuk 7 yaşında değil, dünya hakkında bir iki şey biliyor ve ailesinin bilmediği bir kaç şey biliyor. İstedikleri gibi olmadıkları ortaya çıktıysa, yıllar önce başarısız oldular ve artık, 14 yıl boyunca yaptıklarını yapmaya devam ederek daha fazla yetişme şansı bulamadılar .
sbi

10

Kitap istediniz. Dürüst olmak gerekirse, kitap okumaktan daha iyi problem çözeceksiniz. Tutkulu olduğunuz bir bulmacayı veya sorunu bulun. Project Euler harika bir kaynaktır ve CodeGolf ara sıra ilginç sorular sunabilir. İlk programlama projem, asal sayıları bulan bir C ++ uygulamasıydı. O zaman kullandığım ders kitabı şöyle basit bir uygulama önerdi:

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;
}

Bu büyük ölçüde verimsiz. Yavaşlığında iğrenmeden vazgeçmeden önce bu fonksiyona sahip ilk 500 primimi buldum. Babam ve ben yukarıda optimize etmeye çalışırken harika zaman geçirdik ve çıktılarını bile yazmayan basit bir uygulama olmasına rağmen eğlendim ve sonuçta ortaya çıkan ürün güzeldi.

Kitap okuyarak öğrenir misin? evet, ancak bir programlama diliyle takılmanın ve deneme yanılma yoluyla öğrenmenin değerini vurgulayamıyorum.

Baban için programlamayı öğreniyorsan , bırak ve kendi nedenini bul. Mine hala yüksek hacimli otomatik bir ticaret sistemi kurmam için beni zorluyor. Bir şeyi bulmalıyız derken çok ciddiyim sen değil bir angarya bir hobi veya bir spor olarak görmeye gelecektir çünkü aksi takdirde büyük olasılıkla tamamen programlama terk edeceğiz, çünkü üzerinde çalışmak istiyorum.

Linus Torvalds'ın Linux işletim sisteminin kökenlerini anlattığı "Just For Fun" kitabını okumayı deneyin. Başlık her şeyi söylüyor.

Ciddi anlamda. Sadece git biraz problemle uğraş. Takılıp kaldığınızda yaşlı adamı dahil edin.

Baban işini takdir etmiyorsa, hayal kırıklığına uğradığı için değil. O bir mimar, bazı şeylerin ne kadar karmaşık olduğunu bilmiyor. Kodunuzda dolaşmaya çalışın, eğer sadece mantık ve onu yazarak öğrendiğiniz mantık hakkında ne olduğunu takdir etmesini sağlayın.


TL; DR


  1. Sadece bir şeye bulaş. Problem çözmek. Çözemezseniz, başka birinin çözümünü bulun ve anlamaya çalışın.
  2. # 1 ile eğlenin
  3. Ne zaman bir şeyler öğrensen ya da ne zaman baş edersen, yaşlı adama söylemeyi unutma.
  4. Kendine iyi bak. Herkes kendi yolunda ve kendi hızında öğrenir. Sadece devam et ve sonunda istediğin her şeyi yapma becerisine sahip olacaksın.

1
Aslında o özellikle o .... ben katılıyorum bu kalanını kitaplarını talep etmediğini bildiren
Paul

6

Özellikle acemiler için programlamaya giriş yapan bir kitap bulmayı deneyin. Belki Hello World gibi bir şey ! Warren Sande'den Çocuklar ve Diğer Yeni Başlayanlar İçin Bilgisayar Programcılığı .

Kütüphanenizde ne olduğunu da görmelisiniz. Çoğu kütüphanede birkaç başlangıç ​​kitabı bulunmalıdır.


5

Aklımda iki sorun var:

  1. Programlamayı öğrenmek ve eğlenceli kılmak istiyorsunuz (eğlence esastır, her şeyi kolaylaştırır)
  2. Programlama hakkında hiçbir şey anlamayan ama ne istediği hakkında bir fikri olan bir müşteriniz var. (Davanızdaki babanız)

BENİM NACİZANE FİKRİME GÖRE:

  1. İlk probleminiz için, sadece böyle sitelere gidin ve yaptığınız gibi sorular sorun. Bunun gibi kaynakları bulun https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 . Oluşturmak istediğiniz bir şeyi (oyun, yapılacaklar listesi, film toplama yönetim sistemi, bir sonraki en iyi sosyal platform) düşünün ve kodlamaya başlayın. Veya bulmaca çözme ile başlayın Programlama bulmacalarını ve zorluklarını nerede bulabilirim?

  2. İkinci probleminiz daha zor, babanızı eğitmeniz gerekiyor (çok istekli görünmese de) Öğrenirken, programlamada neyin zor olduğunu ona açıklamada daha iyi olacaksınız. Ona açıklandığı gibi metaforları kullanmayı deneyebilirsiniz. İyi bir programlama metaforu nedir? . Diğer bir ipucu, programcı olmayanların genel olarak büyük bir algoritmanın karmaşıklığını elde etmemeleri, ancak hoş görünümlü arayüzler tarafından kolayca etkilenmeleridir. Seçtiğiniz platforma bağlı olarak, babanızı etkilemek için kolayca görünen güzel arayüzler oluşturabilirsiniz. Örneğin kullanın:

Bu yardımcı olur umarım.


+1 Görevinden hoşlanıyorum, ama buradaki hiç kimsenin bu çocuğun babasının beklentilerinin ne olduğunu öğrendiğini önermediğini sanmıyorum. Ne olduğunu bilmeden, babanın beklentilerini dışlamak için biraz erken görünüyor.
user179700

5

Hayatımın bir döneminde çok benzer bir konumda olduğumu eklemek isterdim, babam olumlu takviyenin ne anlama geldiğini anlamadı. Ancak, zaman zaman sert bir şekilde onaylamamaya karşı ısrarcı ve esnek olduğumu görmek, bende kalmayı başardı. Yaklaşık yirmi yıl sonra babamla olan ilişki çok değişti, düzeldi ancak o zamanki ince nüanslar hala oradaydı.

Bu sadece hayatınızdaki zor bir zaman ve buradaki önemli şey, bunu yaparken her şeyden daha çok eğlenmeniz.


5

Programlama dili ile ilgili olarak, sadece bir taneye odaklanmanız gerektiğine katılıyorum.

Aslında, henüz sahip olmadığın birini öneririm: Python. Python, öğrenmesi oldukça kolay, aynı zamanda oldukça güçlü bir dildir. C ++, Java, PHP ve Javascript hepsi çok daha karmaşık.

Manning'den Python kullanarak programlama öğreten birkaç kitap var. Biraz daha genç bir demografik yapıya yönelik olsa bile, "Merhaba Dünya!"

C ++ ile devam etmek istiyorsanız, bu kitabı tavsiye ederim:

Rağmen daha çok "referans" ve "öğretici" den daha az. İyi bir C ++ eğitiminin farkında değilim - orada bir sürü "kendinize C ++ hızlı öğretin" türünde kitaplar var, ancak çok faydalı olduklarını sanmıyorum. (C ++ ilk önce öğrenmesi oldukça zor bir dildir ; çoğu C ++ programcısı daha kolay bir dille başlamıştır).


Kabul ediyorum, python ilk dil olarak daha iyi bir seçenek. C ++ harika ama kullanımı çok güçlü ve zor - yürümeyi öğrenmeden önce bir uçağı uçurmayı öğrenmek gibi. Python ile kütüphaneleri yarasadan hemen kullanabilir, eğlenceli şeyler yapabilirsiniz. String_add işleviniz 5 satır okunabilir koddur. Örneğin, 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 - yeni hat \ t -tab) veya daha gelişmiş fonksiyonel programlama kullanmak tek bir astardır. string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
dr jimbob

+1 C ++ 'ı öğrenmek bir yıl sürdü, Python'u öğrenmek ise sadece 10 dakika sürdü.
sağa dönüş

+1 Ayrıca Python kullanan Head First Programming'i de öneririm .
David,

4

C ++, Java, PHP, JavaScript ve Android hakkında (aralarında seçim yapabilmeniz için, çünkü hepsini bir kerede master yapmaya çalışmak muhtemelen başarısız olabilir):

  • C ++: Çok güçlü bir dil. Fakat başlamak için fazla güçlü, affedilmeyen, fazla şifreli. Gitmek için pek çok şeyi anlamak zorundasın. Bence, bu da programa başlamak için zayıf bir dil seçiminde.
  • Java: Yeni başlayanlar için popüler bir seçim. Bir anlamda, C ++ 'ın tam tersidir: C ++, kendinizi ayağınızdan vurmanın hayal edilebilecek herhangi bir yolunu sunarken, Java, kontrolünüzün ötesinde olabilecek hiçbir şeye izin vermez; Size biraz programlama göstermek için biraz fazla basit, çok önemsiz, çok kısıtlayıcı. Ve bir sürü standart API ve birkaç çerçeve bilmeden Java'da pek bir şey yapamazsınız. Bir teknoloji olarak Java'nın size sunacakları arasında çok şey var, ancak bir dil olarak eksiklikleri var.
  • PHP: Çoğunlukla düşük giriş engeli nedeniyle çok popüler bir dil. Bir dil olarak PHP olgunlaştı ve şimdi modern bir dilden beklediği özelliklerle zengin. Ancak PHP, tarihi nedenlerden dolayı birçok bagaj taşımaktadır. Bu yüzden aslında iyi programlar yazmaya izin verirken, çok az kişi yapar ve nasıl yapılacağı hakkında çok fazla bilgi bulamazsınız. Ve standart kütüphane dağınıklıktır. PHP yazmaya karar verirseniz tavsiyem, genel sorunlara genellikle sağlam çözümler getirdikleri için en baştan bir çerçeve ile çalışmaya başlamaktır. Şahsen ben symfony , flow3 ve CakePHP'yi öneririm . Ancak, benim tavsiyem: bununla başlama.
  • JavaScript: Şaşırtıcı derecede güçlü bir dil, bir kere öğrendikten sonra. Bu bir var "birkaç" tuhaflıklar , ama aslında bununla yaşamak mümkün olmalıdır. Başlangıçta HTML sayfalarına etkileşim eklemek için kullanılsa da, artık JavaScript birçok alanda kullanılabilir. Klasik kullanımın dışında, Appcelerator , PhoneGap ve AIR gibi platformlarda Masaüstü ve Mobil uygulama geliştirme ve node.js kullanarak sunucular oluşturmak için kullanılabilir .
    Orada birçok JavaScript kütüphanesi ve çerçevesi var. Ben kontrol önermek nakavt ve jQuery yanı sıra qooxdoo ve ext.jstam gelişmiş bir şey arıyorsanız. Ayrıca, sunucu tarafı gelişimi için express.js adresini kontrol etmelisiniz .
    Ayrıca, JavaScript'i derleyen, ancak kullanışlı olan oldukça az ekstraya sahip bir dil olan CoffeeScript'i belirtmek isterim .
  • Android: Diğer dördün aksine, bu bir platform. Platformlar ne yapmak istediğinize bağlı olarak seçilmelidir. Android cihazlar için mobil uygulama geliştirme ise, bunun için gidin. Başlamak için en iyi şey olduğundan emin değilim, ama sonuçta havalı olduğunu düşündüğünüz şeyler oluşturmanız gerekir.

Her durumda, asıl önemli olan, bunu keyifli bulmanız. Bir şeyleri yarattığını düşünürsün. Bu sizin ihtiyaçlarınızı çözüyor ya da oynamak için eğlenceli. Programlama onu sevenler içindir. Birkaç satır kod içeren uygulamalar oluşturmanıza izin veren bir araç setine ihtiyacınız var. JavaScript / CoffeeScript iyi bir başlangıç ​​noktası olabilir.
Şahsen, seni Ruby'ye yönlendirmek istiyorum. Bana programlama hakkında çok şey öğretti ve programlamaya başladığımda bunu bilmediğim için kendimi talihsiz hissediyorum. Temel olarak, iki büyük kitap var (her ikisi de ücretsiz olarak mevcut):

  • Neden Poignant Rehberi - Şahsen, bu kitap benim için biraz fazla dikkat dağıtıcıydı (şakalar, karikatürler, vb.), Ama bundan zevk alabilirsin.
  • Pragmatik Ruby - Benim için mükemmel çalıştı. Biraz kurudur, ancak sadece temel hususlarla ilgilenir.

Bununla birlikte ayakkabılarınızı kontrol etmenizi öneririm . Referans, öğreticiler ve demolar dahil olmak üzere harika bir entegre yardım ile harika bir araçtır. İlk işlerinizi birkaç gün içinde çalışmaya başlayacaksınız.

Ve, muhtemelen daha sonra, sizi haXe'ye yönlendirmek isterim . Bence harika bir dil (benim seçim dilim) ve yeni baslayan bir rehber var. Bununla birlikte, haXe'de kullanılabilecek araçlar yoktur, bu da JavaScript ve Ruby'de olduğu gibi uygulamalar oluşturmayı eşit derecede kolaylaştırır. Bu nedenle, tüm amacı yitiren, başlaması sıkıcı veya hatta sinir bozucu bulabilirsiniz.


C / C ++ 'da dişlerini kesmesini kesinlikle tavsiye ederim. Ben de aynısını yaptım ve herhangi bir dili öğrenmeyi şaşırtıcı derecede kolay buldum çünkü hemen hemen tüm modern diller C / C ++ 'dan bir şey türemiştir.
CyprUS

@CyprUS: Hemfikir olmama rağmen, her ikisi de öğrenmeye değer, programda öğrenmeye başlamak için ikisinin de iyi bir seçim olduğunu sanmıyorum . Ayrıca, LISP veya Smalltalk ailesinin ikisinden de önemli bir şeyi nasıl elde edeceğini anlamıyorum.
back2dos

Bence çocuğun ne yapmak istediğine karar vermesine izin vermeliyiz. Bununla birlikte, LISP / SmallTalk genel yararlılık için çok ezoteriktir (benim görüşüme göre)
CyprUS

@ CyprUS: Sadece tavsiyelerde bulundum. Sonunda o seçmeli. LISP veya SmallTalk'u kastetmedim, fakat oluşturdukları (kısmen) örtüşen modern dil sınıfları, özellikle de Ruby, Squeak, Objective-C, Lua, Scala, Erlang, Clojure, JavaScript, F #, Nemerle, Scheme. Hepsi aslında kullanılmış, bazıları en popüler diller arasında bile bulunabiliyor .
back2dos

3

Bir ay içinde beklemeye çalışmak biraz zor. Aksine, bir seferde bir dil veya paradigma öğrenmeye konsantre olmalısınız, yoksa çok zor olabilir. Aynı anda çok fazla kıpırdamak, onu kapatmanın iyi bir yoludur. İlgilendiğiniz belirli bir program üzerinde çalışarak daha iyi öğrenebilirsiniz. Android telefonlar ilginizi çekiyorsa, C ++ yerine Java ile çalışmaya başlamanız daha iyi olacaktır. Tipik bir müşteri olarak bazı whiz-bang kullanıcı Arabirimi bir şey bekliyor olabilirdi, bu yüzden hayal kırıklığına uğramayacaktı :)

Head First kitaplarından bazıları, kitaplara bağlı kalmanız durumunda, öğrenmeyi biraz daha az kurumaya yardımcı olabilir.


3

Şimdilik daha resmi olanları bir kenara bırakmanız gerektiğini düşünüyorum ve Scratch'a bir göz atmalısınız - http://scratch.mit.edu/ - çoğu şeyi programlama yapılarıyla hala öğrenirken, daha kolay bir şekilde başa çıkmanıza olanak tanır. döngüler vs. gibi

Aynı zamanda, belki de elle yapılması en zor kısım olan ve günümüz dünyasında ilginç sonuçlar vermek için gereken kusursuz çoklu kullanım için izin verir.

Renkleri ve programlama yaklaşımına benzer bir lego tuğlası kullandığından hafife almayın. Teknik detaylarda kaybolmadan çok şey yapabilirsiniz.


+1 - Kazı kazan öğrenmek için harika ve eğlenceli bir yol. Aslında yaş parantezi akılda tutularak tasarlanmıştır, ancak hala Turing Tamamlandı. Ayrıca, Scratch'a yönelik nesne yönelimli bir uzantı için BYOB'a (Kendi Bloklarınızı Oluşturun) bakın.
Morgan Herlocker

3

Babana, senin yaşında yüksek bir bina tasarlayıp tasarlayamadığını sor. Programlama budur. Öğrenmesi zaman alıyor, çünkü öğrenecek çok şey var. Bisiklete binmek gibi bir şey, sadece binlerce pedalınız, dişlileriniz, kollarınız, topuzlarınız var ve hangisini istediğiniz zaman kullanacağınızı seçemezsiniz. Pratik alır.

Ben senden şüphem yok Programcı olma hedefinde, C ++ ile uğraşmıştın. Bu benim için etkileyici .

İçeride kal ve bir programcı olarak kariyerine iyi şanslar!


3

Zaten bir sürü cevap olduğunu biliyorum. Ama bu tavsiyeyi görmedim: babanın sana yardım etmesini sağla. C ++ kitabında kıllı bir şey seçmeye çalışın, anlayabileceğiniz ve ondan yardım isteyebileceğiniz bir şey.
Ona kitabı ver ve C ++ 'da taramasına izin ver. Kodlamanın ne kadar zor olduğunun farkına varacağına eminim.


3

Bu durumu kendi iyiliğin için çevirmeye çalış. Sadece şu ana kadar başardıklarınızın yeterli olmadığını kabul edin ve daha iyisini yapmaya çalışın ... Bundan böyle bir zorunluluk yaşayacaksınız. .

Keşke senin yaşındayken iki kat daha fazla çalışsaydım ...


3

Babanızın girdisi öğrenme sürecinize elverişli değil. Evet, başkalarının da belirttiği gibi öğrenme programlamasından geçmek için çeşitli yollar vardır. Ancak, benim görüşüme göre C ++ 'da olağanüstü bir ilerleme gösterdiniz. Ekleme programınız, java programcılığındaki ilk dönemimden sonra zorlukla kullanabileceğim bir şey olurdu.

Devam etmek istiyorsan, uğraşman gereken iki şey var:

1) Babanı idare et.

Bakın, her babanın çocukları için abartılı rüyalar vardır. Ancak, beklentileri çok yüksek olabilir ve sonunda bazı masallarda bile mümkün olmayan bir şeye yol açacaktır. İlerlemenizi daha iyi değerlendirmek ve babanızı dünyaya getirmek için, dışarıda birisini getirmenizi tavsiye ederim. Programlama tecrübesiyle tanıdığınız aileniz / arkadaşlarınızla konuşmayı deneyebilirsiniz ya da bu topluluktaki insanlar bile kendi deneyimimiz ve bilgimiz adına onu e-postayla gönderebilir. Bu, hepsinin en önemli adımı, çünkü eğer babanız soğuyamazsa, hep birlikte ilginizi kaybedersiniz.

2) Bir odağı bulun.

Her şeyi bir kerede öğrenmek elverişli değildir. Bir dil seçin ve onunla sopa. Belirli bir dilde bir kitap okurken. Kitabın örneklerini takip ederek sözlü olarak tam olarak gitmenin yolu değil. Yetersizlik bazıları için bir öğrenme sürecidir, ama hepsi için değil (özellikle kendim). İlgilenebileceğiniz ve ilgilendiğiniz açılardan birçok açıdan ona saldırmak önemlidir. Aynı yazarın kitaplarını aynı dilde programlamak ancak farklı kullanımlar dili nasıl kullanacağınızı ve bu bilgileri nasıl kullanacağınız konusundaki merakınızı artırabilir Programlamadan kendi isteğiniz (oyunlar? tasarım uygulamaları? test? vb.) yapın. Bir program oluşturmak için kişisel bir maceraya da gidebilirsiniz. Şu an ne bildiğinize bakmaksızın ne yapmak istediğinizi belirleyin, sonra bunu program olarak araştırın. Zaman geçtikçe Sonunda, ilgili olan veya olmayan diğer programlama dillerini denemek ister. Ayrıca, birlikte programlama yapmak istemediğinizi de fark edebilirsiniz.

Her şeyden önce, bunun önemli bir sonuç olmadığını, bunun yolculuk olduğunu unutmayın. Eğlenmeyi unutma!


3

Durumunuzun programlama yönleri hakkında size iyi bir geri bildirim ve öneri verilmiştir. Ama farklı bir açıdan bir şey eklemek istiyorum.

Baban hakkında bazı olumsuz düşünceler yaşadığına dair bir izlenimim var - o sana baskı yaptı ve sana bir miktar keder ve endişe uyandıran ve programlamanın tadını çıkartan bazı yorumlar yaptı. Bu utanç verici ve bence çoğu insan programlamanın eğlenceli olduğu konusunda hemfikirdir - otuz yılı aşkın bir süredir program yapıyorum ve hala eğlenceli buluyorum.

Ama, sanırım baban gerçekten senin tarafında. Doğru olduğunu düşündüğü şeyi yaptı, yardım etmeye çalışıyordu, sana iyi bir başlangıç ​​yapmak için kitapları aldı. Ama yanlış anladı (ve ben bir baba olarak konuşuyorum, bazen yanlış şeyler yaparız!). Ona göre, kitaplar muhtemelen mimarlık kariyerinde başladığı yerdeydi (İnternetten önce başladığını ve www'nin genel olarak erişilebilir olduğunu sanıyorum). Onun zihniyetine göre, kitaplar başladığınız yerdir.

Öyleyse, babanızın sizin tarafınızda olduğunu varsayalım (ve onun olduğundan eminim) o zaman sorun şu ki, programlamaya ilk başladığınızda ne kadar zor olduğunu anlayamaması - bu yüzden ona tüm cevaplarını gösterin. Buraya gönderildi - Babanın iyi bir adam olduğuna eminim ve o anlayacak ve seni destekleyecek.

Programlamanızda iyi şanslar - harika bir başlangıç ​​yaptığınız görülüyor.


belki de 'dahisi' eklemek çok fazla ha olmaz mı? Öyle bir program yapmak, birçok arkadaşım için zor olacak, sizi temin ederim
CyprUS

@CyprUS - Özel yetenekleri hakkında herhangi bir yorum yapmıyordum (iyi olduklarından emin olmama rağmen). Gerçekten babasıyla ilgiliydi.
Simon Knights

3

Diğer cevaplarda belirtilmeyen bir şey:

Bildiğiniz gibi, çocuk olmak (14 yaşındayım) ve sıkıcı kitaplardan programlama öğrenmeyi söylemek en kolay şey değil. Her zaman dikkatim dağılıyor. Ona daha önce kitap almam gerekmediğini ve sadece çevrimiçi dersler izleyebileceğimi söyledim .. ama hayır, o çok eski kafalı. Sadece kitapları kullanmama izin veriyor.

Kesinlikle o kısım üzerinde çalışman gerekiyor. İnternet her programcının en önemli aracıdır ve onunla çalışmak zorundasınız.

İlk olarak, programlama problem çözme ile ilgilidir. X'in XYZ dilinde nasıl yapıldığını bilmediğinizde, Google'a gidip çözümler ararsınız. * Hızlı bir şekilde çözüm bulmak bir programcı için klavye kullanmak kadar önemlidir.

İkincisi, bir başka önemli beceri dokümantasyon kullanmaktır . Kitaplar genellikle öğreticiler gibidir - rehberlik sunarlar, ancak size tam bilgi sunmazlar - ve belgelerin kullanışlı olduğu yer burasıdır. Örneğin: C ++ ile programlama yapıyorsunuz, bir aylık deneyiminiz var. Er ya da geç (çok yakında söyleyebilirim) standart kütüphaneyi kullanmanız gerekecek ... ya da zaten kullandınız mı? Eğer öyleyse, bu iyi bir işaret, kitabınız bu durumda muhtemelen kötü değil. Her neyse, C ++ standart kütüphanelerinde neyin mevcut olduğunu ve neyin olmadığını bilmek faydalı olacaktır. Bunun için, programlama sırasında http://cplusplus.com/ gibi bir referansı açık tutmak faydalıdır .


İnternet kodlama için çok önemlidir ve kodlamayı öğrenmek için çok daha önemlidir. Babanız bunu anlamıyorsa ve yalnızca kitapları kullanarak programlamayı öğrenmenizi bekliyorsa , yaklaşımı karşı üretkendir ve ilerlemenizi yavaşlatır (ve muhtemelen kötü alışkanlıklar kazanır).


2

Programa yaslanma süreci hakkında hiçbir fikri yok. Tüm bu kitapları okuyabilir ve hala düzgün bir şey yazamazsınız, çünkü en uzun süren şey, yapabilecekleriniz hakkındaki gerçek anlayış ve ona nasıl yaklaşmanız gerektiğidir.

Babana programlamayı sevdiğini söyledin - senin için mahvetmesine izin verme. Ve kesinlikle en azından şimdi değil, 5 programlama dilini öğrenmeye çalışmayın. Java gibi, oldukça basit bir programa sadık kalın, uzmanlaştığınızda başkalarına aktarılabilir.

Kitaplara gelince, bu arada, onu yapmanın doğru yolu, çünkü dili doğru şekilde öğreniyorsunuz. Dersleri takip etmek çoğu zaman kötü alışkanlıkların toplanmasına yol açmaktadır.

İyi şanslar; ve doğru şekilde yaptığını bilmesini sağla, ilerleme yavaş ama bunu yaparken çok fazla öğreniyorsun.


2

25-35 yaş ve üstü programcıların Nintendo ve Sega oynayarak büyüdüğünü düşünüyorum. Onların / bizlerin iyi bir kısmı, kendi oyununuzu kendiniz yaptığınız zaman neden oyun oynadığına dair zihinsel geçiş yaptı. Sizi daha iyi bir programcı olmaya iten çok kendi kendine hizmet eden bir motivasyondur. Bu bir başlangıç. Hayatın ilerleyen saatlerinde video oyunları (sanal problemler) yazmaktan daha yüksek bahisli (gerçek dünya problemleri) oyunlara geçiş yapabilirsiniz. Tıpkı bu hasta için bu reçetenin, reçete edilen başka bir ilaçla olumsuz bir şekilde etkileşime girmeyeceği gibi, bu kamyonlar kirliliği azaltmak için en az miktarda gazla en fazla miktarda teslimat yapabilir mi, ya da bu hisse senedinin alımını nasıl sağlayabilirim? İstediğim fiyata aynı zamanda 1000'lerin satın almasını istiyorum.


1

Mimari, doğduğundan beri öğrendiğiniz fiziksel dünyaya dayanır. Bir mimarlık üniversitesi öğrencisi için legolarla oynamak zaman kaybı olur. Baban, matematiği bildiğinden beri, temelleri bildiğini ve bir şeyler üretmeye başlayabileceğinizi varsayıyor. Bu doğru değil. Programlama ile ilgili ilk şeyi bilmiyor, çünkü bunun bir matematik dalı olmadığını bile bilmiyor .

Programlama yeni bir dünya. Bu konuda ustalaşmanın en iyi yolu, tıpkı fiziksel dünyayı öğrendiğin gibi öğrenmektir: Kendini bırak ve deney yap. Bir kelimeyle, oyna. Lego zamanı.

Karşılaştırma için astronotları düşünün. Onların da tamamen hazırlıksız oldukları yeni bir dünyaları var. Odanın içinde nasıl hareket edileceği gibi temel bilgilerle başlamak zorundalar.

Bir sonraki adım olarak, bilgisayarın rastgele bir sayı seçtiği bir oyun yapmayı öneririm ve bunu tahmin etmeye çalışırsınız ve çok yüksek veya çok düşük olduğunu tahmin ediyorsanız size söyler.

Siz de birçok farklı dil deneyin! Hepsi bir kerede değil, belki bir seferde bir hafta boyunca.

Biraz tecrübe kazandığınızda, tam teşekküllü bir video oyunu yapmak, bir seyahatci programcısı olarak üstesinden gelebileceğiniz en büyük zorluklardan biridir. Video oyunları disiplinimizin hemen her köşesine dokunuyor ve bir tanesini geliştirmek becerilerinizi geliştirmek için harika bir yol. Ayrıca, daha yüksek ve daha yüksek beceri seviyelerinde deney yapmak ve öğrenmek için mükemmel bir yer.


0

Programlama dillerini öğrenmek için kendinize zaman ayırın, ne kadar çok pratik yaparsanız, programlamaya başlayacaksınız, bu sefer yeni başlayanlar için oldukça şirin bir program oluşturdunuz, ancak ilerleme kaydettiklerinden emin olduğunuzdan emin olun. Aslında babanızın kullanabileceği iyi bir program, eğer bana bunu sorarsanız, babamın işine nasıl yardımcı oldum.

Sadece babanla konuş ve olayları ona açıkla ve gerçekten anlayacağına eminim ve bir gün senin mükemmel bir geliştirici olacağına eminim.


0

Yazılım mühendisi olarak çalışıyorum ve eğitimimde öğrenim programlamasının ilerleyişi kitap okumaktan daha fazlası.

Öncelikle C öğrenmenizi tavsiye ederim, çünkü kolay bir dildir ve diğer birçok dil (C ++, objektif-c gibi) C üzerine inşa edilmiştir. Bizim yaptığımız gibi bir mikro çip almamız gerekiyordu ( Bizim durumumuzda üzerinde sadece LED ve düğmeleri olan bir kurulu olan STK 500 kitine sahip bir Atmel Mega16) ve sonra sadece onunla oynadık, onu bip ve bop yapmak için programladık. Sadece IMO merhaba dünya programları okumak ve yazmaktan daha eğlenceli.

C sizin için parkta bir yürüyüş haline geldiğinde, C ++ 'ya ve nesne yönelimli programlamaya (OOP) gidin. OOP birçok dilde anahtar kavramdır ve programlamayı düşünmenin yollarıdır ve bu nedenle programlamanız konusunda ciddiysen bir zorunluluktur. OOP'a dalmadan önce teorisini anladığınızdan emin olun - aksi takdirde zor bir süreç olabilir :-)

Son fakat en az değil, yeni diller hakkında programlama ve okuma yaparken çok iyi anlaşılan yığınlar, sıralar, yığınlar vb. Gibi farklı veri türlerini incelemenizi tavsiye ederim.

İyi şanslar dostum!


OOP öğrenmek için C ++ 'dan başka bir şey öneririm. Python iyi bir tanesidir. C ++ onunla birlikte OO kavramlarını öğrenmeye çalışan çok acı verici bir dildir; gerçi onları gerçekte öğrendikten sonra, başka türlü donuk görünümlü özelliklerin çoğuyla ne yapacağınızı bileceksiniz.
nmichaels
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.