อยากจะเขียนโปรแกรม ควรจะศึกษาโปรแกรมอะไรก่อน ?

คำถาม … อยากจะเขียนโปรแกรม ควรจะศึกษาโปรแกรมอะไรก่อนครับ
ไม่รู้จะไปปรึกษาใครแล้วนะครับ พอดีอยากจะเรียนเขียนโปรแกรม แต่เห็นมีโปรแกรมเยอะมากๆเลย ไม่รู้ว่าโปรแกรมอะไรทำหน้าที่อะไรบ้าง

พี่ๆที่พอจะช่วยผมได้ ช่วยผมทีนะครับ อยากจะศึกษา แต่ไม่รู้จะเริ่มจากตรงไหนดี

ขอบพระคุณมากครับ

ขอบคุณจากใจจริงครับ

จากคุณ : NismoO -[ 22 พ.ย. 47 – 01:25:56 ]

กระทู้จาก Pantip.com ครับ http://www.pantip.com/tech/coffee/topic/JX1662452/JX1662452.html

พอดีว่า พี่เดฟ (ithilien_rp) มาตอบให้ …. เลือกภาษาซักตัว อะไรก็ได้ แล้วก็หา compiler ของภาษานั้นๆ แล้วก็มาหัดเขียนโปรแกรมง่ายๆ พวกรับ input แสดง output คิดเลขง่ายๆ แล้วก็หัดใช้พวก loop

compiler หลายตัวก็ฟรี หลายตัวก็เป็น commercial … แต่ว่าตอนแรกอยากให้หัดกับพวก free compiler ก่อน อันนี้ก็แล้วแต่ภาษาน่ะแหละ ว่าจะหาได้ยากง่ายแค่ไหน เช่น Java กับ .NET สามารถที่จะหา compiler ฟรีได้เลยจาก Sun กับ Microsoft โดยตรง ส่วนภาษาที่มีมาตรฐานกลาง เช่นพวก C/C++ ก็ต้องหา compiler เอา จริงๆ ใช้ MinGW ก็ไม่เลวหรอก หรือว่าจะใช้ Borland C++ command line edition ก็ได้

ไม่อยากให้ไปบ้าตามกระแสบางอย่าง ที่ต้องเล่น professional tools พวก visual studio.net enterprise ตั้งแต่ยังทำอะไรไม่เป็น ….

ค่อนข้าง ok มากสำหรับคนทีี่เพิ่งจะเริ่มทำหรือศึกษาด้านการเขียนโปรแกรมครับ

อีกคำถามนึงจาก ThaiDev.com ครับ http://www.thaidev.com/board-c/view.php?1068

คำถาม … ความสามารถของ C “ตอนนี้ผมสามารถเขียน C ได้แต่ก็แค่ใช้แก้บัญหาคณิตศาสตร์เท่านั้นอยากทราบความสามารถอืนและแหล่งรวบรวมความรู้ดังกล่าว”

ตอบ …
1) ตอบแบบวิชาการหน่อยๆ ก็ programming language ไม่ว่าจะภาษาไหน .. ก็ถือว่าเป็น universal turing machine (UTM) ทั้งหมด และด้วยความเป็น UTM ทำให้มันมีความสามารถที่จะทำอะไรก็ได้ที่ UTM ตัวอื่นทำได้ และสามารถ emulate การทำงานของ UTM ตัวอื่นได้หมด และเนื่องจากคอมพิวเตอร์แบบที่เราใช้กันอยู่ทุกวันนี้มันก็เป็น UTM ดังนั้นการทำงานทุกอย่างของ computer ตลอดจนโปรแกรมทุกลักษณะ ก็สามารถใช้ภาษา C เขียนได้หมด

2) ตอบแบบสั้นๆ ง่ายๆ ก็ จะเขียนอะไรก็ได้หมดน่ะแหละ ที่คุณเคยเห็นบนคอมพิวเตอร์น่ะ (ไม่ว่าจะเป็นกราฟฟิค เสียง ฯลฯ หรือว่าระบบอะไรก็ช่าง .. เขียน OS ยังได้เลย)

ดังนั้น…… ก็แล้วแต่ว่าคุณจะออกแบบโปรแกรมถูกหรือเปล่า จะใช้ data structures กับ algorithm เหมาะสมมั้ย และจะใช้ library อะไร (หรือว่าจะเขียน library ใหม่เอง) เช่นถ้าจะเขียนโปรแกรมเกี่ยวกับทางกราฟฟิคก็อาจจะใช้ OpenGL อะไรประมาณนั้น เป็นต้น

