ตอนนั้นเป็นช่วงที่ทำ project ด้วย C บน DOS ก็มีเพื่อนของรุ่นพี่ที่อยู่ในทีมงานเดียวกัน ได้เอา software มา demo ให้ดูครั้งหนึ่ง ใช้พัฒนาระบบบน dos เป็น text mode ตอนนั้นเห็นแล้วก็รู้สึกแปลกดีนะ เพราะไม่เห็นจะมีการ coding โปรแกรมซักที เห็นหน้าจอมีแต่ตาราง แล้วก็กรอก parameter ในตาราง คิดในใจว่าเหมือนโปรแกรมเอาไว้ทำเล่นซะมากกว่าที่จะทำใช้ได้จริง ก็ดูแบบแค่รับทราบ เลยไม่มีคำถามอะไร
จริงๆแล้วนึกถึง 3GL หรือ 4GL tool ที่เคยได้ทำ project ครั้งหนึ่งชื่อ Mark V ทำงานบน Mainframe เป็นลักษณะที่กำหนด parameter บนตารางทำนองเดียวกัน และก็มี cycle การทำงานที่ต้องทำความเข้าใจอยู่พักนึงเลยทีเดียว ใช้งานบน Mainframe ดูว่าจะใช้กับ project ใหญ่ที่ช่วยให้ไม่ต้อง coding หลักการทำนองเดียวกับ Magic Software เลย แต่ไม่รู้ใครมาก่อนใคร แต่ที่รู้จักนั้นรู้จัก Mark V ก่อน แล้วหลังจากนั้นอีกหลายปีก็ได้เห็น Magic จากพี่ที่เขาเอามา demo ให้ดู
หลังจากที่ได้ดู demo แล้ว พอมีช่วงว่างก็ลองมาทำเองบ้าง แต่ทำไม่ได้เหมือนอย่างที่มา demo ให้ดู เพราะคิดว่าโปรแกรมของเล่นมันก็น่าจะลองเดาเล่นได้ แต่พอลองเดาก็ไม่ได้แถมยังงงเองอีก ก็เลยเลิกสนใจไป
ในช่วงที่ทำงานกับ Progress database นั้นก็ได้ไปฟังสัมนาของ Betagro ไม่แน่ในว่าชื่อเต็มว่าอะไร อาจจะเป็น Betagro Computer System หรือเปล่านี่แหละ เพราะตอนนั้นทำตลาด product Magic Software ตอนหลังถึงจะแยกออกมาเป็น Magic Software Thailand ก็พอไปฟังก็เริ่มเห็นภาพมากขึ้น เริ่มเข้าใจแล้วว่า Magic Software มีลักษณะการทำงานอย่างไร ก็คิดจะเอามาใช้กับ Progress อยู่เหมือนกัน เพราะ Magic จะติดต่อกับ database ผ่าน gateway ของ Magic แต่ผิดหวังเพราะไม่มี gateway สำหรับ Progress ก็เลยหยุดไป ได้แต่รับข้อมูลความเคลื่อนไหวของ software ตัวนี้ไปเรื่อยๆ
อีกจุดที่สนใจ Magic Software ในตอนแรกไม่ได้เกี่ยวกับการทำงานของ magic หรอก แต่เป็นโฆษณาของ magic ที่ลงโฆษณาในอเมริกา เป็นรูปเด็กเล็กไม่น่าเกินขวบนึงนั่งเรียงแถวกันบนเก้าอี้เด็ก เหมือนเก้าอี้กินอาหารของเด็ก บางคนก็อมจุกนมยาง แล้วที่หน้าอกของเด็กแต่ละคนก็จะติดป้ายชื่อ แต่เป็นชื่อของ programming langauge หรือ programming tool อื่น เช่น foxpro, dbase, COBOL, C ฯลฯ ด้านบนก็มีข้อความประมาณว่า tool อื่นๆ เป็นเด็กไปเลย เห็นแล้วก็รู้สึกว่าโอ้โห เขาโฆษณากับแบบนี้ไม่กลัวโดนฟ้องเลยหรือไง อ่านแล้วก็ได้ความว่าในปีนั้น (จำไม่ได้ว่าปีไหน) มีการแข่งขัน Droege Competition ที่อเมริกา มี programmer มาร่วมแข่งขันเขียนระบบขึ้นมาภายใต้ข้อกำหนดเดียวกัน โดย start from scratch คือเริ่มเขียนกันขึ้นมาใหม่เลย ไม่มีการเตรียม หรือเอาสิ่งทีเคยทำไว้มา modify ใช้ใหม่ ก็ปรากฏว่า programmer ที่ใช้ Magic Software เป็น tool เป็นผู้ชนะเลิศ และอันดับ top 5 ทั้ง 5 อันดับ ก็เป็น programmer ที่ใช้ magic software เป็น tool เช่นเดียวกัน (link นี้เป็นบันทึกของผู้ที่ได้ไปแข่งขันในครั้งนี้ด้วย http://www.trillium-sw.com/news3-5.htm) จึงเป็นบางอ้อที่เขากล้าเอามาทำใบโฆษณา
จากจุดนั้นก็เลยอยากจะรู้ว่ามันเป็นอย่างที่คุยจริงหรือเปล่า พอมีจัดสัมนาก็เลยมักจะไปร่วมฟัง ก็พอได้รับข้อมูลเพิ่มขึ้นแต่ก็ยังเป็นความเข้าใจภาพกว้างว่าเป็น software tool ที่ช่วยในการพัฒนาระบบงาน ใช้ร่วมกับ database ได้เกือบทั้งหมด (ในยุคนั้น) ไม่ว่าจะเป็น Oracle, DB2, Informix, AS400 file, Btrieve เป็นต้น โดยจะมี gateway เป็นตัวเชื่อมการติดต่อระหว่าง magic กับ database เหล่านั้น ลักษณะการทำงานไม่มีการ code โปรแกรม แต่เป็นการกำหนด operation ตาม engine cycle ซึ่งมีอยูเพียง 13 operation เท่านั้น (ในตอนนั้น) ก็สามารถทำงานได้ครบตามที่ต้องการ ใน version ต้นเป็น version ที่ทำงานบน DOS เป็น text mode สุดที่ version 5 หลังจากนั้นเริ่มมี version 6 เป็น Magic for Windows version แรก จากนั้นก็มี version 7 (แล้วก็ 8, 9, 10 ตอนนี้ก็ใช้ชื่อเป็น uniPaas) ดูแล้วก็อยากจะลองหาตัว demo มาลองศึกษาดูเหมือนกัน แต่ก็เจอปัญหาเดิมคือ ต้องเรียนถึงจะรู้ ลองเล่นเองคงจะไม่เข้าใจแน่นอน (ตอนนั้นไม่ค่อยมี user guide ที่เป็น soft file ให้ดู ไม่เหมือนตอนนี้ที่หาได้มากขึ้น)
16 พฤษภาคม 2552
15 พฤษภาคม 2552
Progress Database
ชื่อนี้ได้ยินค่อนข้างน้อย เพราะคนส่วนใหญ่เขาใช้ Oracle, DB2, Informix และก็การใช้งาน Progress ก็ต้องใช้ ภาษาของ Progress เอง (ถ้าเข้าใจไม่ผิด) เพราะในตอนนั้นมีหนังสือเกี่ยวกับ Progress ภาษาไทยทำออกมาเห็นอยู่รายเดียว ก็ได้ความรู้จากหนังสือเล่มนี้เอง ต้องขออภัยที่จำชื่อหนังสือที่ถูกต้อง และชื่อผู้แต่งไม่ได้ และก็เนื่องจากกว่าตอนหลังไม่ได้ใช้ Progress แล้ว ก็เลยบริจาคหนังสือไปแล้ว
เรื่องราวเกี่ยวกับ Progress ในเรื่องการเขียนโปรแกรมนั้นมีไม่ค่อยมากนั้น เพราะในช่วงนั้นดูระบบเป็นส่วนใหญ่ และก็ช่วยหาทางแก้ปัญหาระบบที่ทำงานช้ามาก โดยเฉพาะถ้ามีการ run batch ที่มีการอ่านข้อมูลใน database เป็นจำนวนมากละก็พากันอืดไปหมดเลยทีเดียว ต้องพยายามหาทางแก้ไข เช่น เพิ่ม harddisk เพื่อให้มี temporary area มากขึ้น และให้มีการกระจายของ data มากขึ้นการ access data จะได้ไม่กระจุกอยู่ที่ drive เดียว หรือในบาง sector เท่านั้น, การเพิ่ม RAM ก็เป็นสิ่งที่ได้ลองทำ แต่ในส่วนของ hardware นี้เป็นเรื่องที่ต้องรอเวลาพอสมควร คือรอของบประมาณ รอสั่งของซึ่งอาจจะต้องรอของ lot ต่อไปเนื่องจากไม่มีในสต็อก, ในส่วนต่อไปที่พยายามแก้ก็คือปรึกษาเจ้าของ product ให้มาช่วยวิเคราะห์ว่าน่าจะปรับ parameter ของ database แล้วจะช่วยได้บ้างหรือไม่ และก็มีอย่างสุดท้ายที่มีคนแนะนำก็คือ อาจจะต้องปรับโปรแกรมที่ทำไว้ ปรับปรุงการ design ระบบกันใหม่แต่ก็เป็นที่เรื่องใหญ่ที่ไม่ได้ทำ
ประสบการณ์ด้าน programming กับ Progress จึงมีน้อย ได้ลองเขียนโปรแกรม report อยู่บ้าง ก็รู้สึกว่าถ้าเขียนโปรแกรม online คงจะยากเอาการทีเดียว ก็เลยมีความเห็นว่า ในกระบวนการจัดทำระบบงานนั้น ช่วงของการจัดทำโปรแกรม หรือการเขียนโปรแกรม ก็เป็นช่วงที่ใช้เวลาไม่น้อยทีเดียว และส่วนใหญ่ก็มักจะเสร็จไม่ทันกำหนดเสียด้วย จนเป็นเรื่องที่ชินชากันไปเลยทีเดียว ว่าถ้าจะให้เพิ่มโปรแกรม ปรับปรุงระบบ ก็ต้องใจเย็นๆรอกันหน่อย
ก็เลยพยามยามหาเครื่องมือหรือโปรแกรมภาษาในรูปแบบไหนบ้างที่จะช่วยให้ทำงานเขียนโปรแกรมได้เร็วขึ้นบ้างนะ ก็เลยเป็นจุดเริ่มของตอนต่อไป คือ Magic Software จนกลายเป็น Magic Programmer ไป
เรื่องราวเกี่ยวกับ Progress ในเรื่องการเขียนโปรแกรมนั้นมีไม่ค่อยมากนั้น เพราะในช่วงนั้นดูระบบเป็นส่วนใหญ่ และก็ช่วยหาทางแก้ปัญหาระบบที่ทำงานช้ามาก โดยเฉพาะถ้ามีการ run batch ที่มีการอ่านข้อมูลใน database เป็นจำนวนมากละก็พากันอืดไปหมดเลยทีเดียว ต้องพยายามหาทางแก้ไข เช่น เพิ่ม harddisk เพื่อให้มี temporary area มากขึ้น และให้มีการกระจายของ data มากขึ้นการ access data จะได้ไม่กระจุกอยู่ที่ drive เดียว หรือในบาง sector เท่านั้น, การเพิ่ม RAM ก็เป็นสิ่งที่ได้ลองทำ แต่ในส่วนของ hardware นี้เป็นเรื่องที่ต้องรอเวลาพอสมควร คือรอของบประมาณ รอสั่งของซึ่งอาจจะต้องรอของ lot ต่อไปเนื่องจากไม่มีในสต็อก, ในส่วนต่อไปที่พยายามแก้ก็คือปรึกษาเจ้าของ product ให้มาช่วยวิเคราะห์ว่าน่าจะปรับ parameter ของ database แล้วจะช่วยได้บ้างหรือไม่ และก็มีอย่างสุดท้ายที่มีคนแนะนำก็คือ อาจจะต้องปรับโปรแกรมที่ทำไว้ ปรับปรุงการ design ระบบกันใหม่แต่ก็เป็นที่เรื่องใหญ่ที่ไม่ได้ทำ
ประสบการณ์ด้าน programming กับ Progress จึงมีน้อย ได้ลองเขียนโปรแกรม report อยู่บ้าง ก็รู้สึกว่าถ้าเขียนโปรแกรม online คงจะยากเอาการทีเดียว ก็เลยมีความเห็นว่า ในกระบวนการจัดทำระบบงานนั้น ช่วงของการจัดทำโปรแกรม หรือการเขียนโปรแกรม ก็เป็นช่วงที่ใช้เวลาไม่น้อยทีเดียว และส่วนใหญ่ก็มักจะเสร็จไม่ทันกำหนดเสียด้วย จนเป็นเรื่องที่ชินชากันไปเลยทีเดียว ว่าถ้าจะให้เพิ่มโปรแกรม ปรับปรุงระบบ ก็ต้องใจเย็นๆรอกันหน่อย
ก็เลยพยามยามหาเครื่องมือหรือโปรแกรมภาษาในรูปแบบไหนบ้างที่จะช่วยให้ทำงานเขียนโปรแกรมได้เร็วขึ้นบ้างนะ ก็เลยเป็นจุดเริ่มของตอนต่อไป คือ Magic Software จนกลายเป็น Magic Programmer ไป
EASYTRIEVE
EASYTRIEVE เป็นProgramming tool อีกแบบหนึ่งที่ทำงานบน Mainframe
พอดีว่าใช้งานตามความจำเป็น ไม่ได้ศึกษาอย่างจริงจัง พอดีในช่วงนั้นต้อง maintain โปรแกรมเดิมที่ทำไว้แล้ว และก็มีงานบาง job เขียนไว้ด้วย EASYTRIEVE ก็เลยได้สัมผัส
คือการ run งาน batch (ไม่แน่ใจว่าปัจจุบันจะเปลี่ยนไปมากหรือเปล่า เพราะไม่ได้ทำงานบน Main frame นานแล้ว) จะต้องจัด job ส่งไป run โดยเขียน JCL (Job Control Language) เพื่อกำหนดส่วนของ data กำหนด area ของโปรแกรม และอื่นๆ จัดเป็นลำดับตามขั้นตอน เช่น step แรกจะไปอ่าน data มา sort ลง temp area ต่อด้วย step2 อ่านข้อมูลมา summary แยกตาม group ของอะไรก็ว่าไป step3 เลือกเฉพาะ group ที่เข้าเกณฑ์ที่กำหนดไว้ใน data table บางตัว แล้วมา list เฉพาะรายการเหล่านั้น เป็นต้น
ทีนี้มันก็อาจจะมีบาง step ที่ถ้าเขียนโปรแกรม ก็นิดเดียวเอง ถ้าต้องเขียน แล้ว compile & catalog ก็จะไม่จำเป็น ก็ใช้ EASYTRIEVE มาช่วยในการทำเป็นโปรแกรมง่ายอ่านค่าแล้วรวมค่แยกตาม group อะไร และ step compile ก็สั้นๆ ไม่ต้อง catalog ให้เปลือง area ของ compiled catalog area ประมาณนั้น เพราะสมัยก่อนเรื่องของ disk space เป็นเรื่องที่ต้องระวังไม่ให้สิ้นเปลือง เพราะมีจำนวนจำกัด และราคาแพง ไม่เหมือนสมัยนี้ PC ยังมีความจุมากกว่า mini computer สมัยก่อนเสียอีก EASYTRIEVE มาช่วยแบ่งเบางานเล็กงานน้อยไปได้พอสมควรทีเดียว แต่ก็มีบ้างที่อาจจะมีบางคนใช้ EASYTRIEVE จนเชี่ยวชาญและติดใจในความง่ายในการ code ก็มีบ้างที่ใช้ EASYTRIEVE มาทำโปรแกรมอย่างเป็นล่ำเป็นสันทีเดียว ถ้าในกรณีอย่างนี้มักจะ compile catalog เก็บไว้เลย
พอดีว่าใช้งานตามความจำเป็น ไม่ได้ศึกษาอย่างจริงจัง พอดีในช่วงนั้นต้อง maintain โปรแกรมเดิมที่ทำไว้แล้ว และก็มีงานบาง job เขียนไว้ด้วย EASYTRIEVE ก็เลยได้สัมผัส
คือการ run งาน batch (ไม่แน่ใจว่าปัจจุบันจะเปลี่ยนไปมากหรือเปล่า เพราะไม่ได้ทำงานบน Main frame นานแล้ว) จะต้องจัด job ส่งไป run โดยเขียน JCL (Job Control Language) เพื่อกำหนดส่วนของ data กำหนด area ของโปรแกรม และอื่นๆ จัดเป็นลำดับตามขั้นตอน เช่น step แรกจะไปอ่าน data มา sort ลง temp area ต่อด้วย step2 อ่านข้อมูลมา summary แยกตาม group ของอะไรก็ว่าไป step3 เลือกเฉพาะ group ที่เข้าเกณฑ์ที่กำหนดไว้ใน data table บางตัว แล้วมา list เฉพาะรายการเหล่านั้น เป็นต้น
ทีนี้มันก็อาจจะมีบาง step ที่ถ้าเขียนโปรแกรม ก็นิดเดียวเอง ถ้าต้องเขียน แล้ว compile & catalog ก็จะไม่จำเป็น ก็ใช้ EASYTRIEVE มาช่วยในการทำเป็นโปรแกรมง่ายอ่านค่าแล้วรวมค่แยกตาม group อะไร และ step compile ก็สั้นๆ ไม่ต้อง catalog ให้เปลือง area ของ compiled catalog area ประมาณนั้น เพราะสมัยก่อนเรื่องของ disk space เป็นเรื่องที่ต้องระวังไม่ให้สิ้นเปลือง เพราะมีจำนวนจำกัด และราคาแพง ไม่เหมือนสมัยนี้ PC ยังมีความจุมากกว่า mini computer สมัยก่อนเสียอีก EASYTRIEVE มาช่วยแบ่งเบางานเล็กงานน้อยไปได้พอสมควรทีเดียว แต่ก็มีบ้างที่อาจจะมีบางคนใช้ EASYTRIEVE จนเชี่ยวชาญและติดใจในความง่ายในการ code ก็มีบ้างที่ใช้ EASYTRIEVE มาทำโปรแกรมอย่างเป็นล่ำเป็นสันทีเดียว ถ้าในกรณีอย่างนี้มักจะ compile catalog เก็บไว้เลย
สมัครสมาชิก:
บทความ (Atom)