Software Bundle สิ่งที่ถูกมองข้าม และคนไทยจำนวนมากยังคงใช้ของไม่มีลิขสิทธิ์

ผมว่าคนไทยไม่ได้มองกันที่ Software ที่ bundle มาให้มากนักเพราะว่าเราหาโปรแกรมที่งานคล้ายกันที่มี function ใช้งานมากกว่า ได้ง่ายกว่าในเมืองนอกหลายเท่านัก ทำให้เราไม่ได้เห็นคุณค่า ที่ราคา notebook แพง กว่าในหลายๆ ยี่ห้อ เกิดจากตัว software OS ที่ราคาก็ 4,000 บาทกว่าๆ แล้วในรุ่น windows xp home หรือ ราคาเกือบ 10,000 ในรุ่นที่ใช้ windows xp pro และยังไม่รวมถึงโปรแกรม utility ที่แถมมาในด้านการใช้งานทั้งโปรแกรมด้านความบันเทิงต่างๆ โปรแกรมจัดการระบบขอตัว notebook แต่ละรุ่นเอง หรือแม้แต่โปรแกรมแก้ไขปัญหาในระดับ OS ล้วนแล้วแต่มีมูลค่าทางเงินทั้งสิ้น

คนไทยที่ใช้คอมพิวเตอร์นั้นมีความคิดหัวศิลป์น้อย ทำไมเหรอ เพราะว่าการสร้าง software เหมือนสร้างงานศิลปะ งานศิลปะ คืองานที่ใช้ความรู้สึกของมนุษย์ ก็เหมือนกับ software ที่คนไทยให้ความรู้สึกที่ว่ามันต้องสั่งให้ h/w ทำงาน ไม่ได้คิดว่ากว่าที่ software จะสั่งงานระบบ h/w ได้นั้นต้องทำออกมาได้อย่างไรบ้าง ใช้เวลานานเพียงใดในการพัฒนา การวางแผน การเขียนโปรแกรม ที่ผมพูดไม่ใช่หมายความว่าคนไทยใช้ของเถื่อนจนเคย แต่คนไทยความรู้ค่าของ ทรัพย์สินทางปัญญาหรือความคิดในด้านการสร้างสรรค์ทางด้านซอฟต์แวร์ที่มองมันเป็นมูลค่าทางการเงินมากกว่าแค่ด้านการสั่งการเท่านั้น คนไทยใช้ของฟรีหรือเกือบฟรีจนชิน แต่ไม่แสวงหารากที่แท้จริงของมูลค่าในตัว software นั้นๆ ว่ามันควรจะราคาเท่าไหร่

ผมเคยเสนอราคา Software ต่อคนที่ผมจ้างไป 10,000 คุณรู้ไหมเค้าตอบกลับมาว่าอย่างไร เค้าว่า “ทำไมแพงจัง คุณแค่ พิมพ์ๆๆๆ ตามที่ผมร่างหน้าตาไว้ คิดนิดหน่อยเอง ผมว่าให้คุณหมดแล้วเนี่ย หน้าตาของโปรแกรมน่ะ สูตรก็มีให้ ด้วย” ซึ่งผมตอบกลับไปว่า ” งั้นหน้าตาตอน output ผมทำให้คุณได้ภายใน 1 ชม เหมือนเปี้ยบเลย แต่โปรแกรมทำงานให้คุณไม่ได้นะ ผมขอค่าทำ 100บาท ” เค้าเงียบครับ งานเขียนโปรแกรมไม่ใช่ว่าจะทำให้เหมือนๆ ที่ร่างแล้วเสร็จมันต้องมีการวางโครงสร้าง วางระบบ มีการทดสอบหาข้อบกพร่อง ซึ่งในตอนนี้ผมกลับคิดว่า windows เป็นโปรแกรม os ที่ดี มาก ถึงแม้คุณๆ จะว่ามันมี bug ให้เห็นตลอดเวลาผมว่านั้นไม่ใช้ข้อผิดพลาด แต่ผมกลับคิดว่ามันคือข้อบกพร่องของการทำงานที่ไม่เกิดขึ้นตอนทำการทดสอบโปรแกรมก่อนออกสู่ตลาดมากกว่าซึ่งถ้าไม่มีผู้ประสงค์ชั่วๆ (หรือหวังดีประสงค์ร้าย ถ้ารู้ว่ามันผิดพลาดก็บอกผู้ผลิตโดยตรงเพื่อปิดข้อบกพร่องก็จบแล้ว แค่นี่มันทำเป็น worm และทำให้ชาวบ้านเค้าเดือดร้อนไปทั่ว) หรือทำให้โปรแกรมทำงานไม่ได้ ข้อบกพร่องเหล่านั้นก็ไม่ทำงาน (อย่าง w32blater ) และไม่เกิดผลเสียต่อผุ้ใช้มากมายเท่าวันนี้ อย่าลืมว่า windows มีส่วนแบ่งทางการตลาดในตลาด os ถึง 95 % นั้นหมายความว่า os นี้ต้องเป็นที่โจมตีของเหล่าผู้ไม่หวังดีอยู่แล้วเพราะว่าด้วยมูลค่าในตลาดที่มากทำให้ผู้ไม่หวังดีสร้างความเสียหายได้มากทีเดียว และถ้าไปเทียบกับ linux ใช่ว่าจะไม่มีความบกพร่อง มีครับแต่ไม่เป็นข่าวหรือเป็นข่าวแค่ในวงของเค้าเท่านั้น unix ซึ่งด้วยตัวมันแล้วเป็นระบบที่เก่าแก่มาก และเป็นระบบที่ผู้ใช้ต้องชำนาญในการใช้งานคอมพิวเตอร์เท่านั้น หรือมีความรู้พอตัวถึงจะทำงานกับ unix ได้ดี นั้นทำให้ระบบไม่ถูกโจมตี หรือพบข้อบกร่องได้ง่ายเท่า windows และ unix นั้น ในบางวันต้องส่ง patch ออกมาแก้ไขหลายครั้งหลาย version เหมือนกันครับ เพราะว่าบางครั้งคนที่เขียนโปรแกรมเสริมเหล่านั้นพบข้อผิดพลาดที่เพิ่งเขียนลงไปไม่นานก็รีบออก patch ออกมาทันทีเพราะกลัวระบบอื่นๆ ที่ใช้โปรแกรมของตัวเองจะเสียหายครับ

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

เครื่องผมแม้จะมีเถื่อนบ้างแท้บ้างแต่พยายามใช้้อันที่ฟรี หรืออันที่พอจะจ่ายเงินได้ ผมใช้ windows xp pro oem ของแท้ ผมใช้ nod32 ของแท้ ผมใช้ ms office acadamic licence หรือแม้แต่ ใช้ firegraphic ทำงานเหมือนกับ acdsee แต่เป็น opensource แท้ ฯลฯ เพื่อจะได้ชินกับสิ่งเหล่านี้ ผมเป็นโปรแกรมเมอร์ที่เพิ่งเกิด แต่ความรู้สึกไม่ต่างจากโปรแกรมเมอร์ที่โดนก็อปๆ ไปหลายๆ คน

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

ผมได้พบกับคำถามในเว็บบอร์ด 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