การเข้ารหัสสำคัญหรือไม่ [ปิด]


9

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

ฉันจำสำนวนหนึ่งของอาจารย์ cs ว่า " ฉันไม่เคยเขียนรหัส"


32
คุณกำลังขอให้กลุ่มโปรแกรมเมอร์เขียนโปรแกรมหากการเข้ารหัสมีความสำคัญ ... คุณอาจไม่ได้รับการตอบกลับที่เป็นกลาง
Rachel

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

19
คุณจะเรียนว่ายน้ำจากคนที่ไม่สามารถว่ายน้ำได้หรือไม่?
Steven A. Lowe

5
@Steven A. Lowe: ฉันคิดว่าอาจารย์ที่ไม่ใช่นักว่ายน้ำสอนสรีรวิทยาทางน้ำไม่ใช่ว่ายน้ำ ถึงกระนั้นถ้าเขาไม่ว่ายน้ำฉันก็สงสัยว่าเขารู้ว่ารู้สึกง่วงซึมของไนโตรเจนได้อย่างไร
Javier

4
@ จาเวียร์: มีแนวโน้มมากขึ้นที่เขาสอนการรื้อถอนใต้น้ำ แต่ยังไม่ได้รับการรับรองจากมหาวิทยาลัย คำศัพท์ทางเทคนิคสำหรับคนแบบนั้น (นอกเหนือจาก "ศาสตราจารย์") คือ "poseur" ;-)
Steven A. Lowe

คำตอบ:


27

คุณจะไม่รู้อัลกอริทึมจริงจนกว่าคุณจะโค้ดมัน


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

10
@aggietech: ฉันคิดว่าคำสำคัญที่นี่คือ"ดี"
Robert Harvey

2
@aggietech, Robert เข้าใจถูกต้อง ฉันสามารถนกแก้วอัลกอริทึมได้ แต่เมื่อฉันพยายามทำให้มันเป็นจริงฉันจะรู้ว่าฉันต้องเรียนรู้มากแค่ไหน

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

2
@ สตีเฟ่นใช่ความซับซ้อนมีส่วนเกี่ยวข้องกับมันมาก

19

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

ฉันเป็นอดีตอาจารย์คณิตศาสตร์ดังนั้นฉันเข้าใจถึงพลังนี้

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


3
เสียงแห่งประสบการณ์ นี่เป็นข้อสรุปที่ดีที่สุดของศาสตราจารย์ที่ฉันคิดว่าฉันเคยเห็น
TehShrike

1
ใช่และฉันจะเพิ่มคุณต้องฝึกฝน "ทำ" ถ้าคุณจะสอนคนอื่นให้ "ทำ" ได้ดี
Beth Whitezel

@BitOff: ฉันเห็นด้วย แต่ "ถ้า" ก็เป็น "เฉพาะในกรณี" อาจารย์ที่ไม่เคยใช้รหัสไม่มีธุรกิจสอนการพัฒนาซอฟต์แวร์ แต่เขาอาจเหมาะสมอย่างยิ่งกับการสอนการพูดทฤษฎีความซับซ้อน ในกรณีนี้สิ่งที่เขาสอนนักเรียนคือวิธีการพิสูจน์ทฤษฎีบทดังนั้นข้อ จำกัด เพียงอย่างเดียวคือเขาต้องมีการฝึกฝนเพื่อพิสูจน์ทฤษฎีบท (ไม่ใช่การเข้ารหัส)
ShreevatsaR

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

16

วิทยาศาสตร์คอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์มากไปกว่าดาราศาสตร์ก็เป็นเรื่องเกี่ยวกับกล้องโทรทรรศน์

- Edsger Dijkstra

ฉันมักจะเห็นด้วย


2
ตกลง แต่สิ่งนี้เกี่ยวข้องกับคำถามได้อย่างไร
Robert Harvey

2
"การเข้ารหัสสำคัญหรือไม่ที่จะต้องมีความสามารถด้านวิทยาศาสตร์คอมพิวเตอร์?" หากคอมพิวเตอร์ไม่เกี่ยวข้องการเข้ารหัสทางกายภาพของคอมพิวเตอร์มีความสำคัญอย่างไร
ElGringoGrande

1
@ Robert Harvey: วิทยาการคอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์อย่างชัดเจนและนักดาราศาสตร์จำนวนมากใช้เวลาเล็กน้อยในการมองผ่านเลนส์แก้ว บางคนวิเคราะห์ผลลัพธ์ ครึ่งหนึ่งของการค้นพบที่สำคัญในการเขียนโปรแกรมคอมพิวเตอร์เป็นที่รู้จักก่อนที่คอมพิวเตอร์จะมาถึง
Orbling

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

