Loading ...
Sorry, an error occurred while loading the content.

Message 1 [Fwd: About Park - points to consider when designing a new programming language]

Expand Messages
  • Omer Zak
    ... From: Omer Zak To: Shlomi Fish Subject: About Park - points to consider when designing a new programming
    Message 1 of 1 , Jun 23, 2006
    • 0 Attachment
      -------- Forwarded Message --------
      From: Omer Zak <omerz@...>
      To: Shlomi Fish <shlomif@...>
      Subject: About Park - points to consider when designing a new
      programming language
      Date: Fri, 23 Jun 2006 18:32:46 +0300
      Hello Shlomi,

      ref: http://www.shlomifish.org/park-lisp-fooware/

      I believe that a new non-DSL can justify its existence only if it
      addresses the problems of developing a giant application (O(10^7 lines
      of source code)). I raised the subject in Hackers-IL few years ago.

      So, I suggest that the following points be addressed in the specs of the
      new language (rather than minutieae about expressing stuff which is
      expressed in O(1) lines of source code):
      - Modularization (you did mention namespaces; is it possible to declare
      a namespace within another namespace like in Perl AA::BB::CC?)
      - Support for expressing things in terms of design patterns.
      - Aspect orientation.
      - Laws of the thumb, like Demeter's Law.
      - Support for mixed-language software development.
      - Seamless integration of database access, with all the power of SQL.
      Also include declaration of constraints for integrity validation of data
      being stored in the database.
      - Multi-versioning of support code (it would be cool to be able to link
      one part of a giant application with version 1.5 of a library, and
      another part of the same application with version 1.6.3 of the same
      library).
      - Testability (probably supported by aspect orientation).
      - Debugability (a language which can help detect heisenbugs can be a
      winner).
      - Seamless multithreading.
      - Several views of the source code (LabVIEW is suited to certain
      personality types, among whom I am not). Syntax coloring. Finding all
      references to a concept [variable, procedure, object] without being
      confused by having its name reused elsewhere; or having several names
      aliased to it.

      I am not saying that the language design needs to provide for all of the
      above. But I claim that when a new language is designed, the above
      points should be addressed.
      --- Omer
    Your message has been successfully submitted and would be delivered to recipients shortly.