What features would be present in your dream programming language ?

OK kids, back to programming.

I am stating some of my opinions on what should be in my dream programming language here. This will be an evolving set of ideas, I will be updating them as I learn more.

Functional Requirements

  1. Lexical scoping
  2. Static typing
  3. Pointers
  4. Object Orientation
  5. Java Interfaces ( Contracts )
  6. One class per file
  7. Java style namespaces ( packages )
  8. Checked Exceptions
  9. No mandatory garbage collection ( facilitate RAII )
  10. Single inheritance, multiple implementation
  11. Data types : String ( buffer + size ), int, float, char, boolean, hashes, arrays, structures
  12. Reflection
  13. Annotations
  14. C style syntax where possible ( no white space based scoping )
  15. Automatic destructor invocation ( avoid @Predestroy from Java )
  16. Specification and test suite, but also a reference implementation
  17. Generics

Non-functional requirements

  1. Integrated Development Environment ( IDE ) friendly
  2. Blue collar language
  3. Fast start up
  4. Fast execution
  5. Easy to hot load code
  6. Compiled
    1. Leave portability to LLVM
    2. After decades of “Sufficiently smart profiling JIT compiler should run code faster than sufficiently smart optimizing AOT compiler” it still has not materialized

This language should be developed under a Benevolent Dictator For Life ( BDFL ) model -as opposed to design by committee- and should also consist of a maven style declarative build system with sensible defaults.

What features would be present in your dream programming language ?

Published by

Joji Antony

What’s up, I’m Joji. I am from India and am a fan of technology and football. You can find more information about me at: https://about.me/jojiantony

One thought on “What features would be present in your dream programming language ?”

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.