Python được sử dụng cho mục đích gì? Hernan Soulages, một lập trình viên thực dụng. Dữ liệu được Python sử dụng

Nếu bạn đang tìm câu trả lời cho câu hỏi: “Nên chọn ngôn ngữ lập trình nào trước tiên”, thì trong khoảng 90% trường hợp, bạn sẽ được cung cấp Python - là ngôn ngữ dễ học nhất. Và hiển nhiên sẽ có một số lượng nhất định những người chưa từng học lập trình sẽ chọn Python vì những gợi ý này. Và ở đây chúng ta có một vấn đề sẽ được thảo luận dưới đây. Tất nhiên, kèm theo mô tả về cách tôi đến với cuộc sống này.

Về tôi

Ngay trong những năm sinh viên, tôi đã nhận ra rằng chuyên ngành của mình không hề màu hồng như năm 18 tuổi. Vì vậy, tôi bắt đầu nghĩ cách kiếm đủ tiền. Và sau khi nghe câu chuyện hồi đó ở 1C anh họ tôi nhận được số tiền điên cuồng như thế nào, tôi cũng quyết định gắn cuộc đời mình với IT.

Ban đầu, đây là những trang web mẫu sử dụng công cụ xây dựng trang web và WordPress, sau đó tôi tham gia vào lĩnh vực SEO và có lúc tình cờ gặp Habr, sau đó tôi quyết định trở thành một lập trình viên chính thức. Tôi không có trình độ toán cao hơn nên tôi quyết định chọn một lĩnh vực không bắt buộc - phát triển web.

Tôi có một câu hỏi rõ ràng: nên chọn ngôn ngữ nào - php/python/Ruby. Sau khi xem đủ bài viết về Habré, tôi thấy một số người ghét php sau khi xem một vài video tạo động lực từ Yandex. Tôi đã chọn Python. Tôi hy vọng bạn biết lợi ích của ngôn ngữ nên tôi sẽ không nói về nó.

Đào tạo ngôn ngữ tiểu học

Tôi kết hợp việc học ngôn ngữ với công việc chính của mình nên tôi đọc sách, xem các bài hướng dẫn và thực hiện các dự án nhỏ vào buổi tối. Nói chung, trong một năm tôi

1) Sách đã học:

  • Mark Lutz - Học Python
  • Mark Lutz - Lập trình Python
  • Chad Fowler – Người cuồng lập trình
  • Bill Lubanovich - Python đơn giản
2) Đã nghiên cứu rất nhiều video của các tác giả Ukraina/Tư sản trên Django
3) Đã hoàn thành khóa học từ codeacademy
4) Làm chủ PyCharm

Dự án đầu tiên của bạn

Sau đó, tôi nảy ra ý tưởng về một dịch vụ nhỏ về một chủ đề rất cụ thể mà tôi quyết định tạo ra để củng cố kiến ​​thức của mình về Python + Django.

Khi tạo trang web, tôi

1) Sách đã học:

  • John Duckett - HTML và CSS. Phát triển và thiết kế trang web
  • David Flanagan - JavaScript. Hướng dẫn chi tiết
  • Ben Forta - Tự học SQL.
2) Tôi đã nghiên cứu tài liệu Django cho nhiệm vụ của mình
3) Tôi đã nghiên cứu triển khai các dự án trên Django Gunicorn + nginx + centOS

Dự án bình thường đầu tiên của tôi

Sau khi trang web đầy đủ đầu tiên thất bại, tôi quyết định tạo ra thứ gì đó đáng giá, chọn ý tưởng, chọn phương án triển khai và hoàn thành nó vào buổi tối trong 3 tháng.

Dự án đã cho thấy khả năng tồn tại của nó (cho đến ngày nay nó mang lại cho tôi một số tiền, điều mà tôi vô cùng hạnh phúc). Và tôi quyết định bơm nó lên tốt hơn.

Sau khi đọc cuốn sách “Percival H. - Phát triển dựa trên thử nghiệm với Python”, tôi quyết định viết bài kiểm tra trước tiên dựa trên các thành phần Django, sau đó tra cứu tài liệu Selenium và thực hiện các bài kiểm tra bên ngoài.

Tôi muốn được ngầu

Sau khi mở các vị trí tuyển dụng cho các nhà phát triển Python-Django, tôi đã xem xét những gì khác thường được yêu cầu ở những vị trí tuyển dụng như vậy:
  • Khung phần còn lại của Django
  • Rau cần tây
  • Lốc xoáy/xoắn/asyncio (Chọn một)
  • Chế độ xem dựa trên lớp Django
  • Góc/Phản ứng (Chọn một)
Đã dành 3 tháng để tìm hiểu/thử những điều này. Tôi cũng đã chọn thư viện chuẩn Python + thư viện phân tích cú pháp bên ngoài beautifulSoup.

Bạn không thể làm việc nếu không có C/C++

Có ý kiến ​​cho rằng nếu không có kiến ​​thức về C/C++ thì một lập trình viên không thể tự gọi mình là lập trình viên. Vì thế khi tôi có thời gian rảnh, Tôi làm quen với các cuốn sách:
  • Brian Kernighan - Ngôn ngữ lập trình C
  • Stanley B Lippman – Ngôn ngữ lập trình C++. Khóa học cơ bản
