พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

C,C++,C# มันต่างกันหรือเปล่าคับ

+3 votes

คืออยากลองฝึกเขียนภาษาc แต่ไม่รู้จะลองอันไหนเพราะมันมีทั้ง C/C++,C# เลยอยากจะถามว่ามันต่างกันยังไง และวิธีเขียนต่างกันด้วยหรือเปล่าครับ ??

ถามเมื่อ May 15, 2012 in C/C++ โดย Mai Krittawat (105 คะแนน)
   

4 Answers

+8 votes

C++ ถูกพัฒนาต่อยอดจาก C เพื่อทำให้การพัฒนาโปรแกรมใหญ่ ๆ ง่ายขึ้น
และเรียนรู้แก้ไขโปรแกรมที่เขียนได้สะดวกขึ้นกว่าเดิม โดยเพิ่มในส่วนของ
OOP เข้าไป สำหรับโปรแกรมเมอร์รุ่นใหม่ ๆ หากจะเริ่มศึกษาก็ให้เริ่มที่ C++ เลยจะดีกว่า
เพราะของใหม่ยังไงก็ดีกว่าเก่าอยู่แล้วครับ
เดิมโปรแกรมเมอร์ภาษา C จะสร้างโปรแกรมโดยคิดตาม step 1,2,3,... ซึ่งก็มีข้อดีสำหรับโปรแกรมที่ไม่ซับซ้อนมาก
สามารถเขียนได้อย่างรวดเร็ว แต่นาน ๆ ไปโปรแกรมเริ่มจะมีความสามารถเพิ่มขึ้น สลับซับซ้อนกว่าเดิม ในระหว่างพัฒนา
หรือต้องการแก้ไข อาจสับสนได้ว่าจะไปแก้ไขตรงจุดไหน และทำให้งงหรือเกิด Bug ได้ง่าย ๆ 
จึงมีแนวคิดการโปรแกรมแบบ OOP ขึ้นมาคือให้แบ่งโปรแกรมออกเป็นชิ้น ๆ หรือเรียกกันว่าวัตถุ(Object) แล้วพัฒนาแต่ละชิ้นขึ้นมา
แล้วเอามาประกอบกันทีหลัง วิธีการนี้ทำลดความสับสนเวลาพัฒนาหรือแก้ไขโปรแกรมลงไปได้มาก เพราะสามารถ
แก้ไขที่ชิ้นเดียวได้ ไม่ต้องแก้ไขทั้งโปรแกรม และนอกจากนี้เรายังสามารถนำวัตถุ(หรือส่วนที่แบ่งเป็นชิ้นๆ) นำกลับมาใช้ใหม่ หรือนำไปใช้
กับโปรแกรมอื่น ๆ ที่เราต้องการโดยไม่ต้องเสียเวลาเขียนใหม่ ประหยัดเวลาได้อีกมาก

เมื่อ OOP เริ่มฮิตมาก ๆ จึงมีผู้พัฒนา C ให้เป็น C++ ขึ้นมาเพื่อให้รองร้บแนวคิดแบบ OOP และไหน ๆ ก็ไหน ๆ จึงปรับปรุงเพิ่มเติมวิธีการเขียนโปรแกรมใหม่ให้เข้าใจง่ายกว่าเดิม
คนที่ศึกษาคงรู้ว่าระหว่าง prinf("string") ของ C กับ cout << string ของ C++ ใช้ง่ายกว่ากันเยอะ

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


 

ตอบเมื่อ May 15, 2012 โดย Nattawut Sangvichai (145 คะแนน)
ล่าสุดมีภาษา C#เกิดขึ้นมาใหม่อีก ซึ่งในส่วนไวยากรณ์หลักจะคล้ายกัน แต่ C# ถูกสร้างโดย Microsoft เอาไว้เขียนโปรแกรมแบบไม่ต้องยึดติดกับ
ระบบปฎิบัติการ หมายความว่าคุณเขียนโปรแกรมครั้งเดียวไม่ต้อง complie ใหม่ แต่นำไปใช้ได้ทั้งใน PC, MC หรือแม้กระทั่งมือถือ(เค้าว่าอย่างงั้น) ที่นำไปใช้ใหม่ได้เพราะ
C# ไม่ได้ compile ให้เป็นภาษาคอมพิวเตอร์แล้วใช้งานได้ทันทีเหมือน C หรือ C++ แต่มันจะถูกแปลงไประดับหนึ่งเวลาใช้งานจริงจะมีตัวแปลภาษาแปลให้คอมพิวเตอร์เข้าใจอีกทีหนึ่ง
ตัวแปลนี้ไมโครซอฟท์ตั้งชื่อมันไว้ว่า .NET (ดอทเน็ต) ซึ่งดูเหมือนไมโครซอฟท์ตั้งใจจะออกมาชนกับ JAVA โดยตรง ซึ่งส่วนใหญ่ก็บอกว่า .NET ของไมโครซอฟท์ทำงานได้ไวกว่า Java


