PowerShell nhanh hơn Python

Lý do tại sao tôi chọn PHP là số lượng nội dung bạn có thể dễ dàng tìm thấy trên internet. Như bạn đã trích dẫn là người mới bắt đầu, tôi nghĩ một ngôn ngữ trưởng thành hơn sẽ tốt hơn. Và đó cũng là một lý do khác để theo đuổi PHP

Python đơn giản và "trưởng thành", nhưng có thể hơi khó hiểu nếu bạn là người mới bắt đầu. Python dựa trên sự trừu tượng nặng nề và đó là lý do đằng sau sự đơn giản của nó. Python là một ngôn ngữ "dễ chơi, khó thành thạo", tôi không bao giờ khuyên dùng nó cho người mới bắt đầu. Ngoài ra, một lý do [có thể là cá nhân] khiến tôi không thích sử dụng Python làm back-end là. Python rất tập trung vào dữ liệu. Vì vậy, nếu ứng dụng của bạn tập trung vào logic nghiệp vụ, Python sẽ không phù hợp lắm. Và điều đó trở thành một lợi thế, nếu ứng dụng của bạn tập trung vào thống kê, tập trung vào dữ liệu hoặc thứ gì đó tương tự, thì Python có lợi thế rất lớn so với tất cả các ngôn ngữ khác do có nhiều công cụ tuyệt vời mà cộng đồng đã xây dựng

Về Node, nó giống như PHP, nhưng kém hoàn thiện hơn. Thật dễ dàng như PHP để tìm các công cụ có thể giúp bạn, ví dụ, trừu tượng hóa logic của kết nối cơ sở dữ liệu. Nhưng để tìm nội dung tập trung vào kiến ​​trúc, khái niệm cao cấp hơn thì khó hơn rất nhiều. Trong khi đó, cộng đồng của Laravel chẳng hạn, có rất nhiều tài liệu liên quan đến các khái niệm đó

Tuy nhiên, nếu bạn thực sự là người mới bắt đầu, tôi không khuyên bạn nên sử dụng Laravel với PHP. Trước tiên hãy làm mọi thứ trên PHP đơn giản, hiểu lý do đằng sau việc sử dụng các khung và động lực của Laravel

Mặc dù PowerShell có những người ủng hộ nhiệt tình, nhưng nhiều quản trị viên và người dùng vẫn tin dùng Python, đặc biệt là cho Windows. Ngôn ngữ kịch bản nào là tốt nhất cho bạn?

Quản trị viên dựa vào tập lệnh để tự động hóa các quy trình thông thường. Trong Windows, một số cấu hình chỉ có thể thực hiện được trong PowerShell. Tuy nhiên, PowerShell không phải là ngôn ngữ kịch bản duy nhất – Python cũng là một lựa chọn phổ biến. Trong bài viết này, chúng tôi so sánh hai ngôn ngữ và kiểm tra các tình huống sử dụng có thể xảy ra trên Windows, Linux và Mac OS

Chúng ta sẽ bắt đầu với Python. Quản trị viên và người dùng Linux có thể đã sử dụng Python, ngay cả khi chỉ để chạy tập lệnh

Get-Service | Get-Member
0 trên máy tính của họ. Python, được phát triển theo tinh thần của phần mềm tự do, có sẵn miễn phí dưới dạng mã nguồn và ở dạng nhị phân, cùng với thư viện chuẩn

Python là ngôn ngữ lập trình diễn giải mở rộng vượt xa ngôn ngữ kịch bản thông thường, hỗ trợ tất cả các tính năng và khả năng mà bạn mong đợi từ các ngôn ngữ lập trình và kịch bản hiện đại. Các tính năng này bao gồm, trong số những thứ khác, hướng đối tượng (bao gồm việc sử dụng các lớp và kiểu dữ liệu trừu tượng), tùy chọn chia chương trình tùy ý thành các mô-đun (cũng như vô số mô-đun tiêu chuẩn hiện có), việc sử dụng các điều kiện ngoại lệ (ngoại lệ) . g. , với mã được viết bằng C). Không giống như nhiều ngôn ngữ thông dịch, việc khai báo biến và đối số là không cần thiết, giúp đơn giản hóa đáng kể việc lập trình nhanh, nhưng nó cũng có thể dẫn đến các vấn đề (e. g. , do lỗi chính tả vô tình trong định danh biến)

Nhiều người dùng chỉ ra rằng mã Python nói chung khá dễ đọc, điều này làm tăng đáng kể khả năng tái chế của nó. Không giống như các ngôn ngữ lập trình khác, đôi khi sử dụng quá nhiều dấu ngoặc và dấu chấm phẩy – và trong đó các lỗi dẫn đến dịch hoặc giải thích đã khiến một số nhà phát triển thất vọng – Python thụt vào các dòng để thêm cấu trúc. Sau một thời gian làm quen, ngay cả dân lập trình C cũng thấy được ưu điểm của kiểu biểu diễn này. Cuối cùng, Python cũng có sẵn trên một số hệ điều hành khác nhau

