[HN Gopher] Programming a Problem-Oriented Language (1970) [pdf] ___________________________________________________________________ Programming a Problem-Oriented Language (1970) [pdf] Author : tosh Score : 39 points Date : 2022-10-12 18:14 UTC (4 hours ago) (HTM) web link (www.forth.org) (TXT) w3m dump (www.forth.org) | dang wrote: | Related: | | _Programming a Problem-Oriented-Language (1970)_ - | https://news.ycombinator.com/item?id=18756990 - Dec 2018 (4 | comments) | | _Programming a Problem-Oriented Language (1970)_ - | https://news.ycombinator.com/item?id=8387120 - Sept 2014 (13 | comments) | | _Charles H. Moore - PROGRAMMING a PROBLEM-ORIENTED-LANGUAGE | [~1970]_ - https://news.ycombinator.com/item?id=8323235 - Sept | 2014 (1 comment) | anyfoo wrote: | Reading old IBM documentation for System/360 and 370, from the | 70s and 80s, I thought it was interesting that what we today | would probably call "business logic", back then IBM apparently | used to call "problem code" or "problem program". | | I don't know if this is coincidence, or if that term was more | widespread at the time. | | It's clearly meant to mean "the code that solves the actual | problem", but it still sounds a bit unfortunate. | justincormack wrote: | This is a good read, I liked the philosophy behind | | Do not put code in your program that might be used. Do not leave | hooks on which you can hang extensions. The things you might want | to do are infinite; that means that each one has 0 probability of | realization. If you need an extension later, you can code it | later - and probably do a better job than if you did it now. And | if someone else adds the extension, will they notice the hooks | you left? Will you document that aspect of your program? | | Which then and now generally people don't agree with. | tjoff wrote: | > _The things you might want to do are infinite; that means | that each one has 0 probability of realization._ | | That does not follow. | | > _If you need an extension later, you can code it later - and | probably do a better job than if you did it now._ | | Not if it requires intimate knowledge of the internals. Then | you'll need weeks just to get reacquainted and then you might | still not know enough to do a good job of it. | | Just today I was implementing a feature that I chose not to do | initially. Now I was burdened with an incomplete view of the | system and also had to deal with a lot of other code that was | written in a certain way because the feature didn't exist at | the time. I'm sure it would have been better if I had done it | in the beginning. | | I agree with the sentiment, but disagree with the arguments. In | the end it is a judgement call as any. | justincormack wrote: | Of course, and it only works well in certain situations, like | you do have a complete view of a Forth system because it is | small and you write it yourself, and it doesn't take weeks. I | recommend reading it, just as a different point of view. | steve_john wrote: | JohnDeHope wrote: | The old school formatting of this document makes it hard to read. | I might re-format it as a way to force myself to read it. | JohnDeHope wrote: | Oh nevermind, this link was to a very old bad copy of the | document. There are newer nicer copies of the same book laying | around the internet. ___________________________________________________________________ (page generated 2022-10-12 23:00 UTC)