จากคุณ rp@jp เมื่อ 11:22am (20/11/2004)

ทุกๆ คำถามมีคำตอบครับ วันนี้ผมรวบรวม คำถาม และคำตอบมาให้้อ่านกันเดี่ยวจะหายไปครับ หวังว่าคงมีประโยชน์กันนะครับ

การเซ็ตให้ Borland C++ Compiler 5.5 ทำงานร่วมกับ EditPlus เพื่อทำการ Compile ไฟล์ที่เขียนขึ้นด้วยภาษา C++

สิ่งที่ต้องมี

  • Borland C++ Compiler 5.5
  • EditPlus

1. ดาวน์โหลด Borland C++ Compiler 5.5 มาจากเว็บ Borland ที่ http://www.codegear.com/downloads/free/cppbuilder

2. ดาวน์โหลด EditPlus ได้จากที่นี่ http://www.editplus.com

3. เมื่อโหลดได้แล้วทำการติดตั้งดังภาพด้านล่างนี้ครับ


ภาพที่ 3-1


ภาพที่ 3-2


ภาพที่ 3-3


ภาพที่ 3-4


ภาพที่ 3-5

4. เปิด EditPlus ขึ้นมาแล้วไปที่ Tools ที่เมนูบาร์ แล้วไปที่ เมนู Configure User Tools


ภาพที่ 4-1

5. เข้ามาที่หน้าต่าง Preferences ตอนนี้เราจะอยู่ที่ Tools และหัวข้อย่อย User tools

  • ให้เราเลือกที่ Groups and tools items ไหนก็ได้ ในตัวอย่างเลือกอยู่ที่ Groups 4
  • กดปุ่ม Add Tool แล้วไปที่ Program


ภาพที่ 5-1

6. เราจะได้ New Program มา 1 อัน

  • เราสามารถเปลี่ยนชื่อได้โดยไปที่ Menu text ในที่นี้ให้เปลี่ยนเป็น “Borland C++ Compile
  • ในส่วนของ Command ให้ไป Browse ให้ชี้ไปที่ ไฟล์ bcc32.exe ซึ่งในที่นี้ถ้าติดตั้งตามแบบข้างต้น (ข้อที่ 3 ) จะได้ที่นี่ C:\Borland\BCC55\Bin\bcc32.exe
  • ในส่วนของ Argument ให้ใส่ตามข้างล่างนี้เลย ถ้าติดตั้งตามแบบข้างต้น (ข้อที่ 3 )
    -IC:\Borland\BCC55\Include -LC:\Borland\BCC55\Lib -n$(FileDir) $(FilePath)
  • จากข้อที่แล้วจะสังเกตที่ได้ขีดเส้นได้ว่าคือที่ ที่เราได้เซ็ตไว้ข้างต้นแล้วในตอนที่ติดตั้ง Borland C++ Compiler 5.5 ซึ่งในข้อที่ 3 เราได้กำหนดไว้ที่ C:\Borland\BCC55 นั้นเอง
  • ในส่วนของ Initial directory ให้กำหนดเป็น C:\Borland\BCC55\Bin
  • ให้ทำการทำเครื่องหมายถูกที่ Capture output ด้วย


ภาพที่ 6-1

7. ทำการกดปุ่ม Add Tool แล้วไปที่ Program เพื่อ New Program อีกหนึ่งอัน


ภาพที่ 7-1

8. ในขั้นตอนนี้เราจะทำ Menu Run กันในโปรแกรม EditPlus แต่มีข้อเสียอยู่อย่างเดียวคือ

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

  • ที่ Menu text ให้เปลี่ยนจาก New Program เป็น Run
  • ที่ Command ให้ใส่ $(FileNameNoExt)
  • ที่ Initial directory ให้ใส่ $(FileDir)
  • ให้ทำการทำเครื่องหมายถูกที่ Capture output ด้วย


ภาพที่ 8-1

9. ต่อมาเรามาทำการเปลี่ยนชื่อ Groups 4 ให้เป็น C++ Compile ก่อนเพื่อจะได้ไม่สับสน

  • ไปที่ Group Name
  • แล้วทำการเปลี่ยนชื่อเป็น C++ Compile
  • กด OK เพื่อยืนยันการเปลี่ยนแปลง


ภาพที่ 9-1

10. แล้วกด OK ออกมาจาก หน้าต่าง Preferences