Sự khác biệt giữa Python 2 và 3

Python là một phần của phạm vi tiêu chuẩn của hệ điều hành Linux và Mac OS. Tuy nhiên, trong khi các phiên bản Linux mới nhất cung cấp cả phiên bản hiện tại và kế thừa của Python (), thì phiên bản mới nhất trên Mac OS (Mac OS 10. 12 Sierra) chỉ cung cấp phiên bản kế thừa 2. 7. 10. Nếu nghi ngờ, bạn nên tải xuống và cài đặt phiên bản mới nhất từ ​​​​trang web Python. Người dùng Windows phải tải xuống và cài đặt Python trước khi có thể sử dụng ngôn ngữ kịch bản. Điều đó nói rằng, những câu hỏi sau đây vẫn còn. Bạn nên chọn Python nào và chúng khác nhau như thế nào?

PowerShell nhanh hơn Python
Hình 1. Trên các hệ thống Linux (như Ubuntu phiên bản 16. 10) bạn sẽ tìm thấy cả Python phiên bản 2. 7. 12 và phiên bản 3. 5. 2 cài đặt sẵn

Về cơ bản, sự khác biệt (dựa trên thông tin từ trang web Python và nhiều trang Python khác) rất đơn giản. Tất cả Python 2. x thuộc về nhánh kế thừa của Python. Vào giữa năm 2010, bản phát hành chính cuối cùng xuất hiện dưới dạng phiên bản số 2. 7. Kể từ đó, các thay đổi đã được đưa ra, nhưng những thay đổi này chủ yếu nhằm mục đích cho phép tương thích ngược. Khi bài viết này được viết vào tháng 11 năm 2016, 2. 7. 12 là số phiên bản hiện tại mà chúng tôi đã sử dụng trên cả Windows 10 và Ubuntu 16. 10. Python 2 sẽ hết hạn sử dụng vào năm 2020

Nhánh Python 3, xuất hiện lần đầu vào năm 2008, đang được phát triển tích cực và hiện tại đã đạt đến phiên bản 3. 5. 2; . Các tập lệnh được viết trong phiên bản này không còn tương thích ngược với 2. phiên bản x. Tuy nhiên, một số tính năng ban đầu được phát triển cho 3. nhánh x đã được nhập vào phiên bản 2. 6. Nếu bạn muốn chuyển mã từ Python 2. 7 đến Python 3. 5 chi phí không còn quá lớn

Sử dụng một ví dụ, chúng tôi sẽ minh họa một số khác biệt giữa hai phiên bản. Nếu bạn đang làm việc với Python 3, ngoài các tính năng khác, những thay đổi sau đây sẽ nhanh chóng trở nên rõ ràng

  • Get-Service | Get-Member
    1 hiện được cung cấp dưới dạng hàm
  • Chức năng
    Get-Service | Get-Member
    2 đã được đổi mới
  • Toán tử chia hiện trả về giá trị float (chứ không phải số nguyên, như trong Python 2)
  • Các mô-đun đã được tái cấu trúc

Để chỉ minh họa những điểm này, được viết bằng Python 2 và có thể được thực thi trơn tru bởi trình thông dịch của nó, trong khi đó, dưới Python 3, nó tạo ra lỗi. Tuy nhiên, phép chia

Get-Service | Get-Member
3 trong Python 2 luôn xuất ra 0 , vì toán tử trả về một giá trị số nguyên. Mã tương ứng được hiển thị trong

PowerShell nhanh hơn Python
Hình 2. Chúng tôi đã nhập và chạy một ví dụ đơn giản bằng Python 2 thuần túy. 7. 12 cú pháp

Một ví dụ như vậy có thể dễ dàng được di chuyển theo cách thủ công; . Tuy nhiên, việc di chuyển dễ dàng hơn với tập lệnh

Get-Service | Get-Member
6 đi kèm với Python 3. Tập lệnh kiểm tra mã và thay thế các đoạn thích hợp để các tập lệnh lớn hơn có thể được chuyển nhanh hơn. Bạn cũng có thể quyết định xem bạn muốn ghi lại tệp ngay lập tức hay chỉ kiểm tra. Nó cũng hoạt động với các mô-đun, như thể hiện trong. Một ví dụ khác, trong Python 2, hàm
Get-Service | Get-Member
2 đã kiểm tra giá trị được nhập và sau đó tự động gán giá trị đó cho biến của loại tương ứng. Đây là một lý do tại sao
Get-Service | Get-Member
0 thường được sử dụng. Trong Python 3, hàm
Get-Service | Get-Member
2 luôn trả về giá trị được nhập dưới dạng biến chuỗi (kiểu
Get-Service | Get-Member
2), đó là lý do tại sao hàm này được thay thế bằng công cụ
Get-Service | Get-Member
6

