หลังจากมีข่าวลือว่าไมโครซอฟท์กำลังพิจารณาโอเพนซอร์สบางส่วนของ Bing ล่าสุดไมโครซอฟท์ "เริ่ม" โอเพนซอร์ส API ที่ใช้ใน Bing แล้ว
Ben Watson ซึ่งทำงานอยู่ในทีม Bing เผยว่า บริษัทได้โอเพนซอร์ส Microsoft.IO.RecycableMemoryStream
เพื่อใช้แทน System.IO.MemoryStream
สำหรับระบบที่เน้นประสิทธิภาพเป็นสำคัญ โดย API นี้ถูกปรับแต่งสำหรับการกำจัดการจอง Large Object Heap โดยใช้บัฟเฟอร์, หลีกเลี่ยง memory leak และสนับสนุนการดีบั๊ก เป็นต้น (ดูรายละเอียดทั้่งหมดได้จาก Philosophical Geek ตามที่ของข่าว)
เว็บไซต์ Neowin ตั้งข้อสังเกตว่า ยังไม่เป็นที่แน่ชัดว่า Bing จะถูกโอเพนซอร์สมากแค่ไหน ส่วนไมโครซอฟท์จะเสียอะไรจากการโอเพนซอร์สนี้ก็คงไม่ เพราะกูเกิลมีอำนาจเหนือตลาดค้นหาข้อมูล และเอนจินค้นหาข้อมูลก็ไม่ได้เป็นธุรกิจหลักในเชิงของรายได้อยู่แล้ว
ที่มา: Philosophical Geek ผ่าน Neowin
Comments
System.IO.MemoryStream ก็ Byte array ที่ติด API ของ System.IO.Stream แหละครับ
จะว่าไปไมโครซอฟยุคนี้ Open source เยอะจริงๆ
ไม่สน ผมสน DirectX กับ Visual Studio มาไวๆหน่อยสิครับเหอๆ แล้วก็เมื่อใหร่ Windows จะเหลือแต่ 64bit สักที OS เจ้าอื่นไปกันหมดแล้วแล้ว ทิ้งไปเถอะ 32bit อ่ะ ไม่งั้นนักพัฒณามันก็ยังไม่พัฒนา อยู่นั่นหล่ะครับ
คงทิ้งไม่ได้ง่ายๆ ละครับ ยิ่งพึ่งจับมือกับ Raspberry Pi ลง Raspberry Pi 2 Mode B
แหละเหล่า Budget PC/NB ทั้งหลายอีก ทิ้งไปเท่ากับฆ่าตัวตายชัดๆ
อีกทั้ง 64 bits นี่มีโปรแกรมเมอร์ซักเท่าไหรกันครับที่เขียนใช้ประสิทธิภาพถึงขนาดว่า 32 bits เอาไม่อยู่แล้ว
แค่เขียนให้ใช้ CPU ครบทุกหัวยังมีน้อยเลย เอาเข้าจริงก็ไม่ค่อยมีใครเขียนเน้นประสิทธิภาพมากนักอยู่แล้วสำหรับบน .Net Framework
ว่าแต่นักพัฒนานี่เป็นตัวอะไรหรือครับถึงต้องใช้สรรพนามว่า "มัน" ?
ฮ่าๆๆ ใจเย็นครับ ผมติดนิสัยเพราะมันไม่ยาวหน่ะครับแล้วก็ง่ายได้แทนนามได้เกือบทุกสิ่งถ้าไม่ยึดถืออะไรมาก ให้คิดซะว่าเวลาเพื่อนพูดเรื่องแฟนของเขาให้เราเราฟังแล้วกัน ผมเจอบ่อย อยู่ดีๆเรียกแฟนตัวเองว่ามันในการพูดกับเราเฉยนึกว่ามีปัญหา แต่สรุปไม่มีอะไร มันขึ้นอยู่กับจังหว่ะที่พูดตอนนั้นหน่ะครับ
ส่วนเรื่อง 64bit ผมบอกได้เลยถ้า MS ไม่ทำ พวกนักพัฒนาก็ไม่ไปหรอกครับ(ของไทยเนี่ยแหล่ะ ของต่างชาติไม่เห็นเพราะถ้าเป็น software ระดับขายตัวโลกผมเห็นแต่ 64bit ไปแล้วซะส่วนมากเกือบจะ 100%) มีใช้เขาก็ใช้ก็ชินกับตัวนี้ถ้าไม่โดนบีบให้เปลี่ยนเขาก็ไม่เปลี่ยนหรอกครับ Linux กับ OS X เลยเปลี่ยนแล้วไงครับแต่ก็ยังรองรับ 32bit อยู่นะสำหรับ OS X แต่กำหนดเส้นทางว่าเน้น 64bit เต็มตัวไปแล้ว ส่วน Linux ผมไม่ทราบเท่าใหร่ อย่างน้อยพวก Tools ของ MS รุ่นใหม่ๆควรตัดรูปแบบการทำงานของ 32bit ทิ้งไปแล้ว เป็นการบังคับกลายๆว่าถ้าใช้เวอร์ชั้นใหม่นี่เขียนโปรแกรม ก็ต้องเขียนแบบ 64bit อย่างเดียว ถ้าอยากเขียน 32bit อยู่ก็ไปใช้เวอร์ชั่นเก่า แต่ไม่รับประกันว่าจะไม่มีปัญหากับ OS รุ่นถัดๆไปแล้วนะแบบนี้หล่ะครับ แล้วที่นักพัฒนาไม่เขียนเป็น 64bit ไปเลยไม่ใช่เพราะว่าประสิทธิภาพ 32bit เอาอยู่เอาไม่อยู่ครับ แต่เพราะภาษาระดับกลางของภาษาคอมพิวเตอร์มันต้อง เรียนรู้เพิ่มเติมในการเขียนโปรแกรมให้สนับนุน 64bit ได้ครับแล้วผมก็บอกเลยว่าไม่ง่าย แต่ก็ไม่ยากมาก จะโหดก็ตรงการใช้งาน Pointer นั่นหล่ะถ้าจะเขียนควบคุมเอง อันนี้มีอ้วก แต่ก็ยังดีกว่า Assembly ใครใช้ภาษานี้เป็นส่วนประกอบด้วยได้นั่งร้องไห้เพราะต้องรื้อใหม่หมด
อากาศมันร้อนขออภัยเช่นกันครับ ;)
ผมเขียน CIL(MSIL) บ่อยๆ (ผ่าน Emit นะ ไม่ค่อยเขียนสดเป็น il คอมไพล์เข้า msbuild ตรงๆ ซักเท่าไหร) เรื่อง Pointer ผมว่าไม่ได้มีอะไรมากนะครับ 64 bits (ถ้า add ldc.i4 เอาเองก็งานงอกละครับฮาๆ) นี่ Bug ตรง JIT64 น่ากลัวกว่าเยอะ อย่างใน VS 2013 นี่ผมเจอใช้ pop ขณะที่ Stack นั้น empty ได้ เล่นเอางงไปพักใหญ่ๆ ว่าทำไมไม่ Error
แต่การเขียนโดยทั่วไปอย่างใน C# หรือ VB.net แทบไม่ต่างอะไรกันระหว่าง 32bits และ 64bits แค่ไปตั้งใน Project property ว่าจะ Prefer 32 bits หรือไม่
ส่วนตัวผมเห็นว่ามีน้อยกรณีครับที่ต้องใช้ native int ถึง 64bits อีกทั้งเขียนเป็น 32bits ใช้ได้ทั้ง 32bits และ 64bits แต่ถ้าเขียนเป็น 64bits จะใช้กับ 32bits ไม่ได้
"อีกทั้งเขียนเป็น 32bits ใช้ได้ทั้ง 32bits และ 64bits แต่ถ้าเขียนเป็น 64bits จะใช้กับ 32bits ไม่ได้"
ตรงนี้แหล่ะครับผมถึงอยากให้เขายกเลิกการออก OS 32bit ได้แล้วเพราะ OS ตัวนึงที่ปล่อยออกมาจะมี support 10 ปี และเพราะแบบนี้เราต้องรอจนกว่า OS รุ่นสุดท้ายที่มีแบบ 32bit หมดอายุ แล้วต้องรอการเปลี่ยนแปลงหลังจากนั้นอีกไม่รู้กี่ปี เพราะคนก็ไม่อยากเปลี่ยน OS กันนักหรอกครับ มันเปลืองงบประมาณ แล้วมันก็เลยกลายเป็นแบบนี้ดึงกันไปดึงกันมา นักพัฒนาก็ไม่กล้าออกตัวก่อน MS ก็ไม่กล้าตัด OS ก่อน เพราะต่างคนต่างใช้ข้อมูลของแต่ละฝั่งในการตัดสินใจ มันก็ไม่ไปใหนกันเนี่ยแหล่ะ แล้วถ้าปล่อยไปเรื่อยๆอย่างนี้ Windows จะเป็น OS ตัวเดียวในโลกที่ยังมี 32bit อยู่ (ในระดับที่คนทั่วโลกรู้จักแล้วใช้กันกว้างขวางนะครับ เพราะ Linux กับ OS X ไปกันก่อนแล้ว แล้ว คาดว่า Windows Phone ก็จะไปก่อนด้วยเช่นกันเพราะ ผู้ใช้น้อย เปลี่ยนง่าย ฮ่าๆๆ) ที่แน่ๆก็อย่างน้อยอีก 11 ปี ต่อจากนี้พวกเราก็ยังจะเห็น โปรแกรม 32bit อยู่ครับสำหรับ windows จะให้นักเขียนโปรแกรมทำแบบ MS ที่เขียน MS office แยกมา 2 ระบบ รอผู้ใช้เลือกก็ไม่ใหวเหมือนกัน ผมรู้สึก MS ชอบทำอะไรไม่เด็ดขาด ผมว่าตอนเปลี่ยนแปลงจาก 16bit มา 32bit ยังไม่นานขนาดนี้เลยนะครับ รู้สึกจะเป็น Windows 98 กับ Windows ME มาเป็น Windows XP มั้ง โปรแกรมระดับ 8bit ใช้ไม่ได้ทั้งหมด แต่มีตัวช่วยให้ทำงานกับโปรแกรมเก่าๆที่เป็น 16bit ได้ ดังเช่น Windows 98 กับ Windows ME ที่เป็น OS 16bit ก็รองรับโปรแกรม 8bit ได้ แต่ทั้งนึ้ทั้งนั้นผมก็ไม่เคยเห็นมันแยกเวอร์ชั่น แบบ 32bit กับ 64bit ให้เห็นชัดๆแบบในปัจุบันนี้เลยครับ ผมก็ งง แต่ก็จะตอนนั้นผมยังเด็กไม่รู้ว่าเพราะอะไรตอนนั้นกับตอนนี้ถึงต่างกันเหลือเกิน
ให้คิดกรณีตัวอย่างก็ IE6 ครับ นักเขียนโปรแกรมก็ไม่กล้าที่จะไม่เขียน Web ที่ไม่ support IE6 สักที เพราะคนใช้เยอะ แล้ว MS ก็พยายามนะ แต่เรื่อง IE6 มีบริษัทใหญ่ๆเกี่ยวข้องเยอะว่า เลยโดนกดดันรอบทิศเลย จนต้องประกาศเป็นเหตุการณ์รณรงค์ระดับโลกกันเลยทีเดียว MS เลยจัดให้ไว(แต่ในสายตาคนทั้งโลกที่อยากให้เปลี่ยน นี่รอกันนานโครตกว่า windows XP จะหมดอายุจริงๆ Windows 7 ก็อายุผ่านไปจะครบ 5 ปีแล้ว)
แค่ตัด Start up menu ออกไปใน Windows 8 ยังเอาตัวแทบไม่รอดเลยครับ ฮาๆ
ก็ให้นักพัฒนา เขียน 64bit อย่างเดียวใครใช้ 32 bits ก็อดไป
ทำอย่างงั้นเท่ากับนักพัฒนาฆ่าตัวตายอ่ะครับไม่มีใครซื้อใช้เพราะใช้ไม่ได้ ต้องเริ่มที่ MS ครับดีที่สุด ไม่ก็นักพัฒนาต้องทำ 2 รูปแบบ คือทั้ง 32bit และ 64bit ซึ่งมันใช้การลงทุนสูงและเวลาเยอะอยู่นะครับถ้าโปรแกรมใหญ่ๆด้วยนี่ หนักเลย windows server ใน บังคับ 64bit ไปกันแล้ววว แต่ยังรองรับ โปรแกรมที่เป็น 32bit อยู่ถ้าจะใช้ ถ้าจำไม่ผิดรุ่น 2008 จะเป็นรุ่นสุดท้ายที่มี 32bit
Microsoft ก็เริ่มแล้วนะครับ ข่าวเก่า
ประเด็น อยากให้ Windows รุ่นหลังใหม่เหลือแต่ 64bit ผมก็คิดเหมือนกันครับ ผมเห็นด้วยนะครับ อยากให้เหลือรุ่นให้น้อยที่สุด
ผมใช้ Tablet Intel Baytrail ครับ
ถ้าเหลือแต่ 64bit นี่ตายแน่ๆครับ
เพราะเครื่องผมรองรับ 64bit ก็จริง แต่ระบบบูตเป็น efi 32bit นี่สิครับ
แล้วพวก hybrid tablet ในตลาดตอนนี้ก็เป็น efi 32bit ซะเยอะด้วย
ทำให้ผมนึกถึง OS X 10.6 Snow Leopard ที default EFI เป็น 32 bit เลยแฮะ ท่าอยากเปลี่ยนเป็น EFI 64bit จะมี 2 วิธีคือต้องกดเปลี่ยนเปงตลอดตอน boot เครื่อง กดเลข 6 กับ 4 ค้างไว้ตอนบูต กับอีกแบบคือไปแก้ที่ไฟล์ boot เลย ส่วนของ Tablet Intel Baytrail ไม่แน่ใจด้วยสิว่าเขาทำมาให้เลือกด้วยหรือเปล่าสิครับ
ผมว่าพาดหัวมันชี้นำผิดนะครับ ไลบรารีที่ปล่อยออกมามันพื้นฐานมาก ไม่ได้เกี่ยวอะไรกับระบบค้นหาโดยตรงด้วยซ้ำ ระบบจัดการหน่วยความจำ Heap พวกนี้ที่ไหนก็มี เพัยงแต่เป็นรุ่นปรับปรุงเฉพาะที่ได้จาก Bing
กูเกิลโอเพนซอร์สมากมาย หลายส่วนก็มาจาก Google Search แต่ก็คงไม่มีใครบอกว่ากูเกิลโอเพนซอร์ส Google Search เพราะไลบรารีพวกนี้มันพื้นฐาน
lewcpe.com, @wasonliw
ปรับหัวข่าวแล้วครับ รบกวนตรวจสอบอีกครั้งครับ
เท่าที่อ่าน ที่แง้มมา มันแค่คอมโพเน้นต์พื้นฐานมากนะครับ ไม่ใช่สิ่งสลักสำคัญของความเป็น Bing นะ
การเปิด API มันเหมือนแค่เปิดให้ชาวบ้านภายนอกให้รู้ว่าจะเรียกใช้ได้อย่างไร (public API) ซึ่งไอ้นี่มัน drop-in replacement คอมโพเน้นต์พื้นฐานเลยนะ แค่เปลี่ยน namespace/package ก็จบแล้วเอง
ดีบัก => ดีบั๊ก