[ale] MadDog and FORTRAN (wuz: Happy Birthday BASIC)

Leam Hall leamhall at gmail.com
Sun May 19 11:40:08 EDT 2024


My opinion, based solely on what you wrote below, is that "struggle" would be an understatement. That they could do anything in FORTRAN seems like a win to me. In the early '90's I took a Pascal class from a teacher who had taught it for a while, and I could still only do simple stuff.

The "compiled vs interpreted" question has another aspect: portability. I'm more of a tool builder than an application developer, I'd rather give someone the code so they can do whatever they need to be doing. Python is blazingly fast enough for everything I've done, but it is less and less portable.

A lot of coders assume you can "pip install X" or use whatever the latest version is of Python, and that's not the case for a lot of us. A quick count of my career shows seven of forty-two years *not* spent in a restricted environment; all we got was whatever came with the OS. Those are almost always outdated even when the OS is brand new, and not everything on PyPI is available. In those environments, the OS came with C compilers and that would have been our choice if shell or whatever version of Perl or Python didn't do what we needed.


Leam



On 5/17/24 12:02, jon.maddog.hall--- via Ale wrote:
> So you seem to have completely ignored my statement about the issue of development vs running where I specifically pointed out that in an educational environment you compile many more times than you run.
> 
> in 1977 I had the task of taking students who had never seen a computer in real life, never logged into an account, never used a text editor of any type and try to teach them FORTRAN in a eight-week summer-school course of three hours of lecture each week.
> 
> I asked the administration of the school if anyone had ever taught this before in this time frame and was told "Oh yes".
> 
> In was a time-sharing system (RSTS/E on a PDP-11/70), so I had to teach them what "logging in" was, what a file was, what data was, what a text-editor did (and how to use the commands), what compiling did, what linking did, how to use an interactive debugger, then programming itself and the FORTRAN language itself.
> 
> None of the students had access to computers at home, and there were not many people who could help them at home.   No online forums for help.
> 
> They struggled.  I struggled.  And after eight weeks they were barely getting started with very, very simple FORTRAN programs.
> 
> On the other hand I often taught a ten-week course in FORTRAN to students who already had BASIC as part of a entry-level course called "Introduction to Data Processing".  The students of that course thrived due to a much greater familiarity to everything other than the edit/compile/link/run/debug process (and even editing and debugging were easier because the concept of that was already known).
> 
> BASIC allowed simple editing just by retyping the line number with the statement.   It allowed interactive "debugging" by being able to print out the variables using the source code variable name, or setting the variable to a different value before telling the interpreter to "continue".   in RSTS/E you were talking to the BASIC interpreter as soon as you logged in.  The BASIC interpreter was much like the shell interpreter in UNIX/Linux today.
> 
> The student could type in:
> 
> Print 5*3
> 
> then hit return and the machine would print:
> 
> 15
> 
> No editor, no compiler, no linker...
> 
> To be complete I know of no reason why FORTRAN could not be implemented in an interpreted fashion and after a program's source code is fully debugged sent through a "real" compiler to get a smaller, perhaps faster object.   Once the program has been debugged you do not need the interactive debugger part of the program in memory.
> 
> And of course a more modern, fully functioning IDE could make the compile/link/execute/debug path significantly easier these days.  And of course students today have used computers in so many ways through their phones, etc. that many of the concepts which I took up time in class the students already know.
> 
> Finally, I will say that when I finished the eight-week summer course in FORTRAN to what I felt were disastrous results I went back to the administration and questioned again if that course had ever been taught successfully before.
> 
> The answer was "no".....they had lied before.
> 
> /*But when the eventually approved and compiled code will be run every hour or so for the next 3-5 years, and that code requires MPI interconnection to 100-800 other nodes to run on every hour, devel/compile time starts looking to be less of a problem.
> Pretty sure the heat generated to predict the weather has small but non-zero impact on the weather :-)*/
> 
> Quite frankly for this type of problem I might look at GPU or FPGA accelerators just like years ago we invented floating point accelerators instead of doing floating point using integer only CPUs.
> 
> Depending on the type of problem, a language like Erlang or Haskell would probably help with such a distributed problem
> 
> md
>   
> 
>> On 05/17/2024 11:19 AM EDT Jim Kinney via Ale <ale at ale.org> wrote:
>>   
>>   
>> The backend compile process is horrifyingly slow. But when the eventually approved and compiled code will be run every hour or so for the next 3-5 years, and that code requires MPI interconnection to 100-800 other nodes to run on every hour, devel/compile time starts looking to be less of a problem.
>>   
>> Pretty sure the heat generated to predict the weather has small but non-zero impact on the weather :-)
>>
>> On Fri, May 17, 2024, 6:04 AM Jon "maddog" Hall <jon.maddog.hall at gmail.com mailto:jon.maddog.hall at gmail.com> wrote:
>>
>>> It all depends on the implementation, but some interpretive languages are fairly fast at execution.  The interpreter takes the source down to atoms (or "beans" if you go that way) and then feeds them to a very optimized run-time system.
>>>   
>>> Interpretive vs compiled also needs to be looked at the ratio of run time vs development.  In a learning situation you may only run a program once for every time you compile it.  An interpretive language is much "faster" (and less of a resource hog) than running an edit/compile/link/execute cycle.
>>>   
>>> md
>>>
>>> On Thu, May 16, 2024, 21:36 Jim Kinney via Ale <ale at ale.org mailto:ale at ale.org> wrote:
>>>
>>>> Compiled code. Still do FORTRAN when it has to be fast. Still do C if I need to burn up a monitor (oops!). But you can't learn it if you can't see it, touch it, and change it. The scripting languages are easier to learn and definitely have a place. And they are now the gateway to programming. They're not perfect and they slurp down hardware. I can't imagine python trying to run in the days of BASIC on an early  pc jr.  :-)
>>>>
>>>> On Thu, May 16, 2024, 8:33 PM jon.maddog.hall--- via Ale <ale at ale.org mailto:ale at ale.org> wrote:
>>>>
>>>>> Chuck,
>>>>>
>>>>> Many people did not recognize the benefit of pulling down the source code and typing it in by hand.
>>>>>
>>>>> "Wow!  What does that error mean?   I typed it in just like....oh...I made a mistake!"
>>>>>
>>>>> You had a syntax error, and BASIC showed it right away (most of the time anyway).
>>>>>
>>>>> But maybe your syntax was correct and your program still did not work.  Maybe the error was that you meant to type "2" and you typed "3' by mistake....a "run-time error".
>>>>>
>>>>> You do not get to create or fix these problems if all you do is pull binaries off the web or load them from a CDROM.
>>>>>
>>>>> This was EXACTLY why the professors at Cambridge University started the Raspberry Pi project.   They realized that the freshmen of today often knew less about computers than the freshmen of 20 years ago...the ones who 20 years ago downloaded source code and (in some cases) even had to COMPILE it and LINK it in order to run it.
>>>>>
>>>>> Happy Birthday, BASIC!
>>>>>
>>>>> md
>>>>>
>>>>>
>>>>>
>>>>>> On 05/08/2024 8:10 AM EDT Chuck Payne via Ale <ale at ale.org mailto:ale at ale.org> wrote:
>>>>>>   
>>>>>>   
>>>>>> I am surprised that this one didn't get an email. Happy Birthday BASIC, it turned 60. It only three years older than me, and has more functions than me too.
>>>>>>   
>>>>>> https://www.tomshardware.com/software/programming/the-basic-programming-language-turns-60-dartmouth-basic-started-it-all-in-1964
>>>>>>   
>>>>>> As a kid, I got into BASIC because it was the way to get games. I forgot the name of the magazine, but I would buy it every month and sit at my VIC 20, trying the code in, playing such games and Oil, where you drill to get oil hoping to hit a pocket with a devil in it. Or trying to understand what the data fields were doing.
>>>>>>   
>>>>>> Since I missed the 4th as well, here some BASIC Code for you guys
>>>>>>   
>>>>>> https://www.goto10retro.com/p/star-wars-theme-in-basic
>>>>>>
>>>>>> Yes, I was one of those kids that would type some weird messages on the computers tha would repeat, like
>>>>>>
>>>>>> 10 print "Long live ALE, bring more beer"
>>>>>> 20 goto 10
>>>>>>
>>>>>> Happy Computing guys
>>>>>>   
>>>>>> --
>>>>>> Terror PUP a.k.a
>>>>>> Chuck "PUP" Payne
>>>>>> -----------------------------------------
>>>>>> Discover it! Enjoy it! Share it! openSUSE Linux.
>>>>>> -----------------------------------------
>>>>>> openSUSE -- Terrorpup
>>>>>> openSUSE Ambassador/openSUSE Member
>>>>>> skype,twiiter,identica,friendfeed -- terrorpup
>>>>>> freenode(irc) --terrorpup/lupinstein
>>>>>> Register Linux Userid: 155363
>>>>>>   
>>>>>> openSUSE Community Member since 2008.
>>>>>> _______________________________________________
>>>>>> Ale mailing list
>>>>>> Ale at ale.org mailto:Ale at ale.org
>>>>>> https://mail.ale.org/mailman/listinfo/ale
>>>>>> See JOBS, ANNOUNCE and SCHOOLS lists at
>>>>>> http://mail.ale.org/mailman/listinfo
>>>>>>
>>>>> _______________________________________________
>>>>> Ale mailing list
>>>>> Ale at ale.org mailto:Ale at ale.org
>>>>> https://mail.ale.org/mailman/listinfo/ale
>>>>> See JOBS, ANNOUNCE and SCHOOLS lists at
>>>>> http://mail.ale.org/mailman/listinfo
>>>>>
>>>> _______________________________________________
>>>> Ale mailing list
>>>> Ale at ale.org mailto:Ale at ale.org
>>>> https://mail.ale.org/mailman/listinfo/ale
>>>> See JOBS, ANNOUNCE and SCHOOLS lists at
>>>> http://mail.ale.org/mailman/listinfo
>>>>
>>>
>> _______________________________________________
>> Ale mailing list
>> Ale at ale.org
>> https://mail.ale.org/mailman/listinfo/ale
>> See JOBS, ANNOUNCE and SCHOOLS lists at
>> http://mail.ale.org/mailman/listinfo
>>
> 
> 
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> https://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo

-- 
DevSecOps Engineer         (reuel.net/resume)
Scribe: The Domici War     (domiciwar.net)
General Ne'er-do-well      (github.com/LeamHall)


More information about the Ale mailing list