ห้าสิ่งที่ฉันเกลียดเกี่ยวกับรายการ "สิ่งที่ฉันเกลียดเกี่ยวกับบางภาษา" : D
5- การวาดภาพสีส้มแดงไม่ได้ทำให้แอปเปิ้ล
เมื่อภาษาได้รับการออกแบบนักออกแบบมักจะคำนึงถึงสิ่งที่เป็นประโยชน์ การใช้มันเพื่อสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิงสามารถใช้งานได้ แต่การบ่นเมื่อมันไม่ได้โง่ ใช้ Python ฉันแน่ใจว่ามีบางคนหรือบางคนจะสร้างโปรแกรมอรรถประโยชน์เพื่อสร้าง exe จากรหัส Python ทำไมบนโลกของพระเจ้าที่คุณต้องการต้องการทำเช่นนั้น? มันจะเรียบร้อย - อย่าเข้าใจฉันผิด - แต่มันไม่มีประโยชน์ ดังนั้นหยุดบ่นเกี่ยวกับมัน!
โครงการที่ออกแบบมาอย่างดีน่าจะมีรหัสจากหลายภาษา ไม่ได้หมายความว่าคุณไม่สามารถทำโครงการด้วยภาษาเดียวเท่านั้น บางโครงการอาจอยู่ในความสามารถของภาษาที่คุณใช้
4- คุณกำลังยืนบนขาไม้หรือไม่?
แพลตฟอร์มสามารถมีอิทธิพลอย่างมากต่อสิ่งที่ภาษาสามารถทำได้ ในปัจจุบันนี้มีนักสะสมขยะหรือแม้แต่คนที่มีความพยายามในยุคต้น ๆ ที่ "การรวบรวมขยะ" สามารถช่วยในเรื่องความจำเลือนหายไปได้ คอมพิวเตอร์เร็วขึ้นและแน่นอนเราคาดหวังมากกว่าภาษาของเรา และค่อนข้างตรงไปตรงมาเราอาจจะควร อย่างไรก็ตามมีราคาจำนวนมากที่ต้องจ่ายเพื่อความสะดวกของคอมไพเลอร์ในการสร้างตารางแฮชหรือสตริงหรือแนวคิดอื่น ๆ ที่หลากหลาย สิ่งเหล่านี้อาจไม่ได้รับการสืบทอดไปยังแพลตฟอร์มที่พวกเขาใช้ หากจะบอกว่าพวกเขาง่ายต่อการรวมกับภาษาเพียงแค่บอกฉันว่าคุณอาจไม่มีขาที่จะยืน
3- ความผิดของใครมันจริงเหรอ?
เป็นโรคจิต คุณรู้. ฉันรักแมลง ทำไมฉันถึงชอบแมลง เพราะมันหมายถึงฉันได้รับการทำงานของฉัน หากไม่มีข้อบกพร่องก็จะมีร้านพิซซ่าปิดอยู่หลายแห่ง อย่างไรก็ตามผู้ใช้เกลียดข้อบกพร่อง แต่ที่นี่มีน้ำเย็นเล็กน้อย ข้อผิดพลาดทุกคนเป็นความผิดของโปรแกรมเมอร์ ไม่ใช่ภาษา ภาษาที่มีไวยากรณ์ที่เข้มงวดเช่นนี้ซึ่งจะลดจำนวนบั๊กที่เป็นไปได้ที่จะสร้างขึ้นอย่างมีนัยสำคัญจะเป็นภาษาที่ไร้ประโยชน์อย่างสมบูรณ์ ความสามารถของมันอาจนับได้ด้วยมือเดียว คุณต้องการความยืดหยุ่นหรือพลัง คุณมีข้อบกพร่อง ทำไม? เพราะคุณไม่สมบูรณ์และคุณทำผิดพลาด ทำตัวเป็นตัวอย่างที่พิสูจน์ได้จริงๆใน C:
int a[10];
for (int idx = 0; idx < 15; idx++) a[idx] = 10;
เราทุกคนรู้ว่าสิ่งที่จะทำ อย่างไรก็ตามสิ่งที่เราบางคนอาจไม่ทราบก็คือ .. ฟังก์ชั่นนั้นมีประโยชน์มาก ขึ้นอยู่กับสิ่งที่คุณกำลังทำ การใช้บัฟเฟอร์มากเกินไปเป็นค่าใช้จ่ายของฟังก์ชันการทำงานนั้น รหัสข้างบนนั้น ถ้าฉันจริงปล่อยให้ประชาชน นั่นอีกครั้ง .. พูดกับฉัน .. "ความผิดของฉัน" ไม่ใช่ของ C ที่อนุญาตให้ฉันทำ
2- เราไม่ควรใส่ลงในถังขยะ?
มันง่ายมากที่จะชี้ไปที่คุณลักษณะในภาษาที่เราไม่เข้าใจเพราะเราไม่ได้ใช้บ่อยและเรียกมันว่าโง่ บ่นว่ามันอยู่ที่นั่น ฯลฯ ไปที่ความบันเทิงของฉันเสมอ ผู้คนมักจะบ่นเกี่ยวกับการที่อยู่ในภาษาของโกโตะ แต่ฉันเดิมพันโปรแกรมสุดท้ายของคุณรวมประเภทของ goto หากคุณเคยหยุดพักหรือทำต่อไป นั่นคือสิ่งที่มันเป็น ได้รับมันเป็น "ปลอดภัย" ไปแล้ว แต่มันคือสิ่งที่มันเป็น Goto มีประโยชน์ ไม่ว่าจะเป็นการใช้ "โดยนัย" อย่างการดำเนินการต่อหรือการแตกหรือการใช้งานอย่างชัดเจน (โดยใช้คำหลักที่แท้จริง "goto" สำหรับภาษาใดก็ตาม) ไม่ใช่ว่านักพัฒนาภาษาจะไม่มีที่ติ แต่โดยทั่วไป ... หากการทำงานมีอยู่นับตั้งแต่รุ่งอรุณของเวลา (สำหรับภาษานั้น) มีแนวโน้มว่าลักษณะคือการกำหนดคุณภาพของภาษานั้น ความหมาย .. มัน ' มีการใช้งานและมีแนวโน้มที่จะไม่แขวนอยู่เพราะความเข้ากันได้ย้อนหลัง มันถูกใช้ในวันนี้ เช่นใน 5 นาทีที่ผ่านมา และใช้อย่างเหมาะสม ดี .. เนื้อหาที่มีคนใช้อย่างไม่เหมาะสมเช่นกัน แต่นั่นเกี่ยวข้องกับ # 3 ในรายการของฉัน
1. - ทุกอย่างเป็นวัตถุ
โอเค .. อันนี้เป็นเซตย่อยของ # 2 แต่นี่คือการร้องเรียนที่น่ารำคาญที่สุดที่ฉันเห็นในรายการที่น่าเกลียด ไม่ใช่ทุกสิ่งที่เป็นวัตถุ มีแนวคิดมากมายที่ไม่ได้เป็นของหรือจำเป็นต้องเป็นวัตถุ การวางสิ่งที่ไม่ได้เป็นของน่าเกลียดและสามารถลดประสิทธิภาพของโปรแกรม แน่ใจ อาจไม่มากขึ้นอยู่กับภาษา สิ่งนี้เกี่ยวข้องกับ # 5 ด้วย หมายความว่า ... ใช่ ทั่วโลกก็โอเค ฟังก์ชั่นตามที่ระบุให้กับวิธีการแบบคงที่ก็โอเค การรวมการเขียนโปรแกรม OO กับฟังก์ชั่นทั่วโลกก็โอเค ตอนนี้ .. นั่นไม่ได้หมายความว่าเราทุกคนควรจะออกไปและ "ฟรี" รหัสของเราจากมันเป็นวัตถุแบบจำลอง เมื่อออกแบบส่วนของรหัสหรือโครงการทั้งหมดเกิดอะไรขึ้นเบื้องหลังควรจะเป็นได้รับการพิจารณาเมื่อนำมารวมกัน ไม่เพียง แต่ที่แนวคิดนั้นมีชีวิตและปัจจัยอื่น ๆ อีกมากมาย ทำไมห่อฟังก์ชั่นทั่วโลกภายในชั้นเรียนหรือแนวคิดพื้นที่ชื่อถ้ามันไม่มีวัตถุประสงค์? รับตัวแปรสมาชิกแบบคงที่ นั่นทำให้ฉันประหลาดใจอย่างมากเพราะ .. ดี .. ขึ้นอยู่กับภาษาและการใช้งานของหลักสูตร แต่โดยทั่วไปแล้วคุณเพิ่งประกาศทั่วโลก ใช่มีเหตุผลบางอย่างที่จะห่อแนวคิดที่ไม่ใช่ OO เหล่านี้ใน wrapper OO หนึ่งในนั้นคือรหัสการทำเอกสารด้วยตนเอง ที่สามารถทำให้รู้สึก ดังนั้น .. เหมือนที่ฉันพูด อย่าออกไปและ "ฟรี" รหัสของคุณ แต่ภาษาสมัยใหม่ที่ดีใด ๆ จะมีแนวคิดระดับโลกนอกเหนือจากแบบจำลอง OO ใช่ฉันหมายถึงเฉพาะเจาะจงที่จะชี้ให้เห็นว่าภาษาการเขียนโปรแกรม OO ที่ไม่มีแนวคิดระดับโลกส่วนใหญ่มีข้อบกพร่องการออกแบบอย่างจริงจัง อีกครั้งแม้ว่า .. ขึ้นอยู่กับความตั้งใจและการออกแบบของภาษาดังนั้นฉันไม่ได้พยายามเลือกภาษาเฉพาะใด ๆ และมีการวิเคราะห์ที่นี่มากเกินไป พิจารณาว่ารหัสใดควรอยู่และมีประสิทธิภาพมากที่สุด การเพิ่มแสงจ้าให้กับสิ่งที่ไม่เพิ่มฟังก์ชั่นหรือรองรับเพียงแค่ใส่คีย์บอร์ดเร็วขึ้น มันไม่ได้ทำให้ใครดี ดี .. เว้นแต่คุณจะชอบคะแนนบราวนี่จากคนที่อาจสอนคุณไม่ถูกต้องว่าทุกอย่างเป็นวัตถุ
ในระยะสั้นการเขียนโปรแกรมไม่เพียงแค่แตะบนคีย์บอร์ดอย่างไม่สนใจ มีข้อควรพิจารณาในการออกแบบมากมายสำหรับโครงการใด ๆ ฉันรู้ว่ามันน่าเบื่อ แต่คุณต้องดูจากทุกมุม แม้จะเป็นภาษาที่ปลอดภัยในปัจจุบัน คุณไม่เพียงแค่โยนรหัสออกและคาดว่ามันจะทำงานได้ดี แน่นอนว่า .. มันอาจใช้งานได้ แต่มันอาจไม่ใช่วิธีที่ถูกต้องที่จะไปเกี่ยวกับเรื่องนี้ โดยรวมแล้วเลือกภาษาและรูปแบบที่เหมาะสมที่สุดสำหรับงานเฉพาะและสภาพแวดล้อม แต่ไม่มีภาษาใดนำความคิดนั้นไปใช้ หากคุณไม่ได้คิด .. คุณแค่พิมพ์