University สอน C ++ ในรูปแบบ DOS วิธีจัดการกับมัน [ปิด]


19

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

ฉันคาดหวังว่ามันจะมุ่งเน้นไปที่ทักษะที่เป็นรูปธรรมมากกว่าในทางทฤษฎี แต่ก็ยังมีความคิดนี้ว่ามหาวิทยาลัยและอาจารย์เช่นสิ่งที่ถูกต้องเป็นทางการและเป็นวิชาการ มันยังเป็นวิทยาศาสตร์ใช่ไหม ผิด - ฉันประหลาดใจกับจำนวนหลักสูตรไอทีที่เลอะเทอะ

ในหลักสูตรเบื้องต้นเกี่ยวกับ C ++ เราได้รับการทดสอบเกี่ยวกับความคิดโบราณเช่น "ทำไม globals ไม่ดี" และ "ทำไมค่าคงที่ดี" หลังจากเขียนโปรแกรม 1-2 รายการ เกร็ดเล็กเกร็ดน้อยแบบสุ่มโดยไม่มีบริบทที่เหมาะสม เอกสารประกอบคำบรรยายที่มีอยู่system(pause/cls), getchและส่วนหัวเหมือนและconio.h iodos.hหนึ่งในภารกิจคือการพิมพ์ "อักขระ ASCII" จาก 32 ถึง255ด้วยภาพหน้าจอที่แสดงตารางดังกล่าวที่พิมพ์โดยใช้หน้ารหัส Windows-1252 แต่ไม่มีการเข้ารหัสใด ๆ เลย

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

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


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


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

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

ใช่แน่นอน @Giorgio ภาษาการเขียนโปรแกรมที่เลือกเป็นเครื่องมือการสอนไม่สำคัญว่าอย่างใดอย่างหนึ่งต้องคาดหวังว่าการปฏิบัติการเขียนโปรแกรมที่นำเสนอเป็นเสียงและทันสมัย
glampert

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

@glampert: การเขียนโปรแกรมตามขั้นตอนไม่เปลี่ยนแปลงหลังจากแนะนำ Pascal ยิ่งไปกว่านั้น Pascal ได้รับการออกแบบเป็นภาษาการสอนดังนั้นจึงไม่มีแฮ็คจำนวนมากที่อาจเป็นประโยชน์ในการฝึก แต่เป็นสิ่งที่ทำให้ไขว้เขวเมื่อเรียนรู้สิ่งใหม่ ดังนั้นปาสคาลจึงมีความทันสมัยเท่าที่โปรแกรมการเรียนการสอนมีความเกี่ยวข้อง แน่นอนว่าบางคนอาจต้องการสอนกระบวนทัศน์อื่น ๆ เช่นเชิงวัตถุ, การทำงาน, ตรรกะ: จากนั้นคุณต้องมองหาภาษาอื่น ๆ เช่น Python, Java, Haskell, Scheme, Prolog, ...
Giorgio

คำตอบ:


34

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

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

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

โดยทั่วไปแล้วการศึกษาทางวิชาการไม่ควรจะสูญเปล่าในการเรียนรู้ C ++ และ Android คุณควรจะเรียนรู้เกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์ที่แท้จริง คุณจะไม่ได้รับโอกาสอีกครั้ง Android? ดาวน์โหลด Eclipse ด้วย ADT และเริ่มทำงานที่บ้านเช่นฉัน ไม่ต้องการโรงเรียนเพื่อสิ่งนั้น

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


3
ฉันมีปัญหาหนึ่งข้อกับการตอบสนองของคุณ: "โดยทั่วไปแล้วการศึกษาเชิงวิชาการไม่ควรจะสูญเปล่าในการเรียนรู้ C ++ และ Android คุณควรจะเรียนรู้เรื่องวิทยาการคอมพิวเตอร์ที่แท้จริง" - โดยที่ไม่รู้พื้นฐานอย่างน้อยหนึ่งภาษาการเขียนโปรแกรมสิ่ง CS ไม่สมเหตุสมผลและง่ายเกินไปที่จะใช้ผิดวิธี
Izkata

