การพัฒนาซอฟต์แวร์เพิ่ม IQ หรือไม่?

การพัฒนาซอฟต์แวร์เพิ่ม IQ หรือไม่?

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

สมองของโปรแกรมเมอร์

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

แนวทางปฏิบัติที่ดีในการพัฒนาซอฟต์แวร์ที่ส่งผลต่อวิธีคิดของคุณ

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

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

แนวทางปฏิบัติในการพัฒนาซอฟต์แวร์ที่ดี

จากมุมมองของเรา:

การจัดระเบียบ (เพื่อให้มีประสิทธิผลสูง) อาจยากกว่าการเรียนรู้การเขียนโปรแกรม (สำหรับผู้ที่เพิ่งเริ่มต้น) หรือการเรียนรู้เทคโนโลยีใหม่ ๆ เนื่องจากสิ่งที่ยากจริงๆ คือ การพัฒนาโครงการในรูปแบบที่มีโครงสร้าง แม่นยำและเหนือสิ่งอื่นใด วิธีอ่านง่าย

อัลเบิร์ต ไอน์สไตน์ เคยกล่าวไว้ว่า

หากคุณไม่สามารถอธิบายง่ายๆ แสดงว่าคุณไม่เข้าใจมันดีพอ Albert Einstein

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

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

การเขียนโปรแกรม Spongebob และ Patrick

ต่อไปฉันจะอธิบาย2 แนวทางการพัฒนาซอฟต์แวร์ที่ดี that you must คำนึงถึง เมื่อดำเนินโครงการของคุณและฉันแน่ใจว่าจะเปลี่ยนวิธีคิดของคุณ

Simplicity

ทำให้รหัสของคุณง่ายที่สุด!

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

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

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

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

คอมพิวเตอร์เสีย

คนส่วนใหญ่ ถ้าไม่ใช่ทั้งหมด คนที่ฉันรู้จักจะประสบกับความเสียหายอย่างน้อย 1 ครั้งต่อสัปดาห์ ถ้าไม่มากไปกว่านั้น ฉันสามารถพูดได้ว่าอย่างน้อยสัปดาห์ละครั้งฉันประสบความล้มเหลวบางอย่างหรือฉันพบว่าเพื่อนหรือ เพื่อนร่วมงานได้ผ่านสิ่งเดียวกัน นั่นคือประมาณ 10 ปี

หากเรานับ ประสบการณ์ของผมมีอยู่ 480 รูปแบบที่แตกต่างกัน และนั่นก็ไม่เจ๋ง

ทำไมคอมพิวเตอร์ถึงพังอย่างต่อเนื่อง?

เมื่อพูดถึงซอฟต์แวร์ มีเพียงเหตุผลเดียวคือ โปรแกรมเมอร์ที่ไม่ดี

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

ฉันสามารถพูดได้เต็มปากว่าโปรแกรมเมอร์ที่ไม่ดีต้องโทษสำหรับความล้มเหลวของคอมพิวเตอร์นับไม่ถ้วน

ความผิดพลาดของคอมพิวเตอร์นับไม่ถ้วน

โปรแกรมเมอร์ที่ไม่ดีคืออะไร?

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

หากโปรแกรมเมอร์ส่วนใหญ่เป็นคนมีเหตุผล เหตุใดซอฟต์แวร์จึงมีข้อบกพร่องมากมาย สาเหตุหลักของข้อผิดพลาดของคอมพิวเตอร์คือ ความซับซ้อน.

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

จำนวนบรรทัดของรหัส Windows 10

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

Operating system บรรทัดของรหัส
เคอร์เนล Linux 3.1 15 ล้าน
Windows XP 40 ล้าน
Windows 7 40 ล้าน
Windows Vista 50 ล้าน
Debian 5.0 (รหัสฐาน) 67 ล้าน
Mac OS X «Lion» 85 ล้าน

ฉันฝากข้อมูลเพิ่มเติมให้คุณ:

