3 ms·
Yes, pretty much. To be fair, C at this point was basically BCPL with slightly different syntax (and better char/string support). The introduction of structs (a
by Joker_vD 2y ago
Yes, pretty much. To be fair, C at this point was basically BCPL with slightly different syntax (and better char/string support). The introduction of structs (and then longs) changed it forever.
- kragen 2y agoBCPL had a lot of features C didn't have at this point and still doesn't. You mean B.
- Joker_vD 2y agoCould you elaborate on those features? From the top of my head, those are: nested functions — those always were of dubious usefulness compared to the implementation difficulties needed; labels are actual constants, so computed GOTO is available — that's definitely a feature standard C still doesn't have; manifest constants — this one is Ritchie's most baffling omission in the language; multiple assignment — it's not actually parallel so merely a syntax nicety (with a footgun loaded); valof-resultis — while very nice, it's also merely a syntax nicety, "lvalue := valof (... resultis expr; ...)" is the same as "{... lvalue = expr; goto after; ... } after: ;". What else is there? Pointless distinction between the declaration syntax of functions and procedures?
- kragen 2y agoThat includes everything I was thinking of and several things I didn't know about.
- psjs 2y agoWhat features did BCPL have at that point that C didn’t have (and stil does not)?