Software Alternatives & Reviews

Features of a dream programming language: 2nd draft.

Quorum Crystal (programming language) Akka
  1. 1
    Quorum provides tools to create outreach efficient, effective and people-centered field actions.
    Names: No alias names in the language or standard library, except for in documentation. Inspired by Python ("explicit over implicit", "one way over multiple ways"). Counter-inspired by Perl (postmodern plurality) and aliasing in the Ramda library. All things tend toward disorder, as programmers it is our job to Fight Entropy. The language should favor one consistent vocabulary, since it increases predictability and reduces variability. Even at the cost of expressiveness (the language should afford just enough expressiveness for the domain, see: configurable language, community grown). Names should not mimic any other programming language per se, but attempt to cater to complete beginners, because notation has a large impact on novices, a principle inspired by Quorum. There should be a VS Code plugin that allows people coming from various languages to type function names as they know them and the editor will translate on the fly. E.g. Typing in array.filter gets turned into array.keep in the code.

    #Automobile Dealership Management #Automotive #Auto Dealer Software 6 social mentions

  2. Programming language with Ruby-like syntax that compiles to efficient native code.
    Pricing:
    • Open Source
    Error handling & Nullability: Goal is to eliminate timid coding patterns like null checks everywhere. Counter-inspired by Golang. No implicit null or nil value. Meaning no runtime null errors (typically occurring far removed from their point of inception). Inspired by Elm and Rust. Ideally without having to explicitly declare Maybe aka. Option types (inspired by Hickey's Maybe Not). Could either automatically represent nilable variables as a union between the type and nil, so that the compiler can do null reference checks at compile-time. Inspired by Crystal. Or, automatically but statically infer and create/augment a function's return type to a nullable reference type indicated by a ? After the typename, whenever there is an unhandled condition that could result in a null value. Or automatically create a NullObject (see: NullObject pattern) of the function's declared return type. Maybe even better: let every type declare and handle their own empty state. If all types are defined in terms of Monoids, then null could be replaced by the identity value (of each Monoid), so that combinations within that type never fail, and never alter the result. NB: would make it hard to express something which was supposed to be there but which is missing, like a missing point on a graph curve, instead of plotting a definite 0. So would need careful consideration to choose this approach.

    #Programming Language #Generic Programming Language #OOP 110 social mentions

  3. 3
    Build powerful reactive, concurrent, and distributed applications in Java and Scala
    Pricing:
    • Open Source
    Reactive. Inspired by Functional Reactive Programming, and Elm, and The Reactive Manifesto. Though the latter is geared at distributed systems, it could also be a model for local computation (rf. Actor model, and Akka). The programming language should make default and implicit the features of reactivity and streaming, as opposed to preloading and batch processing. (Reactive Streaming Data: Asynchronous non-blocking stream processing with backpressure.).

    #Data Integration #Monitoring Tools #Web And Application Servers 21 social mentions

Discuss: Features of a dream programming language: 2nd draft.

Log in or Post with