พ่อของฉันใจร้อนกับการเรียนรู้ที่จะก้าวไปสู่ ฉันจะทำอย่างไร [ปิด]


200

ดังนั้นพ่อของฉันซื้อหนังสือ 5 เล่มให้ฉันเกี่ยวกับการเขียนโปรแกรม (C ++, Java, PHP, Javascript, Android) ประมาณหนึ่งเดือนที่แล้ว เขาเป็นสถาปนิกและเขารู้ว่าไม่มีอะไรเกี่ยวกับการเขียนโปรแกรม เขาซื้อมาให้ฉันเพราะฉันบอกว่าการเขียนโปรแกรมสนุกและฉันต้องการเรียนรู้มัน

อย่างที่คุณอาจรู้ว่าการเป็นเด็ก (ฉันอายุ 14 ปี) และได้รับคำสั่งให้เรียนรู้การเขียนโปรแกรมจากหนังสือที่ไม่น่าเบื่อไม่ใช่สิ่งที่ง่ายที่สุด ฉันมักจะไขว้เขว .. ฉันบอกเขาก่อนว่าฉันไม่จำเป็นต้องซื้อหนังสือและฉันก็แค่ดูบทเรียนออนไลน์ .. แต่ไม่เลยเขาล้าสมัยมาก เขาให้ฉันใช้หนังสือเท่านั้น

เมื่อเร็ว ๆ นี้เขาเริ่มถามฉันว่าฉันได้ทำอะไรไปแล้วและฉันแสดงโปรแกรม C ++ ที่ฉันทำตามสิ่งที่คุณพิมพ์แล้วกำหนดค่าให้กับตัวอักษรแต่ละตัว (A เป็นตัวอักษรตัวแรกในตัวอักษรเพื่อให้ได้ค่า ของ 1) .. และอื่น ๆ จากนั้นจะเพิ่มค่าทั้งหมดและบอกให้คุณทราบ ดังนั้นคำว่า "เพิ่ม" จะมีค่าเท่ากับ 9

^^ นั่นไม่ค่อยน่าประทับใจสำหรับเขา เขาตะโกนใส่ฉันและบอกฉันว่าฉันทำไปแล้วนั่นคือการคาดคั้น ที่ไม่เป็นความจริง. เขาเป็นคนดั้งเดิมและดื้อรั้นมากและไม่ฟังสิ่งที่ฉันพูด ฉันควรบอกอะไรเขา

PS: หากคุณมีเคล็ดลับในการแบ่งเขตในหนังสือแจ้งให้เราทราบ

แก้ไข: ขอบคุณทุกคนมากคุณไม่มีความคิดเท่าไหร่รู้ว่ามีบางคนที่เข้าใจสถานการณ์ของฉัน ฉันอ่านทุกคนแล้วและฉันจะพิจารณาความเห็นของทุกคน ¡กราเซีย!


15
ผู้แสดงความคิดเห็น:ความคิดเห็นมีไว้เพื่อค้นหาการชี้แจงไม่ใช่เพื่อการอภิปรายเพิ่มเติม หากคุณมีทางออกให้ออกคำตอบ หากวิธีการแก้ปัญหาของคุณโพสต์แล้วกรุณา upvote มัน หากคุณต้องการที่จะหารือเกี่ยวกับคำถามนี้กับคนอื่น ๆ โปรดใช้แชท ดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม

7
โดยวิธีการที่คุณควรแสดงให้เขาเห็นกระทู้นี้ มันอาจไปไกลกว่านี้กับเขาถ้าเขาเห็นความคิดเห็นของโปรแกรมเมอร์มืออาชีพเกี่ยวกับความก้าวหน้าของคุณ
สะสม

15
@David นั่นไม่ใช่ธรรมเนียมนั่นเป็นพ่อแม่ที่น่ากลัวและเป็นคนเห็นแก่ตัว เมื่อมาถึงจุดนี้เขาไม่ต้องการให้คุณประสบความสำเร็จจริงหรือเขาจะอยู่ในหลุมกับคุณ เขาแค่อยากจะเป็นพ่อของเด็กที่ประสบความสำเร็จ น่าเสียดายที่มีน้อยที่คุณสามารถทำได้เกี่ยวกับเรื่องนี้เนื่องจากเป็นพ่อของคุณและคุณไม่สามารถดูหมิ่น สิ่งที่ฉันพูดคือทำหน้าบูดบึ้งและทนได้เมื่อถึงเวลาที่จะเรียนปริญญาตรีเลือกลีกไม้เลื้อยไกลออกไป
Lee Louviere

15
ฉันไม่แปลกใจที่นี่ถูกปิด (เป็นหัวข้อ) แต่เป็นหนึ่งในคำถามที่ฉันหวังว่าเราจะมีแท็ก / ตั้งค่าสถานะสำหรับ "ปิดกระทู้ แต่ยังคงอยู่" :)
ไซคลอป

12
ถามพ่อของคุณว่าเขาทำอะไรอยู่ตอนที่เขาอายุ 14
CodeART

คำตอบ:


197

ฉันแสดงให้เขาเห็นว่าโปรแกรม C ++ ที่ฉันทำนั้นใช้สิ่งที่คุณพิมพ์จากนั้นกำหนดค่าให้กับตัวอักษรแต่ละตัว (A คือตัวอักษรตัวแรกในตัวอักษรเพื่อให้ได้ค่า 1) .. และอื่น ๆ จากนั้นจะเพิ่มค่าทั้งหมดและบอกให้คุณทราบ ดังนั้นคำว่า "เพิ่ม" จะมีค่าเท่ากับ 9

ฉันไม่รู้ว่าคุณควรทำอะไรกับพ่อของคุณ แต่:

หากคุณทำสิ่งนี้ด้วยตัวเองโดยเริ่มจากศูนย์เรียนรู้จากหนังสือในหนึ่งเดือนมันน่าประทับใจมาก และคุณทำมันใน C ++ ซึ่งเป็นหนึ่งในภาษาการเขียนโปรแกรมที่น่ากลัวที่สุดที่มีอยู่

มีคนไม่กี่คนที่ออกไปสัมภาษณ์การพยายามเขียนโปรแกรมอย่างจริงจังเพื่อที่จะต่อสู้กับสิ่งนั้น ดูนี้เรื่อง

ฉันทำได้แค่แนะนำให้ทำในสิ่งที่คุณชอบ ไม่สนใจพ่อของคุณในบริบทนี้ เขาไม่รู้ว่าเขากำลังพูดถึงเรื่องอะไร คุณมีความสามารถในการเขียนโปรแกรมและความตั้งใจที่จะเรียนรู้ซึ่งเป็นส่วนผสมหลักในการเป็นโปรแกรมเมอร์ที่ยอดเยี่ยม


8
ใช่ฉันเรียนรู้ด้วยความทะเยอทะยาน (โปรแกรมพิเศษนั้นให้อาการปวดหัวกับฉันประมาณ 60 ครั้ง)
เดวิด

8
@ David: เนื่องจากเขาเป็นสถาปนิกจึงเป็นที่เข้าใจได้ว่าเขาใส่ใจเกี่ยวกับลักษณะต่างๆ แต่ถ้าเขาไม่รู้อะไรเกี่ยวกับการเขียนโปรแกรมเขาก็ไม่ควรวิจารณ์มัน กราฟิกมองและความรู้สึกของซอฟแวร์เป็นเพียงด้านบนสุดของภูเขาน้ำแข็ง
Joonas Pulakka

12
อย่างจริงจัง? "Fatbooth" มีอัลกอริทึมการจัดการกราฟิกที่มีขนดกบางอย่างซึ่งใช้เวลาหลายปีในการเรียนรู้และเป็นผู้เชี่ยวชาญ หากพ่อของคุณต้องการให้คุณจดจำใบหน้าแล้วเขาควรจะซื้อหนังสือเกี่ยวกับเรื่องนี้ มันอาจดูง่าย (เพราะใช้งานง่าย) แต่มันยากกว่าที่คุณจะทำได้มากกว่าที่คุณคิดทำให้ปวดหัวหลาย ๆ 60 ครั้งรวมกัน สมมติว่าแอปพลิเคชันเช่น "Fatbooth" นั้นง่ายที่จะทำคือการดูถูกนักเขียนโปรแกรม (แต่เป็นความลับ) อย่างจริงจัง
Spoike

121
+1 สำหรับที่น่าประทับใจแช่ง โดยเฉพาะอย่างยิ่งการพิจารณาว่าคุณมาจากไหน ฉันเดาว่าคุณสามารถถามพ่อของคุณว่าเขามีส่วนร่วมในอาคารมากน้อยเพียงใดทำงานด้วยตัวเองน้อยกว่าหนึ่งเดือนหลังจากที่เริ่มเรียนรู้งานฝีมือของเขา นำสิ่งต่าง ๆ มาเป็นคำที่เขาสามารถเกี่ยวข้องได้
CVn

13
@Joonas: ไม่ต้องพูดถึงว่าการออกแบบ, การใช้งานและการออกแบบอินเตอร์เฟซกราฟิกเป็นจริงทุกสาขาที่โดยทั่วไปมีน้อยมากที่จะทำอย่างไรกับการเขียนโปรแกรม
Toby

88

แสดงโพสต์นี้ให้เขาโดย Peter Norvig Norvig เป็นหัวหน้าฝ่ายวิจัยและพัฒนาของ Google และสอนที่ Stanford โดยเฉพาะปัญญาประดิษฐ์เขาเขียนหนังสือเบื้องต้นเกี่ยวกับ AI คุณทำงานมานานเท่าไหร่แล้ว? ฉันคาดหวังอะไรมากกว่านั้นหลังจากสามเดือนของการทำงานโดยสามเณรที่ไม่มีคำสั่งเพิ่มเติมโดยเฉพาะอย่างยิ่งกับสิ่งที่มีหนามเป็น C ++ การเรียนรู้อะไรที่มีค่าควรแก่การเรียนรู้ที่ดี