11. เขียนโปรแกรม ง่ายๆ ทดสอบกันว่ามันทำงานหรือเปล่า

  • แต่ก่อนทำการ Compile และ Run ต้องทำการ Save ก่อนเพื่อจะได้ Run ได้
  • การ Save ที่ถูกต้องและจะทำให้ Compile ผ่านได้และไม่ผิดพลาด นั้นควรตั้งชื่อไฟล์ และการเก็บไฟล์ไว้ที่ Folder ที่ไม่มีช่องว่างในการตั้งชื่อ และชื่อต้องที่ไม่มีช่องว่างในการตั้งชื่อด้วย (แต่สามารถใช้ _ ในการเว้นระยะแทนได้) เช่น
    • D:\Ford\MyProgramming
    • D:\cpp
    • D:\cpp\test.cpp
    • D:\cpp\test_input.cpp
  • ไม่ควร Save ไว้ที่ Folder หรือตั้งชื่อไฟล์ที่มีช่องว่างระหว่างชื่อ, ชื่อเป็นภาษาอื่นนอกจากภาษาอังกฤษ, ชื่อมีเครื่องหมายพิเศษหรือ มีสัญลักษณ์พิเศษ เช่น
    • D:\Ford\My Programming
    • D:\Ford\My OOP
    • D:\Ford\My Cpp
    • D:\Ford\My C(pp)
    • D:\cpp\tes#t.cpp
    • D:\cpp\test input.cpp
  • เราก็เขียนโปรแกรมง่ายๆ ดังภาพด้านล่างนี้ ……… และ Save ไว้ที่ D:\test.cpp


ภาพที่ 11-1

12. เมื่อเรา Save แล้ว ก็ไปที่ Tools ที่เมนูบาร์ ไปที่ User Tool Groups แล้วเลือกที่ C++ Compile ที่เราได้เซ็ตกันเมื่อกี้นี้


ภาพที่ 12-1

13. เราก็จะได้เมนูใหม่เข้ามาคือ Borland C++ Compile และ Run ที่เราเซ็ตไว้เมื่อกี้นี้

  • ให้เรากดที่เมนู Borland C++ Compile เพื่อทำการ Compile


ภาพที่ 13-1

14. เราจะได้ผลลัพธ์ตามภาพ


ภาพที่ 14-1

15. แล้วถ้าเราจะ Run ให้ใช้ เมนู Run ดังภาพ


ภาพที่ 15-1

16. เราจะได้ผลลัพธ์ตามภาพ


ภาพที่ 16-1

17. เรามาเขียนโปรแกรมรับค่าและ วิธีการแก้ปัญหาของ EditPlus ที่ทำการ Run แบบรับค่าไม่ได้ (ภาพที่ 17-2)

  • จากโปรแกรมนี้นั้น จะมีการรับค่ามาหนึ่งค่า เราจะรวบรัดขั้นตอนในบางตอนไปเลย ซึ่งเมื่อเขียนโปรแกรมนี้เสร็จแล้วให้ทำการ Compile ตามวิธีเดิมข้างต้นไปได้กล่าวไปแล้ว แต่ไม่ต้องทำการ Run แต่อย่างใด มิเช่นนั้นแล้วโปรแกรม EditPlus จะมี Process ค้างและทำให้เครื่องมีปัญหาได้
  • แต่ถ้าไปเผลอ Run แก้โดยให้ทำการ ปิดโปรแกรม EditPlus แต่จะมี Dial Box ขึ้นมาถามว่าเราจะ Stop Process หรือไม่ ดังภาพภาพที่ 17-1 ให้ตอบ Yes ไป

ภาพที่ 17-1


ภาพที่ 17-2

18. ทางแก้ในด้านนี้คือใช้ Command Prompt นั้นเอง

  • ให้ไปที่ Start > Run
  • พิมพ์ cmd


ภาพที่ 18-1

19. ไปที่ ที่อยู่ไฟล์ที่เราได้ Compile ไว้

  • ซึ่งในการ Compile นั้นโปรแกรม Borland C++ Compiler 5.5 จะทำการ Build ไฟล์ที่เรา Compile เป็น Execute File ( .exe ) ให้เราแล้ว
  • เราเพียงแต่เข้าไปหาไฟล์ที่เรา Compile ไว้แล้วพิมพ์ชื่อไฟล์นั้นๆ ลงไปให้ตรงเท่านั้น
  • ในขั้นตอนนี้ควรมีความสามารถในการใช้คำสั่ง DOS


ภาพที่ 19-1

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

แนะนำการทำเว็บ (ตอนที่ 2)

