Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do we still program with flat files? [closed]

Tags:

flat-file

People also ask

What is the purpose of a flat file?

A flat file consists of a single table of data. It allows the user to specify data attributes, such as columns and data types table by table, and stores those attributes separate from applications. This type of file is commonly used to import data in data warehousing projects.

What are the problems with the flat file approach?

Disadvantages of flat-file database Flat file database is harder to update. Harder to change data format. It is poor database in terms of complex queries. It increased Redundancy and inconsistency.

What is the best reason to use a flat file instead of a database?

They Require Fewer Hardware and Software Components. There's a good reason many operating systems, such as Windows, Macintosh, and Linux, use flat file databases. Though the databases can become bogged down with several thousand records, they are usually more efficient than other options.

Why is a flat file called a flat file?

A flat file database is a collection of records in which the data follows a uniform format and follows rules on value types where applicable. The database is flat because every line only holds one data input, depending on the categorization of the columns.


  • you can diff them
  • you can merge them
  • anyone can edit them
  • they are simple and easy to deal with
  • they are universally accessible to thousands of tools

In my opinion, any possible benefits are outweighed by being tied to a particular tool.

With plain-text source (that seems to be what you're discussing, rather than flat files per se) I can paste chunks into an email, use simple version control systems (very important!), write code into comments on Stack Overflow, use one of a thousand text editors on any number of platforms, etc.

With some binary representation of code, I need to use a specialized editor to view or edit it. Even if a text-based representation can be produced, you can't trivially roll back changes into the canonical version.


Smalltalk is an image-based environment. You are no longer working with code in a file on disk. You are working with and modifying the real objects in runtime. It still is text but classes are not stored in human readable files. Instead the whole object memory (the image) is stored on a file in binary format.

But the biggest complaints of those trying out smalltalk is because it doesn't use files. Most of the file-based tools that we have (vim, emacs, eclipse, vs.net, unix tools) will have to be abandoned in favor of smalltalk's own tools. Not that the tools provided in smalltalk in inferior. It is just different.


Why are essays written in text? Why are legal documents written in text? Why are fantasy novels written in text? Because text is the single best form - for people - of persisting their thoughts.

Text is how people think about, represent, understand, and persist concepts - and their complexities, hierarchies, and interrelationships.


Lisp programs are not flat files. They are serialization of data structures. This code-as-data is an old idea, and actually one of the greatest idea in computer science.


<?xml version="1.0" encoding="UTF-8"?><code>Flat files are easier to read.</code></xml>