83
  1. โปรดจำไว้ว่าพ่อของคุณอาจคิดว่าคุณเป็นเด็กที่ฉลาดที่สุดในโลกและเขาพยายามช่วยคุณเรียนรู้เกี่ยวกับสิ่งที่คุณพูดว่าคุณสนุก

  2. รู้ว่าถึงแม้ว่าพ่อของคุณจะผิดอย่างไม่ต้องสงสัย (ห้าหัวข้อที่แตกต่างกันอย่างสิ้นเชิงเป็นจำนวนมากที่จะโยนที่เด็กทุกคนในครั้งเดียว) แต่เขาก็ยังถูกต้อง ผู้คนจำนวนมากพยายามรับโปรแกรมโดยการเลียนแบบ "บทช่วยสอน" ที่พวกเขาพบบนเว็บ นั่นไม่ใช่สิ่งเลวร้ายเสมอไป แต่ IMO มักจะไม่นำไปสู่ความเข้าใจที่มั่นคง หนังสือที่ถูกต้องจะสอนคุณพื้นฐานก่อน นั่นอาจจะไม่สนุกเท่าบทเรียนต่อไปนี้ที่ทำสิ่งที่ฉูดฉาด แต่โอกาสที่คุณประสบความสำเร็จในระยะยาวจะเพิ่มขึ้นและจำนวนคำถามที่คุณต้องถามใน stackoverflow.com จะลดลง

  3. ลืมเรื่องทั้งหมดยกเว้นหนังสือเล่มหนึ่งอย่างน้อยตอนนี้ ดูเหมือนว่าคุณได้เริ่มต้นกับ C ++ แล้วดังนั้นไปที่นั่นหากคุณชอบ

  4. คุณจะรู้สึกท้อแท้เป็นครั้งคราว บางครั้งรู้สึกว่าครึ่งหนึ่งของโปรแกรมหยุดชะงักและอีกครึ่งหนึ่งก็เริ่มรู้สึกอึดอัด การได้รับการปลดเป็นทักษะที่มีค่าและยิ่งฝึกฝนมากเท่าไหร่ก็ยิ่งดีเท่านั้น (การหลีกเลี่ยงการติดขัดในตอนแรกก็เป็นทักษะที่มีค่าเช่นกันดังนั้นจงฝึกฝนเช่นกัน)

  5. การเรียนรู้ภาษาคอมพิวเตอร์เครื่องแรกของคุณคือการพัฒนาซอฟต์แวร์การเรียนรู้การวาดคือการออกแบบอาคาร มันอาจไม่ใช่ส่วนที่น่าสนใจที่สุด แต่เป็นทักษะที่จำเป็น

  6. หากคุณสามารถให้เขาฟังได้ให้ลองทำทุกสิ่งที่คุณต้องเรียนรู้ที่จะเขียนรายการเล็ก ๆ ของคุณ ใช้เวลาพอสมควรในการเรียนรู้การใช้เครื่องมือและเขาไม่เข้าใจว่ามันทำงานอย่างไร

  7. ตอนนี้คุณถึงจุดที่มีโปรแกรมที่ทำงานง่ายและคุณได้เรียนรู้ C ++ นิดหน่อยแล้วคุณสามารถเขียนโปรแกรมเล็ก ๆ ที่น่าสนใจอะไรบ้าง เครื่องคำนวณสินเชื่อที่รับอัตราดอกเบี้ยจำนวนเงินกู้และเงื่อนไขเงินกู้และพิมพ์กำหนดการชำระเงินอย่างไร หรือเครื่องคิดเลขที่อ่านสูตรโมเลกุลเช่น "H2SO4" หรือ "C6H12O6" และพิมพ์น้ำหนักของโมเลกุล? นั่นไม่ซับซ้อนเกินกว่าโปรแกรมที่คุณเขียนไปแล้ว


47
+1 "ลืมทั้งหมดยกเว้นหนังสือเล่มใดเล่มหนึ่ง"
PA

9
+1 สำหรับแนวคิดที่ยอดเยี่ยมและใช้งานได้จริง เมื่อเรียนรู้ส่วนที่ยากที่สุดมักจะเกิดขึ้นกับความคิดสำหรับโครงการในเวลาเดียวกันคุณจะถูกปกปิดข้อมูลใหม่
Morgan Herlocker

5
+1 "โปรดจำไว้ว่าพ่อของคุณ ... " ยินดีที่ได้เห็นมุมมองของพ่อของเขาแม้ว่าเขาจะปกปิดความกระตือรือร้นของเดวิดด้วยความตื่นเต้นที่จะช่วย
John MacIntyre

7
สร้างเครื่องมือแก้ปัญหา / คำนวณสถาปัตยกรรมขนาดเล็กโดยให้พ่อของคุณมีส่วนร่วม!
Vaibhav Garg

3
+1 สำหรับจุดแรก ฉันคิดว่ามันสำคัญมากสำหรับผู้ปกครองที่จะคิดเกี่ยวกับลูก ๆ ของพวกเขาว่าฉลาดที่สุดในโลก ในท้ายที่สุดถ้าไม่ใช่ทัศนคติเช่นนี้ OP คงไม่ทำมากในเดือนนี้ฉันแน่ใจ อย่างไรก็ตามอาจมีค่าใช้จ่ายหากให้ OP ปวดหัวมาก
Anton Strogonoff

53

เขาซื้อมาให้ฉันเพราะฉันบอกว่าการเขียนโปรแกรมสนุกและฉันต้องการเรียนรู้มัน ... ฉันควรจะบอกอะไรเขา

"พ่อ, วิธีการของคุณนี้จะทำให้การเรียนรู้ในการเขียนโปรแกรมอย่างไม่สนุก . เคาะมันออก."


4
ไม่ใช่คำแนะนำที่ดีที่สุด พ่อไม่ชอบที่จะตอบกลับอย่างนั้น
CyprUS

1
ใช่ แต่ถ้า OP แค่นั่งอยู่ตรงนั้นแล้วรับมันพ่อก็รู้สึกว่าเขาพูดถูก ลูกของเขาไม่ได้ทำงานหนักมากเลย เด็กต้องพูดบางครั้งเพื่อพ่อของเขาจะรู้ว่าเขาทำงานหนักแค่ไหน
เควิน

1
@CyprUS จริง แต่ฉันประจบประแจงคำหุ่นยนต์ในขณะนี้ มันเป็นความรักในชีวิตของฉันเมื่อปีที่แล้ว ฉันมี Lego Mindstorms Kit ติดตั้ง RobotC และทั้งหมดแล้ว ชอบมากจนกระทั่งพ่อของฉันมีเกียร์และมอเตอร์ "ของจริง" และบอกให้ฉันทำบางสิ่งที่ "เหมือนจริง" เหมือนแขนหุ่นยนต์ เกลียดหุ่นยนต์ด้วยความหลงใหลตอนนี้
Chandsie

48

ในฐานะสถาปนิกเขาต้องดึงขาของคุณหรือหยาบคายอย่างแน่นอน

แหย่เขาเมื่อเขาเริ่ม: ถามเขาว่าเขาดึงตึกระฟ้าที่มีแผนท่อประปาที่มีรายละเอียดคำนวณกองกำลังและความเครียดกับวัสดุและทำการประเมินความเสี่ยงจากภัยพิบัติ (เช่นถูกเครื่องบินชนกับงู) หลังจากใช้เวลาหนึ่งเดือน หนังสือตอนที่เขายังเด็กเหมือนคุณ บางทีนั่นอาจจะทำให้เขาสงบลง

โอเคบางทีมันอาจไม่ใช่คำแนะนำที่ดีที่สุดที่ฉันสามารถให้คุณเพื่อพูดคุยกับพ่อแม่ของคุณ ฉันสามารถเข้าใจได้ว่าการมีพ่อที่ลงโทษในความก้าวหน้าแทนการให้กำลังใจเป็นเรื่องที่ค่อนข้างจะเก็บภาษีเหมือนเด็ก แต่เอาไปเป็นกำลังใจให้ทำดีกว่า เขาอาจมีปัญหาทัศนคติ แต่นั่นไม่ได้หมายความว่าเจตนาไม่ดี


44
ยังมีการให้คำแนะนำเพื่อให้คุณพ่อของคุณ (แม้ว่าจะอยู่นอกขอบเขตของคำถาม): วางทัศนคติที่กอร์ดอนแรมเซย์ ใช้งานได้กับ Hell's Kitchen เท่านั้นเพราะผู้เข้าแข่งขันเป็นผู้ใหญ่ที่มีประสบการณ์ซึ่งคาดว่าจะรู้วิธีการปรุงอาหารและความสมบูรณ์แบบในร้านอาหารของเขาและ Gordon จะให้เครดิตเมื่อถึงกำหนด ถ้าคุณทำสิ่งนี้กับมือใหม่หรือเด็ก ๆ มันจะทำให้พวกเขากลัวที่จะเรียนรู้จากการฝึกฝน น่าสังเกตว่า Ramsay นั้นดีกว่าในละครทีวีเรื่องอื่นเพราะมันไม่ใช่ธุรกิจของตัวเอง
Spoike

30

ฉันอยากรู้ว่าคุณใช้หนังสือเล่มไหน ไม่ใช่ทุกคนที่ดีจริง ๆ นอกจากนี้หนังสือทุกเล่มไม่เหมาะสำหรับทุกคน

คุณไม่ได้ระบุอายุของคุณดังนั้นฉันจะถือว่าคุณอายุต่ำกว่า 18 ปีฉันเริ่มเรียนรู้เมื่ออายุประมาณ 8

เมื่อฉันยังเป็นเด็กฉันใช้ประโยชน์จากทรัพยากรจำนวนมากเมื่อเรียนรู้ที่จะเขียนโปรแกรม ฉันมีคู่มือที่มาพร้อมกับ TI 99 / 4A ของฉันซึ่งมีโปรแกรมความสนุกสนานมากมายในการวาดภาพและภาพเคลื่อนไหว อินเทอร์เน็ตไม่สามารถใช้ได้สำหรับฉัน แต่มีแม้แต่นิตยสารคอมพิวเตอร์ที่กำหนดเป้าหมายเด็ก ๆ ด้วยโปรแกรมที่ฉันสามารถพิมพ์และรับคำติชมได้ทันทีและบทความเกี่ยวกับวิธีแก้ปัญหาความท้าทายอื่น ๆ ฉันชื่นชอบซีรีย์นวนิยายสายลับที่ให้ฉันพิมพ์และแก้ไขข้อบกพร่องของโปรแกรมที่รวมเป็นส่วนหนึ่งของเรื่องราว น่าเสียดายที่ฉันไม่คิดว่าทรัพยากรประเภทนี้ยังคงอยู่ แต่มีหนังสือโปรแกรมสองสามเล่มที่กำหนดเป้าหมายไปที่คนหนุ่มสาวเช่นหนังสือ Hello World บน Python และ Land of Lisp (แม้ว่ามันจะสนุกสำหรับผู้ใหญ่ก็ตาม)

ฉันไม่รู้เกี่ยวกับคุณ แต่มีบางครั้งที่ฉันเริ่มเขียนโปรแกรมที่ทำสิ่งต่าง ๆ คล้ายกับที่คุณเพิ่งอธิบาย ในที่สุดฉันก็ย้ายไปยังสิ่งที่สูงขึ้น ฉันเขียนเกมสองสามเกมการสาธิตบางอย่างที่เล่นเสียงและภาพเคลื่อนไหวต่าง ๆ เพื่อตอบสนองต่อการกดแป้นพิมพ์และการศึกษาช่วย ตอนที่ฉันอายุประมาณ 10 หรือ 11 ปีฉันเขียนโปรแกรมที่ช่วยให้ฉันจดจำตารางธาตุของธาตุต่างๆโดยการถามฉันซ้ำ ๆ (ในขณะนั้นทักษะการท่องจำของฉันดีกว่าตอนนี้ดังนั้นฉันจึงเกือบจะพิมพ์ครั้งแรกเกือบเท่าที่ฉันเล่นคำถาม แต่ประเด็นก็คือความคืบหน้า)

