ฉันคิดว่า "ภาษาสคริปต์" เป็นคำที่น่ากลัวซึ่งล้าสมัยอย่างมากหรือเหมาะสมกับระดับของภาษาเฉพาะโดเมน ครูของคุณกำลังปรับทุกอย่างที่เห็นได้ชัดว่าเขาไม่มีความเข้าใจเพียงพอเกี่ยวกับแกนแห่งความชั่วร้าย
ความแตกต่างที่สมเหตุสมผลในการทำคือระหว่างภาษาระดับสูงกับภาษาระดับต่ำหรือระหว่างภาษาที่พิมพ์แบบคงที่และแบบไดนามิกซึ่งเป็นมุมฉากอย่างแท้จริง
Assembler เป็นระดับต่ำพิมพ์แบบไดนามิก (ถ้าพูดถึงประเภททำให้รู้สึกใด ๆ ), C เป็นระดับต่ำแบบคงที่พิมพ์, Ruby เป็นระดับสูงแบบไดนามิกพิมพ์ Haskell เป็นระดับสูงแบบคงที่พิมพ์ Java ไม่ได้เป็นแบบคงที่ระดับสูงหรือระดับต่ำ C ++ เป็นทั้งแบบคงที่และระดับต่ำแบบคงที่ และอื่น ๆ
การอภิปรายสามารถทำได้ซึ่งกระบวนทัศน์นั้นเหมาะสมกว่าสำหรับโปรแกรมเมอร์ระดับเริ่มต้น
ฉันค่อนข้างมั่นใจว่าการเขียนโปรแกรมระดับต่ำอาจไม่ใช่หนึ่งเดียว มันอาจจะเป็นช่วงเวลาในช่วงต้นยุค 90 เมื่อคุณสามารถสร้างผลลัพธ์ที่น่าสนใจในเวลาที่เหมาะสม
แต่การเขียนโปรแกรมนั้นมาจากความหลงใหล ความหลงใหลได้รับการหล่อเลี้ยงด้วยรางวัล ดังนั้นโปรแกรมเมอร์ระดับเริ่มต้นควรเริ่มต้นด้วยเครื่องมือที่ให้รางวัล เครื่องมือระดับต่ำจะไม่ให้รางวัลอีกต่อไปเพราะมีเครื่องมือระดับสูงมากมายที่ทำให้คุณได้ผลลัพธ์เหมือนกันในเวลาอันสั้น
ความคิดของมนุษย์เป็นนามธรรม ในขณะที่เราเรียนรู้ที่จะเข้าใจโลกเราทำโดยนามธรรมที่มีเนื้อหยาบมากและเราจะลงรายละเอียดตามที่ต้องการ
เพื่อให้เด็กเข้าใจสภาพแวดล้อมของมันคุณจะไม่สอนคณิตศาสตร์คณิตศาสตร์ฟิสิกส์เคมีเคมีชีววิทยาประวัติศาสตร์ประวัติศาสตร์สังคมวิทยาและปรัชญา คุณให้แบบจำลองที่ง่ายมากของโลกในการรับมือและพินัยกรรมโดยตัวมันเองที่จะผ่านพ้นไปได้คำถามที่จะยิงใส่คุณเมื่อยังเยาว์วัยและเพิกเฉยต่ออำนาจของคุณในภายหลัง
นั่นคือวิธีที่เราคิด สมองของมนุษย์สามารถประมวลผลข้อมูล "หน่วย" ในปริมาณ จำกัด เท่านั้น แต่ระดับของความเป็นนามธรรมนั้นมีความสำคัญเพียงเล็กน้อยในการหาปริมาณของข้อมูล ตัวอย่างเช่นการอ่านนิพจน์ '34 * 75 'ให้เรานั้นง่ายกว่าการคำนวณ แต่สำหรับคอมพิวเตอร์มันเป็นวิธีอื่น การรับรู้ (และทำให้เป็นนามธรรม) กลุ่มของพิกเซลสีดำลงในเส้นไก่เขี่ยซึ่งสามารถได้รับการยอมรับ (และยังมีอีกบทคัดย่อ) เป็นตัวเลขแต่ละตัวเป็นจำนวนมากของการทำงาน
คุณยายของฉันเข้าใจแนวคิดของการเปิดไฟล์ อย่างไรก็ตามเธอไม่มีความเข้าใจในระดับนั้น และตรงไปตรงมาถ้าเธอต้องเรียนรู้สิ่งนี้โดยการศึกษาการทำงานภายในของฮาร์ดแวร์และระบบปฏิบัติการเป็นครั้งแรกและไม่ทำอะไรเธอจะไม่ได้อยู่ที่นั่น
มีผู้คนมากมายที่ทำสิ่งที่เข้าใจยากเกินไปเพราะพวกเขาไม่เคยถูกสอนให้คิดในแง่ของการแก้ปัญหาที่ชัดเจนกระชับและสง่างาม แต่ใช้เวลามากเกินไปกับการแลกเปลี่ยนรายละเอียดในระดับต่ำและแก้ไขปัญหาเหล่านั้น การสอนคนให้คิดเหมือนคอมพิวเตอร์เป็นวิธีการเขียนโปรแกรมที่แย่ที่สุด
คุณค่าของการเขียนโปรแกรมอยู่ในการค้นหาวิธีแก้ไขปัญหา การแสดงมันเป็นรหัสเป็นเรื่องที่น่าเบื่อและเป็นกลไกมากกว่าและควรทำด้วยเครื่องมืออะไรก็ตามที่เหมาะสม
โอ้และไม่ต้องกังวลกับการไม่ได้รับคำแนะนำ ฉันมีปัญหาเดียวกันในวัยเดียวกัน ปัญหาที่นี่ก็คือการขาดความเป็นนามธรรม คลาสสิกที่คุณเรียนรู้เกี่ยวกับพอยน์เตอร์จากหนังสือ C บางเล่มและในขณะที่คุณกำลังพยายามทำความเข้าใจกับสิ่งเหล่านี้สิ่งนี้จะควบคู่ไปกับการจัดสรรหน่วยความจำและด้วยหน่วยความจำสแต็คและฮีปเป็นต้น แนวคิดเชิงนามธรรมที่อยู่เบื้องหลังตัวชี้เป็นทางอ้อม ตัวแปรที่เก็บดัชนีไว้ในอาเรย์เฉพาะคือ (จริง ๆ แล้วมันก็เหมือนกันในซีที่ซึ่งอาเรย์เฉพาะนั้นคือพื้นที่ที่อยู่ของคุณ) และคุณไม่จำเป็นต้องใช้ตัวชี้แบบทางคณิตศาสตร์สำหรับเรื่องนี้
นี่เป็นเพียงภาพประกอบเพื่อแสดงให้เห็นว่าการเลือก abstractions ระดับสูงทำให้เข้าใจได้ง่ายขึ้นมาก
แก้ไข: และเมื่อมันมาถึงการพิมพ์ฉันชอบภาษาที่พิมพ์แบบคงที่ และฉันคิดว่าโปรแกรมเมอร์ระดับเริ่มต้นควรเข้าใจแนวคิดของประเภทอย่างชัดเจน (ซึ่งเป็นนามธรรม)