Work

Information, Knowledge, Algorithm versus Data and Program

Year: 2025
Type: preprint
Abstract: This paper examines fundamental concepts in information technology and software engineering, with a focus on the distinctions and interdependencies between information, data, algorithms, and computer programs. It argues that, while computers are physical devices governed by physical laws, they are used to process abstract entities such as information and algorithms. To bridge this gap, the paper introduces the concept of coding systems—comprising alphabets, syntax, and semantics—as a way to represent abstract information as data. Similarly, it discusses how algorithms, as abstract problem-solving knowledge, must be implemented as executable programs using programming languages. The paper highlights the role of types in modern programming languages as abstractions that encapsulate coding systems, making software development more accessible and portable. Through examples and theoretical discussion, the paper underscores the importance of understanding these abstractions for effective software design and implementation, advocating for a deeper integration of engineering principles into software development practices. All examples are written in C# but are intended to be universal and general.
Language: English
Open Access status: gold
OpenAlex ID: W4413825378
Cites:
Cited by:
Related to: 10