3
@Orbling: จริงมาก ตัวอย่างเช่นจำได้ว่าทัวริงเป็นผู้คิดค้นแนวคิดของเครื่องทัวริงสากลก่อนที่จะสร้างคอมพิวเตอร์อิเล็กทรอนิกส์เครื่องแรกขึ้น ความจริงที่ว่าเขาไม่ได้เขียนโค้ดจำนวนมากทำให้เขาเป็นนักวิทยาศาสตร์คอมพิวเตอร์ที่ไร้ความสามารถหรือไม่?
mipadi

11

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

การงอการเปรียบเทียบ: นี่เป็นการถามว่านักวิทยาศาสตร์จรวดทุกคนที่นาซ่าควรจะบินในอวกาศเพื่อเป็น "นักวิทยาศาสตร์จรวดที่ดี" หรือไม่ ไม่แน่นอน การเป็นนักบินอวกาศเป็นส่วนหนึ่งของอุตสาหกรรมการบินอวกาศและเป็นส่วนหนึ่งของภาคปฏิบัติ แต่ก็ไม่ได้หมายความว่านักวิทยาศาสตร์ภาคพื้นดินไม่ได้มีความสำคัญในแบบของพวกเขา

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


1
ฉันคิดว่ามันยุติธรรมที่จะบอกว่านักวิทยาศาสตร์จรวดของ NASA ทุกคนมีพื้นฐานด้านวิทยาศาสตร์จรวดอย่างละเอียดและประสบการณ์เชิงลึกเกี่ยวกับวิศวกรรมเครื่องกลและไฟฟ้า โอ้และพวกเขาก็รู้วิธีเขียนโค้ดด้วยเช่นกัน
Robert Harvey

3
ฉันคิดว่าพวกเขาคำนวณวิถีกระสุนหลายครั้งไม่ใช่แค่ทฤษฎีเกี่ยวกับวิธีการ

3
+1, ฉันจะเพิ่มอีกตัวอย่าง - คุณไม่จำเป็นต้องมีประสบการณ์ในการทำไวน์ให้เป็นนักแสดงที่ยอดเยี่ยม (หรืออะไรก็ตามที่นักชิมไวน์เรียกว่า)
Jas

2
@Jas: การเปรียบเทียบที่แย่มาก นักวิทยาศาสตร์คอมพิวเตอร์ไม่ใช่ผู้รับจากผลิตภัณฑ์สุดท้าย พวกเขาคือผู้ผลิตไวน์
doppelgreener

1
@Axidos ไม่ไม่พวกเขาเป็นเกษตรกรองุ่น
ทำเครื่องหมาย C

9

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

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

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

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

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

ความยาวและระยะสั้นการเข้ารหัสมีความสำคัญสำหรับคนส่วนใหญ่ที่กลายเป็น "นักวิทยาศาสตร์คอมพิวเตอร์" เพราะคนเหล่านี้ส่วนใหญ่จะเป็นโปรแกรมเมอร์คอมพิวเตอร์และวิศวกรระบบคอมพิวเตอร์


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

3

ขึ้นอยู่กับสาขาย่อยที่ศาสตราจารย์อยู่

ทุกคนที่มีความสามารถในการวิเคราะห์เชิงตัวเลขน่าจะเป็น Fortran หวือ อาจารย์ AI ทุกคนจะใช้รหัสใน Lisp หรือ Prolog หรืออะไรทำนองนั้น

ในบางพื้นที่ทางคณิตศาสตร์มากขึ้นไม่จำเป็นต้องมีรหัสจริงๆ ฉันยังคงเป็นคนน่าสงสัย


2

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


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

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

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

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

@ Mark C: ใช่แล้วฉันอยากให้ทุกคนเอาทุกอย่างที่พูดโดยใคร ๆ
Orbling


2

คุณสามารถทำความเข้าใจกับทฤษฎีเท่านั้น แต่ฉันมักจะพบว่าฉันเข้าใจอัลกอริธึมและ 1,000x ที่ดีกว่าหลังจากเขียนโค้ดเหล่านั้น (Bubble sort vs. Quicksort ตัวอย่างเช่นมันเป็นเรื่องดีที่รู้ Big-O แต่เห็นมันในทางปฏิบัติด้วยข้อมูลขนาดใหญ่ - ชุดให้คุณชื่นชมโลกแห่งความจริงบางอย่างสำหรับการวัดความซับซ้อนในการคำนวณ)

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


2

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

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


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


3
อาจารย์สอนภาษาอังกฤษควรรู้วิธีการเขียนสคริปต์ภาพยนตร์หากพวกเขาสอนคนอื่นถึงวิธีการเขียนสคริปต์ภาพยนตร์ แต่อาจารย์สอนภาษาอังกฤษทุกคนควรมีความสามารถในการเขียนวิทยานิพนธ์ที่ดีมากหากไม่ใช่หนังสือจริง
Robert Harvey