Facebook มีโค้ดประมาณ 61 ล้านบรรทัด และ Google มีโค้ดประมาณ 2 พันล้านบรรทัด. แน่นอน บริการจำนวนมากที่ Google เสนอให้เหมาะสม

จำนวนบรรทัดของโค้ดจาก Google และ Facebook

ซอฟต์แวร์ที่คอมพิวเตอร์ทำงานนั้นซับซ้อนมากจนอาจไม่มีใครสามารถเข้าใจรหัสทั้งหมดได้

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

กล่าวโดยย่อ นั่นคือทั้งหมดที่เกี่ยวกับการเขียนโปรแกรม: "ลดความซับซ้อนให้เรียบง่าย"

จะเป็นโปรแกรมเมอร์ที่ดีได้อย่างไร?

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

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

ซอฟต์แวร์เขียนโปรแกรมผู้ชาย

การเขียนโปรแกรมด้วยวิธีง่าย ๆ ยากกว่าหรือไม่?

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

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

การวางแผนโครงการซอฟต์แวร์

คุณเพียงแค่ต้องมองไปรอบ ๆ ตัวคุณและตระหนักถึงปัญหาใหญ่ที่ COMPLEXITY กลายเป็นในโปรแกรมซอฟต์แวร์

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

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

Code Simplicity พื้นฐานของซอฟต์แวร์

ความเรียบง่ายของโค้ด: พื้นฐานของซอฟต์แวร์ , เขียนโดย Max Kanat-Alexander.

หัวหน้าเจ้าหน้าที่ด้านเทคนิคของ Code Health ที่ Google และอดีตหัวหน้าสถาปนิกของโครงการ Bugzilla เขาซ่อมคอมพิวเตอร์มาตั้งแต่อายุแปดขวบและเขียนซอฟต์แวร์ตั้งแต่อายุสิบสี่

แบบทดสอบ

ทำการทดสอบเสมอ พวกเขาไม่ได้เป็นตัวเลือก!

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

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

การพัฒนาซอฟต์แวร์โดยไม่ทำการทดสอบก็เหมือนทำการแสดงผาดโผนโดยไม่มีความปลอดภัย

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

ข้อผิดพลาดของคอมพิวเตอร์เกิดขึ้นเนื่องจากไม่มีหรือใช้การทดสอบซอฟต์แวร์อย่างไม่ถูกต้อง

ฉันแน่ใจว่าเหตุการณ์ที่กล่าวถึงด้านล่างจะทำให้คุณไตร่ตรองและให้ความสำคัญมากขึ้นกับการทดสอบซอฟต์แวร์

การทดสอบซอฟต์แวร์
ความล้มเหลวของเรดาร์ตรวจจับขีปนาวุธ

มันเกิดขึ้นในปี 1983 เมื่อระบบแจ้งเตือนการตรวจจับขีปนาวุธของสหภาพโซเวียตรายงานว่าสหรัฐอเมริกาได้ปล่อยขีปนาวุธ 5 ลูกและพวกเขากำลังดำเนินการอยู่

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

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

  • ศึกษาสิ่งแวดล้อม ที่จะวางระบบแจ้งเตือนไว้
  • , และ
  • การฉีดตัวแปรอินพุตทุกประเภท ที่อาจส่งผลกระทบต่อระบบ

ทั้งสองแนวทางปฏิบัติที่เป็นส่วนหนึ่งของการทดสอบซอฟต์แวร์

เปิดตัวขีปนาวุธของสหรัฐ
การทำลายล้างของนาวิกโยธิน I

เกิดขึ้นในปี 2505 และทำให้ขาดทุนประมาณ 18.5 ล้านเหรียญสหรัฐ Mariner I เป็นภารกิจแรกในโครงการ Mariner ที่พยายามจะบินเหนือดาวศุกร์ น่าเสียดายที่ไม่ประสบความสำเร็จ

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

ข้อผิดพลาดถูกกำหนดในภายหลัง: สูตรในรหัสที่ตั้งโปรแกรมไม่ถูกต้อง

จรวดอวกาศระเบิด
Therac-25 เครื่องเร่งเชิงเส้นด้วยรังสีบำบัด

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

ระหว่างมิถุนายน 2528 ถึงมกราคม 2530 Therac-25 ผลิตโดย AECL (Atomic Energy of Canada Limited) เป็นผู้เข้าร่วมในอุบัติเหตุอย่างน้อย 6 ครั้งและเสียชีวิต 3 รายจากการได้รับรังสีเกินขนาด

เครื่องเร่งเชิงเส้น Therac-25

หลังจากการสอบสวนสรุปได้ว่า สาเหตุหลักของการเกิดอุบัติเหตุ Therac-25 มีดังนี้:

  • แนวทางการพัฒนาซอฟต์แวร์ที่ไม่ดี
  • การวิเคราะห์ความต้องการที่ไม่ดี
  • การออกแบบซอฟต์แวร์ที่ไม่ดี

และหากนั่นยังไม่พอ ซอฟต์แวร์ที่ใช้ Therac-25 นั้นได้รับการพัฒนาในลักษณะที่แทบเป็นไปไม่ได้เลยที่จะระบุ และแก้ไขจุดบกพร่องหรือข้อผิดพลาดโดยอัตโนมัติ

สาเหตุอื่นๆ ที่พบ:

  • AECL ไม่เคยส่งหน่วยงานอิสระเพื่อตรวจสอบซอร์สโค้ด
  • ไม่มีการพิจารณาการทำงานที่เกี่ยวข้องกับการบริหารความเสี่ยงในการออกแบบ
  • ระบบไม่อนุญาตให้ตรวจสอบการทำงานที่ถูกต้องของเซ็นเซอร์
  • มีตัวแปรแฟล็กที่เปลี่ยนค่าแทนที่จะเก็บค่าคงที่
  • โอเวอร์โฟลว์ "class3" ของตัวแปร
  • ท่ามกลางคนอื่น ๆ.
ตัวแปรคลาส 3 ล้น
Ship Yorktown (CG-48) และหารด้วยศูนย์

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

ในเดือนกันยายน 1997 ลูกเรือคนหนึ่งป้อนศูนย์ในฟิลด์ฐานข้อมูล ทำให้ระบบดำเนินการหารด้วยศูนย์ภายใน ซึ่งทำให้เกิดข้อบกพร่อง ในที่สุดก็สร้างบัฟเฟอร์ล้น และในที่สุดก็ล้มเหลวในระบบขับเคลื่อนของเรือรบ

เรือยอร์กทาวน์
โปรเซสเซอร์ Intel Pentium พร้อมข้อผิดพลาดในการแยก

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

อย่างไรก็ตามสิ่งนี้ Intel สูญเสียไปประมาณ 350 ล้านดอลลาร์ โดยไม่นับความเสียหายต่อภาพลักษณ์ที่แทบจะวัดค่าไม่ได้

โปรเซสเซอร์ Intel Pentium

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

วิศวกรซอฟต์แวร์ เช่นเดียวกับวิศวกรโครงสร้างหรือวิศวกรโยธา ควรจะสามารถสาธิตได้โดยวิธีการ ความน่าเชื่อถือและการปฏิบัติตามฟังก์ชันที่จำเป็น

ดังที่คุณอาจสังเกตเห็น การทดสอบเป็นส่วนสำคัญของโครงการใดๆ พวกเขาไม่ได้เป็นตัวเลือก!

ตามที่ Ilene Burnstein ในหนังสือของเธอ: “การทดสอบซอฟต์แวร์เชิงปฏิบัติ”, การทดสอบซอฟต์แวร์มี 3 ขั้นตอนหลัก:

  • การพัฒนากรณีทดสอบ
  • การดำเนินการของกรณีทดสอบ
  • การวิเคราะห์ผลลัพธ์

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

Edsger Dijkstra พูดได้ดี:

การทดสอบสามารถแสดงการมีอยู่ของข้อผิดพลาดในโปรแกรมได้ แต่ไม่ใช่การขาดหายไป Edsger Dijkstra (รางวัลทัวริงในปี 1972)
การจัดฉากการทดสอบซอฟต์แวร์ในชีวิตจริง

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

ตัวอย่างซอฟต์แวร์ที่ใกล้เคียงกับความสมบูรณ์แบบ

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

รถไฟใต้ดินปารีสสาย 14 เป็นระบบอัตโนมัติทั้งหมด รถไฟไม่มีคนขับและดำเนินการโดยซอฟต์แวร์ รถไฟสายนี้เริ่มดำเนินการในปี 2541

รถไฟใต้ดินปารีสสาย 14

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

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

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

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

ค่าใช้จ่ายในการทดสอบซอฟต์แวร์

แนวการทดสอบซอฟต์แวร์ในปัจจุบันเป็นอย่างไร?

เส้นทางสู่การพัฒนาโครงการซอฟต์แวร์ประกอบด้วย 3 ขั้นตอนที่กำหนดไว้อย่างดี:

  • Specifications
  • การออกแบบและการเข้ารหัส
  • การตรวจสอบความถูกต้อง

ในขั้นตอนการตรวจสอบความถูกต้อง วิศวกรที่รับผิดชอบตรวจสอบให้แน่ใจว่าซอฟต์แวร์สอดคล้องกับสิ่งที่วางแผนไว้ในข้อกำหนด วิธีที่พวกเขาทำคือ "การทดสอบ"

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

ความสำคัญของการทดสอบซอฟต์แวร์

สิ่งที่อธิบายข้างต้นมีปัญหาใหญ่เกี่ยวกับความไม่สอดคล้องกัน ฉันจะอธิบายให้คุณฟังด้านล่าง:

ข้อผิดพลาดในการทดสอบซอฟต์แวร์และความไม่สอดคล้องกันในปัจจุบัน

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

ปัญหาที่สองคือ คุณจะไม่มีวันได้ทดสอบทุกกรณีที่เป็นไปได้. สมมติว่าเรามีซอฟต์แวร์ขนาดเล็กที่:

  • รับหมายเลขใด ๆ เป็นอินพุต,
  • เพิ่ม 10 และ
  • ส่งคืนค่าของผลรวมเป็นผลลัพธ์

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

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

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

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

เพียงเพื่อให้คุณมีความคิด:

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

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

โดยใช้วิธีการที่เป็นทางการในการพัฒนาโครงการซอฟต์แวร์ของเรา ความแน่นอนของคุณสมบัติและ/หรือฟังก์ชันของซอฟต์แวร์รับประกันผ่านการหักเงิน กล่าวคือ ผ่านคณิตศาสตร์ (p -> q)

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

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

อย่างไรก็ตามในระดับเล็กน้อยความต้องการดังกล่าวไม่สามารถทำกำไรได้ อย่างน้อยเราต้องปฏิบัติตามการทดสอบทั่วไป

ด้านล่างฉันแบ่งปันสิ่งพิมพ์เกี่ยวกับแนวปฏิบัติที่ดีที่คุณไม่ควรพลาดหากคุณต้องการพัฒนาโครงการที่มีคุณภาพ

Programación y más

สิ่งพิมพ์แนวปฏิบัติที่ดี

การเรียนรู้อย่างต่อเนื่องมีประโยชน์ต่อสมองของเราอย่างไร?

การเรียนรู้เป็นเหมือนเชื้อเพลิงสำหรับสมองของเรา

ในวิทยาลัยหรือมหาวิทยาลัย เราได้เสียสละการศึกษาอย่างต่อเนื่องและไม่เพียงพอ เพราะทุกนาทีที่ผ่านข้อมูลใหม่ๆ ออกมา ไม่ว่าจะเรียนสายอาชีพอะไร

จะมีสิ่งใหม่ให้เรียนรู้อยู่เสมอ

สิ่งที่ต้องจำไว้คือเมื่อเราเรียนรู้ สมองของเราได้รับผลกระทบจากการเปลี่ยนแปลงโครงสร้างประสาท

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

การเปลี่ยนแปลงในสมองเหล่านี้อาจเกิดจาก แนวปฏิบัติที่ดีของการเรียนรู้อย่างต่อเนื่อง, การปรับโครงสร้างการเชื่อมต่อ synaptic และบางครั้งสร้างการเชื่อมต่อใหม่

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

สำหรับการวิจัยนี้ IQ ได้รับการคำนวณจากปัจจัยต่อไปนี้:

  • ความสามารถในการวิเคราะห์
  • ความสามารถในการสะท้อนแสง
  • การแก้ปัญหา
การเรียนรู้อย่างต่อเนื่องมีประโยชน์ต่อสมองของเราอย่างไร

ต่อไปนี้เป็นข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับการวิจัยที่เป็นปัญหา:

ความฉลาดขึ้นอยู่กับประสิทธิภาพของเซลล์ประสาท - Erhan Genç

ทีมที่นำโดย Erhan Genç วิเคราะห์สมองของชายและหญิง 259 คนที่มีอายุระหว่าง 18 ถึง 40 ปี และมีสุขภาพที่ดี เพื่อวัดเดนไดรต์ในซีรีบรัลคอร์เทกซ์ กล่าวคือ ส่วนต่อขยายของเซลล์ประสาทที่เซลล์ใช้สื่อสารกันในด้านประสิทธิภาพของหน่วยสืบราชการลับ

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

ประสิทธิภาพของระบบประสาท

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

การศึกษาได้รับการตรวจสอบกับกลุ่มตัวอย่าง 500 คนและได้ข้อสรุปเดียวกัน

Erhan Genç ผู้เขียนหลักของการศึกษาสรุปว่า:

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

การเขียนโปรแกรมมีอิทธิพลต่อความสามารถทางจิตของเราอย่างไร?

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

แต่มันทำในลักษณะใด? มาดูกัน.

โปรแกรมเมอร์คิดต่างจากคนอื่นมาก, เพราะโดยทั่วไปแล้ว พวกเขามักจะมีเหตุผลและมีเหตุผลมากกว่าค่าเฉลี่ย แม้ว่าจะไม่จำเป็นก็ตาม

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

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

Jim Carrey เขียนโปรแกรมได้เร็ว

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

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

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

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

สวัสดีชาวโลกด้วยCOBOL

ฉันพูดถึงข้อเท็จจริงบางอย่างที่มันเป็นเรื่องจริงอย่างไม่น่าเชื่ออย่างที่เห็น

75% ของข้อมูลธุรกิจได้รับการประมวลผลในภาษาโคบอล (ที่มา: Gartner)

มีสายงานภาษาโคบอลต์ใช้งานอยู่ทั่วโลก (Gartner) 180 พันล้านถึง 200 พันล้านสาย

15% ของแอปพลิเคชันใหม่เขียนเป็นภาษาโคบอล (Gartner)

Gartner Group

แล้วการโยกย้ายจากภาษาโคบอลไปเป็นระบบเทคโนโลยีสมัยใหม่จะมีค่าใช้จ่ายเท่าไร?

ต้นทุนทดแทนสำหรับระบบภาษาโคบอลต์ ประมาณ 25 ดอลลาร์ต่อบรรทัด อยู่ในหลายร้อยพันล้านดอลลาร์ กลุ่มกลยุทธ์ทางยุทธวิธี

Bill Curtis พูดได้ดี:

ธนาคารควรยึดติดกับแอปพลิเคชัน COBOL แบบเก่า เนื่องจากไม่มีปัญหาด้านความปลอดภัยและการพัฒนาที่ปรากฏขึ้นพร้อมกับภาษาใหม่ เช่น Java Bill Curtis, CAST COO

ฉันจะพูดถึงคุณด้านล่าง 3 วิธีการเขียนโปรแกรมส่งผลต่อสมองของคุณ:

