ภาษาของคอมพิวเตอร์ มีอะไรบ้าง
ภาษาคอมพิวเตอร์มีอะไรบ้าง? มีภาษาโปรแกรมยอดนิยมที่ใช้พัฒนาเว็บไซต์ แอปพลิเคชัน หรือซอฟต์แวร์อะไรบ้าง?
อื้อ... ภาษาคอมฯเนี่ยนะ เยอะแยะไปหมดเลย! จำได้ตอนเรียนมหาลัย ปีสอง เจอ C++ เข้าไป แทบร้อง! โค้ดมันเยอะแยะ งงไปหมด แต่พอจับทางได้ ก็สนุกดีนะ รู้สึกเหมือนได้สร้างอะไรขึ้นมาเอง ตอนนั้นใช้ Turbo C++ บน Windows XP ยุคบุกเบิกจริงๆ
หลังจากนั้นก็มาเจอ Java สมัยทำโปรเจคจบ ใช้สร้างแอพเล็กๆ เกี่ยวกับการจัดการข้อมูล จำได้ว่า debug โค้ดกันแทบตาย นอนดึกทุกคืน ใกล้ส่งแล้วด้วย แต่สุดท้ายก็เสร็จ รู้สึกภูมิใจมาก มันยาก แต่ก็ได้อะไรเยอะเลย ประมาณปี 2558 มั้ง
ต่อมา เริ่มสนใจงานด้านเว็บ ก็เลยต้องเรียนรู้ JavaScript นี่แหละ ตัวช่วยหลัก สำหรับสร้างเว็บอินเตอร์แอคทีฟ ง่ายกว่า C++ เยอะเลย แต่ก็ต้องใช้ความเข้าใจ เขียนให้ดี มันถึงจะสวยงาม
ปัจจุบัน เห็น Python มาแรงมาก เพื่อนๆหลายคนใช้ ทำ data science machine learning อะไรแบบนี้ ฟังดูเท่ดี แต่ผมยังไม่ค่อยได้ลอง ส่วน Java กับ JavaScript ยังใช้เรื่อยๆ อยู่ดี เพราะงานประจำ ก็ใช้พวกนี้เป็นหลัก
ส่วนอันดับภาษาโปรแกรมยอดนิยม ผมไม่ค่อยได้ตาม ข่าวสารเท่าไหร่ แต่ที่แน่ๆ Python, Java, JavaScript นี่ ต้องติดอันดับแน่นอน อย่างอื่น ก็แล้วแต่ความนิยม และความต้องการของตลาด มั้งครับ จำไม่ได้จริงๆว่ามีอะไรบ้าง ขอโทษที
ภาษาคอมพิวเตอร์มี 5 ประเภทอะไรบ้าง
ภาษาคอมพิวเตอร์? แม่งเยอะชิบหาย
- ภาษาเครื่อง: ดิบ เถื่อน เข้าใจยาก ช่างแม่ง
- แอสเซมบลี: พัฒนาหน่อย แต่ก็ยังยากอยู่ดี
- ภาษาขั้นสูง: เริ่มง่ายขึ้น กูเริ่มไม่งง
- เชิงวัตถุ: OOP ไง ใครๆก็ใช้
- เชิงประกาศ: ตรรกะล้วนๆ ไม่ใช่ทางกู
แม่งก็ผสมๆ กันไปหมดแล้ว เดี๋ยวนี้ Rust แม่งก็ปนๆกัน เหมือนชีวิตคน
ข้อมูลเพิ่มเติม (ถ้าอยากรู้):
- ภาษาเครื่อง (Machine Language): เลขฐานสองล้วนๆ สั่งตรงถึง CPU
- แอสเซมบลี (Assembly Language): สัญลักษณ์แทนคำสั่งเครื่อง ไม่ง่ายแต่ก็ดีกว่าเดิม
- ภาษาขั้นสูง (High-level Language): C, Java, Python... ใครๆ ก็เขียนได้
- ภาษาเชิงวัตถุ (Object-Oriented Language): เน้นวัตถุ คลาส สืบทอด... เข้าใจยากชิบหาย
- ภาษาเชิงประกาศ (Declarative Language): SQL, Prolog... บอกว่าต้องการอะไร ไม่ต้องบอกวิธีทำ
- Rust: เกิดปี 2010 เน้นความปลอดภัย และประสิทธิภาพสูง
ภาษาคอมพิวเตอร์คืออะไร มีอะไรบ้าง
ภาษาคอมพิวเตอร์น่ะเหรอ? อ๋อ! ก็ไอ้ภาษาที่มนุษย์อย่างเราๆ คุยกับคอมพิวเตอร์ให้มันรู้เรื่องน่ะสิ! ไม่งั้นจะให้มันฟังภาษาหมาแมวเรอะ?
ภาษาโปรแกรม: อันนี้แหละตัวหลัก! เหมือนเป็นภาษาพูดที่เราเขียนบทละครให้คอมพิวเตอร์แสดง มีตั้งแต่ภาษา C (รุ่นปู่) ไปจนถึง Python (รุ่นหลาน) ที่ฮิตกันทั่วบ้านทั่วเมือง
ภาษามาร์กอัป: ไอ้พวก HTML, XML อะไรพวกนี้ มันไม่ใช่ภาษาโปรแกรมนะ! มันเหมือนเป็นภาษาที่ใช้แต่งหน้าทาปากให้เว็บเพจของเราสวยๆ งามๆ ให้คอมพิวเตอร์รู้ว่าตรงไหนเป็นหัวข้อ ตรงไหนเป็นเนื้อหา
ภาษาอื่นๆ: ยังมีอีกนะเออ! อย่างพวกภาษา SQL ที่ใช้คุยกับฐานข้อมูล หรือภาษา Assembly ที่ใกล้ชิดกับภาษาเครื่องสุดๆ (เข้าใจยากโคตรๆ)
แถมท้ายแบบคนบ้านๆ:
- อย่าไปคิดว่าภาษาคอมพิวเตอร์มันยากเย็นอะไร! สมัยนี้มี Google, Stack Overflow ช่วยชีวิตเยอะแยะ!
- ไอ้ที่เค้าบอกว่าเรียนภาษาคอมพิวเตอร์แล้วรวยน่ะ... จริงๆ ก็มีส่วนนะ! แต่ต้องขยันฝึกฝนด้วย ไม่ใช่แค่เรียนแล้วนอนตีพุงรอเงินล้าน
- สำคัญ: ปีนี้ (2024) เค้าฮิต Python กันนะ! ว่างๆ ก็ลองไปศึกษาดู รับรองไม่ตกเทรนด์!
- อย่าลืมว่า ภาษาคอมพิวเตอร์ เปรียบเสมือนเครื่องมือ ยิ่งใช้คล่อง ก็ยิ่งสร้างสรรค์ผลงานได้เจ๋ง!
- ข้อควรรู้:ภาษาโปรแกรม เป็นส่วนหนึ่งของ ภาษาคอมพิวเตอร์ นะจ๊ะ! ไม่ใช่ทั้งหมด!
ภาษาคอมพิวเตอร์มี 5 ประเภทอะไรบ้าง
ภาษาคอมพิวเตอร์ 5 ประเภท:
ภาษาเครื่อง: ศูนย์และหนึ่ง นี่คือความจริง
ภาษาแอสเซมบลี: ใกล้ชิดฮาร์ดแวร์เกินไป
ภาษาขั้นสูง: Python, Java, C++ ชีวิตง่ายขึ้น แต่ก็แลกมา
ภาษาเชิงวัตถุ: ทุกอย่างคือวัตถุ แม้แต่ความว่างเปล่า
ภาษาเชิงประกาศ/ฟังก์ชัน: เขียนสิ่งที่คุณต้องการ ไม่ใช่วิธีการได้มันมา
ข้อมูลเพิ่มเติม:
ความคลุมเครือ: เส้นแบ่งเลือนลาง Rust ตัวอย่างชัดเจน ผสมผสานเพื่อประสิทธิภาพ
ภาษาเกิดใหม่: Go, Kotlin ท้าทายขนบเดิม ตอบโจทย์ยุคสมัย
การพัฒนาต่อเนื่อง: ไม่มีอะไรหยุดนิ่ง โลกไอทีหมุนเร็วกว่าเดิม
โค้ด คอมพิวเตอร์ มี อะไรบ้าง
เอิ่ม... โค้ดคอมพิวเตอร์ใน HTML เหรอ? นึกก่อนนะ
ใช้สำหรับ input จากผู้ใช้ อะ สมมติบอกว่า "กด Ctrl+S เพื่อเซฟ" ก็จะใช้แท็กนี้อันนี้ โค้ดสั้นๆ แหละ แบบprint("Hello")ไรงี้สำคัญ! อันนี้ โค้ดยาวๆ ที่อยากให้มัน แสดงผลตามที่เราพิมพ์ เลยอะ เว้นวรรคอะไรก็เป๊ะๆเอาไว้ แสดงผลลัพธ์ จากโปรแกรม เช่น "Output: 123"- แล้วก็
อันนี้ ตัวแปร ไง variable เช่นx = 5เอ่อ... หรือเปล่าหว่า? ชักไม่แน่ใจ
คือปกติอะ ใช้ style ก็ได้นะ แต่ว่ามันไม่ใช่ semantic HTML อ่ะ (ใช่ปะวะ?) Semantic HTML คือการใช้แท็กให้มันตรงความหมายอ่ะนะ จะดีกว่า
ตัวย่อ! เช่นHTMLที่อยู่ติดต่อตัวหนา (แต่แนะนำมากกว่า)ตัวเอียง (แต่แนะนำมากกว่า)
ทำไมต้อง semantic HTML? อ๋อ SEO ไง Google ชอบ แล้วก็คนอ่านโค้ดเราก็เข้าใจง่ายด้วย (มั้ง)
อ้อ! อันนี้ก็สำคัญ สำหรับให้ user พิมพ์อะไรยาวๆ ลงไปอะ
โครงสร้างของภาษาซี (C) เบื้องต้น มีอะไรบ้าง
ฮาโหลววว! มาดูโครงสร้างภาษา C กันแบบฮาๆ แต่ได้ใจความนะจ๊ะ! เหมือนมุขตลกที่ยิ่งขำยิ่งคิดได้ว่ามันลึกซึ้งนี่แหละ!
พรีโพรเซสเซอร์ไดเร็กทีฟ (Preprocessor directives): นี่คือส่วน "จัดการของ" ก่อนเข้าสู่เนื้อหาหลัก คิดง่ายๆ เหมือนการเซ็ตฉากก่อนถ่ายหนังไง เช่น #include คือการเรียกใช้ห้องสมุดมาช่วยทำงาน ถ้าไม่มีก็เหมือนถ่ายหนังแต่ไม่มีกล้อง! ปีนี้ผมใช้มันบ่อยมากในการสร้างโปรแกรมจำลองการเคลื่อนที่ของดาวเคราะห์ (ใช่ครับ ผมบ้าวิทยาศาสตร์นิดๆ)
ส่วนประกาศ (Global declarations): ประกาศตัวแสดงความสามารถก่อน! บอกโปรแกรมว่าเดี๋ยวจะมีตัวแปรอะไรมาโชว์บ้าง เหมือนการแนะนำนักแสดงในหนัง แต่ถ้าไม่ประกาศ เดี๋ยวตัวละครก็หายไปกลางเรื่องนะ! เหมือนผมเคยลืมประกาศตัวแปร โค้ดพังไม่เป็นท่าเลย เศร้า!
ส่วนฟังก์ชันหลัก (The main() function): นี่แหละพระเอกของเรื่อง! ทุกอย่างเริ่มต้นและจบลงที่นี่ คิดเป็นฉากหลักของหนังที่ทุกอย่างเกิดขึ้น ถ้า main() พัง เรื่องก็จบ! ปีนี้ผมใช้ main() ในการสร้างเกมส์ง่ายๆ สนุกมาก!
การสร้างฟังก์ชันและการใช้ฟังก์ชัน: เหมือนการแบ่งฉากย่อยในหนัง แต่ละฟังก์ชันทำหน้าที่เฉพาะ ทำให้โค้ดอ่านง่ายและจัดการได้ง่ายขึ้น ไม่งั้นก็เหมือนหนังเรื่องเดียวแต่ยาวเป็นสิบๆ ชั่วโมง เหนื่อยแน่! ผมใช้เทคนิคนี้ในการเขียนโปรแกรมวิเคราะห์ข้อมูลการเงิน มันทำให้โค้ดอ่านง่ายขึ้นเยอะเลยล่ะ
ส่วนอธิบายโปรแกรม (Program comments): เหมือนคำอธิบายใต้ภาพในหนัง ช่วยให้คนอื่น(หรือตัวเราเองในอนาคต)เข้าใจโค้ดง่ายขึ้น ไม่งั้นก็เหมือนดูหนังไม่รู้เรื่อง ปีนี้ ผมใช้ comment เยอะขึ้นมาก เพราะโค้ดผมซับซ้อนขึ้นเรื่อยๆ เพื่อนผมบอกว่าโค้ดผมอ่านง่ายขึ้นเยอะเลย ดีใจจัง!
เห็นไหม เหมือนกันเป๊ะ! แค่เปลี่ยนจากหนังเป็นโปรแกรม ก็เข้าใจง่ายขึ้นแล้วใช่ไหมล่ะ? ภาษา C มันก็ไม่ได้ยากอย่างที่คิดหรอกนะ แค่เข้าใจหลักการพื้นฐาน แล้วก็ฝึกฝนบ่อยๆ ก็เขียนโปรแกรมเจ๋งๆ ได้แล้วล่ะ!
ภาษาซีสามารถทำอะไรได้บ้าง
ภาษาซีเนี่ยนะ? โอ้โห ถามเหมือนเด็กถามว่า "ดินสอทำอะไรได้บ้าง" คือมันทำได้ เยอะ กว่าที่คิดเยอะ!
ภาษาซีเนี่ยนะ? มันเป็นเหมือน ค้อน ในมือช่าง คือจะสร้างบ้าน สร้างสะพาน หรือทุบกำแพงทิ้งก็ยังได้! (แต่ถ้าให้ดี สร้างอะไรดีๆ ดีกว่านะ)
ที่บอกว่าใช้กับ Hardware เนี่ยจริง! พวกแขนกล หุ่นยนต์น่ะของโปรดมันเลย เพราะมันคุยกับ Hardware รู้เรื่องไง คือแบบ…เข้าใจกันไม่ต้องแปล (เหมือนคุยกับเพื่อนสนิทที่รู้ใจ ไม่ต้องพูดเยอะก็เข้าใจ) แล้ว Compiler มันก็แปลเป็นภาษาเครื่องได้ไวปานจรวด คือกดปุ๊บ ไปปั๊บ! เร็วจนหุ่นยนต์ยังชม
สรุปสั้นๆ:
- คุยกับ Hardware รู้เรื่อง: เหมือนมีล่ามส่วนตัวที่แปลภาษาคนเป็นภาษาเครื่องได้เป๊ะๆ
- เร็วปานจรวด: Compiler แปลโค้ดไวมาก เหมาะกับงานที่ต้องการความเร็วแบบเรียลไทม์ (ไม่ใช่แบบ "เรียลไทม์" ที่แปลว่า "เดี๋ยวทำ")
- แม่นยำ: ไม่ใช่แค่เร็ว แต่ต้องชัวร์ด้วย! หุ่นยนต์จะมาพลาดเพราะโค้ด Error ไม่ได้นะ
แถม:
- เคยมีคนบอกว่า "ภาษาซีคือภาษาของพระเจ้า" อันนี้ก็เกินไปหน่อย แต่ก็พอเข้าใจได้ว่าทำไมถึงพูดแบบนั้น ????
- ถ้าเปรียบเทียบกับภาษาอื่น ภาษาซีก็เหมือนรถสปอร์ตที่แรงและควบคุมยาก ในขณะที่ภาษา Python ก็เหมือนรถบ้านที่ขับง่ายแต่ไม่แรงเท่า (แต่ถ้าขับรถสปอร์ตไม่เป็น ก็อาจจะชนแหลกได้นะ)
- บางคนบอกว่าภาษาซีตายไปแล้ว… อันนี้ไม่จริง! มันแค่ซุ่มเงียบรอโอกาสที่จะกลับมาโชว์เทพเท่านั้นแหละ! ????
ภาษาซี มีไว้ทำอะไร
ตอนนั้นปี 2023 ผมเรียนวิชาเขียนโปรแกรม จำได้แม่นเลยว่าอาจารย์บอกภาษา C เนี่ย มันเป็นเหมือนพื้นฐานของภาษาโปรแกรมอื่นๆ หลายๆ ภาษาเลยนะ ใช้สร้างอะไรได้เยอะมาก ตั้งแต่ระบบปฏิบัติการ ไปจนถึงเกมส์ ผมเองก็ได้ลองเขียนโปรแกรมง่ายๆ ด้วยภาษา C บนเครื่อง Mac ของตัวเองที่บ้าน รู้สึกสนุกดี ตอนนั้นใช้ compiler GCC นะ ลืมไม่ได้เลย มันช่วยให้ผมเข้าใจหลักการพื้นฐานของการเขียนโปรแกรมได้ดีขึ้นเยอะเลย
- ภาษา C: พื้นฐานการเขียนโปรแกรม
- การใช้งาน: ระบบปฏิบัติการ, เกมส์, โปรแกรมต่างๆ
- เครื่องมือที่ใช้: GCC compiler (บน MacOS ในปี 2023)
ตอนหลังผมลองค้นคว้าต่อ ถึงได้รู้ว่า จริงๆ แล้ว ภาษา C มันใช้ได้กับระบบปฏิบัติการแทบทุกตัวเลย ไม่ใช่แค่ Mac หรือ Windows Linux ก็ได้ เพราะมี compiler สำหรับภาษา C อยู่ทั่วไป นี่แหละคือเหตุผลที่มันเป็นภาษาโปรแกรมที่สำคัญ เป็นเหมือนรากฐานเลยก็ว่าได้
- ความสามารถรองรับระบบปฏิบัติการ: Windows, macOS, Linux และอื่นๆ
- เหตุผลที่สำคัญ: Compiler มีอยู่ทั่วไป
ยังจำความรู้สึกตอนนั้นได้เลย ตอนที่โปรแกรมแรกที่เขียนเสร็จ มันทำงานได้ตามที่ตั้งใจ ความรู้สึกแบบนั้นมัน... อธิบายไม่ถูกเลย มันคือความสำเร็จเล็กๆ ที่ทำให้ผมอยากเรียนรู้ต่อไปเรื่อยๆ
ภาษา C เหมาะกับงานอะไร
ภาษา C เหมาะกับงานพวกฮาร์ดแวร์อ่ะ อย่างแขนกล หุ่นยนต์ พวกระบบอัตโนมัติต่างๆ ที่ต้องเร็วๆแม่นยำๆ เพราะมันเร็วไง Compiler แปลเป็นภาษาเครื่องไวมากกก ปีนี้ก็ยังใช้กันเยอะอยู่นะ พวกเกมส์บางเกมก็ใช้ เพื่อนผมก็ทำโปรเจคจบเกี่ยวกับพวกควบคุมมอเตอร์ใช้ภาษา C โคตรเทพเลย
- ควบคุมระบบฝังตัว (Embedded Systems) อย่างพวกในรถยนต์ เครื่องใช้ไฟฟ้าสมาร์ทๆ
- พัฒนาเกมส์ แต่เกมส์ใหญ่ๆอาจใช้ภาษาอื่นร่วมด้วย
- ระบบปฏิบัติการ หลายๆ OS ก็เขียนด้วย C ส่วนนึงนะ
- แอพพลิเคชั่น ที่ต้องการประสิทธิภาพสูงๆ อย่างพวกตัวประมวลผลภาพ อะไรพวกนี้
เพื่อนผมที่เรียนวิศวะคอม เค้าบอกว่า งานพวกนี้ใช้กันเยอะมาก ตอนนี้เค้าก็ทำงานเกี่ยวกับการเขียนโปรแกรมควบคุมหุ่นยนต์ ใช้ C นี่แหละ เงินดีด้วยนะ บอกเลย
ตัวแปรในภาษาซีมีกี่ประเภท อะไรบ้าง
สายลมพัดแผ่ว เบาหวิว ราวขนนก ณ ริมระเบียงยามเช้า แสงแดดสีทองสาดส่อง ฉันนั่งจิบกาแฟ มองดูโลก... ตัวแปรในภาษาซีนะ...
- ตัวอักษร (char): เหมือนเสียงกระซิบเล็กๆ บนแผ่นกระดาษ ตัวอักษร
- จำนวนเต็ม (int): เหมือนก้อนกรวดในมือ จำนวนเต็ม
- ทศนิยม (float, double): เหมือนสายน้ำที่ไหลริน ทศนิยม
- ค่าความจริง (bool): เหมือนแสงดาวที่ส่องประกาย บูลีน
มันเหมือน... เหมือนภาพวาดที่ประกอบขึ้นจากสีสันที่ต่างกัน
- char: เก็บตัวอักษรเดียว 'A', 'ก'
- int: เก็บเลขจำนวนเต็ม 1, -10, 256
- float: เก็บเลขทศนิยม 3.14, -2.718 (ความแม่นยำน้อยกว่า)
- double: เก็บเลขทศนิยม 3.1415926535 (ความแม่นยำมากกว่า)
- bool: เก็บค่า true (จริง) หรือ false (เท็จ)
ตัวแปรในภาษาCมีอะไรบ้าง
โอ๊ย... ถามเรื่องตัวแปรในภาษาซีเนี่ยนะ? เหมือนถามชาวนาว่า "ข้าวมีกี่พันธุ์?" มันเยอะแยะตาแป๊ะไก่! แต่เอาแบบคร่าวๆ ให้พอยาไส้ก็แล้วกันนะ
ตัวแปรพื้นฐาน (Scalar): พวกนี้ก็เหมือนคนโสด... เก็บข้อมูลได้แค่คนเดียว!
int: เอาไว้เก็บเลขจำนวนเต็ม พวกไม่มีเศษไม่มีส่วนfloat: เก็บเลขทศนิยม พวกมีเศษมีส่วน...ละเอียดอ่อน!char: เก็บตัวอักษร 1 ตัว อักษร ก.ไก่ A B C อะไรก็ว่าไปdouble: เหมือนfloatแต่ความละเอียด x2!
ตัวแปรชุด (Array): พวกนี้เหมือนครอบครัวใหญ่... เก็บได้หลายคน หลายค่า!
แถมท้าย (เผื่ออยากรู้ลึกกว่าเดิม):
- Pointers (ตัวชี้): ตัวแปรพิเศษที่ไม่ได้เก็บค่า แต่เก็บ "ที่อยู่" ของตัวแปรอื่น! (เหมือนพวกนักสืบ ตามหาตัวคน)
- Structures (โครงสร้าง): เอาตัวแปรหลายชนิดมารวมกันเป็นกลุ่ม (เหมือนสร้างบ้าน เอาห้องต่างๆ มารวมกัน)
- Enums (ตัวแปรแบบแจงนับ): กำหนดค่าให้ตัวแปรเป็นค่าที่กำหนดไว้ล่วงหน้า (เหมือนเลือกเมนูอาหาร มีให้เลือกแค่ในเมนู!)
นี่แค่คร่าวๆ นะ! ภาษาซีมันลึกซึ้งกว่าที่เห็นเยอะ!
ความคิดเห็นต่อคำตอบ:
ขอบคุณสำหรับความคิดเห็นของคุณ! ความคิดเห็นของคุณมีความสำคัญมากในการช่วยเราปรับปรุงคำตอบในอนาคต