My first language and interesting early software projects.
-
Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?
First was DEC PDP8 FOCAL, an interpreter that had to be loaded in first from a mylar Tape Reader. Then followed a lot of others: Fortran IV Algol-60 PL/1 IBM 360 Assembler COBOL 74 - 80 Burroughs L-Series Assembler 8086 Assembler Z80 Assembler Datapoint Datashare Interpreter Bourne Shell BASH Shell Perl C# and others I cannot think of ... Mostly fun.
"Courtesy is the product of a mature, disciplined mind ... ridicule is lack of the same - DPM"
-
Folks, does anyone here pre-date me? First computer language, 1965: EDSAC2 Autocode in a programming course taught by Dr. Maurice Wilkes (who wrote the first book on computer programming, published in 1951). But there was a huge resource-constraint! Computer time was so valuable that we students were not allowed to run our programs. Dr. Wilkes desk-checked them. Then, for an interesting "software" project, later in 1965, I worked as a programmer for Electronic Associates who manufactured analog plug-board computers. One of my first projects was a real-time oil-field simulation on an EAI 360 which was somewhat bigger than this: http://www.technikum29.de/shared/photos/rechnertechnik/eai180.jpg - programming was done with wires.
Wilkes in person, wow !
-
I started with FORTRAN that had to be punched into cards and submitted to the University computer center, which probably had about 256K of memory. Results were returned as a printout in about an hour.
Join the club ;-)
-
Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?
Wrote an "operating system" for a 6502 to allow its use to receive 8 modem channels simultaneously and buffer and write the data out to a 9 track tape drive. Multi-tasking, but no disk drivers. It fit onto a 4K ROM. The devices sending it information were handheld computers used for stock control, running a RCA 1802 8 bit CMOS CPU (same as on the Galileo space probe). It ran with a 1 Megahertz clock, the fastest instruction was a NOP which took 8 clock cycles, so 0.1 MHz in reality. The devices were limited to 1200 baud because they lacked a dedicated serial chip so I had to raise and lower a CPU IO line in software and use loop timing to generate the 8 bit characters for RS-232 one bit at a time. 1200 baud was as fast as I could do it in software. Also 4K of ROM for the whole thing. All this was 1979.
-
Pascal Fortran, COBOL (in university) C Lisp OPS5 C++ Java C# /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?
I wrote an application on the original Tandy pocket computer (PC-1) that assisted a surveyor in closing a survey. The computer had ROM-based Basic 1.5 K (that's right K) of RAM The RAM had to be sufficient for both the program and variables. Some judicious reuse of variables was necessary to get it all to fit and run properly.