เฟซบุ๊กใช้ภาษา PHP มาตั้งแต่แรกๆ และใช้เรื่อยมาจนถึงปัจจุบันโดยสร้างเทคโนโลยีมาเสริมเพื่อรองรับการทำงานประสิทธิภาพสูงอยู่เรื่อยๆ โครงการก่อนหน้านี้เช่น HipHop VM (HHVM) ตอนนี้ก็มีพัฒนาการใหม่ถึงขั้นพัฒนาภาษาของตัวเองในชื่อว่าภาษา Hack แล้ว
ภาษา Hack เป็นภาษาที่ออกแบบมาเพื่อทำงานร่วมกับ HHVM และ PHP ได้เป็นอย่างดี ขณะเดียวกันก็มีฟีเจอร์ใหม่ๆ ที่เหมาะกับโครงการขนาดใหญ่มากขึ้น เช่น การระบุชนิดตัวแปร และระบุได้ว่าตัวแปรประเภทใดเป็น Null ได้, Generics, Collection เช่น Vector/Set/Pair เป็นชนิดตัวแปรพื้นฐาน, Lambda สร้างฟังก์ชั่น
ดาวน์โหลดได้เลยวันนี้
ที่มา - Facebook Engineering Blog , Hacklang.org
Comments
เท่าที่อ่านดู สรุปว่ามันคือ PHP + static typing แบบไม่บังคับ และทำงานบน HHVM runtime
ดีทุกอย่างยกเว้นชื่อ เวลาเรียกคงสับสนน่าดู
เห็นด้วยว่ามันคือ PHP + static typing ครับ แต่หากจะทำอย่างนี้ น่าจะคิดภาษาใหม่ไปเลย (หมายถึงใหม่จริง ๆ ไม่ได้มีพื้นจาก PHP) เพราะ
- ลากเอาความ inconsistent ของ PHP มาด้วย
- สับสนเรื่องการใช้ library ระหว่าง PHP กับ hack
- function test(): void มันรุ่มร่าม ทำไมไม่ void test() ไปเลย
โดยตัวภาษาผมว่ามันไม่ clean เท่าไร เพราะ PHP มันไม่ clean มาแต่แรกแล้ว เอามาต่อยอดด้วย concept ที่ไม่ได้ออกแบบมาแต่ต้นอีก เลยไปกันใหญ่
แต่มันค่อนข้าง practical โดยเฉพาะคนที่มีโค้ด PHP เป็นทุนเดิม
*0*
//จะว่าไปเวลาแฮฟข้อมุลเว็บชาวบ้านก็ใช้ php จะเปลี่ยนมาใช้ hack ก็ดีเหมือนกัน จะได้เหมาะกะงาน :P
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
น่าจะ fail ตั้งแต่ชื่อแล้วล่ะ ลองนึกถึงตอน search หาข้อมูลเกี่ยวกับภาษานี้โดยใส่ keyword ว่า "hack" หรือ "hack facebook" ดูสิ
ตอนผมหา go ก็หา golang กันครับ ตัว hack นี่ชื่อเว็บก็เรียก hacklang น่าจะกลายเป็น keyword มาตรฐาน
lewcpe.com , @wasonliw
อ้อ ขอบคุณครับ
ผมชอบชื่อนะ คิดนอกกรอบดี
เมื่อก่อนมีคนกล่าวหาว่า C# ลอก Java แต่ตอนนี้กลายเป็นแทบจะทุกภาษาลอก C# แม้แต่ hack ยังไม่เว้น เช่น [C#] int? a = null; [hack] ?int a = null; lambda expression ภาษา Java ก็ลอก C# ยอมรับกันเถอะว่า การลอกเลียนแบบคือการต่อยอดแนวคิด เพื่อต่อไปเราจะได้หัดภาษาที่มัน syntax เหมือนกันหมด ไม่เหนื่อยดี
คำตอบของข้า คือ ประกาศิต
ปกติการกล่าวถึงภาษาจะไม่เรียกว่า "ลอก" ครับ แต่จะเรียกว่า "ได้รับอิทธิพล" ภาษาเขียนโปรแกรมมีธรรมชาติหลายอย่างคล้ายภาษาธรรมชาติ และตัวมันเองไม่ถือเป็น invention แต่เป็นการกำหนด กฎ กติกา และระเบียบวิธีคิด มันเลยไม่มีการลอก การลอกต้องใช้กับสิ่งที่มี invention ครับ
hhvm uses a JIT not be a tracelet.
คำตอบของข้า คือ ประกาศิต
มีภาษา hack ต่อไปก็ต้องมีภาษา hall
คำตอบของข้า คือ ประกาศิต
ขรรมแปป
ภาษามาย์มิ้นต์ จุปป้าจุ๊ป โบตัน ฯลฯ
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
...เพิ่งขำ ก๊าก
นอกเรื่อง
ภาษาคอมพิวเตอร์ ก็เหมือนภาษาคน ภาษามีไว้ใช้สื่อสาร(เป็นหลัก) ภาษาสมัยใหม่ ก็จะง่ายกว่าภาษาสมัยเก่า
ใช้คำว่า "ลอก" มันตลก จะว่าพัฒนาก็ใช่ แต่ผมว่าไม่เชิง เพราะมันคือภาษาใหม่ ไม่ใช่ภาษาเดิม ไม่ใช่ HTML version ใหม่ๆ แต่การใช้คำว่าเป็น "ทายาท/ราก" คงฟังดูเข้าท่าดี เหมือน ภาษาเยอรมันเป็นรากของภาษาอังกฤษภาษาละติน เป็นรากของ ฝรั่งเศส สเปนนิช อิตาเลี่ยน โปรตุกี๊ส
ต่างกันตรงที่ ภาษาคน เกิดขึ้นมาโดยธรรมชาติไม่มีใครตั้งบริษัทที่คิดค้นภาษาคนขึ้นมาเป็นพิเศษ แล้วคิดค่าเช่าในการใช้ภาษานี้พูดสื่อสารกัน
แต่ภาษาคอม มันคือการคิดค้น วิจัย พัฒนา
ดังนั้น ถ้ามีใครเริ่มจะลอกเลียนขึ้นมา มันก็เลี่ยงไม่ได้ ที่จะใช้คำว่า "ลอก"
เพราะมันคือการหยิบเอาของที่ "คนอื่น" คิดค้น ทดสอบ พัฒนา มาเป็นเวลานาน มาใช้กับของตัวเองในทันที
ผมเห็นต่างนะครับ ภาษาคนก็มีหลายแบบครับวัจนภาษา ภาษาที่ใช้เป็นลายลักษณ์อักษรหรืออวัจนภาษา ท่าทางต่างๆจะบอกว่าเกิดจากธรรมชาติก็ถูกครับ แต่ไม่ใช่ทั้งหมดหรอกนะครับผมว่า คนร้องให้เพราะได้รับความเจ็บปวดหรือสะเทือนใจอันนี้อาจจะได้จากธรรมชาติ แต่ถ้าภาษาเขียนก็มีการดัดแปลงกันมาเรื่อยๆ เนื่องจากถูกบีบบังคับเรื่องชีวิตความเป็นอยู่ในแต่ละสมัยมันก็มีการพัฒนาของมันครับ เช่นทองคำ "ทอง" มาจากภาษาหนึ่งน่าจะเขมร(จำไม่ได้) ส่วน "คำ" มาจากภาษาลาว ไทยเราเอามาเรียกว่า"ทองคำ" ทุกคำล้วนมีความหมายถึงแร่ชนิดเดียวกัน ถามว่าไทยไทยลอกมาหรือเปล่าครับ? ผมว่ามันก็พูดยากนะ
ธรรมชาติของคำเปรียบเทียบ มันเปรียบเทียบได้มุมเดียวอยู่แล้วครับถ้ามุมอื่นๆ ก็ต้องใช้กรณีอื่นเปรียบเทียบกันต่อไป
ประเด็นคือ ภาษาคอมพิวเตอร์ มันเป็นการวิจัย และพัฒนา ได้มาอย่างยากลำบาก
ผมพยายามบอกว่า คำว่าลอก เวลาใช้กับเทคโนโลยี มันดูรุนแรงกว่ากับคำว่าลอก ในการลอกด้านภาษาของมนุษย์ ความรู้สึกมันไม่เหมือนกัน
free beer or free speech?
เอาจริงๆ ผมว่าภาษาคนมันก็มีค่าใช้จ่ายนะ คือจ่ายด้วยเวลาที่ผู้เรียนเอาตัวไปคลุกคลีในวัฒนธรรมของภาษานั้นๆ เพื่อเรียนรู้ไง
ที่ญี่ปุ่นมีการพัฒนา .hack มานานแล้วซึ่งมี 2 โครงการคือ Project .hack และ .hack Conglomerate.สามารถดูผลงานโครงการได้
.hack wiki .Hack ปี 2002
อ่านแล้วอย่าโกรธกันเลยนะครับ :P
แหม่
คนละชื่อเลย วิกิที่ให้มาก็บอกวิธีออกเสียงอยู่ :P
ถูกต้องนะครับ แต่ถ้าเป็นภาษาเขียนไม่สังเกตุ . ก็จะกลายเป็น hack ไง
อิอิ :D
สแกนคร่าวๆ ที่น่าสนใจคือ
__construct
สามารถกำหนดตัวแปรที่ bind เข้ากับ obj ได้เลย (จำได้ว่าเห็นครั้งแรกใน coffeescirpt)->
กับเรื่องอื่นไปก่อนแล้ว