2010-06-15 37 views
32

Tôi là một nhà phát triển web và thường sử dụng php/JS/mysql.Ngôn ngữ python ở đâu được sử dụng

Tôi đã nghe rất nhiều về python.

Tôi không biết python được sử dụng và lý do tại sao nó được sử dụng.

Giống như

php/asp/ColdFusion/.net/ được sử dụng để xây dựng trang web

C, C++ , Java

được sử dụng để xây dựng phần mềm hoặc máy tính để bàn ứng dụng

Trường hợp nào thì đứng python từ những ngôn ngữ.

Đó là điều mà có thể được thực hiện bằng python nhưng không phải với những ngôn ngữ phổ biến

Trả lời

20

Python bắt đầu như là một ngôn ngữ kịch bản cho Linux như Perl nhưng ít khó hiểu. Bây giờ nó được sử dụng cho cả ứng dụng web và máy tính để bàn và cũng có sẵn trên Windows. Các API GUI trên máy tính để bàn như GTK có các khung web Python implementations và Python dựa trên web như Django được nhiều người ưa thích hơn PHP và cộng sự. cho các ứng dụng web.

Và bằng cách này,

  • Những gì bạn có thể làm với PHP mà bạn không thể làm với ASP hoặc JSP?
  • Bạn có thể làm gì với Java mà bạn không thể thực hiện với C++?
2

phân loại của bạn là không đúng:

php, asp và ColdFusion chủ yếu sử dụng cho các trang web, đó là chính xác, nhưng .net là chắn hơn nhiều so với ASP bạn có thể xây dựng các ứng dụng máy tính để bàn, quá (Paint.NET) . Tôi không biết về ColdFusion, nhưng PHP cũng có thể được sử dụng để viết các ứng dụng máy tính để bàn.

Mặt khác C, C++ không thực sự thường được sử dụng để lập trình web, nhưng nó có thể được sử dụng để lập trình web (cgit). Java chắc chắn là một ngôn ngữ để phát triển các ứng dụng web (spring và nhiều hơn nữa).

Python là một ngôn ngữ kịch bản như PHP, Perl, Ruby và nhiều hơn thế nữa. Nó có thể được sử dụng để lập trình web (django, Zope, Google App Engine và hơn thế nữa). Nhưng nó cũng có thể được sử dụng cho các ứng dụng máy tính để bàn (Blender 3D, hoặc thậm chí cho các trò chơi pygame).

Python cũng có thể được dịch sang mã nhị phân như java.

15

Tất cả ngôn ngữ bạn đã đề cập là Turing Complete, vì vậy về lý thuyết không có gì có thể làm và người khác không thể. Trong thực tế tất nhiên, có sự khác biệt, đặc biệt là về năng suất và hiệu quả. So với C, C++ và Java, được gõ tĩnh, Python là một ngôn ngữ động và có thể giúp bạn viết cùng một mã trong ít dòng hơn đáng kể. Python có một "bao gồm pin" moto, có nghĩa là thư viện chuẩn cung cấp tất cả những thứ cần thiết để xây dựng một ứng dụng phức tạp. Các ngôn ngữ khác sẽ cần thư viện bên ngoài cho việc này.Ngày đầu này, kể từ Python là một ngôn ngữ cũ và trưởng thành (cũ hơn Java), nhiều thư viện bên ngoài (để phát triển trò chơi và tính toán khoa học chỉ đề cập đến một vài) đã được phát triển. Vì vậy, Python có thể được sử dụng để lập trình các ứng dụng máy tính để bàn và trên thực tế trong một số trường hợp hiệu quả hơn các ngôn ngữ truyền thống khác.

Python cũng là một ngôn ngữ kịch bản. Điều này có nghĩa rằng bạn có thể dễ dàng và nhanh chóng viết kịch bản và thử nghiệm đơn giản với nó.

Gần đây python cũng được sử dụng cho các khung công tác web. Vì có một cơ sở mã lớn và nhiều lập trình viên python, đây là một điều hợp lý để làm. Các khung công tác web này tuân theo thực tế được Ruby on Rails giới thiệu chủ yếu.

+0

Tôi đã thấy rằng Google cũng đang sử dụng Python cho các ứng dụng phức tạp liên quan đến tính toán scintific. Ví dụ FOr tôi đã xây dựng một trang web bằng php. Tôi muốn thực hiện một số phép tính bằng cách sử dụng chương trình python và trang hiển thị. Tôi có thể sử dụng cả hai php và python với nhau. Tôi có nghĩa là để nói rằng trên trang web nơi i trang là trong php và tôi làm cho một số trang như thế nào. mypage.py –

+0