4
@Martin และ izkata - การเขียนโปรแกรมภายใต้ DOS ใน C ++ โดยใช้คอมไพเลอร์จากศตวรรษที่แล้วไม่ได้หมายความว่าคุณไม่รู้จักการเขียนโปรแกรม นั่นหมายความว่าคุณกำลังใช้เครื่องมือที่ล้าสมัย - แต่ถ้าคุณจำเป็นต้องใช้ต้นไม้ RB - ใครจะสนใจ? มันล้าสมัยสำหรับอุตสาหกรรม แต่โปรแกรมทำงานและทำสิ่งที่ควรทำ - ดีพอ
littleadv

3
@littleadv - OP เขียนว่า "ดูเหมือนว่าโบราณตามสิ่งที่ฉันได้อ่าน" ซึ่งแนะนำให้ฉันว่าเขาต้องดูที่อื่นนอกเหนือจากเอกสารประกอบคำบรรยายที่เกี่ยวข้องเพื่อค้นหาว่านี่เป็นสิ่งที่ล้าสมัยและไม่สามารถพกพาได้ แน่นอนว่าถ้าไม่ใช่คอมไพเลอร์ทุกคนจะมีไลบรารี่ที่ไม่ได้มาตรฐาน แต่ถ้าคุณสอนพวกมันโดยไม่บอกพวกเขาว่ามันไม่ได้มาตรฐานฉันคิดว่ามันไม่ดี - และนั่นก็นับว่าเป็นสิ่งใหม่ ๆ ++ 11 สิ่งตั้งแต่วินาที C ++ 03 เป็นมาตรฐานล่าสุดที่ได้รับการสนับสนุนอย่างกว้างขวาง
Steve314

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

4
@littleadv - ฉันไม่เคยอ้างว่า OP บอกว่า conio.h เป็นมาตรฐาน - ฉันแนะนำว่าเขาอาจไม่ได้รับการบอกว่ามันเป็นแบบไม่ได้มาตรฐานและถึงกับพูดเช่นนั้น "ถ้าพวกเขาทำให้ชัดเจนซึ่งเป็นเทคนิคที่ไม่ใช่แบบพกพา ตกลง.". วิธีที่ฉันสอนวิทยาศาสตร์ขั้นพื้นฐานคือคุณใช้คำมาตรฐานหรือถ้าคุณต้องใช้คำที่ไม่เป็นมาตรฐานคุณจะนิยามความหมายของมัน ในบทเรียนวิทยาศาสตร์โรงเรียนของฉันแม้แต่การใช้เซนติเมตรก็ผิดกฎ - ไม่ใช่หน่วย SI ดูเหมือนว่าสำหรับฉันแล้วการใช้ห้องสมุดที่ไม่ได้มาตรฐานนั้นจะไม่แตกต่างกัน ความหมายของรหัสในวิทยาการคอมพิวเตอร์ควรไม่คลุมเครือ
Steve314

19

วิทยาการคอมพิวเตอร์คือการเขียนโปรแกรมฟิสิกส์คืออะไรสำหรับช่างไม้

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

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

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


2
ฟิสิกส์เกี่ยวกับวิศวกรรมเป็นอย่างไร โปรแกรมเมอร์ควรเข้าใจหลักการ CS เพื่อนำไปใช้เมื่อออกแบบโปรแกรมที่วิศวกรต้องการเข้าใจฟิสิกส์ในการออกแบบอาคารเครื่องบินและกระบวนการทางเคมี
Jay Elston

3
@ JayElston: ฟิสิกส์คือวิศวกรรมสิ่งที่วิทยาการคอมพิวเตอร์คือวิศวกรรมซอฟต์แวร์ซึ่งประกอบด้วยการวิเคราะห์การออกแบบการวางแผนการนำ QA และอื่น ๆ การเขียนโปรแกรมตัวเองเป็นศิลปะของการทำสิ่งที่คุณต้องการทำ ในขณะที่วิศวกรรมเริ่มต้นที่การหาว่าคุณต้องการทำอะไร
back2dos

