Câu chuyện Jeffrey Snover và quá trình phát triển PowerShell
(corecursive.com)Sự ra đời của Jeffrey Snover và PowerShell
-
Điều hướng trong một tổ chức doanh nghiệp khổng lồ
- Jeffrey Snover là kiến trúc sư đã tạo ra PowerShell của Microsoft.
- PowerShell là công cụ đã thay đổi mang tính đột phá cách quản trị hệ thống Windows.
- Ban đầu nó vấp phải sự hoài nghi, nhưng nhờ nỗ lực bền bỉ của Snover mà đã thành công.
-
Vấn đề
- Microsoft đã không hiểu thị trường máy chủ.
- Ban lãnh đạo quen với máy tính cá nhân nên thiếu kinh nghiệm về môi trường doanh nghiệp.
- Snover được tuyển dụng để giải quyết vấn đề này.
-
Sự thuyết phục của Jeffrey
- Snover gia nhập nhóm máy chủ của Microsoft và nỗ lực để Windows có thể cạnh tranh với UNIX.
- Mục tiêu là cung cấp cùng một chức năng với chi phí thấp hơn.
-
Đánh bại UNIX
- UNIX là hệ điều hành lấy tệp làm trung tâm, trong khi Windows là hệ điều hành lấy API làm trung tâm.
- Các công cụ của UNIX không hoạt động đúng cách trên Windows.
- Snover quyết định dùng WMI(Windows Management Instrumentation) để phát triển các lệnh quản trị.
-
Thách thức về văn hóa
- Các nhóm tại Microsoft ưa chuộng GUI và hoài nghi ý tưởng giao diện dòng lệnh của Snover.
- Snover lập luận rằng trong môi trường doanh nghiệp, cần giao diện dòng lệnh chứ không phải GUI.
-
Kịch bản doanh nghiệp
- Các nhóm của Microsoft thích cách tiếp cận hiện đại là cung cấp giao diện người dùng cho từng vấn đề.
- Snover chủ trương cách tiếp cận kiểu hộp công cụ.
-
Windows không phải UNIX
- Windows là hệ điều hành lấy API làm trung tâm chứ không phải lấy tệp làm trung tâm.
- Ông quyết định dùng WMI để phát triển các lệnh quản trị.
-
Khung thời gian lập trình
- Snover biết rằng mình sẽ phải lập trình trong 10 tuần.
- Cách làm là viết mã trong 10 tuần rồi khiến nó hoạt động trong nhiều năm sau đó.
-
Cái nêm của .NET
- Bill Gates đang thúc đẩy mạnh mẽ .NET.
- Snover đánh giá rằng dùng .NET sẽ giúp đạt được độ bao phủ lớn hơn.
-
Tái tổ chức
- Tổ chức của Snover rơi vào hỗn loạn do tái cơ cấu.
- Snover quyết định tiếp tục theo đuổi kế hoạch của mình.
-
Nhóm shell
- Một nhóm khác đang phát triển shell.
- Snover đề xuất cho họ một cách tốt hơn, nhưng họ không hiểu.
- Cuối cùng Snover tự phát triển nguyên mẫu của riêng mình.
Ý kiến của GN⁺
-
Tầm quan trọng của PowerShell
- PowerShell đã thay đổi mô hình quản trị hệ thống Windows.
- Nó cho phép quản trị máy chủ quy mô lớn thông qua giao diện dòng lệnh.
-
Lãnh đạo kỹ thuật
- Sự kiên trì và tầm nhìn rõ ràng của Snover là chìa khóa thành công.
- Lãnh đạo kỹ thuật là đạt được kết quả quan trọng ngay cả khi vấp phải sự phản đối mạnh mẽ.
-
Sản phẩm có chức năng tương tự
- Nó cung cấp các chức năng tương tự Bash trên Linux.
- PowerShell đóng vai trò tương tự Bash trong môi trường Windows.
-
Những điểm cần cân nhắc khi áp dụng công nghệ mới
- Khi áp dụng công nghệ mới, cần xem xét khả năng tương thích với hệ thống hiện có.
- PowerShell vừa duy trì khả năng tương thích với Windows API hiện có vừa cung cấp tính năng mới.
-
Ưu và nhược điểm
- Ưu điểm: tăng hiệu quả quản trị máy chủ quy mô lớn, khả năng tự động hóa
- Nhược điểm: đường cong học tập ban đầu, sự kháng cự từ những người dùng GUI hiện có
1 bình luận
Ý kiến Hacker News
Jeffrey Snover, người tạo ra PowerShell, đã vấp phải sự phản đối lớn bên trong Microsoft và cuối cùng bị giáng chức
Khi viết PowerShell, có người không thể hiểu vì sao nếu độ dài mảng là 1 thì mảng lại bị loại bỏ và trở thành kiểu dữ liệu chứa bên trong
Với tư cách là một nhà phát triển Bash, khi PowerShell ra mắt họ đã rất kỳ vọng, nhưng đến nay vẫn đang dùng Bash
Có người đang phụ trách quản lý một codebase stored procedure của SQL Server đã 20 năm tuổi
Họ không hiểu tại sao lại không dùng Python, trừ khi cần tương tác với các hệ thống con của Windows
Thật kỳ lạ khi Microsoft không nhìn ra giá trị của một phương thức lập trình để cấu hình Windows và các ứng dụng doanh nghiệp quan trọng
PowerShell là sản phẩm của sự tự tin mang tính độc quyền của Microsoft
Khi quản trị Windows, PowerShell rất dễ dùng
Có người không phải là người dùng Windows, nhưng vẫn thấy PowerShell tốt
PowerShell rất xuất sắc ở nhiều khía cạnh, nhưng đã không thu hút được tệp người dùng rộng hơn