Ngôn ngữ lập trình nói chung là gì?
ngôn ngữ lập trình chỉ là một cách để nói chuyện với máy tính. nói đại khái lúc đầu vì máy tính chỉ có thể hiểu số không và số không (do thực tế là máy tính được tạo ra từ các bóng bán dẫn là công tắc chỉ có hai trạng thái, chúng tôi gọi hai trạng thái này là 0 và 1) và làm việc với 0,1 là khó Chúng ta là con người nên các nhà khoa học máy tính quyết định thực hiện ánh xạ một-một từ mọi hướng dẫn trong hệ nhị phân (0,1) sang dạng dễ đọc hơn mà họ gọi là ngôn ngữ lắp ráp.
ví dụ: nếu chúng tôi có một hướng dẫn như:
11001101
trong lắp ráp nó sẽ được gọi là:
LOAD_A 15
có nghĩa là tải nội dung đăng ký a vào vị trí bộ nhớ 15. như tôi đã nói đó chỉ là quy ước như chọn 0 và 1 cho hai trạng thái của bóng bán dẫn hoặc bất cứ thứ gì khác trong máy tính. Theo cách này, có một chương trình với 50 hướng dẫn, nhớ ngôn ngữ lắp ráp sẽ dễ dàng hơn. vì vậy người dùng sẽ viết mã lắp ráp và một số chương trình (trình biên dịch trong trường hợp này) sẽ dịch mã sang hướng dẫn nhị phân hoặc ngôn ngữ máy khi họ gọi nó.
nhưng sau đó với các máy tính được cải thiện mỗi ngày, có chỗ cho các chương trình phức tạp hơn với nhiều hướng dẫn hơn, giả sử 10000.
trong trường hợp này, một ánh xạ một-một như lắp ráp sẽ không hoạt động, vì vậy các ngôn ngữ lập trình cấp cao khác đã được tạo. họ nói ví dụ nếu liên quan đến các thiết bị I / O để in thứ gì đó trên màn hình do người dùng tạo ra có khoảng 80 hướng dẫn, chúng ta hãy làm gì đó ở đây và chúng ta có thể gói tất cả mã này vào một thư viện và gọi nó là printf và cũng tạo một chương trình khác có thể dịch printf này ở đây sang mã lắp ráp có liên quan và từ đó lắp ráp sẽ làm phần còn lại. vì vậy họ gọi nó là trình biên dịch.
Vì vậy, bây giờ mọi người dùng muốn in một cái gì đó trên màn hình, anh ta sẽ không phải viết tất cả các hướng dẫn ở dạng nhị phân hoặc lắp ráp, anh ta chỉ cần gõ printf ("cái gì đó") và tất cả các chương trình như trình biên dịch và trình biên dịch sẽ làm phần còn lại. bây giờ các mã dài hơn khác sẽ được đóng gói theo cùng một cách để tạo điều kiện thuận lợi cho công việc của người khác khi bạn thấy rằng bạn có thể đơn giản hóa hàng ngàn dòng mã thành một mã trong python và đóng gói để sử dụng cho người khác.
vì vậy hãy nói rằng bạn đã đóng gói rất nhiều mã khác nhau trong python và tạo ra một mô-đun (libray, gói hoặc bất cứ thứ gì bạn muốn gọi nó) và bạn gọi mô-đun đó là mgh (chỉ tên của tôi). bây giờ hãy nói rằng chúng tôi đã tạo ra mgh này bằng cách nào đó mà bất kỳ ai nói:
import mgh
mgh.connect(ip,port.data)...
có thể dễ dàng kết nối với một máy chủ từ xa với số ip và số cổng được chỉ định và gửi dữ liệu sau đó (hoặc một cái gì đó tương tự). bây giờ mọi người có thể thực hiện tất cả bằng một dòng duy nhất, nhưng điều xảy ra là rất nhiều mã đang được thực thi đã được lấy từ tệp mgh. và đóng gói nó không phải để tăng tốc quá trình thực hiện mà là tạo điều kiện cho các lập trình viên khác làm việc. Vì vậy, ở đây nếu ai đó muốn sử dụng mã của bạn trước tiên, anh ta nên nhập tệp và sau đó trình thông dịch python sẽ nhận ra tất cả mã trong đó và để nó có thể diễn giải mã.
Bây giờ nếu bạn muốn tạo một ngôn ngữ lập trình và bạn muốn thực thi nó, trước tiên nó cần một bản dịch, ví dụ giả sử bạn tạo một chương trình có thể hiểu cú pháp và chuyển đổi nó thành c, trong trường hợp này sau khi nó được dịch đến c, phần còn lại sẽ được chăm sóc bởi trình biên dịch c, sau đó trình biên dịch, trình liên kết, .... mặc dù bạn sẽ phải trả giá chậm hơn vì nó phải được chuyển đổi thành c trước.
bây giờ một điều khác mà bạn có thể làm là tạo một chương trình có thể dịch tất cả mã sang ngôn ngữ lắp ráp tương đương giống như những gì xảy ra với c nhưng trong trường hợp này, chương trình có thể thực hiện trực tiếp và từ đó phần còn lại sẽ được thực hiện bởi liên kết. chúng tôi biết rằng chương trình này được gọi là trình biên dịch.
Vì vậy, điều tôi đang nói là, mã duy nhất mà hệ thống hiểu là 0,1, vì vậy bằng cách nào đó bạn nên chuyển đổi cú pháp của mình sang đó, bây giờ trong các hệ điều hành của chúng tôi có rất nhiều chương trình khác nhau như trình biên dịch, trình liên kết và ... có được tạo để nói với bạn rằng nếu bạn có thể chuyển đổi mã của mình thành hội đồng thì họ có thể xử lý phần còn lại hoặc như tôi đã nói, bạn thậm chí có thể sử dụng các trình biên dịch ngôn ngữ lập trình khác bằng cách chuyển đổi mã của mình sang ngôn ngữ đó.