แนะนำ C++11 - มีอะไรใหม่ มีอะไรดี

ก่อนอื่นหลายคนอาจจะมีคำถามที่ว่าแล้ว C++11 คืออะไร? ต่างจาก C++ ธรรมดายังไง? คำตอบก็คือว่า C++11 เป็นมาตรฐานของ C++ ตัวใหม่ครับ ซึ่งเป็นมาตรฐานที่ออกมาในปี 2011 คือหมายถึงเถียงกันเสร็จเรียบร้อยแล้วว่าจะให้มีหรือไม่มีอะไรบ้าง อย่างไร ซึ่งถ้าย้อนกลับไปตอนแรกเหมือนมาตรฐานนี้จะใช้ชื่อแบบลำลองว่า C++0x นั่นไม่แน่ใจว่าจะเสร็จในปีไหนแต่คงมี 200x นี่แหละ ซึ่งพอเอาเข้าจริงก็ลากยากมาถึงปี 2011 เลยทีเดียว ถึงขนาดมีคนเล่นมุกว่า 0x ที่ว่าคือ 0B (เลขฐาน 16) นั่นเอง (ฮา)

Function Prototype ขาดไปได้หรือเปล่า?

ขณะที่ผมกำลังจะอธิบายเรื่อง function prototpye ในภาษา C ในคนอื่นฟัง ก็เลยเริ่มเกริ่นก่อนว่าฟังก์ชันใดๆที่เราจะใช้เนี่ย ต้อง declare มันขึ้นมาก่อนนะ ไม่งั้นเวลาเรียก (call) โปรแกรมจะไม่รู้จัก เสร็จแล้วผมก็ลองเขียนฟังก์ชันหน้าตาประมาณนี้ให้ดู เพื่อจะแสดงให้เห็นว่ามันจะพัง

Generating Subsets

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

Data Structure คืออะไร?

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

Unified Solution - โปรแกรมเดียวที่แก้ได้ทุกปัญหา

เคยรู้สึกกันมั้ยครับว่าทำไมเราต้องเขียนโปรแกรมซ้ำไปซ้ำมา ปัญหา (Problem) บางอย่างที่คล้ายๆกันก็มีออกมากมาย แต่เราก็ยังจำเป็นต้องใช้วิธีที่ต่างกันออกไปในการแก้ ไม่มีวิธีอะไรเลยหรือที่สามารถแก้หลายๆปัญหาได้ในคราวเดียว ผมเคยมีความรู้สึกนี้อยู่ช่วงนึง จนกระทั่งได้เรียนรู้เรื่องของการลดรูปของปัญหาว่ามีหลายปัญหาที่สามารถเปลี่ยนไปเป็นอีกปัญหานึงได้ อย่างเช่น Clique, Independent Set หรือ 3-SAT ฯลฯ

CUDA Tutorial: ภาคติดตั้ง

กลับมาพบกับภาคต่อของ CUDA Tutorial กันแล้วนะครับ จากตอนก่อนที่อธิบายถึงว่า CUDA คืออะไร ตอนนี้เราจะมาดูกันว่าถ้าอยากจะลองเล่นต้องเริ่มต้นติดตั้งอะไรบ้าง ถ้ายังไม่ได้อ่านตอนแรกแนะนำให้ลองอ่านดูก่อนนะครับ กับ CUDA Tutorial: ภาคปฐมบท - CUDA คืออะไรหว่า

CUDA Tutorial: ภาคปฐมบท - CUDA คืออะไรหว่า

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

ทำไมต้อง Case-sensitive

สองสามอาทิตย์ก่อนมีรุ่นน้องมาถามผมว่า ภาษาที่เป็น Case-sensitive มีข้อดียังไง โอ ผมฟังคำถามแล้วก็แอบอึ้งไปสักพักเหมือนกัน เขียนโปรแกรมมาห้าปี ไม่เคยสงสัยเหมือนกันว่ามันมีดีหรือไม่ดีต่างกันยังไง (แต่ผมเข้าใจว่าคำถามนี้น่าจะเป็นการบ้าน มากกว่าข้อสงสัยนะครับ)

ผมเลยลองค้นข้อมูลดูก็เลยได้คำตอบมาดังนี้ครับ

1. คอมไพเลอร์ทำงานได้เร็วกว่า เนื่องจากไม่ต้องเสียเวลามาคอยเปลี่ยนตัวอักษรก่อนที่จะเอามาเปรียบเทียบกัน ข้อนี้ก็ดู make sense ดีครับ แต่ก็มีหลายคนแย้งว่า จริงๆแล้วแค่เปลี่ยนตัวอักษรให้เหมือนกัน แล้วค่อยเอามาเทียบก็ไม่น่าจะยากแล้วก็ช้าลงมากมายไม่ใช่หรอ

Syndicate content