สวัสดีครับท่านผู้อ่าน ไอ้จริงๆ ผมมีโครงการจัดทำบทความไว้มากมายก็จะเอามาลงในเว็บแห่งนี้ครับ แต่ว่าด้วยเรื่องเหตุต่างๆ มากมายในการเรียนใน มหาวิทยาลัย ปีที่ 1 ครับทำให้ผมต้องเลื่อน บทความต่างๆ ที่ค้างคาอยู่มากมาย (ก็แบบว่าร่างๆ ไว้เต็มไปหมดแต่ก็ หมกไว้ไม่เสร็จเป็นชิ้นไปอันสักที) เลยเอามาลงไม่ได้เป็นเวลาเดือนกว่า สองเดือนได้ ไอ้จริงๆ บทความแนะนำด้านแนวทางทำเว็บนั้นที่ได้ผ่านสายตาไปก็ เป็นบทความเก่านะครับแต่ว่าเอามาปัดฝุ่นใหม่เท่านั้นเอง ทำให้ตอนนี้ก็มึนๆ กับบทความทั้งหลายว่าจะต่อมันยังไงดี (เขียนโครงสร้างไว้นะครับแต่ว่าด้วยเหตุที่ว่า วันเวลาผ่านไปข้อมูลบางอย่างมันเก่าเลยต้องปรับปรุงให้ทันสมัย) เลยตอนนี้ต้องมานั่งแก้บทความกันเล็กน้อยครับ


เรามาเข้าเรื่องกันเลยดีกว่าครับ จากที่ผมได้ค้างไว้ครั้งที่แล้วเรื่อง "แนวทางในการประชาสัมพันธ์เว็ปให้ได้ดี"

ประชาสัมพันธ์ อย่างไรดีกับเรื่องนี้

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

Read moreแนะนำการทำเว็บ (ตอนที่ 2)

แนะนำการทำเว็บ (ตอนที่ 1)

ในสมัยก่อนนั้นการที่เราจะทำเว็บให้ออกมาสวยได้นั้นยากกว่าการพิมพ์งานบน MS. Word เสียอีกต้องมีการทำความเข้าใจในภาษา html ให้ดีเสียก่อน ซึ่งในตอนนั้นเหมือนกันหัดเขียนโปรแกรมโปรแกรมหนึ่งเลยทีเดียว แล้วถ้า ต้องการทำงานในลักษณะตอบโต้ได้ (CGI) มันทำได้ยากยิ่งเพราะว่ายังหาหนังสือที่เป็นภาษาไทยได้ยากมากและส่วนใหญ่ที่ทำกันตอนนั้นจะเป็นคนที่มุ่งมั่นอ่าน หนังสือภาษาอังกฤษ ซึ่งต้องขอบคุณอินเตอร์เน็ตที่ทำให้การอ่านหนังสือ พวก cgi และ html แบบภาษาอังกฤษทำได้ง่ายและฟรีโดยที่ไม่ต้องสั่งซื้อตามศูนย์หนังสือต่างๆ ในตอนนั้นมีคนกระโดดลงมาทำกันยังน้อย และส่วนใหญ่จะเป็นผู้ที่ทำงานด้านนี้อื่นๆ ในแขนงคอมฯพิวเตอร์มาก่อนมากกว่า ซึ่งเว็ปในสมัยนั้น ที่ดังและทำให้เราๆ ได้รู้จักและทำให้เกิดเหล่านักทำเว็ปรุ่นใหม่ๆ คือ Sanook.com แต่ก่อนที่เราจะพูดถึงนั้นเรามาพูดถึงเว็ปรุ่นพี่ที่ทำมานานและยังไม่เปลี่ยนแปลงคือเว็ป Pantip.com ที่เป็นเหมือนศูนย์รวมเว็ปบอร์ดที่ใหญ่ที่สุดใน ประเทศไทยและยังเป็นที่ที่มีอัตราการเข้าใช้บริการมากสุดอีกด้วย เว็ป Pantip.com ยังรักษาลักษณะขอเว็ปตั้งแต่ อดีตจนปัจจุบันได้ดี

Read moreแนะนำการทำเว็บ (ตอนที่ 1)

ซอฟต์แวร์และโปรแกรม สองคำนี้มีความหมายต่างหรือเหมือนกัน อย่างไร

ผมได้พบกับคำถามในเว็บบอร์ด pantip.com ที่มีคำตอบที่น่าสนใจครับ

ซอฟต์แวร์และโปรแกรม…สองคำนี้มีความหมายต่างหรือเหมือนกัน ???

ถ้าเหมือน เหมือนอย่างไร และถ้าต่าง ต่างอย่างไร

เรามีคำตอบครับ ………..


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

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

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