Không có cách nào đơn giản để kết hợp php và python trong việc phục vụ một trang web. Bạn có thể bắt đầu một quá trình python từ php. nhưng điều đó sẽ không hiệu quả. – kgiannakakis

1

Python được sử dụng để phát triển trang web. It's highlevel hơn php. Python được sử dụng cho các ứng dụng linux dekstop. Ví dụ, hầu hết các cấu hình Ubuntu sử dụng là pythonic.

+0

Tại sao python cao cấp hơn php? – jigfox

2

Nhiều trang web sử dụng khung công tác web Django hoặc Zope/Plone, chúng được viết bằng Python.

Python được sử dụng rất nhiều để viết phần mềm quản trị hệ thống, thường là khi tập lệnh bash (shell script) không phải là công việc, nhưng C/C++ là quá mức cần thiết. Đây cũng là phổ nơi mà perl, awk, v.v. Gentoo của emerge/portage là một ví dụ. Mercurial/HG là hệ thống điều khiển phiên bản phân tán (DVCS) được viết bằng python.

Nhiều ứng dụng dành cho máy tính để bàn cũng được viết bằng Python. Bittorrent gốc được viết bằng python.

Python cũng được sử dụng làm ngôn ngữ kịch bản cho GIMP, Inkscape, Blender, OpenOffice, vv Python cho phép người dùng nâng cao viết plugin và truy cập các chức năng nâng cao thường không được sử dụng thông qua GUI.

11

Với một vài ngoại lệ, Python được sử dụng khá nhiều ở bất cứ đâu một lập trình viên biết Python muốn tập trung giải quyết vấn đề thay vì phải vật lộn với chi tiết triển khai. Bạn sẽ tìm thấy nó ingames, webapplications, network servers, scientific computing, media tools, application scripting, vv (Có một danh sách hơi cũ của một số tổ chức sử dụng nó here.) Những người biết nó cũng có xu hướng love it vì nó tấn công rất hiếm sự cân bằng của sự rõ ràng và rõ ràng, và (có lẽ ở một mức độ thấp hơn) bởi vì nó có một bộ thư viện hữu ích phong phú.

Một số nơi Python không được sử dụng càng nhiều:

  • kịch bản trình duyệt Web (vì trình duyệt thực hiện JavaScript, không Python, mặc dù có những ways around that)
  • ứng dụng GUI Lớn (có lẽ vì bindings GUI tốt tương đối mới)
  • Động cơ đồ họa (vì lý do hiệu suất, nhưng lưu ý rằng đôi khi Python được sử dụng cho logic điều khiển sử dụng công cụ đồ họa)
  • Thiết bị nhúng nhỏ (mặc dù một số người có đã thành công với compact, stripped-downspecial-purpose triển khai của Python, và chúng tôi đang bắt đầu để xem cụ python để xây dựng các ứng dụng trên smart phones and tablets.)
+0

Trong khi tôi đồng ý rộng rãi đồng ý và giống như python rất nhiều, một tính năng để xem xét là python không thực sự đa luồng, theo nghĩa là một quá trình python chỉ tiêu thụ một lõi cpu. Điều này là buồn cười, bởi vì bạn có thể khai báo các chuỗi python, mà không biết rằng chúng sẽ thực hiện tất cả chỉ trong một lõi. Hàm ý là, nếu dự án của bạn vốn không đồng bộ, như là một ứng dụng web và khối lượng lớn, thì bạn phải sử dụng I/O không chặn (như node.js). Xem http://www.tornadoweb.org/en/stable/ – artejera

+0

@artejera Trong khi tôi đánh giá cao sự quan tâm của bạn, tuyên bố của bạn cực kỳ gây hiểu lầm. Hãy giáo dục chính mình về GIL, cũng như các tình huống mà nó có thể can thiệp vào việc thực hiện đa luồng, và những nơi mà nó sẽ không. Tóm lại: Có một số triển khai python không có GIL và thậm chí trong CPython (trong đó có một), các chương trình thường dành thời gian trong mã thư viện không giữ GIL và do đó không chặn luồng. Ngoài ra, hãy tự học về các mô hình đa xử lý tiêu chuẩn như các nhóm xử lý, đã tồn tại lâu hơn chủ đề và hoạt động tốt trong python. –

+0

Bằng cách này, I/O không chặn không làm gì để tận dụng nhiều lõi CPU, vì vậy tôi không biết tại sao bạn đề cập đến nó trong nhận xét đó. –

1

Python cũng là rất tốt cho các chương trình khoa học như mô hình thống kê hoặc sims vật lý. Tôi đã thực hiện các chương trình monte-carlo và sử dụng mô-đun VISUAL, mô phỏng 3D về sứ mệnh Apollo.

Các vấn đề liên quan