(07-03-2015 05:51 PM)Dave Frederickson Wrote: [ -> ]What was your first programming language?
The first was Algol 60, at school in 1972. We used to write up our programs on coding sheets which were posted to the nearest university computer centre, 115 miles away, where they were keypunched and submitted as an overnight job to the compiler. Then they would post back a fan-fold print out, which usually said "Syntax error on line 2".
Over the years, I've used FORTRAN IV, BASIC on a variety of mini- and micro-computers, PL/M, PL/I (mostly the Digital Research subset G compiler and its related tools), Pascal, Clascal (the language of the Apple Lisa), Ada, Lisp, Scheme, C, C++, xBase, REXX, Perl, Python, Prolog, JavaScript, Java, OCaml and multiple assemblers. I even contributed a chapter on programming languages to a textbook, many years ago. These days, I'm working with my own domain-specific language for dealing with computational trust and risk.
But
no RPG, and I only ever wrote one COBOL program, to show how verbose it was.
First : COBOL 1974
then
Basic (1974), GMAP Assembly (1975), TI58C (1979), Z80 Assembly (1981), Fortran (1983), PowerHouse (1983),
... Visual Basic, HTML, PHP, JavaScript ...
and the most unknown of all : I was teaching (in France, Switzerland, Belgium, Canada) during 10 years the language "Flexible" on HP3000 and HP_Ux...
My favorite: the one that fits my project ("the hammer to drive a nail, the saw to cut a wood board")
and TI58C for the fun !
First: Keystroke programming on my dad's HP-67 (ca. 1977)
Second: Keystroke programming on my Ti-59 (ca. 1979)
Third: BASIC on the Commodore PET 2001 they bought at school (1980). But only a few hours because there only was one computer and the waiting list was long. School was over before I could develop anything meaningful
4th: FORTRAN during a programming course at university using keypunch and line printer. Fortran stayed with me for decades and is still my favorite programming language.
A bit later: C, Pascal, C++ and a little bit of Java.
Successfully avoided: RPL ;-)
Wow - memories!
1971: IITRAN, Illinois Institute of Technology's PL/1 & Algol mashup to replace the proprietary IBM code they had when they replaced their 360 with a Univac 1108. Aah, the days of 029 keypunches. Good old days? Are you *kidding*?!
Later: FORTRAN, 1108 Assembly, (1975) HP-25, HP-67 (1977) 6502 assembly, DEC Focal, Pittman Tiny BASIC, HP-41C (1980) Applesoft BASIC and Apple Integer BASIC, Randall Hyde's LISA (6502 assembler), UCSD Pascal, HP BASIC on 9335, 9845, 9826, 9836, 9846, etc. FIG Forth. Capricorn assembly (for HP-75C), 68000 Assembly (used in HP spectrum analyzer firmware).
(1985) Aztec C (Amiga 1000), Amiga BASIC. 8086 Assembly (for HP-110). Rockwell FORTH (in 6512, a 6502 variant used for the Engine Monitor System for the Rutan Voyager - another use of FORTH!). Archimedes C and 8096 assembly to write an Intel 8096 operating system for HP 50000 series instrument modules.
6809 assembly and ???C for the "Smart Radio Transceiver" used in the ARTS system to provide telephone service for Indonesia. Of course, RPL on the HP-48/49/50 series. C++ to keep current (still learning its nuances). Started to play with Java for Android use.
All of which is fun but as Steve Ciarcia said decades ago, my favorite programming language is solder - though FPGA programming (CUPL, ABEL, PHDL, AHDL, VHDL and Verilog) comes pretty close!
(07-05-2015 06:34 AM)Les Bell Wrote: [ -> ]Then they would post back a fan-fold print out, which usually said "Syntax error on line 2".
Yes, but can you recall *how many* pages of fan-fold it took to say that ;-)
First: TI-55 keystroke programming (How basic can you get? Not sure this counts.)
Second: TI-58C keystroke programming (Definitely counts!)
Third: WATFIV on an IBM 360 via punchcards. FORTRAN is still my favorite programming language (but I'm an Aerospace Engineer...
).
(07-05-2015 06:34 AM)Les Bell Wrote: [ -> ][The first was Algol 60, at school in 1972.
I never really used Algol. I did get exposed to Algol-68 on a Burroughs computer in 1979. We had bought 60 NOAA weather station data tapes. These were TRY tapes (Test Reference Year) for 60 major US cities. They contained hourly data for a year of weather. These tapes were copies of the same weather data that was available on 80 column punch cards. Since the punch cards were limited to 80 positions, the cards were "over punched" to include 140 characters of data. One of my co-workers wrote a neat Algol program that would read the data, scan it and then expand it to the 140 characters of data.
I seem to remember that he used a "scan-replace" programming statement to do this and I remember how impressed I was that such a small, simple program could do the data expansion. Not sure if I'm remembering the correct programming statement (scan-replace) or not but it was something similar to that. If I remember correctly, the statement would scan an array left to right and then act on it storing the results in the larger array.
Bill
Smithville, NJ
(07-04-2015 11:31 PM)rprosperi Wrote: [ -> ]Forth? Really, wow! I've never met anyone that actually used Forth on a commercial product.
For my first IBM XT PC, I had a Robotic arm. It was connected by a cable to a board plugged into the mother board. To program the arm, Forth was used. It was the first time I was exposed to Forth. I wish I still had it - it would make for a great collectible.
It makes since that Forth would be used to program a robotic arm. If I remember correctly, Forth was originally created to control a telescope.
A few years ago, I acquired a data logger for the PC-1500 pocket computer that used MVS Forth. This was pretty interesting - Forth on a pocket computer.
Bill
Smithville, NJ
(07-06-2015 10:35 PM)Bill (Smithville NJ) Wrote: [ -> ]I acquired a data logger for the PC-1500 pocket computer that used MVS Forth. This was pretty interesting - Forth on a pocket computer.
Kind of like the 71 and 75.
(07-06-2015 10:56 PM)Dave Frederickson Wrote: [ -> ] (07-06-2015 10:35 PM)Bill (Smithville NJ) Wrote: [ -> ]I acquired a data logger for the PC-1500 pocket computer that used MVS Forth. This was pretty interesting - Forth on a pocket computer.
Kind of like the 71 and 75.
Dave,
I had totally forgotten about Forth on the HP units.
Thanks for reminding me.
Bill
Smithville, NJ
I see several people listed Lisp.
Did anyone do any actual programming projects using Lisp? If so, what was the project? I know it was used with AI, but I never really explored how it was used.
I took one course in Lisp in college. Our project was to do an Airline reservation system in Lisp. The program needed to handle 100 reservations - add them delete them modify them, etc. What a challenge that was.
The only other exposure to Lisp was with the AutoLisp version that came with AutoCad. We wrote hundreds of little AutoLisp routines to make drafting easier.
Bill
Smithville, NJ
(07-06-2015 11:51 PM)Bill (Smithville NJ) Wrote: [ -> ]I see several people listed Lisp.
Did anyone do any actual programming projects using Lisp? If so, what was the project? I know it was used with AI, but I never really explored how it was used.
My undergrad AI course used LISP but the projects were all pretty simple. Later, when I got my PhD in AI all of that work was in LISP. This encompassed natural language processing -- reading patent abstracts in particular; representation of complex objects and learning to generalize about them. I wrote a lot of the code but not all of it, other grad students along with our adviser contributed parts of it.
When I started consulting on wall street almost all of that was in LISP too. The biggest project I did in LISP was a trading compliance system -- basically an "expert system" that allowed users to enter complex trading restrictions easily and have the system figure out how to interpret them and apply them.
In all of this, in addition to expert system-type schemes I used LISP to implement custom object-oriented environments. This was mind numbingly complicated code that often left me starching my head, and that was back when I was young and a lot smarter. I'm sure I would have no chance of understanding it now
(07-06-2015 10:35 PM)Bill (Smithville NJ) Wrote: [ -> ][
It makes since that Forth would be used to program a robotic arm. If I remember correctly, Forth was originally created to control a telescope.
Bill
Smithville, NJ
Yes Charles Moore created it to run radio telescopes. It was supposed to be named "Fourth" for fourth generation software but the IBM 1130 he was using only accepted 5 character file names, so says the forward Moore wrote for Leo Brodie's "Starting FORTH" which is one of the best books for learning Forth.
(07-07-2015 12:47 AM)Katie Wasserman Wrote: [ -> ]My undergrad AI course used LISP but the projects were all pretty simple. Later, when I got my PhD in AI all of that work was in LISP. This encompassed natural language processing -- reading patent abstracts in particular; representation of complex objects and learning to generalize about them. I wrote a lot of the code but not all of it, other grad students along with our adviser contributed parts of it.
When I started consulting on wall street almost all of that was in LISP too. The biggest project I did in LISP was a trading compliance system -- basically an "expert system" that allowed users to enter complex trading restrictions easily and have the system figure out how to interpret them and apply them.
In all of this, in addition to expert system-type schemes I used LISP to implement custom object-oriented environments. This was mind numbingly complicated code that often left me starching my head, and that was back when I was young and a lot smarter. I'm sure I would have no chance of understanding it now
Katie,
You never cease to amaze me. That quite a history with LISP.
Did you use LISP Machines that were optimized for LISP?
Bill
Smithville, NJ
(07-07-2015 01:45 AM)Bill (Smithville NJ) Wrote: [ -> ]Did you use LISP Machines that were optimized for LISP?
I used UCI LISP under TOPS-20 on a DEC-20 for my thesis work. For my big wall street LISP project I use an HP9000/350 running HP-UX. HP had come up with a really fantastic environment for Common Lisp running in X-Windows. I liked it better than the dedicated LISP machines (Symbolics and LMI) that I tested -- and it was less expensive. The 9000/350 was somewhat underpowered, but good enough for a single user workstation (it had a 68020 running at 25MHz). It had a very high resolution monitor for the time and a mouse -- my first mouse-based program (I had to train the users on how to use a mouse).
(07-07-2015 01:31 AM)Paul Berger (Canada) Wrote: [ -> ]Yes Charles Moore created it to run radio telescopes. It was supposed to be named "Fourth" for fourth generation software but the IBM 1130 he was using only accepted 5 character file names, so says the forward Moore wrote for Leo Brodie's "Starting FORTH" which is one of the best books for learning Forth.
I learned Forth from reading Dr. Dobb's Journal (DDJ). DDJ was incredibly geeky but they published full program listings and long articles and you could learn a lot from reading it.
(07-07-2015 04:25 AM)Katie Wasserman Wrote: [ -> ] (07-07-2015 01:31 AM)Paul Berger (Canada) Wrote: [ -> ]Yes Charles Moore created it to run radio telescopes. It was supposed to be named "Fourth" for fourth generation software but the IBM 1130 he was using only accepted 5 character file names, so says the forward Moore wrote for Leo Brodie's "Starting FORTH" which is one of the best books for learning Forth.
I learned Forth from reading Dr. Dobb's Journal (DDJ). DDJ was incredibly geeky but they published full program listings and long articles and you could learn a lot from reading it.
I had a friend with an HP-71 and the Forth/Assembler module, and he programmed in Forth on that and got me interested. So about 1990, I bought the module and Brodie's book Starting Forth and dove in. It was not the easiest, because Starting Forth assumed you had something to practice on, and the manual that came with the module assumed you already knew Forth and just needed to know the peculiarities of this version that uses 5-nybble cells, a RAM file system, etc.. I suppose it didn't help that the Forth in the module was a very poor version; but since it was Forth and you can get under the hood, I was able to improve it a lot. Some of the words in it must have called routines in the mainframe, with a ton of overhead, because they were super slow. I was able to speed a lot of them up by re-writing them, even in Forth, not even as primitives. The extreme case was that I was able to make CHR$ IIRC 13 times as fast.
(07-07-2015 04:25 AM)Katie Wasserman Wrote: [ -> ]I learned Forth from reading Dr. Dobb's Journal (DDJ). DDJ was incredibly geeky but they published full program listings and long articles and you could learn a lot from reading it.
Oh, what found memories I have from these times!
The DDJ was sold here in Lisbon as well in the good old days and I still have a few copies in the basement.
It was an amazing reading, fantastic article authors, highly technical content, I've learned a lot from it.
I leaned Forth on a British Sinclair ZX Spectrum (gaming machine) based on a Z80 cpu in the 80's.
The Sinclair was extremely popular in Portugal because it was primarily a good cheap machine for games sold on tape (cassette) media format.
People used to "share" the games by copying them from tape recorder to tape recorders, until game developers decided to protect their intellectual property by using several techniques to make the copied tape useless.
The last iteration of the ZX game protection was very efficient, so the bigger the challenge, the bigger was my curiosity to find out how to bypass the protection mechanism.
So, just for fun, I developed a hardware sub-system with 64 KB of static RAM that would replace the ROM OS entirely and have modified the NMI routine just a bit to call my memory dump routine to transfer the previously loaded game into a tape media.
It was great fun indeed!
And I could run any copied game, no matter how much protection it had.
Needless to say, I did it just for my personal use, as a backup mechanism of my precious games.
Edited to correct a few typos.
I'm finding this thread very interesting.
We have covered most of the main languages and a few of the more obscure languages.
For the Fortran fanatics, did any of you use the "TIDY" and "FTNCHECK" utilities to clean up old Fortran code? When I was maintaining AXCESS, which was a large Fortran energy simulation program that had been developed on an IBM/360 mainframe, I was asked to convert it to the new IBM PC. I used TIDY and FTNCHECK a lot to add some structural to the source code.
Now to move on to some more languages:
PROLOG - I have played with several versions of this language over the years, but never used it for any particular project. Has anyone here used this for a production project?
ADA - Another one that I played with a little using AGUSTA which was a subset of ADA. AGUSTA is interesting in that it is written in Turbo Pascal, so you can play around with the Compiler and Interpreter. Has anyone here had experience with ADA?
MODULA - Another one that I played around with, Anyone have experience with MODULA?
OBERON - This was developed by Niklaus Wirth. Not sure if you call it an Operating System, Programing Language, or a Combination of Both. Has anyone here used it?
What are some of the other obscure Programming Languages?
Like I said, I am enjoying this thread.
Bill
Smithville, NJ
(07-07-2015 02:26 PM)Bill (Smithville NJ) Wrote: [ -> ]ADA - Another one that I played with a little using AGUSTA which was a subset of ADA. AGUSTA is interesting in that it is written in Turbo Pascal, so you can play around with the Compiler and Interpreter. Has anyone here had experience with ADA?
Ada was chosen by IBM in 1988 as the programming language to be used in their development of a new air traffic control system in the US. At that time, many people believed Ada would become the new "standard" programming language, at least for US defense work. It never happened. It was a nightmare. I can't recall all of the specific things that went wrong with the project, but the FAA poured billions of dollars into it and in the end had nothing to show for it. I suspect changing requirements were more at fault than Ada, but the project was ultimately
cancelled.