ฉันยังคงชอบคำพูดของอาจารย์คนหนึ่งของฉัน "วิศวกรรมเป็นศิลปะของการใช้วิทยาศาสตร์ในการแก้ปัญหา"
Chris O

1
@Chris: บางทีวิทยาศาสตร์เป็นศิลปะของการสร้างปัญหาใหม่
JasonTrue

@JasonTrue: ดีหนึ่งได้ยืนยันว่าวิทยาศาสตร์เป็นศิลปะของการสร้างที่ดีกว่าปัญหา;)
back2dos

9

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

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

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


5

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


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

7
สิ่งที่คล้ายคลึงกันนี้มีโปรแกรมเมอร์ autodidact ที่มีทักษะสูงจำนวนมากอย่างแน่นอน
ocodo

@Slomojo True และฉันได้พบกับพวกเขาไม่กี่คน พวกมันเป็นสายพันธุ์ที่แปลกประหลาดยอดเยี่ยมในสิ่งที่พวกเขารู้ ความยากลำบากอยู่ที่ความกว้างของปัญหาที่พบ บางครั้งปัญหามีหนทางที่สั้นกว่ามากในการแก้ปัญหาเมื่อคุณรู้มุมของวิทยาการคอมพิวเตอร์แต่ทว่ากลุ่มคนที่มีความสามารถเหล่านี้มักจะใช้วิธีการเดียวที่พวกเขารู้ซึ่งท้ายที่สุดดูเหมือนว่ากำลังดุร้าย ตัวอย่างปัญหาที่ "ยากที่จะแก้ไข" สำหรับการเรียนรู้ด้วยตนเองได้รับการแก้ไขโดย DFA ในสองวันโดยทำการทดสอบ (ใน TCL / TK เพื่อบู๊ต!) สองสัปดาห์ต่อมาพวกเขายังไม่เข้าใจพร้อมคำอธิบาย
Edwin Buck

4

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


คำแนะนำที่ดีแน่นอนฉันเห็นด้วยอย่างยิ่ง มันเป็นแค่ประกาศนียบัตร ... :)
Toerndev

@gaidal: ใช่แล้ว! นั่นคือสิ่งที่ฉันได้ออกจากโรงเรียนมัธยม - ชื่อแบรนด์: P (แม้ว่าฉันจะหวังมากขึ้นเมื่อฉันเข้าร่วม)
มกราคม S

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

1
เกี่ยวกับงานที่จ่ายดีกว่านั่นเป็นเรื่องจริง เพื่อนของฉันคนหนึ่งที่สอนอยู่ที่มหาวิทยาลัยเคยบ่นว่า: "เราสอนพวกเขาถึงวิธีการเขียนโปรแกรมและจากนั้นพวกเขามีรายได้มากกว่าที่เราทำมันควรจะเป็นอย่างอื่น!"
Giorgio

3

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

ในระหว่างการศึกษาของฉันฉันได้เรียนรู้พื้นฐานของการเขียนโปรแกรมใน Pascal จากนั้นฉันมีหนึ่งโครงการใน C (เราต้องเรียนรู้ภาษาด้วยตัวเอง) แล้วฉันก็มีหลักสูตรเกี่ยวกับแนวคิดการเขียนโปรแกรมภาษา (ขั้นตอนเชิงวัตถุเชิงฟังก์ชันตรรกะ) . มันเป็นคติชนวิทยาว่าใน MSDOS คุณมี conio.h หรือพอยน์เตอร์พอยน์เตอร์ซึ่งคุณไม่มีในระบบ UNIX นี่คือสิ่งที่นักเรียนของเราจะพูดคุยเกี่ยวกับเบียร์มันไม่ใช่สิ่งที่คุณพูดคุยในระหว่างชั้นเรียนเพราะมันไม่สำคัญ การเรียนการสอนในมหาวิทยาลัยมุ่งเน้นไปที่นามธรรมความรู้ทั่วไปและหลีกเลี่ยงการเข้าไปในรายละเอียด: ตัวอย่างและรายละเอียดถูกนำเสนอเพียงเพื่อแสดงให้เห็นถึงสิ่งทั่วไป

