หลายคนน่าจะจำได้เลาๆ ว่า Jurassic Park แห่งแรก มีโค้ดอยู่ถึง 2 ล้านบรรทัด ตัวเลขนี้อาจฟังดูเยอะจนจินตนาการความยิ่งใหญ่ไม่ออก แต่นี่ก็เทียบไม่ได้เลยกับโค้ดของกูเกิลที่มีจำนวนบรรทัดปาเข้าไป 2 พันล้านบรรทัดแล้ว
คุณ Rachel Potvin ผู้จัดการฝ่ายวิศวกรรมของกูเกิลเผยว่า ซอร์สโค้ดผลิตภัณฑ์ของกูเกิลแทบทั้งหมดนั้น มีจำนวนบรรทัดนับรวมกันได้ที่ประมาณ 2 พันล้านบรรทัด และกินพื้นที่เก็บไฟล์มากถึง 85TB เลยทีเดียว (เทียบกับโปรแกรมที่ซับซ้อนมากอย่างระบบปฏิบัติการ Windows ก็ยังอยู่เพียง 50 ล้านบรรทัดเท่านั้น)
แน่นอนว่าซอร์สโค้ดที่ใหญ่ขนาดนี้ ย่อมไม่สามารถใช้ระบบจัดการเวอร์ชันซอฟต์แวร์ทั่วไปมาดูแลได้ (โปรแกรม Git ที่สร้างขึ้นมาเพื่อจัดการกับซอร์สโค้ด Linux โดยเฉพาะนั้น ยังคงรับศึกที่ 15 ล้านบรรทัด เท่านั้น) นี่จึงทำให้กูเกิลสร้างระบบจัดการเวอร์ชันซอฟต์แวร์ขึ้นเองในนามว่า Piper เมื่อวิศวกรของกูเกิลต้องการเริ่มโครงการใหม่ ก็สามารถดึงไลบรารีที่มีอยู่แล้วมาประกอบใช้งานได้ทันที
ซอร์สโค้ดโครงการที่ไม่ได้อยู่ใน Piper ได้แก่ อัลกอริทึม PageRank ซึ่งเป็นสูตรลับเฉพาะของกูเกิล และโครงการ Android กับ Chrome OS ที่เผยแพร่เป็นโอเพนซอร์สครับ
ที่มา: Wired
Comments
อเมซซิ่งหิ่งห้อยจริงๆ
ซอฟท์แวร์ => ซอฟต์แวร์
Jurrasic Park => Jurassic Park
แก้แล้วครับ
รู้สึกว่าตัวเองโง่ เขาพูดอะไรไม่รู้เรื่องก่ะเขาเลย อยากเก่งกว่านี้จริงๆ
เคยเขียนเกมส์ด้วย C++ จัดไปเกือบ 50,000 บรรทัด นี่ก็แทบแย่แล้ว ขนาดใช้ Library อื่นๆช่วยอีกเยอะนะนึกไม่ออกเลยว่า 50ล้าน กับ 2000 ล้าน มันเป็นยังไง -_-
นึกภาพง่ายๆ ว่าที่ Google มี project ขนาดเท่ากับ game ของคุณเกิดขึ้นใหม่ 2,353 projects ทุกๆ ปี น่ะครับ สำหรับองค์กรณ์ที่มีพนักงาน 57,148 คน ก็ไม่ใช่เรื่องแปลก เฉลี่ยเขียนเพิ่มคนละ 2,059 บรรทัดต่อปี (ต่อให้หักจำนวนพนักงานที่ไม่ใช้ developer ออกไปก็คงน้อยอยู่ดี)
และแต่ละ workspace ก็คงมี code เท่าที่เกี่ยวกับตัวเองเท่านั้น ความรู้สึกคงเหมือนเวลาเราไปหา library จาก Apache มาใช้ มีให้เลือกจนลายตา
ถ้ามัน Balance จำนวนบรรทัดต่อคนได้แบบนี้นี่สวรรค์ชัดๆแต่การทำงานจริงในบริษัทส่วนใหญ่ช่างแตกต่างกันลิบลับ
"ถ้ามัน Balance จำนวนบรรทัดต่อคนได้แบบนี้นี่สวรรค์ชัดๆ"#การบ้านงานกลุ่มก็เช่นกัน
55555555
ผมนี่ลั่นเลย
555555 +1
= 1+ 555555
คิดเล่นๆ แบบนี้นับ 1 หรือ นับ 3 หรือ นับ 4
if (a=b) {print c;}
หรือ
if (a=b) {
print c;
}
หรือ
if (a=b)
{print c;
}
คิดตามวิธีทางสถิติจากขนาด file source code ทั้งหมดมั้งครับ
หรือถ้าจะนับจริงๆ ก็น่าจะนับจำนวน statement แทนจำนวนบรรทัด เพราะจะสื่อถึงความซับซ้อนของ code ได้มากกว่า และเปรียบเทียบระหว่างภาษาได้ตรงกว่า
ตามข่าวคิดว่า 1,3,4 ครับ
เอ่อ... ผมไม่ค่อยดีใจซักเท่าไหร่นะเวลาบอกว่าโค๊ดที่ผมเขียนมีจำนวนบรรทัดเยอะกว่าของชาวบ้านเขาถ้ามีคนเขียนโปรแกรมเดียวกันแต่ใช้เขียนโค๊ดน้อยกว่าผม 40 เท่านี่ผมอยากจะไปซื้อ file source code มาศึกษาเลยทีเดียวว่าทำไปได้ยังไง