
เผยแพร่เมื่อวันที่ 31 มีนาคม 2016 เวลา 12:30 น. EDT
Matthew Hughes เป็นนักพัฒนาซอฟต์แวร์และนักเขียนจาก Liverpool, อังกฤษ เขานادرๆ ที่ไม่มีแก้วกาแฟดำเข้มข้นในมือ และชอบ Macbook Pro และกล้องของเขาอย่างมาก คุณอ่านบล็อกของเขาได้ที่ https://www.matthewhughes.co.uk และติดตาม Twitter ที่ @matthewhughes
Microsoft เพิ่งเริ่มงานประจำปี Build Developer Conference ไม่ใช่งานทั่วไป Microsoft ดึงทุกอย่างออกมา และสาธิตความก้าวหน้าที่น่าทึ่งใน AI, Augmented Reality และteanชื่อเสียง Windows 10 เป็นแพลตฟอร์ม Gaming ที่ทรงพลัง แต่ Microsoft ยังประกาศอีกอย่างหนึ่ง อะไรที่ทำให้คนหลายคนตื่นเต้น
บนเวทีใน San Francisco Development Director Kevin Gallo ประกาศว่า BASH Shell จะมาบน Windows 10 นั่นแหละ แบบคร่าวๆ
มาโดยตรงจาก Ubuntu
การพูดว่า BASH จะมาบน Windows 10 คือการ недоประเมินสถานการณ์อย่างรุนแรง เพราะจริงๆ แล้วสิ่งที่ Microsoft ทำอยู่ น่าประทับใจกว่านั้นมาก มันเป็น Linux Subsystem จริงๆ —ไม่ใช่ Virtual Machine—based on Ubuntu 14.04 LTS ซึ่งให้สิทธิ์เข้าถึง Ubuntu userspace
สำคัญที่ต้องเน้นว่านี่แตกต่างจากสิ่งที่มีอยู่ก่อนหน้านี้อย่างพื้นฐาน Windows 10 จะไม่ emulate Ubuntu ใน Virtual Machine แบบลดทอน ไม่ได้ Compile BASH สำหรับ Windows เหมือน Cygwin หรือสร้างใหม่ใน JavaScript เหมือน CASH มันรันในสิ่งที่เป็น Compatibility layer จริงๆ
Linux System Calls (เรียกบ่อยว่า 'syscalls' คือเมื่อโปรแกรมขอสิ่งใดสิ่งหนึ่งจาก OS Kernel) ถูกแปลง Real-time เป็น Windows System Calls โดยซอฟต์แวร์กำหนดเองที่ Microsoft สร้าง ความแตกต่างนี้อธิบายได้ดีกว่าจาก Dustin Kirkland ซึ่งเป็นหนึ่งในวิศวกร Canonical ที่ช่วย Microsoft Port มัน
นี่หมายความว่า ไม่ได้แค่ BASH และ Linux Utilities พื้นฐานที่ถูก Port เกือบทุกอย่าง
ผู้ใช้จะใช้ Linux SSH Utility มาตรฐาน แทนที่จะใช้ Tool ภายนอกอย่าง PuTTY พวกเขาจะแก้ไขข้อความด้วย VIM จาก Command Line และจัดการข้อความด้วย Sed และ Awk แม้แต่ใช้ apt-get จัดการ Package และติดตั้ง Ubuntu Binaries หลายหมื่นรายการ
ตาม Dustin Kirkland สิ่งส่วนใหญ่ทำงานได้ดี ยกเว้นแอพบางอย่างที่ใช้ TTY —อย่าง byobu, screen และ tmux เขาแน่ใจว่ากำลังไปถึงจุดนั้น และเนื่องจาก Microsoft วางสิ่งนี้ Front-and-center ใน Keynote Build 2016 คุณมั่นใจได้ว่าสุดท้ายมันจะเป็นผลิตภัณฑ์ที่เสร็จสมบูรณ์และเงา
หมายความว่าอะไรสำหรับ Joe User
ผมไม่โกหก การประกาศนี้จะดึงดูดสองกลุ่มคนอย่างมาก: Linux enthusiasts และ Software Developers หากคุณไม่ใช่หนึ่งในนั้น คุณอาจสงสัยว่ามันหมายถึงอะไรต่อคุณ แต่มันมีเหตุผลให้ตื่นเต้น แม้คุณไม่ใช่ Arch-geek
ขั้นแรก มันเป็นวิธีที่ดีให้คนลองดู Linux ecosystem ที่บางครั้งปวดหัว โดยไม่ต้องติดตั้งจริง มือใหม่จะได้เรียนรู้ Linux Tools พื้นฐานจากความคุ้นเคยและความปลอดภัยของ Windows 10
ขั้นที่สอง มันดีสำหรับคนที่เรียนเขียนโค้ดครั้งแรก ภาษาที่เรียนง่ายที่สุด (และผลตอบแทนยอดนิยมกับมือใหม่) มักเป็นภาษาที่ติดตั้งบน Windows รำคาญที่สุด ติดตั้ง Python ให้ถูกต้อง ต้องเพิ่ม Variable ใน Windows PATH หากอยากติดตั้ง Ruby และ Tools/Documentation ที่จำเป็นง่ายๆ คุณต้องใช้ Third-party installer อย่าง RubyInstaller
แต่นักพัฒนาที่จะมาก็แค่พิมพ์ "bash" ลง Command Line และพวกเขาจะเริ่มแฮ็ก Ruby หรือ Python Script ได้ทันที โดยไม่ต้องกังวลเรื่องการ Config ภาษาเหล่านี้บน Windows
เพิ่มเติม เนื่องจาก Tutorial มือใหม่ส่วนใหญ่สร้างรอบ Mac OS X และ Linux ผู้ใช้ Windows จะใช้ได้โดยไม่มีปัญหา
Linux on Windows: ทำไมมันสำคัญต่อ Developers
ในอดีต Command-line tools ของ Microsoft (ขอโทษ Command Prompt) ไม่เทียบเท่ากับบน OS แบบ UNIX-based เหตุผลใหญ่คือ Windows มุ่งเน้นแก้ปัญหาผ่าน Graphical interfaces และ Menus ไม่ใช่ Terminal แม้จะดีสำหรับ Users แต่น้อยกว่าสำหรับ Developers ซึ่ง 20 ปีมานี้พึ่งพา Linux-based Servers ที่น่าเชื่อถือและปลอดภัยกว่า
ผลลัพธ์คือ Developers ไหลออกจาก Windows หากคุณไป Developer Conference หรือ Meetup หรือเยี่ยมสำนักงาน Tech Startup ใดๆ คุณเกือบรับประกันได้ว่า Devices ส่วนใหญ่คือ Apple Laptops หรือ PCs รัน Linux พวกเขาไม่น่าจะกลับมาด้วย เพราะพวกเขาเรียนรู้ใช้ OS เหล่านี้แล้ว และสร้าง Workflows รอบๆ มัน
Developer คนหนึ่งที่ผมทำงานร่วมตอน Summer Intern ที่ ScraperWiki — Data Science Startup ใน Liverpool — มี VIM Editor ที่ปรับแต่งเข้มข้น และ Routine ที่หัวใจอยู่ที่ Linux Utilities ทั่วไป (และบางอย่างไม่ทั่วไป) ยากจินตนาการว่าเขาจะสบายใจกลับไป Windows
อาจเป็น Ubuntu on Windows 10 จะเพียงพอที่จะล่อ Developers กลับมาหา Microsoft หรืออย่างน้อยก็หยุดการไหลออกของ Developers จาก Windows Platform
มันยังช่วยซ่อมแซมชื่อเสียง Microsoft ที่บกพร่องไป โดยเฉพาะเรื่อง Open Source Community ในต้นทศวรรษ 2000 และปลาย 1990 Microsoft ปฏิเสธ Open Source และ Linux แบบเฉพาะเจาะจง: CEO Steve Ballmer บรรยายว่าเป็น "Cancer" และพยายามฆ่ามัน (รวมถึงผลิตภัณฑ์คู่แข่ง) ด้วยกลยุทธ์ "Embrace, Extend, Extinguish"
แต่ตั้งแต่ Satya Nadella เข้ามาเป็น CEO พวกเขาพยายามทำงานกับ Open Source Community และฟื้นฟูภาพลักษณ์ในแง่นี้ ดูเหมือนว่าประสบความสำเร็จ
วิธีได้ BASH สำหรับ Windows 10
ณ เวลาเขียน BASH ถูกประกาศเท่านั้น —คุณยังไม่ได้มันจริง แม้จะเป็นส่วนหนึ่งของ Windows 10 Anniversary Update ที่กำลังจะมา ซึ่งกำหนดวางจำหน่ายฤดูร้อนนี้ เนื่องจากเป็น "Anniversary Update" และ Microsoft เปิดตัว Windows 10 วันที่ 29 กรกฎาคม คุณควรคาดหวังได้ภายในเดือนกรกฎาคม
หากคุณรอไม่ได้ คุณจะได้มันผ่าน Windows 10 Insider Program
คุณตื่นเต้นกับการมาถึงของ BASH บน Windows 10 หรือไม่? มันจะพอทำให้คุณสลับจาก Linux? บอกผมใน Comments ด้านล่าง