home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.c      Meh, in C you gotta define EVERYTHING      243,242 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 241,344 of 243,242   
   BGB to Janis Papanagnou   
   Re: Nice way of allocating flexible stru   
   20 Oct 25 04:42:44   
   
   From: cr88192@gmail.com   
      
   On 10/20/2025 3:02 AM, Janis Papanagnou wrote:   
   > On 15.10.2025 20:00, BGB wrote:   
   >> On 10/15/2025 5:26 AM, bart wrote:   
   >>> On 15/10/2025 02:13, BGB wrote:   
   >>>   
   >>>> There was ALGOL, but both C and Pascal descended from ALGOL.   
   >>>   
   >>> I've heard that before that C was somehow derived from Algol and even   
   >>> Algol 68.   
   >>>   
   >>> But it is so utterly unlike either of those, that if it's from the   
   >>> same family, then it must have been adopted.   
   >>   
   >> Idea is that it went ALGOL -> BCPL -> B -> C.   
   >>    Going the other way, ALGOL was derived from FORTRAN.   
   >   
   > In which way do you think that Algol 60 was "derived from FORTRAN"?   
   >   
      
   Stuff online seems to say the backwards path went:   
      ALGOL 60 <- ALGOL 58 <- FORTRAN and Plankalkul   
      
   Granted, FORTRAN is a somewhat different language from ALGOL.   
      
      
   Though, can note that a lot of the early languages, like early forms of   
   FORTRAN and COBOL, were line-oriented and tended to use line numbers and   
   requiring stuff to be in certain columns, ...   
      
   Though, ALGOL and its descendants generally went over to a more   
   free-form syntax.   
      
      
   Arguably, FORTRAN and BASIC were some of the easier ways to approach   
   designing a language syntax.   
      
      
   Say, if ranking languages by minimal complexity, maybe:   
      Level 1:   
        Limited forms of FORTH and G-Code   
        Can real line-by-line and evaluate tokens left to right;   
        Logic mostly driven directly by tokens.   
          Forth: Tokens drive a stack;   
          G-Code: Tokens set internal state/parameters.   
            Any command initiates at the end of the line.   
      Level 2:   
        Older forms of FORTRAN and BASIC   
        Can work line by line and match fixed patterns;   
        Can use fairly simple rules to split up tokens;   
        Can use basic pattern matching for an interpreter.   
      Level 3:   
        LISP, QBasic and Visual Basic, ALGOL, ...   
        Typically requires building an AST, etc.   
          Though, Lisp syntax can map directly to an AST.   
        Can be supported easily by a tree-walk interpreter.   
      Level 4:   
        JavaScript and similar;   
        Requires a full syntax tree and more advanced parser;   
        An interpreter can use a tree-walk or basic IR.   
      Level 5:   
        Languages like C;   
        Generally requires a full-featured type-system;   
        Language structure and parsing may depend on types;   
        Direct interpretation is not usually feasible;   
        ...   
      
      
      
   > Janis   
   >   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca