สวัสดีและยินดีต้อนรับกลับ
ในการบรรยายครั้งนี้ ฉันอยากจะเสวนา คุณลักษณะเฉพาะบางอย่างที่เกี่ยวข้องกับภาษาโปรแกรมซี
เราจึงทราบข้อดีทั้งหมดของค
ฉันพูดคุยเกี่ยวกับชนิดของอาการคลื่นไส้โฆษณานั้น
เรารู้ว่า c ผลิตกะทัดรัดและ โปรแกรมที่มีประสิทธิภาพ นั่นเป็นคุณลักษณะทางภาษา แต่นั่นเป็นสิ่งสำคัญ
เป็นหนึ่งในสิ่งสำคัญที่สุด ภาษาโปรแกรมและจะเป็นเช่นนั้นต่อไป
เรารู้ทั้งหมดนี้
เลยอยากย้ำอีกครั้งว่า
แต่คุณสมบัติหลักของ ภาษาซีคือมันมีประสิทธิภาพ
พกพาได้ ทรงพลังและ มีความยืดหยุ่นและเน้นโปรแกรมเมอร์
และเราจะพูดถึงสิ่งเหล่านี้ ในรายละเอียดเพิ่มเติมว่าสิ่งนี้หมายถึงอะไร
แต่สิ่งเหล่านี้มีความสำคัญ ลักษณะของค.
เราต้องเข้าใจพวกเขาอีกครั้ง เพื่อให้เข้าใจวิธีการเขียนโค้ดในภาษานี้
แล้วประสิทธิภาพล่ะ และการพกพาหมายถึง?
c เป็นภาษาที่มีประสิทธิภาพ
มันใช้ประโยชน์จาก .ทั้งหมด ความสามารถของคอมพิวเตอร์ในปัจจุบัน
มันกะทัดรัดมาก โปรแกรมและเขียนในค.
พวกมันรวดเร็วและกระทัดรัดมาก
ฉันพูดก่อนหน้านี้เกี่ยวกับวิธีการทำแผนที่ ของคำสั่ง c ไปยังคำสั่งในบางภาษานั้นมีประสิทธิภาพมาก
นี่เป็นหนึ่งใน เหตุผลมันเร็วมาก
หนึ่งในข้อร้องเรียนเกี่ยวกับ java ในอดีตเคยเป็น
เฮ้ java ช้าจริงๆ
คุณไม่มีปัญหานี้กับค
เมื่อคุณเขียนโปรแกรมใน C มันวิ่งเร็ว มันเล็กมาก
นั่นคือคุณลักษณะทางภาษา
นั่นคือประสิทธิภาพ
โปรแกรมเมอร์สามารถปรับจูนได้ โปรแกรมของพวกเขาเพื่อให้มีประสิทธิภาพมากขึ้นเพราะ
มันเป็นระดับที่ต่ำมาก
สามารถใช้งานได้มากขึ้น การใช้หน่วยความจำอย่างมีประสิทธิภาพ
คุณไม่สามารถทำสิ่งนี้ใน java
Java มีตัวรวบรวมขยะของตัวเอง และคุณไม่สามารถจัดการหน่วยความจำให้มีประสิทธิภาพมากขึ้นได้
ดังนั้นคจึงเป็นภาษาที่มีประสิทธิภาพ และเป็นภาษาพกพา
ข้าพเจ้าจึงสัมผัสได้เพียงสั้นๆ นี้ ในการบรรยายครั้งก่อนแต่นี่สำคัญเพราะว่าสิ่งนี้
หมายถึงถ้าคุณเขียนโปรแกรมภาษาซีบนระบบปฏิบัติการเดียว
คุณ สามารถเรียกใช้บนระบบปฏิบัติการอื่นโดยไม่ต้องแก้ไข
ปัญหาอย่างหนึ่งในการเขียน โค้ดในโลกทุกวันนี้บางครั้งก็ใช้ไม่ได้เว้นแต่
คุณเขียนในหลายภาษาหรือแก้ไขอย่างกว้างขวาง
ตัวอย่างเช่น ถ้าคุณเขียน แอปพลิเคชัน Android สำหรับโทรศัพท์ Android
ไม่ใช่ ไปทำงานบนโทรศัพท์ iOS
คุณไม่มีสิ่งนั้น ประเภทของปัญหากับค.
คุณเขียน c และมันจะทำงานบน ฮาร์ดแวร์ที่แตกต่างกันทุกประเภท ระบบปฏิบัติการที่แตกต่างกันทุกประเภท
อันที่จริง c เป็นผู้นำใน ความสามารถในการพกพา ความสามารถนี้ และคอมไพเลอร์พร้อมใช้งานอย่างง่ายดาย
คุณสามารถรับคอมไพเลอร์ได้บน วินโดว์ ลินุกซ์ ไม่มีปัญหา
ระบบ Linux/Unix มักจะมา ด้วยคอมไพเลอร์ c ดังนั้นคุณไม่จำเป็นต้องดาวน์โหลดเมื่อคุณเปิดอยู่
Linux/Unix เหมือนกับ Macintosh
จึงเริ่มเขียนโปรแกรมภาษาซีได้ ทันทีไม่มีการดาวน์โหลดภายนอก
ยังมีอยู่นะคะ แน่นอนสำหรับ Windows
แต่โดยทั่วไปสำหรับ Windows คุณ จะต้องดาวน์โหลดคอมไพเลอร์
และเราจะทำอย่างนั้นเมื่อ เราดาวน์โหลดซอฟต์แวร์ที่จำเป็นของเรา
ดังนั้นจึงมีโอกาสที่ดีที่ คุณได้รับคอมไพเลอร์ c สำหรับอุปกรณ์ใด
ๆ ที่คุณใช้
คุณสามารถรับคอมไพเลอร์ c ได้เช่นกัน สำหรับอุปกรณ์
Android หรืออุปกรณ์ iOS micro . ระดับต่ำจริงๆ หรือคอมพิวเตอร์ขนาดเล็ก เช่น โปรเซสเซอร์และรถยนต์
นอกจากนี้ยังมีความยืดหยุ่นสูงซึ่งก็คือ ที่สำคัญและยังทรงพลังอีกด้วย
ดังนั้นเคอร์เนล Unix Linux จึงเขียนด้วย c.
เคอร์เนลคืออะไร?
เรารู้จัก Unix และ Linux เป็นระบบปฏิบัติการ
เรารู้จักระบบปฏิบัติการ จะช่วยให้คุณมีประสิทธิภาพมากขึ้น
- ผู้ใช้มีประสิทธิภาพมากขึ้น - ใช้ a คอมพิวเตอร์ และมันควบคุมหลายๆ
ด้านของการโต้ตอบ ด้วยฮาร์ดแวร์และอื่นๆ
เคอร์เนลคือสมอง ของระบบปฏิบัติการ
เช่นเดียวกับซีพียูที่เป็นสมองของ คอมพิวเตอร์เคอร์เนลเป็นที่ที่สมองและความรู้ทั้งหมดของ
ระบบปฏิบัติการไป ดังนั้นโดยทั่วไปจะมีอินเทอร์เฟซของฮาร์ดแวร์ และเคอร์เนลที่จัดการหน่วยความจำ
มันทำสิ่งต่าง ๆ ได้หลากหลาย
และนั่นคือทั้งหมดที่เขียนด้วย C.
ที่สามารถบอกคุณได้ว่า ด้านที่มีประสิทธิภาพของภาษา
หากเคอร์เนลของปฏิบัติการ ระบบเขียนด้วยภาษานั้น
ภาษานั้นทรงพลัง
คอมไพเลอร์และล่ามมากมาย สำหรับภาษาอื่น
ๆ นั้นสร้างขึ้นบน c หรือถูกเขียนใน c
ถ้านั่นไม่บอกคุณ ธรรมชาติที่ทรงพลังของภาษา ฉันไม่รู้ว่าอะไรจะเกิดขึ้น
แต่ Fortran, Perl, Python, อะไรก็ได้ คอมไพเลอร์ที่เขียนด้วยภาษาประเภทนั้นเขียนด้วยภาษาซี
ดังนั้นโปรแกรม c จึงถูกใช้สำหรับ การแก้ปัญหาฟิสิกส์และวิศวกรรมและแม้กระทั่งสำหรับแอนิเมชั่น
เอฟเฟกต์พิเศษสำหรับภาพยนตร์ที่ใช้กันอย่างแพร่หลายสำหรับสิ่งต่าง ๆ มากมาย
ความยืดหยุ่นก็สำคัญเช่นกัน โดยเฉพาะอย่างยิ่งเมื่อคุณเป็นนักพัฒนาซอฟต์แวร์และคุณกำลังเขียนโค้ดนี้
คุณต้องการที่จะสามารถทำได้ สิ่งต่าง ๆ ในรูปแบบต่างๆ
คุณต้องการที่จะสามารถแก้ไขได้ ปัญหาในหลายๆ ด้าน
ความยืดหยุ่นที่มากขึ้นมักจะดีกว่า
อย่างไรก็ตามมีข้อแลกเปลี่ยน ระหว่างความยืดหยุ่นและประสิทธิภาพ
บางครั้งก็ติดหู เมื่อคุณกำลังออกแบบภาษา แต่ c ถูกออกแบบให้เป็น
คล่องตัวและคล่องตัวมาก
คุณก็ทำได้แค่ประมาณ ทุกสิ่งที่คุณต้องการในโปรแกรมภาษาซี
คุณสามารถเขียนได้ทั้งหมดที่แตกต่างกัน ประเภทแอปพลิเคชัน
และคุณยังสามารถจัดการหน่วยความจำ และทำสิ่งต่าง ๆ ที่ภาษาอื่น ๆ
มากมาย จำกัด ให้คุณ
มีข้อแลกเปลี่ยนเพราะ บางครั้งความยืดหยุ่นทำให้เกิดข้อบกพร่องมากขึ้นหรือทำให้นักพัฒนาไม่
เพื่อทำความเข้าใจแนวคิดบางอย่างอย่างเต็มที่เพราะอาจซับซ้อนกว่า
แต่สุดท้ายความยืดหยุ่นก็คือ a ของดี โดยเฉพาะถ้าเป็น
Developer ที่เข้าใจ ภาษาได้เป็นอย่างดี
นอกจากนี้ยังเป็นพื้นฐานสำหรับ more ภาษาขั้นสูง
เช่น c++ ที่กล่าวไว้ก่อนหน้านี้
ใช้สำหรับพัฒนาโทรศัพท์มือถือ แอพในรูปแบบของวัตถุประสงค์-c
Objective-c เป็นกรรมสิทธิ์ ภาษาโดย Apple
โดยพื้นฐานแล้วมันคือ c กับวัตถุ เช่นเดียวกับ c ++ แต่พวกเขาตัดสินใจเขียนภาษาของตนเอง
แต่ใช้ใน iOS น้อยกว่าและ น้อยลงเพราะ Swift กำลังเป็นที่นิยมมากขึ้น
แต่ก็ง่ายที่จะ เรียนรู้เพราะความกะทัดรัด
มันเป็นภาษาแรกที่เหมาะที่จะ เรียนรู้ถ้าคุณต้องการเป็นโปรแกรมเมอร์
และฉันคิดว่าฉันได้ให้ เหตุผลที่ค่อนข้างดี
คุณจะได้รับ ความรู้ที่เพียงพอสำหรับการพัฒนาแอปพลิเคชันเชิงปฏิบัติ
อย่างรวดเร็วและง่ายดายมาก
นั่นเป็นเหตุผลที่ ดีคนแรกที่จะเรียนรู้
และนั่นคือสิ่งที่คุณกำลังจะไป สังเกตว่าในคลาสนี้คือ
ว้าว ตอนนี้ฉันเรียน c wow มันง่ายกว่ามาก เรียน java เรียน php ง่ายกว่า
เรียนง่ายกว่ามาก ภาษาอื่น ๆ เหล่านี้เพราะมันมีทุกอย่างที่ภาษาเหล่านั้น
มีและมันง่ายมากที่จะเรียนรู้
เป็นโปรแกรมเมอร์ที่มุ่งเน้น
นั่นเป็นคุณสมบัติทางภาษา
ตอบโจทย์ความต้องการ ของโปรแกรมเมอร์
ฉันบอกคุณแล้วว่า Dennis Ritchie เมื่อเขาสร้างภาษาต้องการทำให้เป็นนักพัฒนามากขึ้น
มุ่งมั่นและเขาก็ทำอย่างนั้น
เขาบรรลุเป้าหมายนั้น
ช่วยให้คุณเข้าถึง .ได้โดยตรง ฮาร์ดแวร์ ช่วยให้คุณเข้าถึงหน่วยความจำโดยตรงและจัดการหน่วยความจำของคุณเองได้
ความยืดหยุ่นก็มา ในการเล่นเมื่อมันเป็นโปรแกรมเมอร์ที่มุ่งเน้น
ใน java คุณไม่สามารถทำสิ่งเหล่านี้ได้มากมาย เช่น จัดการหน่วยความจำของคุณเอง
C ยังมีความสามารถอื่นๆ อีกมากมาย ที่ให้ความคล่องตัว
และฉันคิดว่าความยืดหยุ่นช่วยให้ ที่จะเน้นโปรแกรมเมอร์มากขึ้นเพราะโปรแกรมเมอร์เป็นเช่นนั้น
พวกเขาชอบความยืดหยุ่นนั้น พวกเขา ไม่อยากบอกว่าต้องทำยังไง
มีให้เลือกมากมาย ของโอเปอเรเตอร์ ซึ่งทำให้คุณสามารถแสดงออกได้อย่างชัดถ้อยชัดคำ
นี่หมายความว่าเราไม่รู้ สิ่งที่ผู้ประกอบการยังเป็น
แต่โอเปอเรเตอร์สามารถเป็นสิ่งของได้ เช่น การบวกและการลบตัวดำเนินการทางคณิตศาสตร์หรือการมอบหมาย
ตัวดำเนินการกำหนดข้อมูลให้กับหน่วยความจำ
และยิ่งมีโอเปอเรเตอร์มากเท่าไร ได้ช่วยให้คุณแสดงออกมากขึ้นในรหัสของคุณ
ดังนั้นคุณสมบัติภาษาด้วย การเป็นโปรแกรมเมอร์ที่มุ่งเน้นมากขึ้นคือรายการโอเปอเรเตอร์ที่เราจะ
พูดคุยเกี่ยวกับรายละเอียดมากขึ้น
มันเข้มงวดน้อยกว่าภาษาส่วนใหญ่ จำกัดสิ่งที่คุณสามารถทำได้
พูดคุยเกี่ยวกับเรื่องนี้แล้ว
ฉันพูดถึงการแลกเปลี่ยนกับ นี้ความยืดหยุ่นกับความเข้มงวด
มันเป็นข้อได้เปรียบในการที่คุณสามารถ ทำสิ่งต่างๆ ด้วยวิธีต่างๆ มากมาย
อย่างไรก็ตามอาจเป็นอันตรายได้ เพราะมีแนวโน้มที่จะเกิดข้อผิดพลาดกับโปรแกรมเมอร์โดยเฉพาะ
กับบางอย่างเช่นพอยน์เตอร์
ดังนั้นความจริงที่ว่าคุณสามารถจัดการ .ของคุณ หน่วยความจำของตัวเองใน c นั้นยืดหยุ่นมาก
แต่บางครั้งก็ซับซ้อนมากเช่นกัน
และเป็นผลให้โปรแกรมเมอร์หลายๆ คน แนะนำข้อบกพร่องในโปรแกรม
ตอนนี้ java ไม่อนุญาต คุณจัดการหน่วยความจำของคุณ
แต่ยังมีความยืดหยุ่นน้อยกว่า แต่ยังช่วยลดจุดบกพร่องในโปรแกรมของคุณด้วย
ดังนั้นจึงมีข้อแลกเปลี่ยน
คุณต้องการโดยทั่วไปมี ความยืดหยุ่นโดยยอมให้สิ่งต่าง
ๆ มีความซับซ้อนน้อยลง
C ให้อิสระแก่คุณมากขึ้น แต่ ยังทำให้นักพัฒนามีความรับผิดชอบมากขึ้น
และนั่นก็คือ เหตุใดจึงเป็นโปรแกรมที่มุ่งเน้น
การใช้งาน C มีขนาดใหญ่ ไลบรารีของฟังก์ชัน c ที่มีประโยชน์
จะได้ไม่ต้องเขียนทุกอย่าง ใน c ถ้าคุณต้องการทำอะไร
ภาษาโปรแกรมมักจะ มีฟังก์ชันอื่นๆ ของโปรแกรมที่มาพร้อมกับภาษา
ตัวอย่างเช่นถ้าคุณต้องการอ่าน อินพุตจากผู้ใช้ คุณไม่ต้องการเขียนโค้ด
c ระดับต่ำเพื่อทำเช่นนั้น
จะมีรหัสใน c that ทำเพื่อคุณแล้วและคุณแค่ใช้รหัสนั้นซ้ำ
และนั่นก็มักจะถูกห่อหุ้มไว้ ในสิ่งที่เรียกว่าห้องสมุด
ดังนั้น c จึงมีห้องสมุดทุกประเภท ฟังก์ชั่นอ่านข้อมูลจากคีย์บอร์ด,
เขียนข้อมูลลงไฟล์, เพื่อสร้างสิ่งดีๆ ทุกประเภทด้วยกระบวนการและภัยคุกคามที่แตกต่างกัน
ฉันหมายถึงสิ่งที่ดีทุกประเภท
ดังนั้นความจริงที่ว่าจำนวนมากของ การใช้งานมาพร้อมกับภาษาและคุณไม่จำเป็นต้อง
ลงมือเองจริง ๆ แค่ต้องเรียนรู้วิธีใช้งาน ห้องสมุดมีประโยชน์มากและเน้นโปรแกรมเมอร์มาก
คุณสมบัติอื่น ๆ ของ c are มีคุณสมบัติระดับต่ำซึ่งโดยทั่วไปมีให้โดยระดับล่าง
ภาษา เราพูดถึงเรื่องนี้
แต่อีกครั้ง ตัวอย่างที่ดีที่สุด นี่คือความทรงจำ การจัดการการเข้าถึงหน่วยความจำโดยตรง
โปรแกรมสามารถ จัดการโดยใช้บิต
ก็ถ้านั่นไม่ใช่ระดับต่ำ ฉันไม่รู้ว่ามันคืออะไร เป็นความสามารถในการจัดการหน่วยความจำ
การเป็นตัวแทนในระดับบิต
บิตและไบต์เป็นวิธีที่เรา จริงเก็บข้อมูลบนคอมพิวเตอร์
ให้หลากหลายของ ตัวดำเนินการจัดการบิต
อีกครั้งบางอย่างในภาษา ที่เราจะพูดถึงในรายละเอียดเพิ่มเติม
ตัวชี้มีบทบาทสำคัญในค.
นี่คือแนวคิดที่คุณอาจ เคยได้ยินมาก่อนคุณอาจไม่เคยได้ยิน
แต่มันคือ ที่เกี่ยวข้องกับการจัดการหน่วยความจำ
เราจะมีมากมาย การบรรยายเกี่ยวกับตัวชี้ แต่มันเป็นคุณสมบัติที่สำคัญมาก
ของ c ที่คุณน่าจะคุ้นเคยในระดับสูงมาก
C จัดการหน่วยความจำ c พอยน์เตอร์ บ่อยครั้งเมื่อคุณนึกถึงภาษาซี
อันดับแรก สิ่งที่คุณคิดคือพอยน์เตอร์
และทั้งหมดนี้ก็ตรงไปตรงมา การเข้าถึงหน่วยความจำ
ข้อเสียของคที่เราคุยกัน เกี่ยวกับการแลกเปลี่ยนความยืดหยุ่น ความยืดหยุ่นกับเสรีภาพ
นอกจากนี้ยังต้องรับผิดชอบเพิ่มเติม
บางคนมองว่านี่เป็นข้อเสีย ทัศนะบางอย่างที่ชี้แนะถูกล่วงละเมิด
และเป็นผลให้หลายๆ คนเขียนโปรแกรมซีไม่ดี
ก็ใช่ ถ้าคุณให้ใครสักคน เครื่องมือทำอะไรก็ผิด
ใครผิด?
แบบนี้ก็ได้เหรอ เพื่อจำกัดเครื่องมือนั้นเพราะมันถูกใช้งานในทางที่ผิดหรือคุณต้องการอนุญาต
เครื่องมือนั้นเพื่อให้มีความยืดหยุ่น
ดังนั้นคุณมักจะมีความยืดหยุ่นมากขึ้น แต่ มีความเสี่ยงที่จะเกิดข้อผิดพลาดมากขึ้นและหลายครั้งข้อผิดพลาดเหล่านี้คือ
หายากมากและติดตามโดยเฉพาะอย่างยิ่งหากเป็นสิ่งที่หน่วยความจำ
นั่นอาจเป็นปัญหาได้
สิ่งอื่นเพราะความร่ำรวย ของตัวดำเนินการและความกระชับทำให้ภาษายากขึ้น
เพื่ออ่านและปฏิบัติตามบางครั้ง
โดยส่วนใหญ่ c คือ อ่านง่ายมาก
แต่ถ้าใช้เยอะขนาดนี้ ตัวดำเนินการต่าง ๆ ที่สามารถทำให้ซับซ้อนมากขึ้น
เลยมีโอกาสเขียน รหัสที่คลุมเครือ แต่นั่นคือภาษาใด
ๆ ที่สามารถเขียนได้ไม่ดี
เพื่อให้คุณสามารถใช้ภาษาอังกฤษ ภาษาเมื่อคุณพูดและคุณสามารถมีไวยากรณ์ที่ไม่ดี
มันไม่แตกต่างกันเมื่อคุณเขียน - ใช้ภาษาโปรแกรม
แต่บางคนก็ว่ากับซีมันเสียเปรียบ เพราะโอเปอเรเตอร์ทั้งหมดนี้
ถ้าใช้ผิดก็ ติดตามรหัสได้ยากขึ้น
เลยเอามาสรุปให้ฟัง
เป็นภาพประกอบที่ดี ฉันพบอีกครั้งบนเว็บที่ฉันต้องการให้คุณ
คุณสมบัติหลักของภาษาซี: รวดเร็วและมีประสิทธิภาพ พกพาได้ มีห้องสมุดที่ดีมากมายที่คุณ
นำโค้ดกลับมาใช้ใหม่ได้ โดยที่คุณไม่ต้องทำอะไรด้วยตัวเอง เป็นแบบโมดูลาร์
พูดถึง ก่อนหน้านี้ แต่นี่เป็นแนวคิดในการจัดระเบียบโค้ดรอบฟังก์ชัน ขยายได้ง่าย แล้วก็ทั้งหมด โอเปอเรเตอร์ที่ทรงพลังเหล่านี้ที่ให้คุณทำสิ่งต่างๆ
ได้
คุณสมบัติที่ดีมากมาย
และคุณสมบัติส่วนใหญ่ที่ เราเพิ่งพูดถึงเป็นภาษาสมัยใหม่มากมายเพราะ
พวกมันถูกสร้างขึ้นจากค