1. เครื่องมือที่เราใช้ในโปรแกรมมีอิทธิพลต่อแบบจำลองทางจิตของเรา

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

Dijkstra หนึ่งในผู้บุกเบิกในการจัดตั้งโปรแกรมกระจายกล่าวว่า:

เครื่องมือที่เราใช้มีอิทธิพลอย่างลึกซึ้ง (และหลอกลวง) ต่อเรา นิสัยการคิด และ, ดังนั้นใน .ของเรา ทักษะการคิด. Edsger Dijkstra

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

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

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

วิศวกรซอฟต์แวร์รายได้ดี

วันนี้เป็นเวลาที่ดีที่สุดที่จะเริ่มต้น มาดูกันว่าทำไม:

เหตุใดภาคไอทีจึงได้รับการแนะนำมากที่สุดในปี 2564

ตามที่คณะกรรมาธิการเศรษฐกิจสำหรับละตินอเมริกาและแคริบเบียน (ECLAC) ประเทศในละตินอเมริกาจะเริ่มเติบโตหลังจากภาวะเศรษฐกิจถดถอยในปี 2020

คาดว่าการเติบโต 3.7% ในปี 2564 โดยที่ ตัวเอกจะเป็นคนที่อุทิศให้กับโลกดิจิทัล.

2. ดีต่อสุขภาพสมอง

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

มาทบทวนภูมิหลังที่ยืนยันประโยชน์ของการเขียนโปรแกรมเพื่อสุขภาพสมองกัน:

ในปี พ.ศ. 2534 การวิจัยได้ศึกษาผลกระทบของการเขียนโปรแกรมคอมพิวเตอร์ต่อผลลัพธ์ทางปัญญาและระบุว่า นักเรียนในสาขาที่เกี่ยวข้องกับการเขียนโปรแกรมได้คะแนน 16 คะแนนสูงกว่าค่าเฉลี่ยในการทดสอบ IQ.

การศึกษาขนาดใหญ่อีกชิ้นหนึ่งในปี 2542 ได้ยืนยันว่ากิจกรรมที่มีส่วนร่วมทางปัญญาช่วยยับยั้งบุคคลไม่ให้เสื่อมถอยทางสติปัญญา

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

3. ขณะเขียนโปรแกรม คุณกระตุ้นสมองได้ถึง 5 ส่วน

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

สรุปได้ว่า 5 ส่วนต่าง ๆ ของสมองมีส่วนเกี่ยวข้อง:

  • BA 6: ร่องหน้าผากตรงกลาง (ความสนใจ, ภาษา, หน่วยความจำในการทำงาน)
  • BA 21: Mean temporal gyrus (การดึงหน่วยความจำเชิงความหมาย)
  • BA 40: กลีบข้างขม่อมล่าง (หน่วยความจำทำงาน)
  • BA 44: ไจรัสหน้าผากด้อยกว่า (หน่วยความจำทำงาน)
  • BA 47: Inferior frontal gyrus (ภาษา, หน่วยความจำในการทำงาน)

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

สิ่งที่สามารถสังเกตได้คือการแทรกแซงของส่วนต่าง ๆ ของสมองที่ปกติแล้วจะเกี่ยวข้องกับการประมวลผลภาษา ความจำ และความสนใจ

การเขียนโปรแกรมเป็นสิ่งที่ใกล้เคียงที่สุดกับการมีพลังพิเศษ Drew Houston, ซีอีโอของ Dropbox
การเขียนโปรแกรมเป็นสิ่งที่ใกล้เคียงกับการมีพลังวิเศษมากที่สุด
ลูกศรชี้ขึ้น
ดำเนินการทดสอบ คะแนนไอคิวของคุณในทันที! การทดสอบไอคิวนานาชาติ

การทดสอบค่าสัมประสิทธิ์ทางปัญญาทางออนไลน์

Albert Einstein

ไอคิวของคุณคืออะไร?

ให้อ่าน ...

© 2020 - สงวนสิทธิ์ทั้งหมด