Python được sử dụng ở đâu? Phần mềm nào được viết bằng Python? Lợi ích của ngôn ngữ lập trình Python. Ứng dụng Python và nhú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 SEO và có lúc tôi 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 – Lập trình viên đam mê
  • 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ể và tôi quyết định tạo ra ý tưởng này để 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ự mình làm chủ 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. Cũng lớn lên thư viện chuẩn Thư viện phân tích cú pháp Python + 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 hoàn toàn không biết (ví dụ như Flask), nhưng Sự 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. Đã nói chuyện với một vài nhân sự từ các công ty lớn, họ thể hiện 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, tôi thấy 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 tay vào 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 chính 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 thể nói chắc chắn được.

  • Python,
  • Phát triển trang web
  • 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 SEO và có lúc tôi 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 – Lập trình viên đam mê
    • 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ể và tôi quyết định tạo ra ý tưởng này để 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ự mình làm chủ 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ì vậy, khi 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 quá chú ý khi đề cập đến các tham chiếu, con trỏ, sắp xếp, OOP và một loạt các mảng khác nhau với tốc độ xử lý khác nhau cho 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 điểm quan trọng nhất. Đã 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, Tự động hóa QA. 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 trao đổi với các anh trên diễn đàn chuyên ngành thì thấy rõ đây là một tình huống khá đ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.

    Nhìn chung, hóa ra Python là một ngôn ngữ tuyệt vời 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!

    Hiện tại, chỉ riêng trong 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 hỗ trợ trang web hiện tại cho đến những gã khổng lồ thương mại điện tử cung cấp chức năng mở rộng nhất quán). 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à những nơi tốt nhất nhưng đây là công việc đầu tiên sau đó bạn sẽ chính thức trở thành một lập trình viên nhân sự giàu 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.

    Do đó, 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 sẽ không khuyên bạn học Python như ngôn ngữ đầu tiên của mình. 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 thể nói chắc chắn được.

    Có nhiều khu vực Ứng dụng Python, nhưng ở một số mặt, anh ấy đặc biệt giỏi. Hãy tìm hiểu những gì có thể được thực hiện bằng ngôn ngữ này.

    Sự khác biệt chính:

    • Flask cung cấp sự đơn giản, linh hoạt và toàn quyền kiểm soát trên dự án. Nó cho phép người dùng quyết định độc lập cách thực hiện một số điều nhất định.
    • Django là một dịch vụ trọn gói. Ngay từ đầu, nó đã có bảng quản trị, giao diện cơ sở dữ liệu, ORM (Ánh xạ quan hệ đối tượng) và cấu trúc thư mục cho các dự án của bạn.

    Chọn cái gì?

    • Hãy chọn Flask nếu bạn muốn có thêm kinh nghiệm và cơ hội học hỏi. Hoặc nếu bạn cần kiểm soát tối đa trên tất cả các thành phần được sử dụng, chẳng hạn như cơ sở dữ liệu.
    • Chọn Django nếu bạn quan tâm đến sản phẩm cuối cùng. Đặc biệt nếu bạn đang làm việc với ứng dụng đơn giản, chẳng hạn như một trang tin tức, một cửa hàng, một blog và bạn muốn mỗi nhiệm vụ được giải quyết theo một cách cực kỳ rõ ràng.

    Nói cách khác, Flask có lẽ sự lựa chọn tốt nhất dành cho nhà phát triển mới làm quen vì nó chứa ít thành phần hơn. Ngoài ra, rất đáng để lựa chọn nếu bạn cần tinh chỉnh dự án.

    Flask, do tính linh hoạt của nó, phù hợp hơn để tạo API REST.

    Mặt khác, nếu mục tiêu của bạn là làm điều gì đó nhanh chóng và dễ dàng, có lẽ bạn nên chọn Django.

    Khoa học dữ liệu: Học máy, phân tích dữ liệu và trực quan hóa

    Trước hết, bạn cần phải tìm ra nó là gì.

    Giả sử bạn muốn phát triển một chương trình tự động phát hiện những gì được hiển thị trong ảnh.

    Ví dụ: bằng cách hiển thị hình ảnh này, bạn muốn chương trình nhận dạng con chó.

    Và ở đây cô ấy sẽ thấy một cái bàn.

    Bạn có thể nghĩ rằng bạn có thể chỉ cần viết mã phân tích hình ảnh để giải quyết vấn đề này. Ví dụ: nếu có nhiều pixel màu nâu nhạt trong ảnh, chúng ta kết luận rằng đó là một con chó.

    Hoặc bạn có thể học cách xác định các cạnh và ranh giới trong một hình ảnh. Sau đó, hình ảnh với một lượng lớn ranh giới thẳng có thể sẽ trở thành một cái bàn.

    Tuy nhiên, đây là một cách tiếp cận khá phức tạp và không sáng suốt. Bạn nên làm gì nếu bức ảnh chụp một con chó màu trắng không có đốm nâu? Hoặc nếu hình ảnh cho thấy một bàn tròn?

    Đây là nơi nó phát huy tác dụng học máy. Thông thường, nó triển khai some , cho phép tự động phát hiện mẫu quen thuộc trong dữ liệu đầu vào.

    Bạn có thể cung cấp cho thuật toán học máy, chẳng hạn như 1000 bức ảnh về một con chó và 1000 bức ảnh về những cái bàn. Nó sẽ tìm hiểu sự khác biệt giữa các đối tượng này. Rồi khi bạn đưa nó cho anh ấy bức tranh mới với một cái bàn hoặc một con chó, anh ta sẽ có thể xác định chính xác những gì được mô tả trên đó.

    • scikit-learn có một số thuật toán học tập phổ biến được tích hợp sẵn;
    • TensorFlow là thư viện cấp thấp hơn. Nó cho phép bạn tạo các thuật toán tùy chỉnh.

    Đối với những người mới làm quen với học máy, scikit-learn là một nơi tốt để bắt đầu. Những nhà phát triển có kinh nghiệm hơn đang gặp phải vấn đề về hiệu quả có thể muốn xem xét kỹ hơn về TensorFlow.

    Làm thế nào để học máy học?

    Các nhà phân tích thực thụ, chẳng hạn như những người ở Google hay Microsoft, cũng làm điều tương tự, chỉ có điều công việc của họ phức tạp và phức tạp hơn.

    Họ sử dụng ngôn ngữ truy vấn SQLđể lấy dữ liệu từ cơ sở dữ liệu. Sau đó, các công cụ đặc biệt như Mathplotlib (dành cho Python) hoặc D3.js (dành cho JavaScript) được sử dụng để phân tích và trực quan hóa.

    Các cách sử dụng Python để phân tích và trực quan hóa dữ liệu

    Một trong những thư viện phổ biến nhất để trực quan hóa là Mathplotlib.

    Người mới bắt đầu nên bắt đầu học với nó vì hai lý do:

    • ngưỡng đầu vào thấp;
    • Việc thành thạo Mathplotlib sẽ cho phép bạn nhanh chóng hiểu các thư viện phức tạp hơn dựa trên nó trong tương lai, chẳng hạn như seaborn.

    Làm thế nào để học phân tích dữ liệu bằng Python?

    Gần đây, một số công ty đã bắt đầu sử dụng ứng dụng máy tính để bàn JavaScript. Ví dụ: ứng dụng máy tính để bàn Slack được xây dựng bằng khung JavaScript Electron.

    Ưu điểm của việc viết ứng dụng máy tính để bàn bằng JavaScript là bạn có thể sử dụng lại mã từ phiên bản web.

    Python 3 hoặc Python 2

    Python 3 là sự lựa chọn hiện đại và phổ biến hơn.

    Giải thích về mã backend và frontend

    Giả sử bạn muốn làm điều gì đó gợi nhớ đến Instagram.

    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ể được 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, 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 nhờ Ngôn ngữ 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 bằng hợp ngữ, thì rất có thể họ sẽ hết kinh phí rất lâu trước khi hoàn thành đoạn mã rất nhanh nhưng khó đọc của mình.

    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.

    Python là ngôn ngữ lập trình có rào cản đầu vào khá thấp nên thường được các lập trình viên mới vào nghề lựa chọn. Bạn đã quyết định học Python chưa? Dưới đây là mười sự thật về anh ấy sẽ giúp bạn xua tan nghi ngờ và đưa ra lựa chọn của mình. Chúng sẽ được không chỉ các lập trình viên quan tâm!

    1. Python hoạt động ở hầu hết mọi nơi

    Python chạy trên hầu hết các nền tảng đã biết - từ máy tính bỏ túi và điện thoại thông minh đến các máy chủ mạng. Các phiên bản Python đã được chuyển sang Windows, Linux/UNIX, macOS và macOS X, iPhone OS 2.0 trở lên, Palm OS, OS/2, AS/400 và thậm chí cả OS/390, Windows di động, Symbian và Android.

    2. Python có nguồn gốc cổ xưa

    Một số lập trình viên cho rằng ngôn ngữ lập trình này còn non trẻ. Lam thê nao để noi. So với ngôn ngữ C, Python còn non trẻ. Nhưng công việc thực hiện nó bắt đầu vào cuối những năm 1980 và phiên bản đầy đủ đầu tiên xuất hiện vào năm 1991. Vì vậy, Python từ lâu đã kỷ niệm sự trưởng thành của nó. Nó trưởng thành và phát triển ngôn ngữ lập trình, nhưng không chết - như một số người nghĩ. Nhân tiện, một tháng trước, vào ngày 17 tháng 7 năm 2017, phiên bản 3.6.2 đã được phát hành.

    3. Ủng hộ các “ông lớn”

    Các ông lớn - Google, Yahoo, NASA, Industrial Light & Magic và thậm chí cả Microsoft - đều sử dụng Python. Xác nhận rất dễ tìm thấy trên Internet. Vì vậy, Google thích C++, Java và Python hơn và Microsoft thậm chí còn mở Trung tâm nhà phát triển Python.

    4. Python là một trong những ngôn ngữ lập trình phổ biến nhất thế giới



    Những lợi ích của việc đạt được một chuyên ngành tại GeekUniversity như sau.

    • Phương pháp tiếp cận của các trung tâm đào tạo hàng đầu Hoa Kỳ được áp dụng. Học sinh sẽ phải tạo bốn dự án - cả độc lập và theo nhóm. Một năm ở GeekUniversity là một năm kinh nghiệm thực tế phát triển cho sơ yếu lý lịch.
    • Trong các bài học, chúng ta sẽ tạo ra không phải một ứng dụng đơn giản như “Xin chào thế giới” mà là một ứng dụng chính thức ứng dụng máy khách-máy chủ - hệ thống thanh toán. Học sinh sẽ học cách làm việc với cơ sở dữ liệu, tạo các ứng dụng GUI và các ứng dụng đa luồng an toàn.
    • Học sinh sẽ có một người cố vấn-giám tuyển cá nhân. Làm việc với người cố vấn giúp việc học hiệu quả hơn.
    • Mục tiêu của GeekUniversity là việc làm sau đại học. Việc làm được đảm bảo cho tất cả sinh viên tốt nghiệp.
    • GeekUniversity hoạt động trên cơ sở giấy phép số 038188 của tiểu bang. Sinh viên tốt nghiệp được cấp chứng chỉ của tiểu bang.


    Lấy Thông tin thêm Bạn có thể tìm hiểu về trường đại học trực tuyến bằng cách để lại đơn đăng ký trên trang web.