Tôi đọc sách, mày mò mã, xem phần biên dịch, xem các ví dụ về mã. Nói chung bây giờ tôi không đôi mắt to khi đề cập đến các liên kết, con trỏ, sắp xếp, OOP và một loạt các mảng khác nhau với ở tốc độ khác nhau xử lý một phần tử tùy thuộc vào vị trí của nó.

Tôi đã sẵn sàng chiến đấu!

Và ở đây chúng ta đến với chính tâm điểm. Đã dành tổng cộng 2 năm để học tất cả các yếu tố của lập trình web mà tôi đã đề cập ở trên. Tôi cho rằng mình đã đủ sẵn sàng để ứng tuyển vào vị trí nhà phát triển web Python. Tất nhiên, tôi không biết rõ một số thứ, một số thứ thì hời hợt và một số thứ tôi không biết chút nào (ví dụ như Flask), nhưng hiểu biết chung và kỹ năng khá tốt.

Và ở đây các vấn đề với Python bắt đầu mà mọi người thường không tập trung vào. Cụ thể là theo nhu cầu kinh doanh đối với các nhà phát triển Python cấp cơ sở/tiền trung cấp.

Tôi bước vào thị trường với câu hỏi này.

Mặc dù thoạt nhìn có vẻ như có khá nhiều vị trí tuyển dụng trong Python nhưng khi bắt đầu đi vào chi tiết cụ thể, mọi thứ sẽ thay đổi đáng kể.

1. Ngay lập tức có một cuộc sàng lọc lớn các vị trí tuyển dụng trong đó Python chỉ là ngôn ngữ phụ trợ. Thông thường đây là các vị trí của nhà phát triển Java, Quản trị viên hệ thống,QA-Tự động hóa. Ngoài ra, hiện có một lượng lớn học sinh bỏ học trong môn Học dữ liệu, vốn yêu cầu trình độ toán + ngôn ngữ R. Chỉ với Python bạn sẽ không thể tìm được vị trí tuyển dụng này.

2. Hóa ra là ở thành phố của tôi không có chỗ trống nào cho Python, theo nghĩa đen là không có chỗ nào cả. Mở rộng tìm kiếm ra toàn khu vực, tôi cũng nhận được kết quả không như ý. Một số vị trí tuyển dụng về PHP, trong đó Python là một điểm cộng. Khi tôi mở bộ lọc trong 3 năm qua, tôi cũng phát hiện ra rằng không có vị trí tuyển dụng nào cho Python cả. Những thứ kia. các doanh nghiệp ở tỉnh thường lựa chọn những công nghệ đơn giản và phổ biến hơn Python.

3. Sau khi mở các vị trí tuyển dụng Python trên một công cụ tìm kiếm tổng hợp, tôi phát hiện ra các xu hướng sau:

  • Hơn 90% vị trí tuyển dụng được đặt tại Moscow hoặc St. Petersburg
  • Hơn 90% vị trí tuyển dụng yêu cầu trình độ trung cấp trở lên / cấp cao
  • ~100% vị trí tuyển dụng cho các vị trí cấp dưới ở Moscow hoặc St. Petersburg (thường là từ những người khổng lồ)
Nói cách khác, tình hình hóa ra là nếu bạn không sống ở Moscow, St. Petersburg và không đi “chinh phục” họ, thì thực tế bạn không có nơi nào để có được công việc đầu tiên.

Tất nhiên, có một số nơi Python vẫn được sử dụng, chẳng hạn như ở Kazan. Nhưng thông thường đây là một công ty, nơi các vị trí tuyển dụng cũng rất trung cấp + / cao cấp.

4. Lựa chọn tìm kiếm công việc từ xa ở cấp độ hiện tại cũng cho thấy người sử dụng lao động chưa sẵn sàng chấp nhận rủi ro như vậy. Ít kinh nghiệm + làm việc từ xa = đây là một kiểu tưởng tượng.
Tuy nhiên, tôi vẫn có thể tìm ra một số lựa chọn, nhưng trong cuộc phỏng vấn đầu tiên, tôi thấy rõ rằng điều này thật vô nghĩa như: “Bạn làm việc cho chúng tôi trong ba tháng và nếu khách hàng trả tiền cho công việc của bạn, chúng tôi sẽ trả tiền cho bạn. cũng vậy." Không phải là lựa chọn tốt nhất

5. Tôi đã nói chuyện với một số nhân sự của các công ty lớn, họ bày tỏ xu hướng này. “Chúng tôi thường thuê những người có ít nhất một năm kinh nghiệm về Python, cộng với kinh nghiệm về ngôn ngữ khác (hơn 3 năm). Thường xuyên nhất là php/Java." Nói cách khác, họ không hề cân nhắc việc thuê một người chỉ có Python.

6. Sau khi nói chuyện với những người trên các diễn đàn chuyên ngành, rõ ràng thế là đủ tình huống điển hình. Từ câu chuyện của họ, rõ ràng là mọi người, sau khi tìm kiếm vô ích, đã bắt đầu làm việc trên PHP/1c hoặc bằng cách nào đó đã vượt qua quá trình tự động hóa công việc/dự án/thử nghiệm của riêng mình.
Nhưng một lần nữa, tùy từng trường hợp.