ซอฟต์แวร์ยังแบ่งได้อีกหลายชนิดเช่น shareware (ส่วนมากจะต้องซื้อเมื่อครบกำหนดระยะเวลาทดลองใช้), liteware(แชร์แวร์ซึ่งมีการตัดความสามารถบางอย่างออกไป), freeware(ซอฟต์แวร์ฟรีแต่มีการจำกัดสิทธิ), public domain software(ฟรีและไม่มีข้อบังคับ) และ open source(ซอฟต์แวร์ที่มีการแจกจ่ายซอร์สโค้ดและใช้งานได้อย่างไม่จำกัดรวมทั้งสามารถปรับปรุงได้)

แอปพลิเคชั่นซอฟต์แวร์ทั่วๆไปมีดังนี้

– ซอฟต์แวร์ผลิตภัณฑ์ เช่น ตัวประมวลผลคำ(word processor), ตารางคำนวณ(spreadsheet) และเครื่องมือที่ใช้กันโดยผู้ใช้ส่วนใหญ่
– ซอฟต์แวร์นำเสนอ(presentation software)
– ซอฟต์แวร์กราฟฟิกส์ สำหรับนักออกแบบกราฟฟิกส์
– ซอฟต์แวร์ช่วยเหลือการออกแบบ CAD/CAM
– แอปพลิเคชั่นทางด้านวิทยาศาสตร์เฉพาะทาง
– ซอฟต์แวร์สำหรับอุตสาหกรรม (ยกตัวอย่างเช่น ธนาคาร, ประกันภัย, ค้าปลีก และอุตสาหกรรมการผลิต)


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

โปรแกรมสามารถแบ่งออกเป็นแบบปฏิสัมพันธ์(interactive) หรือชุดคำสั่ง(batch) ในเชิงของการโต้ตอบระหว่างคอมพิวเตอร์กับผู้ใช้และความต่อเนื่องในการประมวลผล โปรแกรมแบบปฏิสัมพันธ์จะรับข้อมูลจากผู้ใช้(หรือจากโปรแกรมอื่นที่ทำหน้าที่เสมือนผู้ใช้) โปรแกรมชุดคำสั่ง(batch) จะรันโปรแกรมและทำงานจนกระทั่งชุดของคำสั่งหมดจึงหยุดทำงาน โปรแกรมแบบชุดคำสั่งจะเริ่มทำงานโดยผู้ใช้สั่งให้โปรแกรมรัน ตัวแปลคำสั่ง(command interpreter) หรือเว็บบราวเซอร์เป็นตัวอย่างอย่างของระบบปฏิสัมพันธ์ และโปรแกรมคอมพิวเตอร์ที่ใช้พิมพ์ข้อมูลเงินเดือนของพนักงานในบริษัทเป็นตัวอย่างหนึ่งของโปรแกรมชุดคำสั่ง(batch program) งานพิมพ์ก็เป็นส่วนหนึ่งของโปรแกรมชุดคำสั่ง

เมื่อคุณต้องการสร้างโปรแกรม คุณจะต้องเขียนมันโดยใช้ภาษาคอมพิวเตอร์ ข้อความในแต่ละประโยคเรียกว่า "source program" จากนั้นคุณจะต้องคอมไพล์ ซอร์สโปรแกรม(ด้วยโปรแกรมพิเศษที่เรียกว่าคอมไพล์เลอร์) และผลลัพธ์ที่ได้จะเรียกว่า object program (อย่าสับสนกับคำว่า object-orieted-programming) มีอีกสองคำที่ใช้เรียก object program ประกอบด้วย object module และ compiled program ภายใน object program จะประกอบไปด้วยชุดข้อความที่เป็นเลข 0 และ 1 เรียกว่า machine language ซึ่งเป็นภาษาที่โปรเซสเซอร์เข้าใจและสามารถสั่งให้โปรเซสเซอร์ประมวลผล

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

ข้อมูลจาก whatis.com


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


ทิ้งท้าย …….

คำแปลตามลักษณะของหนังสือคำศัพท์โดยตรงครับ ไว้อ้างอิงครับ

Software = The programs, routines, and symbolic languages that control the functioning of the hardware and direct its operation.

source : The American Heritage® Dictionary of the English Language, Fourth Edition
Copyright © 2000 by Houghton Mifflin Company.
Published by Houghton Mifflin Company. All rights reserved.

Program = A set of coded instructions that enables a machine, especially a computer, to perform a desired sequence of operations.

source : The American Heritage® Dictionary of the English Language, Fourth Edition
Copyright © 2000 by Houghton Mifflin Company.
Published by Houghton Mifflin Company. All rights reserved.

from: dictionary.com