ตัวอย่างที่คุณให้เกี่ยวกับ ASCII กับ Unicode และไลบรารี MSDOS conio.h หมายความว่าทุกสภาพแวดล้อมการเขียนโปรแกรมมีวิธีการทำและจัดระเบียบสิ่งต่าง ๆ โดยเฉพาะ หากคุณโปรแกรมใน C ++ บน Visual Studio คุณจะต้องใช้ไลบรารีอื่น ๆ ซึ่งบางโปรแกรมไม่พบเช่นบน Linux ดังนั้นหากหลักสูตรอยู่ใน Windows 7 / Visual Studio บางคนอาจบ่นว่ามันจะดีกว่าถ้าจะทำบน Linux / GCC แต่ IMO นี่ไม่ใช่ประเด็น

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


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

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

2

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

เลือกมหาวิทยาลัยที่เหมาะสมที่พวกเขาให้ความสำคัญกับการพัฒนาสาขาการคำนวณที่คุณต้องการ ซึ่งสามารถช่วยคุณในภายหลังในอาชีพการงานของคุณ


2

งานพิมพ์ที่เต็มไปด้วยsystem("");สิ่งที่ดีจริงๆ! ฉันตกใจที่ผู้คนไม่ทราบอะไรเกี่ยวกับฟังก์ชั่นเหล่านี้ในปัจจุบัน

system("pause")และคุณกำจัด gotchas ทั้งหมดของฟังก์ชั่น getX system("cls")และคุณเพิ่งบันทึกโค้ดหนึ่งหน้า system("mkdir foo")และคุณเพิ่งบันทึกการจัดสรรบัฟเฟอร์ 2 หน้า, การแยกเส้นทาง, _makepath_ss, ขีด จำกัด เส้นทาง 256, ตันข้อผิดพลาดออกจากและอื่น ๆ

ยิ่งไปกว่านั้นรหัสนั้นง่ายมากที่ลิงจะเข้าใจได้

 if(!system("mkdir foo"))
     //booo and exit`

โรงเรียนของวิปริต polymorphic คือสิ่งที่ควรถูกห้ามโดยกฎหมาย

ป.ล. : ยิ่งไปกว่านั้นด้วยความเคารพฉันมีเวลายากที่จะยอมรับว่าผู้คนได้รับการสอน C ++ โดยมีข้อยกเว้นและทุกอย่างเสมือนเป็นสิ่งที่ดีเพราะมันมี gotchas และทุ่นระเบิดมากกว่าที่คุณจินตนาการได้และแม้แต่ Bjarne Stroustrup สิ่งที่ง่ายและปลอดภัยสุด ๆ ในความเป็นจริงพวกเขาเป็นทุ่นระเบิดนิวเคลียร์

ดูการวิเคราะห์เกี่ยวกับ Misra-C ++ และ JSF-C ++ และhttp://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspx http://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspxฉันขี้เกียจเกินไปที่จะค้นหาบทความที่เหลือทั้งหมดในวันนี้

จากที่กล่าวมาทั้งหมดฉันเป็นนักพัฒนา c ++ และฉันก็เพลิดเพลินไปกับคุณสมบัติและภาษาโดยรวม


1
ไม่แน่ใจว่าฉันเห็นด้วยว่าการส่งเสริมให้ผู้พัฒนาที่ไม่มีประสบการณ์โดยปริยายตรงไปที่ระบบโดยไม่มีความคิดที่แท้จริงของ gotchas เป็นความคิดที่ดี ...
deworde

@deworde: มันเป็นสิ่งเดียวกับที่คุณเขียนในคอนโซลฉันไม่คิดว่าคุณสามารถทำสิ่งที่ผิดพลาดได้ง่ายและปลอดภัยน้อยกว่า
Coder

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