Nói chung, hóa ra Python là ngôn ngữ xuất sắc, cho phép bạn tạo các dự án mạnh mẽ. Và điều ngẫu nhiên là sự tập trung của họ lại tập trung ở các thủ đô. Và vì đây là những dự án phức tạp nên cần có nhân viên ở cấp trung cấp trở lên. Một người mới học Python có sẵn sàng nhận một vị trí tuyển dụng như vậy không? Khó!

Nhưng có một cách khác!

TRONG Hiện nay riêng ở thành phố của tôi đã có 24 vị trí tuyển dụng cho php nhiều cấp độ khác nhau(từ các công ty nhỏ cần duy trì trang web hiện tại cho đến các công ty thương mại điện tử khổng lồ cung cấp mở rộng nối tiếp chức năng). Và có cùng số lượng vị trí tuyển dụng cho 1C. Và trong khoảng một nửa số vị trí tuyển dụng này, họ sẵn sàng thuê một người ít nhất biết điều gì đó về lập trình. Rất có thể, đây không phải là nhiều nhất địa điểm tốt nhất, nhưng đây đã là công việc đầu tiên mà sau đó bạn sẽ chính thức trở thành một lập trình viên nhân sự có kinh nghiệm.

Cuối cùng

Hóa ra là bạn có thể học ngôn ngữ lập trình tuyệt vời Python và đi lại trên đường phố. Hoặc bạn có thể học php/1c “bị ghét” và kiếm việc làm. Tất nhiên, chất lượng của công việc này để lại nhiều câu hỏi - nhưng đây đã là kinh nghiệm.

Đối với tôi, trong điều kiện của tôi (không đến Moscow/St. Petersburg), tôi thực sự đã dành thời gian học một ngôn ngữ hiện đang được yêu cầu riêng trong các dự án của riêng tôi. Tôi không thể tìm được việc làm tại địa phương hoặc từ xa. Bây giờ tôi đang chuyển sang php, vì đơn giản là nó hoạt động được.

Vì vậy, nếu bạn không sống ở Moscow, St. Petersburg hoặc không phải là sinh viên của một trường đại học kỹ thuật, thì tôi không khuyên bạn nên dạy Python đầu tiên lưỡi. Hãy chú ý đến PHP - luôn có chỗ cho nó, có công việc, có kinh nghiệm. Và con đường phát triển xa hơn đã là của bạn.

tái bút Như bạn tôi đã nói với tôi, tình hình gần như tương tự ở Ruby. Nhưng ở đây tôi không còn có thể nói chuyện một cách tự tin nữa.

Đôi khi tôi nhận được nhiều ý tưởng khác nhau để phát triển bản thân. Đây là những suy nghĩ hoàn toàn khác nhau về những gì tôi nên nắm vững, những gì tôi nên học, những gì tôi nên hiểu. Và tại một trong những khoảnh khắc đó, tôi đã nghĩ đến việc học lập trình. tôi bắt đầu với ngôn ngữ Pascal, phù hợp vào thời điểm đó, và bây giờ, sau khi đã học khoảng 3 ngôn ngữ, tôi bắt đầu nghĩ, liệu có đáng học Python không?

Từ bài viết này bạn sẽ học được:

Tôi, Gridin Semyon, chào mừng tất cả độc giả đến blog kip-world của tôi. Bạn đã có ý định bắt đầu học lập trình từ lâu chưa? Có lẽ bạn đang suy nghĩ về cách chọn ngôn ngữ lập trình để bắt đầu?

Hoặc có lẽ bạn chỉ sợ bắt đầu? Hay bạn chỉ là người vô tình đọc được bài viết của tôi? Trong mọi trường hợp, ở đây bạn sẽ tìm thấy câu trả lời cho một số câu hỏi của mình!

Trong bất kỳ trường hợp nào ở trên, tôi muốn hỏi bạn nhiều nhất Câu hỏi quan trọng: Bạn sẽ giải quyết vấn đề gì khi sử dụng ngôn ngữ này hay ngôn ngữ kia?

Tôi đã biên soạn một “bài viết vi mô” nhỏ để bạn suy ngẫm.

Có đáng học Python không?

Tôi nghĩ không có gì bí mật với bất kỳ ai rằng cách đây 5-6 năm, ngôn ngữ đầu tiên được học lập trình ở bất kỳ trường nào là Pascal. Pascal là một ngôn ngữ tuyệt vời trong thời đại của nó, nhưng thật không may hoặc may mắn thay, nó đã không còn hữu ích nữa và hiện là ngôn ngữ lập trình đầu tiên sự lựa chọn thông minh dành cho mọi lập trình viên mới bắt đầu!

Bây giờ bạn có thể tự hỏi: “Tại sao việc học Python là ngôn ngữ lập trình đầu tiên của bạn lại đáng giá?” Không có gì bí ẩn trong việc này, cũng như không có câu đố nào cả.

Lợi ích của ngôn ngữ lập trình Python

Trước hết, điều quan trọng là phải biết rằng ngôn ngữ nhất định lập trình hiện đang có nhu cầu ở nhiều doanh nghiệp, đặc biệt là ở Moscow và St. Petersburg. Vì vậy, nếu bạn đủ may mắn để sống ở những thành phố này, thì với ngôn ngữ này, bạn có thể tìm được một công việc rất thú vị và được trả lương cao.

