Nếu bạn học một ngôn ngữ lập trình, thì đó phải là C/C++. Nhưng nếu bạn học cả hai, đây là lập luận rằng cái kia phải là Python
Là một kỹ sư, điều cuối cùng mà bạn có thể cần ngay bây giờ là học thêm một ngôn ngữ lập trình khác. Có rất nhiều ngoài kia. Ruby, PHP, Java, C#, Javascript, Dart, Go, Rust, v.v. Không dành cho bạn, không. Bạn đã thông thạo C/C++, đưa bạn từ chương trình cơ sở nhúng đến các ứng dụng GUI
Tại sao bạn lại muốn dành thời gian để học một ngôn ngữ lập trình khác sẽ lỗi thời trước khi tổng thống tiếp theo xuất hiện?
Chà, bạn của tôi, tôi sẽ cho bạn biết một bí mật nhỏ. Nếu bạn sẵn sàng học thêm một ngôn ngữ, nó có khả năng mở ra một thế giới hoàn toàn mới cho bạn
Là kỹ sư điện, nếu bạn học một ngôn ngữ lập trình, thì đó phải là C/C++. Bạn cần nó để lập trình vi điều khiển, định cấu hình các thanh ghi và bạn sẽ thiết kế và viết chương trình cơ sở thử nghiệm để thực hiện các phần khác nhau của mạch. Nó cho phép bạn đào sâu vào các vấn đề cơ bản của phần cứng, ghi các giá trị vào các thanh ghi khác nhau, truy cập các bus bộ nhớ và điều khiển các thiết bị ngoại vi của phần cứng
Nhưng nếu bạn học hai ngôn ngữ, tôi cho rằng ngôn ngữ còn lại phải là Python.
Sức mạnh và kiểm soát vs. Đơn giản và linh hoạt
Lý do C ++ rất hữu ích cho các nhà thiết kế phần cứng là lý do chính xác tại sao nó không tuyệt vời để viết ứng dụng. Bạn có tất cả các loại quyền kiểm soát đối với kim loại trần—nhưng, vì bạn kiểm soát nó nên tất cả là trách nhiệm của bạn. Bạn phải đảm bảo rằng bạn hủy cấp phát bất kỳ bộ nhớ nào mà bạn cấp phát, rằng con trỏ của bạn thực sự trỏ đến các vị trí hợp lệ trong bộ nhớ và rằng các loại dữ liệu của bạn được cấp phát đúng cách và không bị tràn
Những gì bạn nhận được từ tất cả nhận thức đó là sức mạnh và tốc độ thô nhưng trời cấm bạn phạm sai lầm vì nó có thể khiến toàn bộ ứng dụng hoặc thậm chí toàn bộ hệ thống bị sập
Đây là nơi Python rất vui khi được làm việc cùng. Đôi khi bạn không cần tất cả tốc độ đó hoặc kiểm soát mọi thứ trong bộ nhớ quá chặt chẽ. Thay vào đó, bạn chỉ cần một cái gì đó để làm việc.
Python trừu tượng hóa rất nhiều chi tiết mà chúng ta cần xử lý trong C++, chẳng hạn như quản lý bộ nhớ và các kiểu dữ liệu biến. Không còn phải lo lắng nếu một biến bị tràn hoặc dung lượng bộ nhớ đã được phân bổ hoặc hủy phân bổ chính xác. Tất cả điều đó xảy ra một cách kỳ diệu trong nền. Bạn chỉ cần tập trung viết code trên giấy [ảo]
Điều thực sự khiến Python nổi bật như một ngôn ngữ thứ hai tốt là cộng đồng rộng lớn và đang phát triển của nó, sự hỗ trợ khổng lồ của các thư viện nguồn mở và nó hỗ trợ một loạt các ứng dụng như lập trình ứng dụng web, khoa học dữ liệu, trực quan hóa dữ liệu và tự động hóa cho mục đích chung. Đó là tất cả các miền cực kỳ mạnh và phức tạp khủng khiếp nếu bạn cố sử dụng C++
Ngay cả một việc đơn giản như mở một tệp và phân tích nội dung của nó, một việc mà EE phải làm thường xuyên cho mọi loại việc, cũng rất dễ dàng trong Python. Đây là một ví dụ nơi chúng tôi mở một tệp và in nội dung của nó ra màn hình
C++
con trăn
Trường hợp cho Python
Bây giờ tôi không ở đây để rao giảng ngôn ngữ nào tốt hơn. Tôi thường xuyên sử dụng cả hai ngôn ngữ cũng như các ngôn ngữ khác như Java, C# và Javascript khi cần thiết. Nhưng theo quan điểm của tôi, nếu tôi phải đưa ra lời khuyên về ngôn ngữ nào mà một EE đang và sắp học nên học, thì lời khuyên của tôi sẽ là C++ trước, sau đó là Python. [Hmmm…và có lẽ là Verilog, tùy thuộc vào việc bạn có làm logic lập trình hay không, nhưng đó là một loạt bài viết khác. ]
Bài viết này là điểm khởi đầu cho một loạt bài lớn hơn về Python vì nó liên quan đến các kỹ sư điện. Khi chúng ta tìm hiểu sâu hơn về loạt bài này, tôi hy vọng nó sẽ ngày càng trở nên rõ ràng hơn tại sao sự hiểu biết về Python sẽ mở ra những thế giới mới cho một kỹ sư điện
Mặc dù tôi chỉ sử dụng một ví dụ rất đơn giản về phân tích tệp ở trên, nhưng đó chính là nền tảng của hàng tấn tự động hóa thiết kế cũng như khoa học dữ liệu. Ngoài ra, chúng ta sẽ khám phá các thư viện khác nhau để tìm hiểu cách thiết lập cơ sở dữ liệu, máy chủ web, tạo API REST, khai thác bộ dữ liệu lớn, tạo trực quan hóa dữ liệu mượt mà, phát hiện đối tượng bằng webcam và chúng ta sẽ tìm hiểu một chút về . Tôi đã ném cái cuối cùng đó vào vì nó đang là cơn thịnh nộ trong giới công nghệ [và không phải dân công nghệ]. Bạn có thể gây ấn tượng với những tay hipster công nghệ mà bạn nói chuyện ở Starbucks với cái đó
Vì vậy, hãy đội mũ lập trình của bạn lên và chú ý theo dõi khi chúng tôi bắt đầu cuộc hành trình khám phá những chân trời mới của công nghệ dưới con mắt của một kỹ sư điện. Tôi hy vọng rằng loạt bài này không chỉ cho phép bạn tự động hóa mọi thứ hiệu quả hơn mà còn mở rộng thế giới của bạn ngoài việc thiết kế phần cứng và mạch và thiết kế các hệ thống phức tạp, các hệ thống không chỉ liên quan đến điện tử mà còn tận dụng hàng núi công nghệ mà sự hiểu biết về Python cho phép
Bạn nghĩ gì về Python?