@deworde: ไม่อย่างแน่นอนคำสั่ง EraseFile จะยังคงสืบทอดสิทธิ์ของกระบวนการดังนั้นมันจึงเป็นเรื่องง่ายที่จะสับสนกับคำสั่งทั้งสอง
Coder

1

ข้อเสนอแนะของฉันอาจฟังดูมี แต่ได้ยินฉันออกมา ... เปลี่ยนวิชาเอก

จากประสบการณ์ของฉันในด้านวิชาการวิทยาการคอมพิวเตอร์เป็นวิชาระดับต่ำมากที่ทำให้คอมพิวเตอร์ติ๊ก คุณเริ่มต้นด้วยไพรเมอร์ขั้นพื้นฐานใน C ++ เพื่อให้แน่ใจว่าคุณรู้ว่าโปรแกรมคืออะไรและพื้นฐานของหน่วยความจำและการคำนวณเบื้องหลังโปรแกรมจากนั้นคุณเรียนรู้การประกอบแนวคิดของระบบปฏิบัติการวิศวกรรมไฟฟ้าการออกแบบดิจิทัล ฯลฯ คุณจะได้รับ ระดับนี้และมองหางานกับ NVidia หรือ AMD หรือ Lockheed; ที่ไหนสักแห่งที่พวกเขากำลังสร้างฮาร์ดแวร์ใหม่ซึ่งต้องการใครซักคนที่สามารถเข้าใจฮาร์ดแวร์นั้นในระดับต่ำพอที่จะเขียนไดรเวอร์และซอฟต์แวร์ควบคุม

ดูเหมือนว่าสิ่งที่คุณต้องการคือหลักสูตรการศึกษาที่มหาวิทยาลัยของฉันเรียกว่าการจัดการระบบสารสนเทศ นั่นคือหลักสูตรที่ฉันติดตาม มันสอนการเขียนโปรแกรมใน Java, VB.NET, C #, และบาง PHP และการเขียนสคริปต์เว็บอื่น ๆ ไปพร้อมกัน นอกจากนี้ยังต้องการแคลคูลัส (แต่ไม่ถึงระดับเดียวกับ CS), การบัญชี, การเงิน, สถิติ, การสื่อสารทางธุรกิจ, OO A&D, การออกแบบฐานข้อมูลและการวิเคราะห์ระบบ ฉันได้รับ BBA แทน BS และฉันมีเครื่องมือพื้นฐานในการเริ่มทำงานในฐานะนักพัฒนาซอฟต์แวร์ Windows หรือเว็บ

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

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


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

ระวังด้วยสมมติฐานนั้น ฉันเปลี่ยนวิชาเอกจาก CS เป็น MIS และไม่มีวิชาคณิตศาสตร์ที่ฉันถ่ายโอนไปแล้วเพราะโรงเรียนธุรกิจมีเส้นทางคณิตศาสตร์ที่แยกจากกันโดยสิ้นเชิง อังกฤษ, วิทยาศาสตร์, มนุษยศาสตร์, ใช่แล้วที่ถ่ายโอน
KeithS

1

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

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


0

ฉันคิดว่าอาจมีความสับสนเกี่ยวกับสิ่งที่และทำไมคุณกำลังศึกษา

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

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

คุณตั้งใจจะออกจากหลักสูตรนี้อย่างไร

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

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

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

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


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

เพียงไม่กี่คำพูดจากมหาวิทยาลัยของฉันที่ผ่านมา: ฉันศึกษาหลักสูตรที่เรามี "การเขียนโปรแกรม 101" ตามกำหนดเวลาส่วนนั้นน่ารำคาญสำหรับฉัน แต่หลักสูตรอื่น ๆ มีความน่าสนใจ (ฟิสิกส์กลศาสตร์ ... ) ดังนั้นแม้ว่าการบรรยายจะน่าเบื่อที่อาจไม่มีผลกับโปรแกรมทั้งหมดและสำหรับส่วนอื่น ๆ มันอาจคุ้มค่าที่จะต้องผ่านความเจ็บปวด แต่ฉันออกไป ในขณะเดียวกันฉันได้เรียนรู้ว่าบางครั้งกระดาษจะมีประโยชน์แม้ว่ากระดาษไม่ได้หมายความว่าฉันจะดีกว่าในงานของฉัน (ฉันมีงานที่ดีเงินเดือนดี ... ดังนั้นจึงไม่เลว ;-))
โยฮันเนส