Thứ hai, Cái này phát triển ngôn ngữ lập trình, nhiều thay đổi khác nhau xảy ra hai đến ba năm một lần và đây là một dấu hiệu rất tốt cho ngôn ngữ lập trình.

thứ tư, hỗ trợ nhiều ngôn ngữ kịch bản lập trình. Bạn có thể giao tiếp với thế giới bên ngoài thông qua đầu vào và đầu ra bên ngoài.

Các lập trình viên yêu thích ngôn ngữ này vì tính ngắn gọn và đơn giản của mã. Ở đâu trong JavaScript hoặc C++, bạn sẽ cần viết hai hoặc ba trang, bằng Python bạn có thể làm điều đó chỉ trong một trang!

Và cũng rất tính năng quan trọng Ngôn ngữ Python là nó được sử dụng để phát triển Web. Hơn nữa, nó không được sử dụng như một ngôn ngữ thông thường mà thực hiện một trong những tính năng thú vị. Python để phát triển web được sử dụng trong trường hợp các ngôn ngữ khác không thành công! Đây là một sự thật rất thú vị và tò mò. Trong lĩnh vực này, ngôn ngữ có vị trí riêng của nó!

Hãy tóm tắt ngắn gọn:

  • Python là ngôn ngữ lập trình hoàn chỉnh và giàu tính năng
  • Ngôn ngữ này được sử dụng ở hầu hết nhiều lĩnh vực khác nhau, bao gồm cả lập trình web
  • Đây là một ngôn ngữ lý tưởng để bạn bắt đầu phát triển với tư cách là một lập trình viên vì nó rõ ràng và dễ sử dụng.
  • Nó là ngôn ngữ yêu thích của nhiều lập trình viên chuyên nghiệp.

Và nếu ai còn thắc mắc: “Học Python có đáng không?”, “Ngôn ngữ này có phù hợp cho người mới bắt đầu không?”, “Học ngôn ngữ này xong có xin được việc làm không?” Làm tốt lắm? Câu trả lời của tôi: “Chắc chắn là có! Hãy học ngôn ngữ này, bất kể bạn là lập trình viên mới bắt đầu hay đã có kinh nghiệm. Nó chắc chắn sẽ hữu ích cho bạn và sẽ giúp ích cho bạn trong các hoạt động của mình!

Nhân đây tôi phải nói lời tạm biệt với bạn. Đăng ký blog của tôi, kể cho bạn bè của bạn về nó - sẽ có rất nhiều thông tin thú vị và quan trọng ở đây!

tái bút Bạn nghĩ ngôn ngữ nào là tốt nhất để bắt đầu với? Có lẽ ai đó đã cho bạn lời khuyên khác? Tôi sẽ rất vui khi có ý kiến ​​​​bên ngoài trong phần bình luận!

Python là ngôn ngữ lập trình cấp cao, được sử dụng rộng rãi, được đặt theo tên của chương trình truyền hình hài nổi tiếng của Anh " Rạp xiếc bay của Monty Python" Ngôn ngữ Python có cấu trúc đơn giản nhưng cực kỳ linh hoạt và mạnh mẽ. Xem xét rằng Mã Python Dễ đọc và không quá khắt khe về cú pháp, nó được nhiều người coi là ngôn ngữ lập trình cơ bản tốt nhất.

Python - mô tả ngôn ngữ được đưa ra trong Foundation mô tả Python:

Python là ngôn ngữ lập trình hướng đối tượng, tương tác, thông dịch. Nó bao gồm các mô-đun, ngoại lệ, gõ động, cấp cao các loại động dữ liệu và các lớp. Python kết hợp hiệu suất tuyệt vời với cú pháp rõ ràng. Nó cung cấp giao diện cho nhiều cuộc gọi hệ thống và thư viện, cũng như các hệ thống cửa sổ khác nhau và có thể mở rộng bằng C và C++. Python được sử dụng làm ngôn ngữ mở rộng cho các ứng dụng cần giao diện phần mềm. Cuối cùng, Python là ngôn ngữ đa nền tảng: nó chạy trên nhiều phiên bản Unix, Mac và máy tính chạy MS-DOS, Windows, Windows NT và OS/2.

Bạn nên học ngôn ngữ lập trình nào đầu tiên?

Bạn có thể bắt đầu học ngôn ngữ lập trình Python. Để minh họa Python khác với các ngôn ngữ cơ bản khác như thế nào, hãy nghĩ lại thời bạn còn là một thiếu niên.

Học lập trình với sử dụng Python tương tự như việc lái chiếc xe tải nhỏ của bố mẹ bạn. Khi bạn đã lái nó đi vòng quanh bãi đậu xe vài lần, bạn sẽ bắt đầu hiểu cách điều khiển xe.

Đang cố gắng học lập trình bằng C ( hoặc thậm chí là người lắp ráp) nó giống như việc học lái xe bằng cách lắp ráp chiếc xe tải nhỏ của bố mẹ bạn. Bạn sẽ bị mắc kẹt trong gara hàng năm trời để lắp ráp các bộ phận lại với nhau, và đến khi bạn hiểu đầy đủ về cách thức hoạt động của chiếc xe cũng như có thể khắc phục sự cố và dự đoán các vấn đề trong tương lai, bạn sẽ kiệt sức trước khi kịp hiểu được những vấn đề đó. bánh xe.

