Live data from Hacker News

BASIC turns 60

arstechnica.com

71–80 of 144 posts

Re: BASIC turns 60

#74
post #64

Earlier quoted context omitted.

http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf Dartmouth BASIC was compiled.

Compiled can mean many things. For instance it can mean that only the parsing is done at compile time, leaving the rest for runtime.

[deleted]

Re: BASIC turns 60

#75
I have a great appreciation for BASIC, being the first language I was exposed to both at home on my Atari 400 and in school on TRS-80 and Wang computers. Since then I went through various machine/assembly languages, C, C++, Pascal, and modern procedural languages.

Lately I spend most of my time writing less-procedural code on procedural languages. Eliminating the step-by-step 'time' element and mutating variables is the best way I know to make more comprehensible software.

Just because computer hardware executes step-by-step in time, doesn't seem like a strong enough reason to learn programming this way. I'd really be curious what would happen if programming (not 'computers') were taught more transactionally with defined inputs, outputs, and a mapping definition that gets coded with intermediate expressions rather than time-varying data building. Basically, instead of starting with for/if/etc then eventually finding filter(predicate), map(function) start with them. There's a bit of learning curve up-front, but it seems flatter from there compared to all the accidental complexities created with the other approach. The first-class function aspects can even be bypassed by only using anonymous block syntax for a long time.

Is there a semi-popular introductory language that is more based on (or can use) immutable data and mapping expressions? Even for my own use, I can't really find much more approachable ones than Kotlin/Java/(Gleam?), F#/OCaml/Elm for statically typed ones. For dynamically typed languages, the close ones I can think of are Ruby and Elixir.

Re: BASIC turns 60

#76
post #43

Earlier quoted context omitted.

Yeah, if you ignore the BASIC dialects that actually provided such features.

Which were created decades after the original versions and are only identifiable as "BASIC" in that they share a few keywords like PRINT and FOR...NEXT. The later "structured BASIC" dialects resemble more COMAL than traditional BASIC. https://en.wikipedia.org/wiki/COMAL

Again, ignoring mainframes during the 1970's.

Re: BASIC turns 60

#77
post #46

Earlier quoted context omitted.

Moving goalposts, I explicitly mentioned that 8 bit home computers were the ones to blame for the fame of BASIC being interpreted, and unstructured. Dialects like VMS Basic predate them.

> I explicitly mentioned that 8 bit home computers were the ones to blame for the fame of BASIC being interpreted, and unstructured. Interpreted yes, unstructured no. Dartmouth BASIC was unstructured until 7th edition (1980). The home BASICs started coming out before then and could fairly claim their unstructured nature as a consequence of the contemporary, to them, Dartmouth BASIC.

Ignoring mainframes during the 1970's, predating home micros.

Why don't you actually read my comments fully?

Re: BASIC turns 60

#79
post #2

I distinctly remember being taught BASIC in school in the 1980s and quickly thinking “this is awfully basic” and not wanting much to do with it. Now I don’t know if my childhood evaluation was correct but I do wonder: Were there many complex programs written in BASIC? Or was it largely a teaching tool?

In the late 1980's I rewrote a very large pension actuarial forecasting system, written in Fortran, to Basic.

I'm very not sure, so I'm guessing that the system had several hundred thousand LOC.

The idea was to stop spending a fortune on mainframe time and run pensions valuations on a microcomputer.

The Fortran system, running on a mainframe, might take 60s to run a valuation.

The same valuation would take a full day to run on a microprocessor, but it worth it because it reduced costs by a lot.

Re: BASIC turns 60

#80
post #64

Earlier quoted context omitted.

http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf Dartmouth BASIC was compiled.

Compiled can mean many things. For instance it can mean that only the parsing is done at compile time, leaving the rest for runtime.

Unless I've misread the code (and it is 134 pages of assembly with comments so I'll admit that's possible). The first 68 pages are the compilation process and a bunch of constants and things. That completes execution before RUN begins. RUN executes the compiled program by, on page 73, jumping to address P (07724) which is where the compilation routine has built out the object program. At that point execution is inside the object program unless there's an interrupt or a subroutine calls to one of the built-in subroutines.

I don't think this compiler is just a pre-processing activity.

Post reply on HN