พ่อของคุณอาจไม่เข้าใจ แต่หนังสือเป็นเพียงส่วนหนึ่งของกระบวนการเมื่อคุณเรียนรู้ที่จะเขียนโปรแกรม การค้นหาปัญหาเล็ก ๆ น้อย ๆ และพยายามหาวิธีแก้มันเป็นอีกครึ่งหนึ่งของสมการ การค้นหาหนังสือที่สอนคุณทีละน้อยและช่วยให้คุณได้รับสิ่งที่สนุกที่จะเกิดขึ้นในเครื่องเป็นอีกครึ่งหนึ่ง ในกรณีของฉันหนังสือที่เน้นกราฟิกและแอนิเมชั่นเป็นหนังสือที่ทำให้ฉันชนะ

เมื่อตอนเป็นเด็กตาของฉันก็จ้องมองเมื่อฉันอ่านหนังสือเกี่ยวกับการเรียงลำดับอัลกอริธึมและโครงสร้างข้อมูลที่ซับซ้อนจนกระทั่งฉันได้เรียนรู้มากพอที่จะดูว่าพวกเขาใช้กับปัญหาที่ฉันสนใจได้อย่างไร ไม่ใช่ทุกคำในหนังสือที่คุณอ่านจะโลดโผน ไม่เป็นไร. คุณจะได้สิ่งนั้นเมื่อคุณต้องการ ปัญหาบางอย่างที่คุณต้องการแก้ไขจะทำให้คุณนึกถึงเทคนิคที่คุณไม่คิดว่าน่าสนใจเมื่อสามสัปดาห์สามเดือนหรือสามปีที่แล้วและคุณจะกลับไปทบทวนและคิดทบทวน

เดือนไม่ใช่เวลานานมากในการเรียนรู้การเขียนโปรแกรม ฉันเขียนโค้ดในรูปแบบเดียวหรืออีกรูปแบบหนึ่งเป็นเวลาประมาณ 30 ปีรวมถึงในวัยเด็กและฉันยังคงเรียนรู้สิ่งใหม่ทุกวัน ฉันค่อนข้างแน่ใจว่าในเดือนแรกที่ฉันมีคอมพิวเตอร์เครื่องแรกฉันใช้เวลามากมายกับการเล่น Munch Man และใช้เวลาน้อยลงในการพยายามทำความเข้าใจโปรแกรมตัวอย่างในหนังสืออ้างอิงของฉัน เรียนรู้จังหวะที่เหมาะกับคุณ ตอนนี้ไม่มีแรงกดดันและมันเยี่ยมมาก

"คาดคั้น" คือสิ่งที่คุณควรทำเมื่อคุณเรียนรู้ที่จะเขียนโปรแกรมเป็นครั้งแรก แฮ็กเกอร์ (Paul Graham) พยายามที่จะเข้าใจว่าระบบทำงานอย่างไรภาษาการเขียนโปรแกรมทำงานอย่างไรเครื่องมือทำงานอย่างไร คุณลองอะไรซักอย่างคุณล้มเหลวคุณให้เหตุผลผ่านปัญหาที่คุณเผชิญและลองอย่างอื่นจนกว่าคุณจะได้อะไรซักอย่าง ไม่ต้องกังวลกับมันมากนัก

ถ้าพ่อไม่ทำงานหนังสือเล่มเดียวกันเขาก็อาจจะไม่เข้าใจว่าคุณได้เรียนรู้มามากแค่ไหนแล้ว ฉันไม่คิดว่าจะสามารถออกแบบบ้านหรือตึกระฟ้าหลังจากอ่านหนังสือเกี่ยวกับสถาปัตยกรรมเป็นเวลาหนึ่งเดือนโดยเฉพาะอย่างยิ่งในช่วงวัยรุ่น

ในการวางสิ่งต่าง ๆ ในมุมมองในช่วงสี่สัปดาห์ที่ผ่านมาหรือดังนั้นฉันจึงได้ทำงานในมุมที่ซ่อนเร้นของคุณลักษณะกรอบของ Ruby on Rails ณ วันนี้ในที่สุดฉันก็มีบางอย่างที่จะแสดงให้เห็นจากมุมมองของผู้ใช้ ฉันได้เรียนรู้มากมายในเวลานั้นและพัฒนารหัสพื้นฐานที่สำคัญจำนวนมากซึ่งทำงานได้ค่อนข้างดี แต่เป็นมืออาชีพของฉันที่อนุญาตให้ผู้ใช้พิมพ์บางสิ่งและได้รับสิ่งอื่น ๆ ที่ออกมา: ไม่น่าประทับใจทันทีที่ผู้ใช้ทั่วไปมองเห็น แต่มีงานเข้ามามากมาย ถ้ามีคนบอกฉันว่าฉันกำลังเขยิบอยู่สี่สัปดาห์ฉันจะผิดหวังมาก แต่ฉันก็รู้ว่าพวกเขามีความเข้าใจเพียงเล็กน้อยว่าสิ่งใดที่ทำให้สิ่งนั้นกลายเป็น "เรียบง่าย"


2
+1 สำหรับการตัดฟันของคุณใน TI 99 / 4A เรื่องเดียวกันที่ค่อนข้างสวยสำหรับฉันในการเขียนโปรแกรมคือความสนุกและการเริ่มต้นทำมันเข้าถึงได้มากขึ้น ลูกสาวของฉัน (10) แสดงความสนใจในการเรียนรู้ที่จะเขียนโปรแกรมและฉันมีเวลาที่ยากลำบากที่สุดในการคิดวิธีที่สนุกและวนซ้ำเพื่อให้เธอเริ่มต้น ไปที่ OP จากศูนย์ความรู้เป็น 1 เดือนและทำสิ่งที่คุณพูดถูกต้องบน PAR
Ominus

Ominus (และ David) ดูที่การประมวลผลและหนังสือเล่มนี้จาก Manning: manning.com/pearson
JasonTrue

4
+1 สำหรับหนังสือทุกเล่มไม่ใช่สิ่งที่ดี จากประสบการณ์ของฉันหนังสือส่วนใหญ่มีการกำหนดเป้าหมายไปที่ผู้ที่เข้าใจการเขียนโปรแกรมอยู่แล้ว ไม่ค่อยมีผู้กำกับที่มาใหม่ แต่ฉันอยากจะแนะนำอันนี้และ / หรือคนนี้
เดวิด

@ David ขอบคุณสำหรับลิงค์ สั่งหนังสือให้ลูกสาวเมื่อเช้านี้
Ominus

@ Jason: เขาบอกว่าเขาเป็นเด็กอายุ 14
CyprUS

19

ดูเหมือนว่าในสถานการณ์เช่นนี้พ่อของคุณไม่ได้เป็นคนที่ให้การเสริมแรงทางบวกและสนับสนุนในสิ่งที่คุณกำลังทำอยู่ วิธีแก้ปัญหาง่ายๆ: อย่าใช้เขาเพื่อสิ่งนั้น

ทำโครงการของคุณเองและทำเพราะสนุกไม่ใช่เพราะเขา (หรือคนอื่น) ต้องการให้คุณทำ เลือกสิ่งที่สนุกสำหรับคุณ คุณไม่จำเป็นต้องเรียนรู้ภาษา / เทคโนโลยีทั้งหมดจากหนังสือ เพียงแค่เริ่มแก้ไขสิ่งต่างๆ ในที่สุดเมื่อสิ่งต่าง ๆ กลายเป็นเรื่องง่ายคุณจะมองหาแนวคิด / ความท้าทายใหม่ ๆ และคุณจะพบว่าตัวเองต้องการที่จะอ่านหนังสือที่วันนี้คุณพบว่าน่าเบื่อ (หรืออย่างน้อยบางส่วน)

หากคุณเคยติดขัดและต้องการความช่วยเหลือในการเขียนโค้ดอะไรก็ตาม stackexchange เป็นทรัพยากรที่ยอดเยี่ยมเพราะคุณได้ค้นพบแล้ว


16

มันฟังฉันว่าพ่อของคุณมีความชอบในความคาดหวังที่ไม่สมจริงหรือบางทีคุณอาจมีประวัติของการเริ่มต้นสิ่งต่าง ๆ และไม่ได้ติดตามผ่านหรือทั้งสองอย่าง สิ่งสำคัญที่ต้องตระหนักคือไม่มีสิ่งใดสำคัญเลยที่นี่สิ่งสำคัญคือคุณเพลิดเพลินไปกับสิ่งที่คุณทำและทำให้ดีขึ้น

ฉันมีช่วงเวลาที่ยากมากกับหนังสือที่ไม่ให้ความบันเทิงฉันฉันมีอยู่เสมอ ฉันเรียนรู้ได้ดีที่สุดโดยการเฝ้าดูคนอื่นทำสิ่งต่าง ๆ ถามคำถามเมื่อฉันไม่เข้าใจวัตถุประสงค์ของบางสิ่งและจากนั้นก็ดิ้นรนจนกระทั่งฉันเข้าใจ การดิ้นรนทำให้เราแข็งแกร่งขึ้นและทำให้เราเป็นเจ้าของความสำเร็จในที่สุดของเราบางทีนั่นอาจเป็นเหตุผลว่าทำไมจึงยากที่จะปีนออกมาจากมดลูก

ดังที่กล่าวไว้หนึ่งในเครื่องมือที่คมชัดที่สุดในกล่องเครื่องมือของคุณคือความสามารถในการเปิดอยู่ทำงานอย่างมีประสิทธิภาพท่ามกลางการวิจารณ์และไม่แยกแยะคำแนะนำจากแหล่งที่มา หนังสือการเขียนโปรแกรมที่ดีมักจะจับคุณเป็นแรงบันดาลใจและคาดหวังให้คุณกลับไปหาพวกเขาเมื่อคุณตีกำแพง หากไม่มีพวกเขาคุณจะทำสิ่งที่น่าอัศจรรย์มากมายโดยไม่ต้องเข้าใจในสิ่งที่คุณทำ การเขียนโปรแกรมเป็นศิลปะที่มีเจตนามากดังนั้นฉันขอแนะนำให้คุณค้นหาหนังสือที่เขียนในลักษณะที่ย่อยง่าย

ฉันได้เขียนโปรแกรมอย่างมืออาชีพมาระยะหนึ่งแล้วและฉันสามารถบอกคุณได้ว่าความพึงพอใจของฉันเป็นของตัวเองอย่างแท้จริง เจ้านายของฉันไม่ค่อยเข้าใจว่าทำไมสิ่งที่ฉันเขียนนั้นยอดเยี่ยมมากภรรยาของฉันหลับเมื่อฉันบอกเธอเกี่ยวกับวันของฉันและเพื่อน ๆ ของฉันออกไปเพื่อหลีกเลี่ยงการถามฉันเกี่ยวกับงานของฉัน ฉันเพลิดเพลินกับชัยชนะของฉันและโอกาสในการแบ่งปันกับเพื่อนของฉันเป็นครั้งคราว ในกรณีนี้พ่อของคุณไม่ได้เป็นหนึ่งในเพื่อนของคุณ