Lợi ích của Python

Python là ngôn ngữ phổ quát dành cho người mới bắt đầu. Bạn có thể tự động hóa quy trình làm việc, tạo trang web và ứng dụng máy tính để bàn và các trò chơi sử dụng Python. Nhân tiện, nhu cầu về nhà phát triển Python ( PostgreSQL, OOP, Bình, Django) đã phát triển đáng kể trong vài năm qua tại các công ty như Instagram, Reddit, Tumblr, YouTube và Pinterest.

Ngôn ngữ mục đích chung cấp cao

Python đề cập đến ngôn ngữ cấp cao lập trình. Sử dụng nó, bạn có thể tạo hầu hết mọi loại phần mềm. Tính linh hoạt này giúp bạn luôn hứng thú khi phát triển các chương trình và giải pháp nhắm đến sở thích của mình thay vì mắc kẹt trong đống ngôn ngữ lo lắng về cú pháp của nó.

Ngôn ngữ thông dịch

Ngôn ngữ lập trình Python dành cho người mới bắt đầu được thông dịch, có nghĩa là bạn không cần biết cách biên dịch mã. Vì không có bước biên dịch nên năng suất tăng lên và thời gian chỉnh sửa, kiểm tra và gỡ lỗi giảm đi rất nhiều. Chỉ cần tải xuống IDE ( IDE), hãy viết mã của bạn và nhấp vào “Chạy” ( Chạy).

Khả năng đọc mã là chìa khóa

Cú pháp đơn giản, dễ học của Python nhấn mạnh vào khả năng đọc và định nghĩa phong cách tốt lập trình. Với Python, bạn có thể diễn đạt ý tưởng của mình với ít dòng mã hơn. Ngôn ngữ này cũng buộc bạn phải suy nghĩ về logic và thuật toán của chương trình. Bởi vì điều này, nó thường được sử dụng làm ngôn ngữ kịch bản hoặc tích hợp ( ngôn ngữ keo) để liên kết các thành phần hiện có với nhau và viết khối lượng lớn mã dễ đọc và chạy được trong khoảng thời gian ngắn.

Chỉ là vui thôi

Bạn không thể đặt tên một ngôn ngữ lập trình theo tên Monty Python mà không có khiếu hài hước. Hơn nữa, thử nghiệm đã được thực hiện để so sánh thời gian cần thiết để viết một tập lệnh đơn giản trong nhiều ngôn ngữ khác nhau (Python, Java, C, J, CƠ BẢN):

...Python cần ít thời gian hơn, ít dòng mã hơn và ít khái niệm hơn để đạt được mục tiêu của bạn... Và trên hết, lập trình Python rất thú vị! Niềm vui và thành công thường xuyên sẽ tạo dựng sự tự tin và hứng thú cho học sinh, những người sẽ được chuẩn bị tốt hơn để tiếp tục học Python.

Bản dịch bài viết “Tại sao nên học Python? "đã được chuẩn bị bởi nhóm dự án thân thiện.

Tốt xấu

Có đáng học ngôn ngữ lập trình Python không? Rốt cuộc, bạn thường có thể nghe thấy rằng ngôn ngữ này đang chết dần. Người dùng Quora đã thảo luận về vấn đề này và chia sẻ ý kiến ​​của họ.

Bill Carven, nhà phát triển, nhà tư vấn, huấn luyện viên và tác giả SQL

Hợp ngữ mang đến cho bạn cơ hội tuyệt vời để viết mã nhỏ gọn, hiệu quả và được tối ưu hóa cho dự án. Với mã được viết bằng ngôn ngữ này, chỉ chiếm vài kilobyte, bạn có thể làm được những điều đáng kinh ngạc. Nhưng mức độ hiệu quả có thể đạt được bằng cách sử dụng ngôn ngữ hợp ngữ không chứng minh được công việc làm thêm, thời gian thêm và các kỹ năng cần thiết.

Đúng là ngôn ngữ ngày càng phổ biến. Năng suất là đây nhiệm vụ chinh trong lập trình, vì vậy các ngôn ngữ mới thỉnh thoảng được tạo ra để tăng năng suất cho ít nhất một số loại công việc.

Hầu hết các lập trình viên ngày nay đều sử dụng các ngôn ngữ cấp cao hơn - họ cần làm việc hiệu quả hơn. Ngôn ngữ cấp cao nhất có thể biên dịch thành mã máy(C hoặc C++) hoặc có thể được biên dịch thành mã byte với kiến ​​trúc độc lập và chạy trong máy ảo(Java) hoặc được xử lý (JavaScript, PHP, Ruby, Python, Perl, v.v.).

Việc bạn cần học hợp ngữ vì “nó tốt hơn Python” là một quan niệm sai lầm. Đây là một quan điểm ngu ngốc dựa trên dữ liệu lỗi thời.

Người đóng gói hóa đơn, Giám đốc điều hành ICPC, phần mềm trong lĩnh vực năng lượng, di truyền tổng hợp, v.v.

