Skip to content
/ osmosian Public

The BIG Issue: The Osmosian Philosophy of Programming #4

Open
@GerryRzeppa

Description

@GerryRzeppa

The changes to the program currently proposed, and the use of GitHub itself, are contrary to the underlying philosophy of the original Osmosian program. Since the program loses its value when it ceases to be a manifestation of that philosophy, this project should be abandoned.

Allow me to elaborate.

The original objective of the Osmosian programming project was to create a minimal yet sufficient programming language / development environment -- something simple enough for beginners, yet powerful enough for professionals. The test case for the project was to be the resulting system itself: a system that could be explained, in the simplest of terms, to a novice; yet written, top to bottom, code and documentation, using nothing but the facilities of the system itself.

This objective was our guide as we studied and evaluated a wide variety of programming languages, real and hypothetical, and an equally wide variety of development environments, real and hypothetical. The conclusions we reached at the end of these studies was twofold. First, that the syntax of the programming language should simply be our own native tongue (with allowance for similar systems in other natural languages). And secondly, that the development environment should be a minimal yet intuitive marriage of form and function -- employing text where text is most efficient or convenient, and graphics where graphics are most efficient and convenient.

These conclusions quickly gave birth to a collection of questions that we attempted to answer with actual prototype facilities. Where we succeeded in achieving workable implementations, the ideas were retained and the prototype facilities merged into the final product. Where we failed, the ideas were rejected and replaced with others. The major questions thus answered by our working prototype are these:

  1. Can low-level programs like compilers be conveniently and efficiently written in high-level languages like English? Yes.
  2. Can English be parsed in a relatively "intuitive" and "sloppy" way and still provide a stable enough means for productive programming? Yes.
  3. Can sophisticated programs like wysiwyg page-layout facilities be conveniently and efficiently written without "make" files, objects, nested ifs, real numbers, and a wide variety of other common constructs? Yes.
  4. Is it in fact easier to program when you don't have to translate your natural-language thoughts into an alternate syntax? Yes.
  5. Can a convenient and efficient user interface be designed without overlapping windows, re-sizable windows, scroll bars, tool bars, tear-off palettes, dialog boxes, multi-state menus and commands; disappearing tabs, three-dimensional embellishments, and a wide variety of other common widgets and devices? Yes.
  6. Can a project of this magnitude be managed without automated tools such as version control systems, and proved reliable without recourse to automated testing facilities? Yes.
  7. Can a project of this magnitude be completed by a very small team of dedicated programmers in less than a man-year without recourse to social coding sites like GitHub or BitBucket? Yes.

And so forth. In short, the system stands as a needed iconoclastic challenge to nearly every preconceived notion about programming that a modern practitioner might have. A candle in the wind, perhaps, but a light in the darkness nevertheless.

Unfortunately, the proposed changes here on GitHub (which do nothing but inflate the system with new menu styles, new buttons, new ways of entering commands, new ways of presenting results, unnecessary facilities, additional source files, etc), and, in fact, the whole of the GitHub machinery itself (which does nothing but complicate the project with multiple copies of the code in various states of modification, copies of the documentation in various states of modification, new interfaces, additional instructions, etc) are in direct conflict with the original objectives and underlying philosophy of the system as it was conceived and implemented. They appear, in fact, to be nothing but attempts to snuff out its distinctive character by making it more like everything else.

Further development is, of course, in order. Such a remarkable little flame should be tended until it becomes bright enough to inspire all. But this is not the way to go about it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @GerryRzeppa

        Issue actions

          The BIG Issue: The Osmosian Philosophy of Programming · Issue #4 · Folds/osmosian