พัฒนาต่อไปเรื่อย ๆ ทำความคุ้นเคยกับความจริงที่ว่าผู้เขียนโปรแกรมที่ไม่จำเป็นต้องเห็นสิ่งที่น่าประทับใจทางสายตาก่อนที่จะประทับใจ ทำไมไม่ลองโชคของคุณที่เขียนสิ่งที่ต้องการกำเนิดทาจิกิสถาน / จูเลีย ? นั่นอาจแสดงให้เขาเห็นถึงความก้าวหน้าที่เขากำลังมองหาและทำให้เขาเลิกคดีคุณสักพัก ในช่วงสิบปีที่ผ่านมาคุณจะทำสิ่งที่คล้ายกันมากเพื่อให้ผู้จัดการที่ไม่ใช่ด้านเทคนิคหลุดมือไปดังนั้นคุณสามารถทำงานให้เสร็จได้

เพียงจำไว้ว่าคุณกำลังทำมันเพราะคุณสนุกกับมัน


1
ฟังชายผู้นี้เขารู้ว่าเขากำลังพูดถึงอะไร)
drxzcl

2
ฮิฮิฉันชอบ 'ความจริงที่ว่าผู้เขียนโปรแกรมไม่จำเป็นต้องเห็นสิ่งที่น่าประทับใจทางสายตาก่อนที่จะประทับใจ' การเขียนเครื่องกำเนิดเศษส่วนเป็นหนึ่งในโครงการแรกของฉันในโรงเรียนวิทยาศาสตร์คอมพิวเตอร์ และฉันก็ประทับใจตัวเอง :)
Guillaume

น่าจะเป็นคำตอบที่ดีที่สุดในทุกหัวข้อนี้ ...
Venki

15

เป็นการยากที่จะบอกว่าคำถามนี้ดีที่สุดสำหรับฟอรัมการเลี้ยงดูบุตรหรือฟอรัมการเขียนโปรแกรม ฉันกลัวว่าคำแนะนำของฉันจะไม่เป็นไปตามเป้าหมายเพราะฉันรู้สึกว่าการพันกันในคำถามนี้อาจเป็น "ปัญหา" ความสัมพันธ์ระหว่างพ่อ - ลูก

ที่ถูกกล่าวว่าสิ่งที่ฉันจะมุ่งเน้นคือโอกาสที่ดีที่มีอยู่สำหรับคุณและพ่อของคุณในการเชื่อมต่อในเรื่องที่คุณสองคนอาจแบ่งปันความรักในบางวิธี เป็นพ่อตัวเองและรู้จักพ่อของตัวเองฉันรู้ว่าเราต้องการให้ลูก ๆ ของเราฟังเราทำตามคำแนะนำของเราและเรียนรู้จากเรา ลูกหลานของเรามักถูกผลักดันให้ทำสิ่งที่ตรงกันข้าม ดังนั้นความจริงที่ว่าคุณสองคนมีความสนใจร่วมกันนี้ยอดเยี่ยมมาก

พ่อสามารถดื้อได้อย่างแน่นอน แต่ฉันก็ยังคิดว่ามีโอกาสที่คุณจะปรับเปลี่ยนบุคลิกลักษณะและทางเลือกของคุณผ่านแบบฝึกหัดนี้ ไม่ได้ออกมาจากความท้าทาย แต่เกิดจากไดรฟ์และความทะเยอทะยานของคุณที่จะรู้เรื่องของการเขียนโปรแกรมได้ดี โดยส่วนตัวแล้วดูเหมือนว่าพ่อของคุณจะทำให้คุณตกต่ำในการเขียนโปรแกรม ได้รับอาจไม่ใช่ภาษาแอสเซมบลี MIPS หรือ LISP แต่ยังคง C ++ Java? Yikes ฉันชอบการเขียนโปรแกรม แต่การอ่านก่อนหน้านี้อาจทำให้ฉันปิดด้วยกัน การล้อเล่น :)

ดังนั้นสิ่งที่ผมจะถามคือ: สิ่งที่เป็นแรงบันดาลใจคุณ ? คุณต้องการสร้างสิ่งใด ตอบว่าจากนั้นหาหนังสือและแบบฝึกหัดของคุณเกี่ยวกับเรื่องนั้น มาที่นี่และถามคำถาม สร้างบางสิ่งบางอย่าง จากนั้นแสดงให้พ่อเห็นสิ่งที่คุณสร้าง บอกเขาในสิ่งที่คุณเรียนรู้ ขอบคุณสำหรับการมีส่วนร่วมกับคุณและบอกเขาว่าคุณขอบคุณเขา ฉันบอกว่าเพราะในท้ายที่สุดนั่นคือสิ่งที่เป็นเรื่องเกี่ยวกับ เขาต้องการแบ่งปันบางสิ่งกับคุณเพราะเขารักคุณ บางครั้งพ่อมีช่วงเวลาที่ยากลำบากในการแสดงออกด้วยวิธีดั้งเดิมดังนั้นเราจึงหาวิธีทางอ้อมเหล่านี้เพื่อพูดในสิ่งเดียวกัน บางครั้งเราก็ทำอย่างนั้น แต่อย่าลืมว่าทั้งหมดนี้คือความปรารถนาที่จะใกล้ชิดกับคุณ


15

ดูเหมือนว่าไม่มีใครแนะนำเรื่องนี้:

เมื่อเร็ว ๆ นี้เขาเริ่มถามฉันว่าฉันได้ทำอะไรไปแล้วและฉันแสดงโปรแกรม C ++ ที่ฉันทำตามสิ่งที่คุณพิมพ์แล้วกำหนดค่าให้กับตัวอักษรแต่ละตัว (A เป็นตัวอักษรตัวแรกในตัวอักษรเพื่อให้ได้ค่า ของ 1) .. และอื่น ๆ จากนั้นจะเพิ่มค่าทั้งหมดและบอกให้คุณทราบ ดังนั้นคำว่า "เพิ่ม" จะมีค่าเท่ากับ 9

^^ นั่นไม่ค่อยน่าประทับใจสำหรับเขา เขาตะโกนใส่ฉันและบอกฉันว่าฉันทำไปแล้วนั่นคือการคาดคั้น ที่ไม่เป็นความจริง. เขาเป็นคนดั้งเดิมและดื้อรั้นมากและไม่ฟังสิ่งที่ฉันพูด ฉันควรบอกอะไรเขา

ถ้าคุณคิดเกี่ยวกับมันโปรแกรมนั้นไม่น่าประทับใจสำหรับคนที่ใช้คอมพิวเตอร์และไม่รู้เกี่ยวกับการเขียนโปรแกรม

แสดงพ่อของคุณในแบบที่คุณเป็น เดินเขาผ่านซอร์สโค้ด เขาอาจจะไม่เข้าใจ แต่แน่นอนว่ามันจะสื่อถึงงานที่คุณใส่เข้าไปและเท่าไหร่ที่คุณเข้าใจและบางทีเขาอาจจะออกมาพร้อมกับความประทับใจที่ดีขึ้นของความสำเร็จที่คุณได้ทำไป


3
วิธีนี้สมควรได้รับการยอมรับมากขึ้นกว่าที่ได้รับ วิธีแก้ปัญหาที่ไม่คาดคั้นที่จะทำให้พ่อของเขาเข้าใจงานอดิเรกของลูกชายได้อีกมาก
เฟอร์กัสในลอนดอน

@FergusMorrow เห็นด้วย คำตอบนี้มีวิธี upvote น้อยเกินไป
stommestack

12

ทำสิ่งที่คุณต้องการ

มันเป็นชีวิตของคุณ. คุณสามารถทำทุกอย่างที่คุณต้องการ. อย่าให้ใคร (แม้แต่พ่อของคุณ) ควบคุมชีวิตของคุณ

ฉันคิดว่าคุณสนุกกับการเขียนโปรแกรมมากหรือน้อยและต้องการเป็นผู้เชี่ยวชาญที่ประสบความสำเร็จ (และพ่อของคุณต้องการทุกคนต้องการ) แต่สิ่งที่เป็นคุณจะไม่ประสบความสำเร็จถ้าคุณรู้ว่าสิ่งที่คุณทำและถ้าคุณชอบมัน

การเรียนรู้สาขาใดเป็นเรื่องยาก คุณไม่สามารถทำได้ภายใต้อิทธิพลของใครบางคน และไม่มีใครรู้ว่าสิ่งที่คุณควรจะทำอย่างไรดีกว่าคุณ คุณต้องการพักผ่อนในวันนี้และรู้สึกอยากเล่นเกมทั้งวันไหม? นั่นคือการตัดสินใจของคุณและคุณต้องรับผิดชอบ คุณควรเรียนรู้ที่จะรับผิดชอบต่อการตัดสินใจและชีวิตของคุณ การรับผิดชอบต่อการตัดสินใจของคุณเป็นสิ่งจำเป็นสำหรับผู้เชี่ยวชาญที่ประสบความสำเร็จทุกคน

แล้วคุณทำอะไรในสถานการณ์นั้น ยืนหยัดอยู่บนพื้นอย่าฟังใครและทำสิ่งที่รู้สึกคุ้มค่ากับคุณ


3
OP เป็นผู้เยาว์ที่ถูกกฎหมาย (14, ชัดเจน) พ่อแม่ของเขาถูกคาดหวังให้ควบคุมชีวิตของเขาและการต่อสู้ย้อนกลับไปอีกสี่ปีข้างหน้าอาจทำให้ทุกคนเศร้าหมอง
jwodder

1
@ jwodder: หากผู้ปกครองรู้สึกว่าต้องการควบคุมสิ่งที่ลูกเรียนรู้ในเวลาว่างเขาอาจจะดีที่สุดที่เขาจะเริ่มต่อสู้โดยเร็ว ฉันก็เหมือนกันมีลูกด้วยกันหนึ่งคนแก่เท่าเดวิด ถ้าลูกของฉันไม่สามารถบอกฉันได้ว่าฉันคิดผิดเมื่อเธอคิดว่าฉันเป็นฉันจะกลัวอนาคตของเธอ อายุ 14 ปีไม่ใช่ 7yo เขารู้เรื่องหนึ่งหรือสองเรื่องเกี่ยวกับโลกและรู้บางสิ่งที่พ่อแม่ของเขาทำ และถ้าเขากลายเป็นว่าไม่ใช่สิ่งที่พวกเขาต้องการพวกเขาก็ล้มเหลวเมื่อหลายปีก่อนและไม่มีโอกาสได้ติดตามอีกต่อไปอย่างน้อยก็โดยการทำสิ่งที่พวกเขาทำต่อไปเป็นเวลา 14 ปี
sbi

10

