ComBioLaw.De » Blog » เขียนโปรแกรม

B => C => C++ => D

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

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

แต่เมื่อไม่นานมานี้นิตยสาร Ix ซึ่งเป็นนิตยสารภาษาเยอรมันที่ผมติดตามอ่าน ได้นำภาษา D มาเป็นเรื่องขึ้นปก อ่ะ ! แสดงว่ามันต้องมีอะไร ถึงได้เป็นเรื่องขึ้นปก ก็เลยซื้อมาอ่าน ปรากฏว่า ...

เขียนโปรแกรม เขียนโปรแกรม

01 Jun 07 | by bow_der_kleine | tags เขียนโปรแกรม ไอที D

read 4576 comments 7 read more

Hard Fight : Java vs. Python vs. Ruby

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

ทฤษฎีทางความเชื่อเกี่ยวกับภาษาเขียนโปรแกรมจำนวนมาก ได้ถูกกล่าวอ้างโดยไม่ได้รับข้อพิสูจน์ โดยเฉพาะจากเหล่าสาวกของภาษานั้น ๆ บางครั้งเวลาผมอ่านก็เคลิ้มตามไปเหมือนกัน บางครั้งก็อดตั้งคำถามไม่ได้ว่า มันจะจริงเหรอ ???

ผมจึงรู้สึกว่า น่าจะเขียนบล็อกขึ้นมาหนึ่งบล็อก เพื่อเปรียบเทียบคุณสมบัติต่าง ๆ ของภาษาเขียนโปรแกรมขึ้นมาหนึ่งบล็อก เพื่อเปรียบเทียบให้เห็นกันจะ ๆ และพยายามเป็นกลางให้มากที่สุด (อันนี้แหละยาก) เผื่อว่าใครจะเอาข้อมูลไปใช้ประกอบการตัดสินใจ โดยภาษาที่ผมจะนำมาเปรียบมวยมีด้วยกัน 3 ภาษา คือ Java, Python และ Ruby เพราะเป็นภาษาที่ได้รับความนิยมในขณะนี้ และดูที่อนาคตจะไปได้สวย (จริง ๆ อยากเขียน C# เหมือนกัน แต่ดูเหมือน C# จะแผ่วไปเยอะในช่วงหลัง)

อันที่จริง ...

เขียนโปรแกรม เขียนโปรแกรม

08 Apr 07 | by bow_der_kleine | tags เขียนโปรแกรม ไอที Java Python Ruby

read 9001 comments 282 read more

โปรแกรมค้นหาข้อมูลสำหรับ CMS

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

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

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

เขียนโปรแกรม เขียนโปรแกรม

16 Mar 07 | by bow_der_kleine | tags เขียนโปรแกรม Search Search Engine Google CMS PHP SQL X-BLC

read 6738 comments 3 read more

เพิ่มความเร็วให้ Python ตอน 3 : f2py, numpy

imageหลังจากที่ผมเขียนเรื่อง เพิ่มความเร็วให้ Python ตอน 1 , ตอน 2 ไว้เมือนานมาแล้ว (ประมาณหนึ่งปี) ตั้งแต่นั้นเป็นต้นมาผมก็ใช้ Pyrex เขียนโปรแกรม simulation มาโดยตลอด เนื่องเพราะโปรแกรม simulation เป็นโปรแกรมที่ใช้ความสามารถในการคำนวนที่สูง ความเร็วของโปรแกรมจึงเป็นสิ่งสำคัญมาก เมื่ออาทิตย์ที่แล้วผมนึกสนุก นั่งวัดความเร็วโปรแกรมที่เขียนด้วย Pyrex เปรียบเทียบกับโปรแกรมที่เขียนด้วย FORTRAN จากที่เคยวัดไว้นั้น โปรแกรมที่เขียนด้วย Pyrex ทำงานเร็วกกว่าพอสมควร ผมเลยตัดสินใจใช้ Pyrex มาโดยตลอด แต่ครั้งนี้ผมกลับพบกับความผิดหวัง เพราะ โปรแกรมที่เขียนด้วย Pyrex ทำงานช้ากว่าเป็นสิบเท่า

สาเหตุที่โปรแกรมที่เขียนด้วย Pyrex ทำงานช้าก็เพราะจำนวนเชิงซ้อนครับ และจำนวนเชิงซ้อนเป็นสิ่งที่จำเป็นมากมายใน simulation เกี่ยวกับการส่งสัญญาณที่ผมพัฒนาอยู่ ที่จำนวนเชิงซ้อนทำให้โปรแกรมทำงานช้าก็เพราะว่า จำนวนเชิงซ้อนไม่สามารถถูกแปลงเป็นตัวแปรภาษา C โดยผ่าน cdef ได้ ความเร็วการคำนวนเชิงซ้อนใน Pyrex จึงไม่ต่างจากการคำนวนจำนวนเชิงซ้อนใน Python มากนัก

ผมก็เลยต้องหาวิธีเพิ่มความเร็วให้ Python วิธีอื่น ๆ เพิ่มเติม เดิมทีนั้นผมรู้จัก f2py อยู่แล้ว f2py เป็นเครื่องมือที่ใช้คอมไพล์ Subroutine + Function ภาษา FORTRAN ให้เป็น library สำหรับ Python แต่...

เขียนโปรแกรม เขียนโปรแกรม

04 Mar 07 | by bow_der_kleine | tags เขียนโปรแกรม Python f2py numpy

read 2485 comments 0 read more

Codenone, Python and OOP

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

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

นอกจากโครงสร้างชุมชนที่ดีแล้ว ทางด้านเนื้อหาก็น่าสนใจไม่แพ้กัน ผมต้องขอเขียนเฉพาะในส่วนของ Python เพราะเป็นภาษาที่ผมคุ้นเคยมากที่สุด ในต่างประเทศนั้น Python เป็นภาษาที่มาแรงมาก ๆ แต่ในบ้านเรายังเป็นได้แค่ภาษานอกกระแส สาเหตุหลัก น่าจะมาจากเรื่องของการขาดแคลนเอกสาร และการให้ความช่วยเหลือจากชุมชนที่เป็นรูปธรรม ดังนั้นผมเชื่อว่า การเปิด codenone จะเป็นแรงผลักดันให้ Python กลายเป็นภาษากระแสหลักในประเทศไทยได้ในอนาคต

หลังจากเปิดตัว codenone ได้ไม่นานนัก ก็มี....

เขียนโปรแกรม เขียนโปรแกรม

23 Jan 07 | by bow_der_kleine | tags เขียนโปรแกรม ไอที codenone Python OOP

read 2643 comments 5 read more

Search

Navigation

รวมลิงก์น่าสนใจ

ความเคลื่อนไหว

Login

name password

ลืมรหัสผ่าน