Tìm hiểu Python. Cung cấp cho mình kinh nghiệm lập trình. Ngôn ngữ này có sự sang trọng riêng của nó.

Tìm hiểu C như một ngôn ngữ cho máy Unix. Hiểu UNIX tương đối dễ dàng.

Học MIX để hiểu Knuth.

Học Java để không phải lo lắng khi làm việc với người khác và còn có thể học lập trình hướng đối tượng.

Học C++ để bạn có thể lập trình theo bất kỳ phong cách nào bạn muốn. Điểm mạnh của nó là nó là ngôn ngữ lập trình cơ bản. Điểm yếu của nó là để lập trình trong đó bạn cần hiểu phong cách của nó.

Tìm hiểu LISP để củng cố sự hiểu biết của bạn về đệ quy.

Tôi đã nói rằng nó không đáng để học ít nhất một cái gì đó? KHÔNG. Bởi vì điều duy nhất bạn phải làm là rèn luyện bản thân để nghiên cứu liên tục bất cứ điều gì, đặc biệt là học cách giải quyết vấn đề.

Shiva Shinde, Python dễ viết mã nhưng khó đọc

Ngôn ngữ lập trình Python không chết; nó là một trong những ngôn ngữ phát triển nhanh nhất.

  1. Thật dễ dàng để học
  • TRÊN khoảnh khắc này 8 trong số 10 chương trình hay nhất của Mỹ dành cho công nghệ máy tính sử dụng ngôn ngữ này (Philip Guo, CACM)
  • Các chương trình Python có xu hướng có tối thiểu các mẫu thường thấy trong các ngôn ngữ lập trình khác. Do đó, bạn có thể sử dụng các giải pháp không chuẩn cho các vấn đề thường xuyên hơn.
  • Nếu bạn có kinh nghiệm lập trình, ngay cả khi không sử dụng ngôn ngữ này, thì bạn sẽ nhanh chóng thành thạo Python.

2. Đầy đủ chức năng

  • Nó không chỉ là một ngôn ngữ để thống kê. Python có tất cả các khả năng thu thập và làm sạch dữ liệu, làm việc với cơ sở dữ liệu và tính toán hiệu năng cao, v.v.
  • Đây là ngôn ngữ lập trình phổ biến với một số lượng lớn các thư viện tích hợp sẵn. Nó tốt cho việc quản lý dữ liệu và cơ sở dữ liệu cũng như để làm việc với lập trình mạng. Đó là một ngôn ngữ chu đáo với lượng tài nguyên khổng lồ có sẵn.

3. Thư viện dữ liệu khoa học nghiêm túc

  • Python có các thư viện khoa học quan trọng với lượng dữ liệu khổng lồ để sử dụng.
  • Cơ sở của những điều này thư viện khoa học là Hệ sinh thái SciPy, thậm chí còn tổ chức các hội nghị của riêng mình.
  • Pandas và Matplotlib là các thành phần của SciPy. Họ cung cấp dữ liệu tuyệt vời nhất Các chủ đề khác nhau, ví dụ như học máy, phân tích tiên đoán phân tích văn bản và mạng.

Hernan Soulages, lập trình viên thực dụng

Ngôn ngữ này khá phổ biến, tầm quan trọng của nó ngày càng tăng trong giới học thuật. Cũng đúng là tính hữu dụng của ngôn ngữ lập trình phụ thuộc vào những gì bạn muốn làm với nó.

Tôi không thích PHP chút nào, nhưng tôi không đủ ngu ngốc để phủ nhận tính linh hoạt và sức mạnh của nó, đồng thời đó là một ngôn ngữ dễ học.
Đối với việc học hợp ngữ, ngôn ngữ này phụ thuộc trực tiếp vào bộ xử lý bạn đang làm việc.

Nếu bạn biết cách làm việc với một cái, thì bạn chắc chắn có thể sử dụng nó trong dòng bộ xử lý của mình một thời gian. Nhưng theo thời gian, họ cũng trải qua một số thay đổi. Theo nghĩa này, đây là họ ngôn ngữ kém bền vững nhất.

Magnus Lychka, nhà phát triển và tư vấn phần mềm ở Gothenburg

Nhiều người dùng thích Python. Đối với một số ứng dụng, nó sẽ quá chậm và chẳng hạn như chúng sẽ hoạt động nhanh hơn với hợp ngữ, nhưng những ứng dụng này sẽ hoạt động nhanh như vậy trong C, mặc dù thực tế là mã được viết bằng C sẽ hoạt động trên mọi nền tảng.

Nhiều công ty khởi nghiệp đã thành công với Python, sau đó họ phải viết lại một số chương trình bằng Java, C++ hoặc C. Và nếu những công ty khởi nghiệp này bắt đầu làm việc với ngôn ngữ hợp ngữ, thì rất có thể họ sẽ hết vốn từ lâu trước khi rất nhanh nhưng khó khăn. đọc mã sẽ hoàn tất.

Nhưng khi làm việc với hợp ngữ, bạn sẽ không chỉ phải giải quyết kiến trúc khác nhau bộ xử lý mà còn có các chi tiết kỹ thuật khác nhau giữa các hệ điều hành.