import urllib2
def hello(name=None):
       if not name:
            name = raw_input("What is your name? >> ")
       print "Welcome to Python, {}!".format(name)
       print '5/6 is {}'.format(5/6)
if __name__ == '__main__':
       hello()
       req = urllib2.Request('https://www.python.org/')
       response = urllib2.urlopen(req)
       page = response.read()
       print "and now to the www.python.org page"
       print page

PowerShell nhanh hơn Python
Hình 3. Mã mẫu từ Liệt kê 1 đã được chuyển đổi sang cú pháp mới (phía trên bên trái) bằng cách sử dụng 2to3 (phía trên bên phải). Ví dụ: toán tử cho phép chia hiện trả về giá trị float (dưới cùng bên trái)

Đây chỉ là một vài ví dụ, nhưng chúng cho thấy rõ cách chọn giữa Python 2 và 3. Nếu bạn chưa quen với Python, bạn nên bắt đầu với Python 3 – nhiều thứ đã được cải tiến và thiết kế chu đáo hơn. Nếu bạn muốn sử dụng mã cũ hoặc các gói và thư viện cụ thể vẫn dựa trên Python 2, tất nhiên, bạn nên sử dụng phiên bản này, đặc biệt là trong những trường hợp việc chuyển sẽ phức tạp. Khám phá mã Python 2 cũ bằng các công cụ như

Get-Service | Get-Member
6 và chuyển, nếu cần, là một nơi tốt để bắt đầu

Không còn Windows nếu không có PowerShell

Bạn không cần phải là một người hâm mộ Windows để biết rằng Microsoft coi PowerShell là giao diện trung tâm tại dòng lệnh cho tất cả các hệ thống Windows. PowerShell đã được cung cấp cùng với hệ điều hành kể từ Windows 8 và Microsoft đã liên tục đẩy mạnh tích hợp để một số sản phẩm, chẳng hạn như Exchange Server và các ứng dụng đám mây tập trung vào Azure và Office 365, được hỗ trợ bởi số lượng lệnh ghép ngắn PowerShell ngày càng tăng. Dòng lệnh Windows, được gọi là dấu nhắc lệnh, vẫn nổi bật trong menu Windows 10 Power (nhấn phím Windows + X hoặc nhấp chuột phải vào biểu tượng Windows). Tuy nhiên, dấu nhắc lệnh hiện có thể được thay thế bằng PowerShell mà bạn có thể tìm thấy trong phần cài đặt hệ thống. Kể từ Windows 10 Insider Preview Build 14971. 1000, Microsoft đã thay đổi mặc định để PowerShell được gọi là dòng lệnh mặc định trong menu Power

Cũng giống như Python, PowerShell xử lý mã theo cách diễn giải. Cũng có điểm chung với Python là hướng đối tượng. Một trong những điểm mạnh cụ thể của PowerShell là khả năng xử lý và liên kết các lệnh bằng cách sử dụng đường ống. Mặc dù các hệ vỏ Unix cổ điển cũng hỗ trợ kỹ thuật này, nhưng việc sử dụng cơ chế này trong PowerShell theo cách hướng đối tượng sẽ mở ra những khả năng mới. Ví dụ: một cmdlet chẳng hạn như

Get-Service | Get-Member
5, tạo danh sách các dịch vụ Windows, trả về các dịch vụ mà nó tìm thấy dưới dạng đối tượng. Nếu đầu ra này được chuyển hướng vào một đường ống, các đối tượng này sẽ được chuyển trực tiếp đến lệnh ghép ngắn ở đầu kia của đường ống

Get-Service | Get-Member

Bằng cách sử dụng lệnh ghép ngắn

Get-Service | Get-Member
6, chi tiết về dữ liệu Thành viên của các dịch vụ được phát hiện sẽ được liệt kê. Nếu bạn đã từng phải sắp xếp đầu ra của tệp văn bản trên hệ thống Unix bằng cách sử dụng các công cụ như
Get-Service | Get-Member
7 hoặc
Get-Service | Get-Member
8 và sau đó cố gắng sắp xếp đầu ra theo thứ tự trên màn hình, bạn sẽ nhanh chóng đánh giá cao phương pháp này. Không thể nghi ngờ gì về sức mạnh to lớn của PowerShell. Với sự trợ giúp của nó, các chuyên gia CNTT có thể tự động hóa các tác vụ quản trị một cách nhanh chóng trên hệ thống Windows của họ. Khả năng vượt xa các giải pháp viết kịch bản thông thường để xử lý tệp và thư mục. Ví dụ, điều này được thể hiện bởi hệ thống quản lý Cấu hình trạng thái mong muốn (DSC) tích hợp để quản trị và cấu hình máy chủ, hệ thống này đã có sẵn trong PowerShell phiên bản 4. PowerShell có nhiều thuộc tính của một ngôn ngữ lập trình hướng đối tượng, cung cấp cú pháp được tiêu chuẩn hóa – ngay cả khi người mới bắt đầu phải mất một số thời gian để làm quen – cũng như sự hợp tác chặt chẽ với hệ điều hành, cùng với tốc độ xử lý tốt