0

ฉันคิดว่าคำตอบมากมายสำหรับคำถามนี้น่าผิดหวัง พวกเขากลับไปที่ข้อโต้แย้งเก่า ๆ อันเหนื่อยล้าเกี่ยวกับ CS vs Programming เป็นต้นซึ่งอาจเป็นเช่นนั้น

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

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

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

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


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

0

พวกเขาต้องให้ความสำคัญกับนักเรียน นักเรียนส่วนใหญ่ไม่สามารถเขียนโปรแกรม ดังนั้นพวกเขาจึงไม่ถูกผลักไปที่นั่น

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

อย่างไรก็ตามคุณไม่ทราบว่าวิทยาการคอมพิวเตอร์คืออะไร มันไม่เกี่ยวกับสิ่งที่เป็นประโยชน์สำหรับอุตสาหกรรม


-6

ฉันขอให้ (แล้วยืนยัน) เพื่อส่งคืนการมอบหมายของคุณในมาตรฐาน c ++ สิ่งนี้มีความสมเหตุสมผลอย่างยิ่งเนื่องจากคุณไม่สามารถดำเนินการมอบหมายให้เป็นอย่างอื่นได้

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

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


10
ไม่คุณได้รับเครื่องมือในการทำงานและเป็นหน้าที่ของคุณที่จะใช้เครื่องมือเหล่านั้น หากคุณมีงานที่ทุกสิ่งที่คุณมีคือ XT อายุ 15 ปีที่ใช้งาน CP / M การเรียกร้องให้พวกเขายอมรับรหัส 64 บิต Windows 7 ของคุณจะไม่ทำงานเช่นกันควรใช้ให้ดีที่สุดโดยเร็วที่สุด
jwenting

2
@Ramhound มหาวิทยาลัยควรทำให้การเรียนจบโดยไม่ต้องซื้ออุปกรณ์ราคาแพง (เช่นระบบปฏิบัติการ Windows) มันมีอคติ
ทอม

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

3
@Ramhound แม้ว่าศาสตราจารย์จะไม่ได้กล่าวอย่างชัดเจนว่าทำไมเขาถึงใช้งาน IO ที่ทำง่าย ๆ ตามกิจวัตร IO เราอาจจะเดาได้ถูกต้อง ตามที่ทอมพูดถึงกิจวัตร io ของ C ++ นั้นค่อนข้างซับซ้อนดังนั้นการซ่อนรายละเอียดไม่สมเหตุสมผลในหลักสูตรระดับอินโทร การตัดสินใจใช้ไลบรารีเฉพาะแพลตฟอร์มที่ใช้ windows แทนที่จะเป็น * nix ที่ใช้พื้นฐานเกือบจะแน่นอนขึ้นอยู่กับสมมติฐานที่ว่านักเรียนส่วนใหญ่ใช้ windows ไม่ใช่ * nix และผู้ใช้ windows จำนวนมากจะต่อสู้กับการเริ่มต้นกับ * nix มากกว่าในทางกลับกัน
Dan Neely

5
@gaidal - มีกฎสำหรับเหตุผล หากคุณเริ่มทำงานที่ใดที่หนึ่งและตัดสินใจว่าแทนที่จะเป็นห้องสมุดที่เป็นกรรมสิทธิ์คุณจะต้องใช้มาตรฐานเพราะ "มาตรฐานอยู่ที่นั่นด้วยเหตุผล" - คุณจะพบว่าตัวเองตกงานอย่างรวดเร็วจริงๆ เข้าร่วมหลักสูตรนี้เป็นแบบฝึกหัดการปฏิบัติตามมาตรฐานการเข้ารหัส คุณจะไม่ชอบสิ่งเหล่านี้เสมอไป
littleadv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.