คุณขอหนังสือ จริงๆแล้วคุณจะแก้ปัญหาได้ดีกว่าการอ่านหนังสือ ค้นหาตัวต่อหรือปัญหาที่คุณหลงใหล Project Eulerเป็นแหล่งข้อมูลที่ยอดเยี่ยมและCodeGolfสามารถเสนอคำถามที่น่าสนใจในบางโอกาส โครงการเขียนโปรแกรมแรกของฉันคือแอป C ++ ซึ่งพบว่ามีจำนวนเฉพาะ ตำราเรียนที่ฉันใช้อยู่ในขณะนั้นนำเสนอการใช้งานอย่างง่ายเช่นนี้:

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

ซึ่งไม่มีประสิทธิภาพอย่างหนาแน่น ฉันพบเกี่ยวกับ 500 ช่วงแรกของฟังก์ชั่นนั้นก่อนที่จะยอมแพ้อย่างน่ารังเกียจที่ความเชื่องช้าของมัน พ่อกับฉันมีช่วงเวลาที่ดีในการพยายามเพิ่มประสิทธิภาพข้างต้นและถึงแม้ว่ามันจะเป็นแอพที่เรียบง่ายที่ไม่ได้เขียนผลลัพธ์ลงในไฟล์ที่ฉันสนุกและผลิตภัณฑ์ที่ได้ก็ยอดเยี่ยม

คุณจะเรียนรู้จากการอ่านหนังสือหรือไม่ ใช่ แต่ฉันไม่สามารถเน้นคุณค่าของการล้อเล่นด้วยภาษาโปรแกรมและการเรียนรู้โดยการลองผิดลองถูก

หากคุณกำลังเรียนรู้การเขียนโปรแกรมสำหรับพ่อของคุณหยุดและค้นหาเหตุผลของคุณเองทำ ฉันยังคงกระตุ้นให้ฉันสร้างระบบการซื้อขายอัตโนมัติในปริมาณมาก ฉันจริงจังมากเมื่อฉันบอกว่าคุณต้องหาสิ่งที่คุณต้องการทำเพราะมิฉะนั้นคุณอาจจะละทิ้งการเขียนโปรแกรมทั้งหมดเพราะคุณจะได้เห็นมันเป็นงานที่น่าเบื่อไม่ใช่งานอดิเรกหรือกีฬา

ลองอ่านหนังสือ "Just For Fun" ของ Linus Torvalds ซึ่งเขาเล่าถึงต้นกำเนิดของระบบปฏิบัติการ Linux ชื่อกล่าวมันทั้งหมด

อย่างจริงจัง. เพียงแฮ็คปัญหาบางอย่าง เมื่อติดอยู่ให้พาชายชราเข้ามาเกี่ยวข้อง

หากพ่อของคุณไม่ชื่นชมงานของคุณนั่นไม่ใช่เพราะเขาผิดหวัง เขาเป็นสถาปนิกเขาไม่ทราบว่าซับซ้อนบางสิ่ง พยายามนำเขาผ่านรหัสของคุณถ้าเพียง แต่ตรรกะและทำให้เขาซาบซึ้งว่ามันเกี่ยวกับตรรกะนั้นที่คุณเรียนรู้โดยการเขียนมันอย่างไร


TL; DR


  1. แค่ยุ่งกับบางสิ่งบางอย่าง แก้ปัญหา. หากคุณแก้ปัญหาไม่ได้ให้หาวิธีแก้ปัญหาของคนอื่นแล้วลองทำความเข้าใจ
  2. ขอให้สนุกกับ # 1
  3. เมื่อใดก็ตามที่คุณเรียนรู้อะไรหรือทำอะไรให้คืบหน้าอย่าลืมบอกชายชราของคุณ
  4. ก้าวตัวเอง ทุกคนเรียนรู้ในแบบของตนเองและในอัตราของตนเอง เพียงแค่เก็บมันไว้และในที่สุดคุณจะมีทักษะในการทำสิ่งที่คุณต้องการ

1
ที่จริงแล้วเขาระบุว่าเขาไม่ได้ขอหนังสือ .... ส่วนที่เหลือฉันเห็นด้วย
พอล

6

ลองค้นหาหนังสือที่แนะนำการเขียนโปรแกรมสำหรับผู้เริ่มต้นโดยเฉพาะ อาจจะเป็นอะไรที่เหมือนHello World! การเขียนโปรแกรมคอมพิวเตอร์สำหรับเด็กและผู้เริ่มต้นอื่น ๆโดย Warren Sande

คุณควรดูว่าห้องสมุดของคุณมีอะไรบ้าง ห้องสมุดส่วนใหญ่ควรมีหนังสือเริ่มต้นสองสามเล่ม


5

ในใจของฉันคุณมีสองปัญหา:

  1. คุณต้องการเรียนรู้การเขียนโปรแกรมและทำให้มันสนุก (ความสนุกเป็นสิ่งสำคัญมันทำให้ทุกอย่างง่ายขึ้น)
  2. คุณมีลูกค้าที่ไม่เข้าใจเกี่ยวกับการเขียนโปรแกรม แต่มีความคิดว่าเขาต้องการอะไร (พ่อของคุณในกรณีของคุณ)

IMHO:

  1. สำหรับปัญหาแรกของคุณคุณเพียงไปที่ไซต์เช่นนี้และถามคำถามอย่างที่คุณทำ ค้นหาแหล่งข้อมูลเช่นนี้https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 นึกถึงบางสิ่งที่คุณต้องการสร้าง (เกมรายการที่ต้องทำระบบจัดการคอลเลคชันภาพยนตร์แพลตฟอร์มโซเชียลถัดไปที่ดีที่สุด) และเริ่มการเข้ารหัส หรือเริ่มต้นด้วยการแก้ไขปริศนาฉันสามารถค้นหาตัวต่อและโปรแกรมท้าทายได้ที่ไหน

  2. ปัญหาที่สองของคุณยากขึ้นคุณต้องให้ความรู้แก่พ่อของคุณ (ในขณะที่เขาไม่เต็มใจมาก) ในขณะที่คุณเรียนรู้คุณจะอธิบายได้ดีขึ้นเกี่ยวกับการเขียนโปรแกรมของเขา คุณสามารถลองใช้คำอุปมาอุปมัยเช่นอธิบายเธอคำอุปมาการเขียนโปรแกรมที่ดีคืออะไร? . เคล็ดลับอีกอย่างคือผู้ที่ไม่ใช่โปรแกรมเมอร์โดยทั่วไปจะไม่ได้รับความซับซ้อนของอัลกอริทึมที่ยอดเยี่ยม แต่สามารถแสดงผลได้อย่างง่ายดายด้วยอินเทอร์เฟซที่ดูดี ขึ้นอยู่กับแพลตฟอร์มที่คุณเลือกคุณสามารถสร้างอินเทอร์เฟซที่ดูดีได้อย่างง่ายดายเพื่อสร้างความประทับใจให้พ่อของคุณ ใช้ตัวอย่าง:

หวังว่านี่จะช่วยได้


+1 ฉันชอบโพสต์ของคุณ แต่ฉันไม่คิดว่าใครที่นี่จะแนะนำว่าเด็กคนนี้รู้ว่าความคาดหวังของพ่อของเขาคืออะไร ดูเหมือนว่าก่อนกำหนดเล็กน้อยที่จะตัดความคาดหวังของพ่อโดยไม่ทราบว่ามันคืออะไร
user179700

5

ฉันแค่อยากจะเพิ่มว่าฉันอยู่ในตำแหน่งที่คล้ายกันมากในครั้งเดียวในชีวิตของฉันพ่อของฉันไม่เข้าใจจริงๆว่าการเสริมแรงเชิงบวกหมายถึงอะไร แต่การได้เห็นว่าฉันขัดขืนและยืดหยุ่นต่อความไม่พอใจของเขาในบางครั้งฉันก็พยายามเก็บไว้ ประมาณยี่สิบปีต่อมาความสัมพันธ์กับพ่อของฉันเปลี่ยนไปมากมันก็ดีขึ้น แต่ความแตกต่างเล็กน้อยก็ยังคงอยู่

นี่เป็นเพียงช่วงเวลาที่ยากลำบากในชีวิตของคุณและสิ่งสำคัญที่นี่คือคุณสนุกกับการทำสิ่งนี้มากกว่าสิ่งอื่นใด


5

เกี่ยวกับภาษาการเขียนโปรแกรมฉันยอมรับว่าคุณควรมุ่งเน้นไปที่หนึ่ง

จริงๆแล้วฉันขอแนะนำที่คุณยังไม่มี: Python Python เป็นภาษาที่เรียนรู้ได้ง่าย แต่มีประสิทธิภาพมาก C ++, Java, PHP และ Javascript นั้นซับซ้อนกว่านี้มาก

มีหนังสือหลายเล่มจาก Manning ที่สอนการเขียนโปรแกรมโดยใช้ Python ฉันขอพิจารณา "Hello, World!" อย่างยิ่งแม้ว่าจะมุ่งเป้าไปที่กลุ่มประชากรอายุน้อยกว่าเล็กน้อย

หากคุณต้องการดำเนินการกับ C ++ ต่อไปฉันแนะนำหนังสือเล่มนี้:

แม้ว่าจะเป็น "ข้อมูลอ้างอิง" มากกว่าและเป็น "บทช่วยสอน" ที่น้อยลง ฉันไม่ทราบเกี่ยวกับการสอน C ++ ที่ดี - มีหนังสือประเภท "สอนตัวเองเร็ว C ++" ที่มากมาย แต่ฉันไม่คิดว่ามันมีประโยชน์มาก (C ++ เป็นภาษาที่ค่อนข้างยากที่จะเรียนรู้ก่อนโดยโปรแกรมเมอร์ C ++ ส่วนใหญ่เริ่มต้นจากภาษาที่ง่ายขึ้น)


เห็นด้วยงูใหญ่เป็นทางเลือกที่ดีกว่าเป็นภาษาแรก C ++ นั้นยอดเยี่ยม แต่มันทรงพลังและใช้งานยาก - มันเหมือนกับการเรียนรู้ที่จะบินเครื่องบินก่อนที่จะเรียนรู้ที่จะเดิน ด้วยไพ ธ อนคุณสามารถใช้ไลบรารี่ได้ทันทีและทำกิจกรรมสนุก ๆ ฟังก์ชัน string_add ของคุณคือรหัสที่อ่านได้ 5 บรรทัด เช่น, 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 - บรรทัดใหม่ \ t -tab) หรือใช้การเขียนโปรแกรมการทำงานขั้นสูงเพิ่มเติมมันเป็นหนึ่งซับ string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
dr jimbob

+1 ฉันใช้เวลาประมาณหนึ่งปีในการเรียนรู้ C ++ ในขณะที่ฉันใช้เวลาเพียงสิบนาทีในการเรียนรู้ Python
rightfold

+1 ฉันขอแนะนำHead First Programmingที่ใช้ Python
เดวิด

4