Đã lâu rồi, trong đầu tôi nảy sinh ý nghĩ liệu mình có nên viết một đoạn ngắn về chủ đề tại sao ngôn ngữ lập trình Python lại đáng học và hơn thế nữa là tạo các dự án phần mềm trong đó hay không.

Một số bạn biết rằng mới đây tôi đã tham dự sự kiện lớn nhất trong cộng đồng lập trình Python - . Mọi chi phí đều do tôi đài thọ hoàn toàn mà không có sự tham gia của nhà tài trợ hay nhà tuyển dụng. Có lẽ, để tham dự một sự kiện như vậy, bạn cần phải có chút tình cảm gắn bó với chủ đề này, và điều này đúng.

Python là gì?

Python là ngôn ngữ lập trình mục đích chung, chủ yếu nhằm mục đích tăng năng suất của bản thân lập trình viên, thay vì mã mà anh ta viết. Bằng ngôn ngữ đơn giản của con người, bạn có thể viết hầu hết mọi thứ bằng Python (ứng dụng web/máy tính để bàn, trò chơi, tập lệnh tự động hóa, hệ thống phức tạp tính toán, hệ thống kiểm soát hỗ trợ sự sống và nhiều hơn thế nữa) mà không gặp vấn đề gì đáng chú ý. Hơn nữa, rào cản gia nhập thấp và mã phần lớn ngắn gọn và dễ hiểu ngay cả với những người chưa bao giờ viết mã đó. Do tính đơn giản của mã, việc duy trì thêm các chương trình được viết bằng Python trở nên dễ dàng và thú vị hơn so với Java hoặc C++. Và từ quan điểm kinh doanh, điều này đòi hỏi phải giảm chi phí và tăng năng suất của nhân viên.

Để chứng minh sự ngắn gọn, chúng ta hãy xem mã Python và Java mở tệp và lưu trữ nội dung của nó trong một biến:

Tệp = open("file.txt") nội dung = file.read()

Nhập java.io.IOException; nhập java.nio.file.Files; nhập java.nio.file.Paths; public static void main(String args) ném IOException ( String content = new String(Files.readAllBytes(Paths.get("file.txt"))); )

Mã Java sử dụng giao diện được cập nhật để hoạt động với hệ thống đầu vào/đầu ra. Cách cũ sẽ còn tệ hơn nữa :)

Ai sử dụng Python?

Ngay cả ngôn ngữ lập trình tiên tiến nhất cũng trở nên vô giá trị nếu không có ai quan tâm đến nó. Một trong những thành phần tạo nên sự thành công của bất kỳ công nghệ nào là cộng đồng được tạo ra xung quanh nó. Chính điều này đã xác định trước hướng phát triển trong tương lai thông qua những nỗ lực chung. Cộng đồng Python là một trong những cộng đồng mạnh nhất trong thế giới CNTT. Đây là một sinh vật phức tạp, được tổ chức tốt và không ngừng phát triển. Ngoài hàng trăm nghìn nhà phát triển cá nhân và các công ty phần mềm nhỏ, Python còn được hỗ trợ bởi những gã khổng lồ về CNTT như:

Và rất nhiều người khác. Thật ấn tượng phải không? Đối với các dự án lớn và phổ biến được viết bằng Python, đây là những con quái vật như:

  • YouTube (hầu hết cơ sở mã hoàn toàn bằng Python)
  • Phiên bản đầu tiên của công cụ tìm kiếm Google được viết bằng Python và sau đó, do tính chất cực kỳ cao của nó. tải cao và yêu cầu về tốc độ, được viết lại bằng C++.
  • Ứng dụng khách máy tính để bàn Dropbox
  • Reddit
  • Instagram (500 triệu người dùng Python)
  • Bitbucket (Python 2.7 và Django 1.7.11)
  • MMOPG trực tuyến EVE
  • Quora
  • Spotify
  • Phê bình Dịch vụ PayPal, xử lý tới 2 tỷ yêu cầu mỗi ngày. Bạn có thể tìm hiểu thêm trong podcast TalkPython, tập #54
  • Dịch vụ Mozilla
  • Dịch vụ phổ biến ý tưởng Pinterest
  • Dịch vụ bình luận Disqus (Tôi sử dụng nó trên blog này, dịch vụ được triển khai ở Django)
  • Nội địa Dịch vụ Facebook(xem poster trong của tôi)
  • Hệ thống kiểm soát phiên bản Mercurial (cho đến cách đây một thời gian, các nhà phát triển Python đã sử dụng nó trong công việc của họ)
  • Dịch vụ Wargaming

và tôi chắc chắn còn nhiều điều thú vị khác ứng dụng phổ biến, mà tôi quên liệt kê ở đây (chào mừng bạn trong phần bình luận).

Điều đó có nghĩa là gì? Về nhiều thứ. Và điều quan trọng nhất đó là các tập đoàn lớn không ngại xây dựng hoạt động kinh doanh của mình dựa trên Python, họ tin tưởng rằng công nghệ này sẽ tồn tại và do đó họ không nên gặp khó khăn trong việc tìm kiếm chuyên gia. Hơn nữa, sự đa dạng của các ứng dụng cũng rất ấn tượng, thể hiện sự đa dạng của các vấn đề mà Python giải quyết một cách xuất sắc.

