[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
On 28/04/13 18:18, Tony Sumner wrote: > > Simon mentioned Forth. I liked that at the time. People would advocate > it with the recommendation that "you can define plus to mean minus" and > this was its main attraction. Different people meant different things by Forth when I used it. At the heart was a small language that allowed itself to be extended, but in some implementations that core was so small it bought you little over assembler. On the other hand those versions were written in so little assembler you could port it anywhere without knowing much assembler. There is some mileage in the small language, or small subset, as sometimes it pays dividends to be small and simple but still familiar. In Forth's case redefining plus to mean minus was probably a genuine strength presented badly. All a long time ago now, but you meet a few die-hards around, and Forth has come a long way since then. On the other hand Fortran's pass by reference meant if you put constants in a subroutine call they became references, so you could accidentally redefine a constant to be something else. e.g. i=0 increment(2) i=i+2 write (*,100) i Is "3" with the obvious assumptions in place about what increment and line 100 do. Whilst the simple calling convention might have been an advantage that sort of weird side effect wasn't, although later on compilers would warn you not to pass constants. -- The Mailing List for the Devon & Cornwall LUG http://mailman.dclug.org.uk/listinfo/list FAQ: http://www.dcglug.org.uk/listfaq