เกี่ยวกับ C ++, Java, PHP, JavaScript และ Android (เพื่อให้คุณสามารถเลือกระหว่างกันได้เนื่องจากการพยายามที่จะต้นแบบทั้งหมดในครั้งเดียวมีแนวโน้มที่จะล้มเหลว):

  • C ++: มันเป็นภาษาที่ทรงพลังอย่างยิ่ง แต่ทรงพลังเกินไปไม่ให้อภัยและลึกลับเกินไปที่จะเริ่มต้นด้วย คุณต้องเข้าใจสิ่งต่างๆมากมายเพื่อไปให้ได้ ฉันคิดว่านี่เป็นทางเลือกที่ไม่ดีของภาษาในการเริ่มต้นโปรแกรมเช่นกัน
  • Java: ตัวเลือกยอดนิยมสำหรับผู้เริ่มต้น ในทางตรงกันข้ามมันเป็นสิ่งที่ตรงกันข้ามกับ C ++: C ++ ที่ให้คุณเกี่ยวกับวิธีที่เป็นไปได้ในการถ่ายภาพตัวเองในขณะที่ Java พยายามที่จะไม่อนุญาตสิ่งใดก็ตามที่อยู่นอกเหนือการควบคุมของคุณซึ่งจริงๆแล้วค่อนข้างเป็นอัมพาต มันง่ายเกินไปเล็กน้อยเกินไปเล็กน้อยและเข้มงวดเกินไปที่จะแสดงให้คุณเห็นถึงการเขียนโปรแกรมจำนวนมาก และคุณไม่สามารถทำอะไรได้มากใน Java โดยไม่รู้ API มาตรฐานและเฟรมเวิร์กมากมาย Java ในฐานะที่เป็นเทคโนโลยีมีหลายสิ่งหลายอย่างที่จะนำเสนอ แต่มีข้อบกพร่องเป็นภาษา
  • PHP: ภาษาที่นิยมมากส่วนใหญ่เป็นเพราะประตูทางเข้าต่ำ PHP เป็นภาษาที่ครบกำหนดแล้วและตอนนี้เต็มไปด้วยคุณสมบัติที่เราคาดหวังจากภาษาสมัยใหม่ อย่างไรก็ตาม PHP มีสัมภาระจำนวนมากด้วยเหตุผลทางประวัติศาสตร์ ดังนั้นในขณะที่มันช่วยให้การเขียนโปรแกรมที่ดีมีคนไม่กี่คนที่ทำและคุณจะไม่พบข้อมูลมากมายเกี่ยวกับวิธีการทำ และไลบรารีมาตรฐานก็ไม่เป็นระเบียบ หากคุณตัดสินใจที่จะเขียน PHP คำแนะนำของฉันคือการเริ่มทำงานกับกรอบการทำงานตั้งแต่เริ่มต้นเนื่องจากพวกเขามักจะส่งเสริมวิธีแก้ปัญหาที่มีประสิทธิภาพสำหรับปัญหาทั่วไป ส่วนตัวผมแนะนำsymfony , flow3และCakePHP อย่างไรก็ตามคำแนะนำของฉันคือ: อย่าเริ่มต้นด้วย
  • JavaScript: ภาษาที่ทรงพลังอย่างน่าประหลาดใจเมื่อคุณได้รู้จัก มันมีนิสัยแปลก ๆ"ไม่กี่คน"แต่จริงๆแล้วคุณควรจะอยู่กับมันได้ แม้ว่าในตอนแรกจะใช้เพื่อเพิ่มความสามารถในการโต้ตอบไปยังหน้า HTML แต่ตอนนี้สามารถใช้ JavaScript ได้ในหลาย ๆ ฟิลด์ นอกเหนือจากการใช้งานคลาสสิกก็สามารถนำมาใช้สำหรับการพัฒนาแอพพลิเคสก์ท็อปและมือถือที่มีแพลตฟอร์มAppcelerator , PhoneGapและAIRและการสร้างเซิร์ฟเวอร์โดยใช้Node.js
    มีไลบรารี JavaScript และเฟรมเวิร์กมากมาย ฉันขอแนะนำให้คุณดูสิ่งที่น่าพิศวงและjQueryรวมถึงqooxdooและext.jsหากคุณกำลังมองหาสิ่งที่เต็มเปี่ยม นอกจากนี้สำหรับการพัฒนาเซิร์ฟเวอร์, คุณควรตรวจสอบexpress.js
    นอกจากนี้ฉันอยากจะชี้ให้เห็นCoffeeScriptภาษาที่คอมไพล์กับ JavaScript แต่มีความพิเศษไม่กี่อย่างที่มีประโยชน์
  • Android: ซึ่งแตกต่างจากสี่อื่น ๆ นี้เป็นแพลตฟอร์ม ควรเลือกแพลตฟอร์มขึ้นอยู่กับสิ่งที่คุณต้องการทำ ถ้าเป็นการพัฒนาแอพมือถือสำหรับอุปกรณ์ Android ลองทำดู ไม่แน่ใจว่าเป็นสิ่งที่ดีที่สุดในการเริ่มต้น แต่ท้ายที่สุดคุณต้องสร้างสิ่งที่คุณคิดว่าเจ๋ง

ไม่ว่าในกรณีใด ๆ สิ่งที่สำคัญจริงๆก็คือคุณจะสนุกไปกับมัน ที่คุณสร้างสิ่งต่าง ๆ คุณคิดว่าเจ๋ง นั่นเป็นการแก้ปัญหาที่คุณต้องการหรือสนุกกับการเล่น การเขียนโปรแกรมสำหรับผู้ที่สนุกกับมัน คุณต้องมีชุดเครื่องมือที่ช่วยให้คุณสร้างแอพที่มีโค้ดไม่กี่บรรทัด JavaScript / CoffeeScript อาจเป็นจุดเริ่มต้นที่ดี
โดยส่วนตัวฉันอยากจะชี้ให้คุณรูบี้ มันสอนฉันมากมายเกี่ยวกับการเขียนโปรแกรมและฉันรู้สึกโชคร้ายที่ไม่รู้ว่ามันเกิดขึ้นเมื่อฉันเริ่มเขียนโปรแกรม โดยทั่วไปมีหนังสือที่น่ากลัวสองเล่ม (ทั้งเล่มฟรี):

  • Why's Poignant Guide - โดยส่วนตัวแล้วมันเป็นสิ่งที่ทำให้ไขว้เขวมากเกินไป (เรื่องตลกการ์ตูนและอื่น ๆ ) ในหนังสือเล่มนั้นสำหรับฉัน แต่คุณอาจสนุกไปกับมัน
  • Pragmatic Ruby - ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน มันแห้งนิดหน่อย แต่มันก็เกี่ยวข้องกับสิ่งจำเป็น

พร้อมกับที่ผมขอแนะนำให้คุณตรวจสอบรองเท้า มันเป็นเครื่องมือที่ยอดเยี่ยมพร้อมความช่วยเหลือที่ยอดเยี่ยมรวมถึงการอ้างอิงบทช่วยสอนและการสาธิต คุณจะได้สิ่งแรกและทำงานภายในไม่กี่วัน

และอาจจะต่อมาผมอยากจะชี้ให้คุณhaXe ฉันคิดว่ามันเป็นภาษาที่ยอดเยี่ยม (ภาษาที่ฉันเลือก) และมีคู่มือสำหรับผู้เริ่มต้นใหม่ที่เพิ่งเปิดตัวเมื่อไม่นานมานี้ อย่างไรก็ตาม haXe ไม่มีเครื่องมือที่มีอยู่ซึ่งทำให้การสร้างแอปพลิเคชันง่ายขึ้นเช่นเดียวกับ JavaScript และ Ruby ดังนั้นคุณอาจพบว่ามันน่าเบื่อหรือหงุดหงิดที่จะเริ่มต้นด้วยซึ่งเอาชนะวัตถุประสงค์ทั้งหมด


ฉันอยากจะแนะนำให้เขาตัดฟันของเขาใน C / C ++ ฉันทำแบบเดียวกันและพบว่าการเรียนรู้ภาษาใด ๆ ทำได้ง่ายอย่างน่าประหลาดใจเพราะภาษาสมัยใหม่เกือบทั้งหมดได้มาจาก C / C ++
CyprUS

@CyprUS: ในขณะที่ฉันเห็นด้วยทั้งคู่มีค่าการเรียนรู้ฉันไม่คิดว่าเป็นทางเลือกที่ดีในการเริ่มเรียนรู้ที่จะเขียนโปรแกรม นอกจากนี้ฉันไม่เห็นว่า LISP หรือครอบครัว Smalltalk จะได้รับสิ่งที่จำเป็นจากทั้งสองอย่าง
back2dos

ฉันคิดว่าเราต้องให้เด็กคนนั้นตัดสินใจว่าเขาต้องการทำอะไร ที่กล่าวว่า LISP / SmallTalk มีความลึกลับเกินไปที่จะเป็นประโยชน์ทั่วไป (ความคิดของฉัน)
ไซปรัส

@CyprUS: ฉันให้คำแนะนำเท่านั้น ในที่สุดเขาก็ต้องเลือก ฉันไม่ได้หมายถึง LISP หรือ SmallTalk แต่คลาสที่ทับซ้อนกันของภาษาที่พวกเขาสร้างขึ้นโดยเฉพาะอย่างยิ่ง Ruby, Squeak, Objective-C, Lua, Scala, Erlang, Clojure, JavaScript, F #, Nemerle, Scheme ซึ่งทั้งหมดจะถูกนำมาใช้ในความเป็นจริงบางคนแม้ในหมู่ภาษาที่นิยมที่สุดออกมี
back2dos

3

นั่นเป็นสิ่งที่ค่อนข้างคาดหวังในหนึ่งเดือน แต่คุณควรพยายามจดจ่อกับการเรียนรู้ภาษาหรือกระบวนทัศน์หนึ่งครั้งหรืออาจทำให้รู้สึกท่วมท้น การถูกดันมากเกินไปในคราวเดียวก็เป็นวิธีที่ดีในการปิดมัน คุณอาจเรียนรู้ได้ดีขึ้นด้วยการทำงานกับโปรแกรมเฉพาะที่คุณสนใจ หากโทรศัพท์ Android เป็นที่ที่คุณสนใจคุณน่าจะไปกับ Java ได้ดีกว่า C ++ เขาอาจคาดหวังว่าจะมีบางสิ่งที่หวือหวา UI ในฐานะลูกค้าทั่วไปจะไม่ผิดหวังกับความผิดหวังของเขา :)

หนังสือเล่มแรกของหัวบางเล่มอาจช่วยให้การเรียนรู้แห้งน้อยลงถ้าคุณถูก จำกัด ให้ติดหนังสือ


3

ฉันคิดว่าคุณควรกำจัดสิ่งที่เป็นทางการออกไปให้มากขึ้นและดูที่ Scratch - http://scratch.mit.edu/ - ช่วยให้คุณสามารถจัดการกับการสร้างโปรแกรมส่วนใหญ่ด้วยวิธีที่ง่ายขึ้นในขณะที่ยังคงเรียนรู้เนื้อหาของคุณ คุณต้องการเช่นลูปเป็นต้น