เอาแต่ละชิ้นมาประกอบกันเป็นโปรแกรม
ป้องกันความสับสนในการโปรแกรมแบบเก่า (เช่นภาษา C) ที่มองโปรแกรมทั้งหมดเป็นชิ้นเดียวกัน แต่เริ่ม
เวลาจะแก้ไขปรับปรุงก็ยุ่งยาก
หากเปรียบกับการสร้างรถยนต์

เพิ่มในส่วนของ OOP เข้าไป
OOP นี้จะช่วยให้โปรแกรมเมอร์เขียนโปรแกรม

ขอบคุณข้อมูลจากคุณ สาคู ครับ
+2 votes
ส่วนใหญ่คนที่ฝึกเขียนใหม่ๆจะเริ่ม C นะครับ

เหตุผลเพราะคุณจะได้ฝึกการใช้คำสั่ง หรือ อัลกอลิทึ่มต่างๆให้คล่องอะครับ

มีคนพูดว่า โปรแกรมเมอร์ที่ดี ต้องคอมพลายโปรแกรมในหัวตัวเองได้ครับ(โหดมาก เหอะๆ)

 

ส่วนต่อไป จะมาเล่น C++ หรือ C# ก็แล้วแต่ชอบครับ

C++ จะออกแนวเขียนโค้ดแบบ C แต่จะเขียนให้ออกมาเป็นรูปเป็นปุ่มได้

แต่ C# จะง่ายกว่าคือ มีอุปกรณ์ต่างๆมาให้ เช่น ปุ่ม กล่องข้อความ ฯลฯ คุณก็มีหน้าที่แค่ ลาก วาง แล้วเขียนโค้ดกำกับอีกทีว่ากดปุ่มแล้วจะให้เกิดอะไรขึ้น เป็นต้นครับ
ตอบเมื่อ May 15, 2012 โดย Apimuk Jenwiteesuk (143 คะแนน)
+1 vote
C++ และ C# มันเริ่มมาจาก C ครับ C++ จะเพิ่ม OOP เข้าไปใน C แต่ยังไง C++ มันก็ยังเขียนยากอยู่ดี MS ก็เลยออก C# มา(จริงๆ มันผันมาจาก J# ที่เป็น Java) C# เลยเป็นลูกผสมระหว่าง C++ และ Java วิธีเขียนจะต่างกันตรง OOP แต่เรื่องหลักยังใกล้กันเปลี่ยนไม่มาก
ตอบเมื่อ May 15, 2012 โดย Thanabodee Charoenpi (666 คะแนน)
–3 votes
C# ส่วนมากจะใช้เขียน ฐานข้อมูลอะครับ

c เอาไว้เขียนโปรแกรมทั่วไป

C++ เอาไว้เขียนเว็บอ่าครับ

ถ้าไม่เข้าใจตัวไหนให้หัด c ไปก่อนดีกว่า
ตอบเมื่อ May 21, 2012 โดย Thanakon Aobaom (290 คะแนน)
c++ เอาไปเขียนเว็ปยังไงครับ ช่วยแนะนำหน่อยครับ
c# ผมเห็นเขียนได้ทุกอย่างนะครับ ไม่เห็นจำเป็นต้อง ฐานข้อมูลนิครับ

Related questions

0 votes
0 คำตอบ
265 views ถามเมื่อ Jun 5, 2015 in C/C++ โดย ThE_cAt (102 คะแนน)
0 votes
3 คำตอบ
3,113 views ถามเมื่อ Jan 29, 2013 in C/C++ โดย asdasd (102 คะแนน)
0 votes
0 คำตอบ
...