Khoa học logic trong lập trình

Khoa học logic trong lập trình

Bài viết này được dành để phân tích so sánh các thực thể logic từ tác phẩm của nhà triết học người Đức Georg Wilhelm Friedrich Hegel “Khoa học về logic” với những điểm tương tự hoặc sự vắng mặt của chúng trong lập trình.

Các thực thể từ Khoa học Logic được in nghiêng để tránh nhầm lẫn với định nghĩa được chấp nhận rộng rãi của những từ này.

Bản thể thuần khiết

Nếu bạn mở định nghĩa sự thuần khiết trong cuốn sách, bạn sẽ thấy một dòng thú vị “không cần định nghĩa thêm”. Nhưng với những người chưa đọc hoặc chưa hiểu cũng đừng vội trách tác giả mất trí nhớ. Bản thể thuần khiết - đây là một khái niệm cơ bản trong logic của Hegel, nghĩa là một đối tượng nào đó tồn tại, xin đừng nhầm lẫn nó với sự tồn tại của một đối tượng, đối tượng có thể không tồn tại trong thực tế, nhưng nếu chúng ta định nghĩa nó bằng cách nào đó trong logic của mình thì nó tồn tại. Nếu bạn nghĩ về nó, thực sự có những điều như sự thuần khiết không thể đưa ra một định nghĩa và bất kỳ nỗ lực nào như vậy sẽ dẫn đến thực tế là bạn sẽ chỉ đề cập đến các từ đồng nghĩa hoặc trái nghĩa của nó. Bản thể thuần khiết một khái niệm trừu tượng đến mức nó có thể được áp dụng cho bất cứ thứ gì, kể cả chính nó. Trong một số ngôn ngữ hướng đối tượng, có thể biểu diễn mọi thứ dưới dạng đối tượng, bao gồm cả các thao tác trên đối tượng, về nguyên tắc mang lại cho chúng ta mức độ trừu tượng như vậy. Tuy nhiên, trong lập trình tương tự trực tiếp sự thuần khiết KHÔNG. Để kiểm tra sự tồn tại của một đối tượng, chúng ta cần kiểm tra sự vắng mặt của nó.

if(obj != null);

Thật kỳ lạ là đường cú pháp như vậy vẫn chưa tồn tại, vì cách kiểm tra này rất phổ biến.

Không có gì

Làm sao bạn có thể đoán được không có gì là sự vắng mặt của bất cứ điều gì. Và chất tương tự của nó có thể được gọi là NULL. Điều đáng chú ý là trong khoa học logic không có gìsự thuần khiết, vì nó cũng tồn tại Điều này hơi khó hiểu; chúng ta không thể truy cập NULL như một đối tượng trong bất kỳ ngôn ngữ nào, mặc dù về bản chất nó cũng là một đối tượng.

Sự hình thành và những khoảnh khắc

Trở thành là sự chuyển tiếp từ không có gì в hiện hữu và từ hiện tại в không có gì. Điều đó mang lại cho chúng ta hai chốc lát, cái đầu tiên được gọi là sự xuất hiệnvà thứ hai đi qua. Đoạn văn nó được gọi như vậy thay vì biến mất, bởi vì bản chất logic về cơ bản không thể biến mất trừ khi chúng ta quên nó. Rút tiền như vậy chúng ta có thể gọi thủ tục chuyển nhượng. Nếu đối tượng của chúng ta được khởi tạo thì thời điểm xảy ravà trong trường hợp gán giá trị khác hoặc NULL khoảnh khắc trôi qua.

obj = new object(); //возникновение
obj = null; //прехождение

Sự tồn tại

Nói ngắn gọn sự tồn tại là một đối tượng không có định nghĩa rõ ràng nhưng có sự chắc chắn. Nó có nghĩa là gì. Ví dụ kinh điển là một chiếc ghế bình thường. Nếu bạn cố gắng đưa ra một định nghĩa rõ ràng, bạn sẽ gặp rất nhiều khó khăn. Ví dụ: bạn nói: “Đây là một món đồ nội thất được thiết kế để ngồi,” nhưng chiếc ghế cũng được tạo ra cho việc này, v.v. Nhưng việc thiếu một định nghĩa rõ ràng không ngăn cản chúng ta làm nổi bật nó trong không gian và sử dụng nó khi truyền thông tin về nó, đó là vì trong đầu chúng ta có sự chắc chắn cái ghế. Có lẽ một số người đã đoán rằng mạng lưới thần kinh được tạo ra để cách ly các đối tượng đó khỏi luồng dữ liệu. Một mạng lưới thần kinh có thể được biểu thị như một hàm xác định điều này sự chắc chắn, nhưng không có loại đối tượng nào bao gồm các định nghĩa rõ ràng và mờ, do đó các đối tượng đó không thể được sử dụng ở cùng mức độ trừu tượng.

Quy luật chuyển đổi từ lượng sang chất

Định luật này được Friedrich Engels xây dựng dựa trên sự giải thích logic của Hegel. Tuy nhiên, có thể thấy rõ điều đó trong tập đầu tiên của chương về đo lường. Bản chất của nó là thế định lượng những thay đổi đối với một đối tượng có thể ảnh hưởng đến nó chất lượng. Ví dụ, chúng ta có một vật thể băng, khi nhiệt độ tích tụ, nó sẽ biến thành nước lỏng và thay đổi cấu trúc. phẩm chất. Để thực hiện hành vi này trong một đối tượng, có một mẫu thiết kế Trạng thái. Sự xuất hiện của một giải pháp như vậy là do sự thiếu vắng trong việc lập trình một thứ như nền tảng cho sự xuất hiện sự vật. Nền tảng xác định các điều kiện mà một đối tượng có thể xuất hiện và trong thuật toán, chính chúng ta quyết định thời điểm chúng ta cần khởi tạo đối tượng.

PS: Nếu thông tin này thú vị, tôi sẽ xem xét các thực thể khác từ Khoa học Logic.

Nguồn: www.habr.com

Thêm một lời nhận xét