นอกจากนี้ยังช่วยให้การมัลติเธรดไร้ที่ติซึ่งอาจเป็นส่วนที่ยากที่สุดในการทำด้วยมือและจำเป็นต้องให้ผลลัพธ์ที่น่าสนใจในโลกปัจจุบัน

อย่าดูถูกดูแคลนเพราะใช้สีและอิฐเลโก้เช่นวิธีการเขียนโปรแกรม คุณสามารถทำอะไรได้มากมายโดยไม่ต้องหลงทางในรายละเอียดทางเทคนิค


+1 - Scratch เป็นวิธีการเรียนรู้ที่ยอดเยี่ยมและสนุกสนาน มันถูกออกแบบมาโดยคำนึงถึงอายุ แต่ก็ยังคงเป็นทัวริงที่สมบูรณ์ นอกจากนี้ให้ตรวจสอบ BYOB (สร้างบล็อกของคุณเอง) เพื่อหาส่วนขยายเชิงวัตถุเพื่อเริ่มต้น
Morgan Herlocker

3

ถามพ่อของคุณว่าเขาสามารถออกแบบอาคารสูงในวัยของคุณได้ไหม นั่นคือสิ่งที่โปรแกรมคือ ต้องใช้เวลาในการเรียนรู้เพราะมีอะไรมากมายให้เรียนรู้ มันเหมือนกับการขี่จักรยานมีเพียงคุณเท่านั้นที่มีคันเหยียบนับพันคันเกียร์มือจับลูกบิดและคุณไม่สามารถเลือกและเลือกว่าจะใช้คันไหนในเวลาใดก็ได้ มันต้องฝึกฝน

ฉันไม่สงสัยคุณ คุณเคยร่วมงานกับ C ++ มาก่อนในเป้าหมายเพื่อเป็นโปรแกรมเมอร์ นั่นเป็นที่น่าประทับใจให้กับผม

อยู่ที่นั่นและขอให้โชคดีกับอาชีพของคุณในฐานะโปรแกรมเมอร์!


3

ฉันรู้ว่ามีคำตอบมากมายอยู่แล้ว แต่ฉันไม่เห็นคำแนะนำนี้: พยายามให้พ่อช่วยคุณ พยายามเลือกสิ่งที่มีขนดกในหนังสือ C ++ ที่คุณสามารถเข้าใจและขอให้เขาช่วย
ให้หนังสือแก่เขาและให้เขาคลานใน C ++ ฉันค่อนข้างแน่ใจว่าสิ่งนี้จะทำให้เขารู้ว่ามันยากขนาดไหนในการเขียนโค้ด


3

ลองเปลี่ยนสถานการณ์นี้ให้ดี แค่ยอมรับว่าสิ่งที่คุณทำสำเร็จจนถึงตอนนี้ยังไม่เพียงพอและพยายามทำสิ่งที่ดีกว่า ... คุณจะมีเวลาที่ยากลำบากเช่นนี้เมื่อคุณจะทำงานให้กับเจ้านายถ้าคุณไม่เริ่มเอาชนะ .

ถ้าฉันทำงานหนักสองครั้งเมื่ออายุเท่าคุณ ...


3

ข้อมูลที่พ่อของคุณไม่เอื้อต่อกระบวนการเรียนรู้ของคุณ ใช่มีหลายวิธีในการเรียนรู้การเขียนโปรแกรมตามที่คนอื่นพูดถึง อย่างไรก็ตามคุณได้แสดงให้เห็นถึงความคืบหน้าของปรากฏการณ์ใน C ++ ในความคิดของฉัน โปรแกรมเพิ่มของคุณจะเป็นสิ่งที่ฉันแทบจะไม่สามารถจัดการได้หลังจากเปิดภาคเรียนแรกในการเขียนโปรแกรมจาวา

มีสองสิ่งที่คุณต้องแก้ไขหากคุณต้องการดำเนินการต่อ:

1) จัดการกับพ่อของคุณ

ดูสิพ่อทุกคนมีความฝันที่ฟุ่มเฟือยสำหรับลูก ๆ ของพวกเขา อย่างไรก็ตามความคาดหวังของพวกเขาอาจสูงมากและในที่สุดก็จะนำไปสู่บางสิ่งที่เป็นไปไม่ได้ในนิทานบางเรื่อง ฉันขอแนะนำให้พาคนภายนอกมาอยู่ในสถานการณ์เพื่อประเมินความก้าวหน้าของคุณให้ดีขึ้นและพาพ่อของคุณสู่โลกใบนี้ คุณสามารถลองพูดคุยกับครอบครัว / เพื่อนที่คุณรู้จักด้วยประสบการณ์การเขียนโปรแกรมหรือแม้แต่ผู้คนในชุมชนนี้สามารถส่งอีเมลถึงเขาในนามของประสบการณ์และความรู้ของเราเอง นี่เป็นขั้นตอนที่สำคัญที่สุดของทั้งหมดเพราะถ้าพ่อของคุณไม่เท่ห์คุณจะหมดความสนใจไปด้วยกัน

2) ค้นหาโฟกัส