PowerShell trong Linux

Microsoft, công ty cũng đang ngày càng suy nghĩ về các giải pháp và ứng dụng đa nền tảng, chỉ mới mở cửa cho Linux trong thời gian gần đây. Đã có phiên bản PowerShell dành cho Linux và tại thời điểm chúng tôi viết bài viết này, phiên bản này vẫn ở phiên bản alpha (v. 6. 0. 0-alpha13), đã hỗ trợ Ubuntu 14. 16/04. 04, CentOS 7. 1 và Mac OS X 10. 11, cũng như các phiên bản Windows. Kể từ đó, PowerShellCore v6. 0. 0-beta7 đã được phát hành. Nỗ lực của chúng tôi để cài đặt nó trên Ubuntu 16. 10 ban đầu không thành công, vì gói cài đặt thiếu thư viện

Get-Service | Get-Member
9, mà các nhà phát triển Ubuntu đã thay thế bằng
Get-Service | Get-Member
00 trong phiên bản hệ điều hành mới. May mắn thay, chúng tôi đã có thể tải xuống thư viện
Get-Service | Get-Member
9 và cài đặt nó trên hệ thống của chúng tôi. Sau đó, việc cài đặt PowerShell không còn là vấn đề nữa. Trong phiên bản alpha, những chướng ngại vật như vậy chắc chắn có thể chấp nhận được. Tuy nhiên, người ta hy vọng những khó khăn như vậy sẽ biến mất trong các phiên bản cao cấp hơn

Sau khi cài đặt thành công, PowerShell trên Linux sau đó tỏ ra ổn định rõ rệt trên nền tảng Linux. Các trang trợ giúp của PowerShell được cài đặt dễ dàng và cung cấp thông tin mong muốn. Tất nhiên, bạn không thể mong đợi nhiều loại lệnh ghép ngắn được cung cấp trên các nền tảng và ứng dụng Windows khác nhau, chẳng hạn như Exchange. Tuy nhiên, tất cả các chức năng cơ bản, chẳng hạn như làm việc với tệp và thư mục, đều hoạt động hoàn hảo (). Điều đó nói rằng, một loạt các trình thông dịch Shell, chẳng hạn như trình bao Bash, đã có sẵn cho người dùng Linux, ngay cả khi chúng không cung cấp cách tiếp cận hướng đối tượng. PowerShell trên Linux hiện không hơn gì một bằng chứng thành công về khái niệm – giống như việc tích hợp vỏ Linux, bao gồm hệ thống con Linux, trên phiên bản Windows 10 Insider Preview. Do đó, nó không nên được sử dụng cho công việc hàng ngày và quản lý

PowerShell có nhanh hơn Python không?

hiệu suất - PowerShell chậm ( chậm hơn nhiều so với Python ) trong thao tác Tìm kiếm/Thay thế lớn? . Stack Overflow for Teams – Bắt đầu cộng tác và chia sẻ kiến ​​thức tổ chức.

Tại sao PowerShell tốt hơn Python?

Python là ngôn ngữ lập trình cấp cao được diễn giải trong khi đó PowerShell cung cấp môi trường tập lệnh shell cho Windows và phù hợp hơn nếu bạn chọn tự động hóa các tác vụ trên nền tảng Windows.

Tôi nên học Python hay PowerShell trước?

Không, trừ khi bạn muốn. Không có mối tương quan giữa hai. Tôi khuyên bạn nên học Python làm ngôn ngữ lập trình đầu tiên của mình . Nó sẽ thiết lập một nền tảng tốt và sau đó bạn có thể học bất kỳ ngôn ngữ nào khác kể cả PowerShell.

3 lợi ích của PowerShell là gì?

12 ưu điểm hàng đầu của PowerShell .
Hệ thống định dạng mở rộng. Sử dụng PowerShell, người dùng có thể dễ dàng định dạng đầu vào của mình và nhận đầu ra theo ý muốn. .
Định dạng dữ liệu tích hợp. .
Hệ thống loại mở rộng. .
Công cụ viết mã an toàn. .
Phát triển tự phục vụ. .
API nhất quán. .
Tự động hóa dễ dàng. .
Khả năng kết hợp giữa các sản phẩm