1 điểm bởi GN⁺ 2024-07-05 | 1 bình luận | Chia sẻ qua WhatsApp

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

 
GN⁺ 2024-07-05
Ý 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

    • Jeffrey ban đầu được tuyển dụng để giúp Microsoft có thể cạnh tranh trong mảng trung tâm dữ liệu
    • PowerShell tồn tại vì Windows không dựa trên tệp
    • Việc quản trị máy chủ đòi hỏi nhiều lệnh gọi API khác nhau và dữ liệu có cấu trú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

    • Điều này đã gây ra rất nhiều lỗi
  • 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

    • Họ muốn biết trải nghiệm của các nhà phát triển khác
    • Họ thắc mắc liệu PowerShell có thực sự đã trở thành một shell hiệu quả và hiện đại hơn hay không
  • Có người đang phụ trách quản lý một codebase stored procedure của SQL Server đã 20 năm tuổi

    • Nó không được đưa vào quản lý mã nguồn, và việc tinh chỉnh hiệu năng cũng không được thực hiện đúng cách
    • PowerShell Core có khả năng tương tác với Windows tốt nhất
    • Việc viết code hơi bất tiện, nhưng chạy nhanh và các công cụ tương tác với người dùng thì tốt
    • Nếu chịu khó tìm kiếm, bạn vẫn có thể đạt được điều mình muốn
  • 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

    • PowerShell quá dài dòng và chậm
    • Họ thắc mắc vì sao Microsoft không xây dựng dựa trên Python hoặc Node
  • 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

    • Việc dùng chuột bấm qua Remote Desktop như một giải pháp thay thế là điều vô lý
  • PowerShell là sản phẩm của sự tự tin mang tính độc quyền của Microsoft

    • Nó hoàn toàn không có sự liên kết về cú pháp với các ngôn ngữ khác
    • Cú pháp cực kỳ dài dòng có thể phù hợp cho trình diễn, nhưng bất tiện khi sử dụng thực tế
    • Nó gây ra vấn đề khi tên tệp có chứa dấu ngoặc vuông
  • Khi quản trị Windows, PowerShell rất dễ dùng

    • Linux thì tuyệt vời, nhưng dùng Bash lại rất tệ
    • Có vẻ như script Bash vẫn sẽ tiếp tục được dùng rất nhiều
  • 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

    • Các cmdlet của PowerShell có tính tự mô tả và cung cấp thông tin phong phú
    • Nó có những tính năng hữu ích như chế độ mô phỏng
    • Tuy nhiên ngoài Windows thì nó không trở nên phổ biến, và Microsoft đang lơ là PowerShell trong nỗ lực thu hút các nhà phát triển Linux