2
@ Robert Harvey: อาจารย์ของ OP ไม่ได้บอกว่าเขาไม่สามารถเขียนโค้ดได้ เขาอาจเป็นนักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีที่ใช้เวลาส่วนใหญ่ในการค้นคว้า ในขณะที่ JB King ชี้ให้เห็นตราบใดที่เขาไม่ได้บรรยายพูดออกแบบคอมไพเลอร์หรือวิศวกรรมซอฟต์แวร์เขาสามารถมีประสบการณ์และความสามารถในสาขาของเขาได้เป็นอย่างดี
mipadi

@ Robert Harvey: ฉันคิดว่า @mipadi มีประเด็นอยู่ที่นั่นศาสตราจารย์เพิ่งพูดว่า"ฉันไม่เคยเขียนโค้ด"ไม่ใช่ว่าเขาไม่มีความสามารถ
Orbling

@JB King, @Orbling: ฉันพนันได้เลยว่าคำพูดนั้นเป็นคำแปลดังนั้นอย่าคิดเกินจริง
Javier

@ จาเวียร์: เป็นไปได้ดีซึ่งในกรณีนี้มันจะยิ่งชัดเจนน้อยลง
Orbling

2

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


1

แม้จะเป็นนักพัฒนาซอฟต์แวร์มืออาชีพ แต่ฉันก็ได้ปริญญาวิศวกรรมเครื่องกล

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

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

แต่สำหรับคนส่วนใหญ่นั้นไม่มีประโยชน์อย่างแน่นอนจากการปฏิเสธรหัส


2
แต่เป็นคุณกล่าวว่าคุณเป็นกลวิศวกรและคุณกำลังพูดคุยเกี่ยวกับซอฟต์แวร์วิศวกรรม วิศวกรสร้างสิ่งของ แต่อาจารย์ในคำถามที่สอนคอมพิวเตอร์วิทยาศาสตร์
mipadi

1

หากคุณไม่ได้ไตร่ตรองและยุติปัญหาการหยุดชะงักมีการใช้การเข้ารหัสในทุกแง่มุมของวิทยาศาสตร์คอมพิวเตอร์เสมอ

CS คลาสเดียวที่ฉันเรียนด้วยการเขียนโปรแกรมอย่างไม่มีทฤษฎี ฉันคิดว่ามีนักฟิสิกส์มากมายที่พูดว่า "ฉันไม่เคยทดลอง" แต่พวกเขาอาจเป็นคนที่พูดว่า "ฉันไม่เคยค้นพบอะไรเลย" และฉันจะแปลกใจถ้าพวกเขาสนใจ


1
ในระดับการคำนวณของฉัน (กับมหาวิทยาลัยใน 10 อันดับแรกในระดับสากลดังนั้นจึงไม่ใช่เรื่องง่อย) ฉันจะบอกว่าอย่างน้อยหนึ่งในสามของชั้นเรียนของฉันไม่มีรายการในพวกเขาเลย การคำนวณเป็นมากกว่าโค้ด
Orbling

ตกลงดีฉันไปมหาวิทยาลัยสิบอันดับแรกเช่นกันเราอาจได้ไปมหาวิทยาลัยเดียวกันและเรียนที่แตกต่างกันตามชอบของเราเองหรือไม่ชอบหรืออาจารย์อากาศรับหนึ่งหรืออื่น ๆ โดยการสุ่ม
Peter Turner

0

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

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

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


-6

ฉันมีสำนวนอื่นสำหรับอาจารย์ของคุณ:

ผู้ที่สามารถทำได้ผู้ที่ไม่สามารถสอนได้

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


6
Einstein, Aristotle, Webster, Ayn Rand, Thoreau, Confucius และ Booker T. Washington เป็นอาจารย์ คำสั่งที่ไม่ได้รับการศึกษาคืออะไร
JeffO

4
-1 สำหรับความคิดเห็นที่ดูถูกอย่างมหาศาลต่อครู มักจะยกมาฉันรู้ แต่ไร้สาระเสมอ คำกล่าวเดิมของ George Bernard Shaw คือ "ผู้ที่สามารถทำได้ผู้ที่ไม่สามารถสอนได้" จากMan and Superman, 1903 - เขายังกล่าวว่า: "สำหรับฉันความหวังเดียวของความรอดของมนุษย์อยู่ในการสอน" และเป็นผู้ร่วมก่อตั้ง London School of Economics (LSE) ดังนั้นคุณจึงตัดสินมุมมองของเขา
Orbling

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

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

2
@GrandmasterB: ถ้าศาสตราจารย์ทางวิทยาศาสตร์มุ่งเน้นไปที่ทฤษฎีการคำนวณเป็นไปได้สูงว่าเขาจะไม่ค่อยเขียนโค้ด ไม่ได้หมายความว่าเขาไม่ได้ทำอะไรในสาขาของเขา - เขาน่าจะตีพิมพ์บทความเกี่ยวกับทฤษฎีการคำนวณ! คุณกำลังมหันต์การเขียนโปรแกรมด้วยวิทยาการคอมพิวเตอร์
mipadi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.