ไม่เอื้อต่อการเรียนรู้ทุกอย่างในครั้งเดียว เลือกภาษาและติดกับมัน ในขณะที่คุณอ่านหนังสือในภาษาที่เฉพาะเจาะจง การทำตามตัวอย่างคำต่อคำของหนังสือไม่ใช่วิธีการที่แน่นอน การสำรอกเป็นกระบวนการเรียนรู้สำหรับบางคน แต่ไม่ใช่ทั้งหมด เป็นสิ่งสำคัญที่จะต้องทำการโจมตีจากหลาย ๆ มุมที่คุณสามารถทำได้และเป็นมุมที่คุณสนใจการเขียนโปรแกรมหนังสือโดยผู้แต่งหลายคนในภาษาเดียวกัน ความต้องการของคุณเองจากการเขียนโปรแกรม (ทำเกมออกแบบแอปพลิเคชั่นทดสอบทดสอบ ฯลฯ คุณยังสามารถผจญภัยส่วนตัวเพื่อสร้างโปรแกรม คิดออกว่าคุณต้องการทำอะไรโดยไม่คำนึงถึงสิ่งที่คุณรู้ในขณะนั้นจากนั้นค้นคว้าในขณะที่คุณเขียนโปรแกรม เมื่อเวลาผ่านไปคุณ ในที่สุดจะต้องการลองใช้ภาษาโปรแกรมอื่น ๆ ที่เกี่ยวข้องหรือไม่ คุณอาจตระหนักว่าคุณไม่ต้องการเขียนโปรแกรมทั้งหมดเข้าด้วยกัน

เหนือสิ่งอื่นใดโปรดจำไว้ว่ามันไม่ใช่ผลลัพธ์สุดท้ายที่สำคัญ แต่เป็นการเดินทาง อย่าลืมที่จะสนุก!


3

คุณได้รับผลตอบรับที่ดีและคำแนะนำเกี่ยวกับแง่มุมการเขียนโปรแกรมในสถานการณ์ของคุณ แต่ฉันต้องการเพิ่มบางสิ่งจากมุมมองที่ต่างออกไป ...

ฉันมีความประทับใจที่คุณประสบกับความคิดเชิงลบเกี่ยวกับพ่อของคุณ - เขากดดันคุณและได้แสดงความคิดเห็นที่ทำให้คุณเศร้าโศกและเป็นกังวล นั่นเป็นความอัปยศและฉันคิดว่าคนส่วนใหญ่ที่นี่ยอมรับว่าการเขียนโปรแกรมเป็นเรื่องสนุก - ฉันเขียนโปรแกรมมานานกว่าสามสิบปีแล้วและฉันก็ยังสนุก

แต่ฉันคิดว่าพ่อของคุณอยู่ข้างคุณจริงๆ เขาทำในสิ่งที่เขาคิดว่าถูกต้องเขาพยายามช่วยเขาซื้อหนังสือให้คุณเพื่อเริ่มต้นที่ดี แต่เขาเข้าใจผิด (และฉันพูดในฐานะพ่อเราจะทำสิ่งผิดพลาดในบางครั้ง!) สำหรับเขาหนังสือน่าจะเป็นที่ที่เขาเริ่มต้นในอาชีพสถาปัตยกรรมของเขา (ฉันคิดว่าสิ่งนี้เริ่มต้นก่อนที่อินเทอร์เน็ตและ www จะพร้อมใช้งานโดยทั่วไปถ้าหากทั้งหมด) ดังนั้นความคิดของเขาหนังสือจึงเป็นจุดเริ่มต้นของคุณ

ดังนั้นสมมติว่าพ่อของคุณอยู่ข้างคุณ (และฉันมั่นใจว่าเขาเป็น) แล้วปัญหาก็คือเขาไม่เข้าใจว่ามันยากแค่ไหนเมื่อคุณเริ่มโปรแกรมครั้งแรก - แสดงคำตอบทั้งหมดที่เขาเป็น โพสต์ที่นี่ - ฉันแน่ใจว่าพ่อของคุณเป็นคนดีและเขาจะเข้าใจและเขาจะสนับสนุนคุณ

และขอให้โชคดีกับการเขียนโปรแกรมของคุณ - ดูเหมือนว่าคุณกำลังเริ่มต้นที่ดี


อาจจะเพิ่ม 'อัจฉริยะ' จะไม่ใช่มั้ย การทำโปรแกรมเช่นนี้จะยากสำหรับเพื่อน ๆ ของฉันฉันสามารถรับรองคุณได้
CyprUS

@CyprUS - ฉันไม่ได้พูดถึงความสามารถเฉพาะของเขา (แม้ว่าฉันจะแน่ใจว่าพวกเขาดี) มันเกี่ยวข้องกับพ่อของเขาจริงๆ
Simon Knights

3

สิ่งหนึ่งที่ไม่ได้กล่าวถึงในคำตอบอื่น ๆ :

อย่างที่คุณอาจรู้ว่าการเป็นเด็ก (ฉันอายุ 14 ปี) และได้รับคำสั่งให้เรียนรู้การเขียนโปรแกรมจากหนังสือที่ไม่น่าเบื่อไม่ใช่สิ่งที่ง่ายที่สุด ฉันมักจะไขว้เขว .. ฉันบอกเขาก่อนว่าฉันไม่จำเป็นต้องซื้อหนังสือและฉันก็แค่ดูบทเรียนออนไลน์ .. แต่ไม่เลยเขาล้าสมัยมาก เขาให้ฉันใช้หนังสือเท่านั้น

แน่นอนคุณต้องทำงานในส่วนนั้น อินเทอร์เน็ตเป็นเครื่องมือสำคัญของโปรแกรมเมอร์ทุกคนและคุณต้องทำงานกับมัน

ประการแรกการเขียนโปรแกรมเป็นเรื่องเกี่ยวกับการแก้ปัญหา เมื่อคุณไม่ทราบวิธีการทำ X ในภาษา XYZ คุณจะ google และค้นหาวิธีแก้ปัญหา * การแก้ปัญหาการค้นหาอย่างรวดเร็วฉันเป็นสิ่งสำคัญสำหรับโปรแกรมเมอร์เช่นเดียวกับการใช้คีย์บอร์ด

ประการที่สองอีกทักษะที่สำคัญคือการใช้เอกสาร หนังสือมักจะเป็นแบบฝึกหัด - พวกเขาให้คำแนะนำ แต่พวกเขาไม่ได้ให้ความรู้ที่สมบูรณ์แก่คุณ - และนี่คือสิ่งที่เอกสารมีประโยชน์ ตัวอย่างเช่นคุณกำลังเขียนโปรแกรมใน C ++ คุณมีประสบการณ์หนึ่งเดือน ไม่ช้าก็เร็ว (ฉันจะบอกว่าเร็ว ๆ นี้) คุณจะต้องใช้ห้องสมุดมาตรฐาน ... หรือบางทีคุณอาจใช้มันไปแล้ว? ถ้าเป็นเช่นนั้นนั่นเป็นสัญญาณที่ดีหนังสือของคุณอาจไม่ใช่สิ่งเลวร้ายในกรณีนั้น อย่างไรก็ตามมันจะมีประโยชน์ที่จะรู้ว่ามีอะไรอยู่ในห้องสมุดมาตรฐาน C ++ และสิ่งที่ไม่ เพื่อให้เป็นประโยชน์ในการอ้างอิงเช่นhttp://cplusplus.com/เปิดตลอดเวลาในระหว่างการเขียนโปรแกรม


อินเทอร์เน็ตมีความสำคัญอย่างยิ่งในการเขียนโปรแกรมและยิ่งจำเป็นสำหรับการเรียนรู้การเขียนโค้ด หากพ่อของคุณไม่เข้าใจและคาดหวังว่าคุณจะได้เรียนรู้การเขียนโปรแกรมโดยใช้หนังสือเท่านั้นวิธีการของเขาก็มีประสิทธิภาพและทำให้คุณก้าวหน้าช้าลง (และอาจเป็นนิสัยที่ไม่ดี)


2

เขาไม่มีความคิดเกี่ยวกับกระบวนการของการเอนเข้าโปรแกรม คุณสามารถอ่านหนังสือเหล่านั้นทั้งหมดและยังไม่สามารถเขียนสิ่งที่เหมาะสมเพราะสิ่งที่ใช้เวลานานที่สุดคือความเข้าใจที่แท้จริงของสิ่งที่คุณสามารถทำได้และวิธีการเข้าถึง

คุณบอกคุณพ่อว่าคุณสนุกกับการเขียนโปรแกรมอย่าปล่อยให้เขาทำลายมันให้คุณ และแน่นอนอย่าพยายามเรียนรู้ 5 ภาษาโปรแกรมอย่างน้อยตอนนี้ ติดกับง่ายๆบนเช่น Java ที่สามารถโอนไปยังคนอื่น ๆ เมื่อคุณเชี่ยวชาญ

เกี่ยวกับหนังสือโดยวิธีมันเป็นวิธีที่เหมาะสมที่จะทำเพราะคุณเรียนรู้เกี่ยวกับภาษาที่ถูกต้อง บทเรียนต่อไปนี้มักจะนำไปสู่การยกนิสัยที่ไม่ดีเป็นต้น

ขอให้โชคดี และให้เขารู้ว่าคุณกำลังทำอย่างถูกต้องความคืบหน้าช้า แต่คุณเรียนรู้มากมายในขณะที่คุณกำลังทำมัน


2

ฉันคิดว่าโปรแกรมเมอร์จำนวนมากที่มีอายุระหว่าง 25-35 ปีและเติบโตขึ้นมาเล่น Nintendo และ Sega ส่วนที่ดีของพวกเขา / พวกเราทำให้การเปลี่ยนแปลงทางจิตใจว่าทำไมเล่นเกมเมื่อคุณสามารถทำด้วยตัวเอง มันเป็นแรงบันดาลใจให้บริการตนเองที่สามารถผลักดันให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้น มันเป็นการเริ่มต้น ในภายหลังในชีวิตคุณอาจเปลี่ยนจากการเขียนวิดีโอเกม (ปัญหาเสมือนจริง) เป็นเกมที่มีเงินเดิมพันสูงกว่า (ปัญหาในโลกแห่งความเป็นจริง) เช่นเดียวกับใบสั่งยานี้สำหรับผู้ป่วยรายนี้ที่จะไม่โต้ตอบกับยาเสพติดอื่น ๆ ที่กำหนดรถบรรทุกเหล่านี้สามารถส่งมอบปริมาณมากที่สุดด้วยปริมาณก๊าซที่น้อยที่สุดเพื่อลดมลพิษหรือฉันจะมั่นใจได้อย่างไรว่าการซื้อหุ้นนี้จะซื้อ ในราคาที่ฉันต้องการเมื่อมี 1,000 รายการที่ซื้อในเวลาเดียวกัน


1

สถาปัตยกรรมมีรากฐานในโลกทางกายภาพซึ่งคุณได้เรียนรู้มาตั้งแต่เกิด สำหรับนักศึกษามหาวิทยาลัยสถาปัตยกรรมการเล่นกับเลโก้จะเป็นการเสียเวลาเปล่า พ่อของคุณคิดว่าเมื่อคุณรู้คณิตศาสตร์คุณจะคุ้นเคยกับพื้นฐานและคุณควรจะเริ่มทำสิ่งต่าง ๆ นั่นไม่ใช่ความจริง เขาไม่ทราบว่าสิ่งแรกที่เกี่ยวกับการเขียนโปรแกรมเพราะเขาไม่ได้ตระหนักว่ามันไม่ได้เป็นสาขาของคณิตศาสตร์

การเขียนโปรแกรมเป็นโลกใหม่ วิธีที่ดีที่สุดที่จะกลายเป็นผู้เชี่ยวชาญคือการเรียนรู้เช่นเดียวกับที่คุณเรียนรู้โลกทางกายภาพ: ดื่มด่ำและทดลอง ในคำเล่น ถึงเวลาเลโก้แล้ว

สำหรับการเปรียบเทียบให้พิจารณานักบินอวกาศ พวกเขามีโลกใหม่ที่ไม่ได้เตรียมตัวไว้โดยสิ้นเชิง พวกเขาต้องเริ่มต้นด้วยพื้นฐานเช่นวิธีการเคลื่อนที่ข้ามห้อง

ในขั้นตอนต่อไปฉันขอแนะนำให้สร้างเกมที่คอมพิวเตอร์เลือกหมายเลขสุ่มและคุณพยายามเดามันและมันจะบอกคุณว่าคุณเดาสูงหรือต่ำเกินไป

ลองภาษาต่าง ๆ มากมายเช่นกัน! ไม่ใช่ทั้งหมดในครั้งเดียว แต่อาจเป็นสัปดาห์ละครั้ง

เมื่อคุณได้รับประสบการณ์การสร้างวิดีโอเกมที่เต็มเปี่ยมเป็นหนึ่งในความท้าทายที่ยิ่งใหญ่ที่สุดที่คุณสามารถทำได้ในฐานะโปรแกรมเมอร์มืออาชีพ วิดีโอเกมสัมผัสเกือบทุกมุมของวินัยของเราและการสร้างเกมเป็นวิธีที่ยอดเยี่ยมในการสร้างทักษะของคุณ นอกจากนี้ยังเป็นสถานที่ที่เหมาะสำหรับการทดสอบและเรียนรู้ในระดับทักษะที่สูงขึ้นและสูงขึ้น


0

ใช้เวลาของคุณเองในการเรียนรู้ภาษาการเขียนโปรแกรมยิ่งคุณฝึกฝนมากขึ้นเท่าไหร่คุณก็จะได้รับการเขียนโปรแกรมมากขึ้นเท่านั้นคราวนี้คุณได้สร้างโปรแกรมที่ง่ายมากซึ่งน่ารักสำหรับผู้เริ่มต้น แต่เมื่อคุณก้าวหน้าแล้ว โปรแกรมที่ดีซึ่งพ่อของคุณสามารถนำไปใช้ได้จริงถ้าคุณถามฉันว่านี่คือวิธีที่ฉันช่วยพ่อในการทำงานของเขา

เพียงแค่มีคำพูดกับพ่อของคุณและอธิบายสิ่งต่าง ๆ กับเขาและฉันมั่นใจว่าเขาจะเข้าใจอย่างแท้จริงและฉันมั่นใจว่าวันหนึ่งคุณจะเป็นนักพัฒนาที่ยอดเยี่ยม


0

ฉันเรียนเป็นวิศวกรซอฟต์แวร์และความก้าวหน้าของการเรียนรู้การเขียนโปรแกรมที่การศึกษาของฉันเป็นมากกว่าแค่การอ่านหนังสือ

ก่อนอื่นฉันขอแนะนำให้คุณเรียนรู้ C เพราะเป็นภาษาที่ง่ายและภาษาอื่น ๆ (เช่น C ++, Object-c) ถูกสร้างขึ้นบน C. วิธีที่เราทำก็คือเราต้องซื้อไมโครชิป ( ในกรณีของเราคือ Atmel Mega16 ที่มีชุด STK 500 ซึ่งเป็นเพียงบอร์ดที่มีไฟ LED และปุ่มอยู่) จากนั้นเราก็เล่นกับมันโปรแกรมที่ตั้งโปรแกรมไว้เพื่อให้มันดีและป็อบ สนุกกว่าการอ่านและการเขียนโปรแกรม Hello world IMO

เมื่อ C เดินไปในสวนสาธารณะให้คุณไปที่ C ++ และการเขียนโปรแกรมเชิงวัตถุ (OOP) OOP เป็นแนวคิดหลักในหลายภาษาและวิธีคิดเกี่ยวกับการเขียนโปรแกรมดังนั้นจึงเป็นสิ่งจำเป็นหากคุณจริงจังกับการเขียนโปรแกรมของคุณ ตรวจสอบให้แน่ใจว่าได้ทำความเข้าใจทฤษฎีที่อยู่เบื้องหลัง OOP ก่อนที่จะดำดิ่งลงไป

สุดท้าย แต่ไม่ท้ายสุดฉันจะแนะนำให้คุณศึกษาประเภทข้อมูลที่แตกต่างกันเช่นสแต็คคิวกอง ฯลฯ ซึ่งดีมากที่จะเข้าใจเมื่อคุณเขียนโปรแกรมและอ่านเกี่ยวกับภาษาใหม่

ขอให้โชคดีเพื่อนของฉัน!


ฉันจะแนะนำสิ่งอื่นนอกเหนือจาก C ++ สำหรับการเรียนรู้ OOP Python เป็นสิ่งที่ดี C ++ เป็นภาษาที่ซับซ้อนที่พยายามเรียนรู้แนวคิด OO ด้วยความเจ็บปวด เมื่อคุณได้เรียนรู้พวกเขาแล้วคุณจะรู้ว่าจะต้องทำอย่างไรกับคุณสมบัติการมองที่ทึบ
nmichaels
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.