Trong một ghi chú về cuốn sách "", tôi đã viết rằng nó được lấy làm cơ sở làm tài liệu giáo dục cho khóa học lập trình cơ bản tại MIT, Ngôn ngữ máy tính vào thời điểm đó phương ngữ Lisp là Đề án. Thời thế đang thay đổi, bây giờ điều gì đang dẫn đầu với tư cách là ngôn ngữ kỹ thuật số chung...? Đúng vậy, Python. Nó được sử dụng như một công cụ đáng tin cậy trong một nghề thủ công tuyệt vời như vậy.

Nhược điểm của Python

Một độc giả không quen thuộc với Python có thể có ấn tượng rằng nó là liều thuốc chữa bách bệnh, một viên đạn bạc và một phương thuốc chữa bệnh ung thư. Nhưng không phải mọi thứ đều màu hồng và tuyệt vời như vậy. Giống như mọi thứ, Python có một số khuyết điểm riêng, đôi khi có thể nghiêm trọng và ảnh hưởng đến sự lựa chọn không có lợi cho con rắn.

Tốc độ

Một trong những nhược điểm chính là nó tương đối tốc độ thấp chấp hành. Python là một ngôn ngữ được gõ hoàn toàn động, điều khiển tự động ký ức. Mặc dù thoạt nhìn thì đây có vẻ là một lợi thế, nhưng khi phát triển các chương trình có yêu cầu hiệu quả cao hơn, Python có thể chậm hơn đáng kể so với những người anh em tĩnh của nó (C/C++, Java, Go). Đối với các đối tác động của nó (PHP, Ruby, JavaScript), mọi thứ ở đây tốt hơn nhiều; Python trong hầu hết các trường hợp thực thi mã nhanh hơn do được biên dịch trước thành mã byte và một phần quan trọng thư viện chuẩn, viết bằng C Tại các hội nghị, tôi đã có cơ hội nói chuyện với những người đến từ các công ty lớn như Wargaming, nhiều người trong số họ có xu hướng chuyển sang thống kê và thường gặp nhất là cờ vây, Rust.

Một báo cáo thú vị về tốc độ và tối ưu hóa CPython (triển khai ngôn ngữ gốc bằng C) đã được đọc tại PiterPy 2015 ở St. Petersburg:

Gõ động

Đối với những lập trình viên mới làm quen, một ngôn ngữ lập trình được gõ động ngay từ cái nhìn đầu tiên (và ở lần thứ hai và thậm chí ở lần thứ ba) có vẻ giống như một lối thoát, một niềm vui tuyệt vời, đặc biệt đối với những người trước đây đã từng làm việc với “thống kê”. Nhưng cũng có mặt sau mặt trăng. Khi cơ sở mã phát triển (và đây thường là một quá trình tất yếu trong dự án thành công), hãy làm theo kiểu đã truyền lại cho một người bạnĐiều này có thể rất khó khăn đối với một người bạn dữ liệu (và trong trường hợp không có tài liệu và kiểm tra rõ ràng thì điều đó gần như không thể xảy ra), đây là nơi phát sinh vấn đề khi, chẳng hạn, khi họ cố gắng gọi một phương thức trên Không hoặc truy cập một thuộc tính trong khi mã chấp hành. Để giải quyết loại vấn đề này, các ngôn ngữ động được phát triển quá mức với đủ loại nạng, còi và thủ thuật dưới dạng chú thích kiểu, các dự án mypy để phân tích mã tĩnh, v.v. Ngược lại, điều này đặt một ý nghĩa tiêu cực về mặt thẩm mỹ của mã.

Do hạn chế về ngôn ngữ, các triển khai thay thế của trình thông dịch xuất hiện: PyPy, Pyston, Jython, Cython và nhiều trình thông dịch khác. Giờ đây, xu hướng này đã được thể hiện rõ ràng, chẳng hạn như Pyston đang được phát triển trong các bức tường của cái gọi là. Thánh địa của lập trình viên Python - Dropbox :)

Phần kết luận

Bất chấp một số vấn đề cố hữu về mặt lịch sử của Python, nó vẫn tiếp tục là một công cụ hàng đầu trong một số lĩnh vực:

  • Phát triển ứng dụng web (ở đây chúng tôi có ứng dụng dẫn đầu không thể tranh cãi dưới dạng Django).
  • Phân tích dữ liệu và học máy (scipy, scikit-learn, pandas, các gói numpy được cộng đồng khoa học toàn cầu công nhận).
  • Giới thiệu về lập trình (pygame, rùa rất giỏi trong việc thúc đẩy trẻ bắt đầu viết mã).
  • Tạo nguyên mẫu nhanh chóng các ý tưởng trong kinh doanh do có rất nhiều thư viện làm sẵn, rào cản tiếp cận ngôn ngữ thấp và năng suất cao của các lập trình viên viết bằng Python.
  • Viết kịch bản (kịch bản) để tự động hóa các tác vụ. Python đi kèm theo mặc định với tất cả các bản phân phối của các hệ thống giống unix và được một sự thay thế tuyệt vời Bash theo mọi nghĩa.

Tôi chắc chắn tôi đã quên một cái gì đó khác. Nói chung, quy tắc Python!

Liên kết