Did Assembly for about 40 years at work, until I retired 5 years ago.One time I printed a object file by mistake and the paper was ejecting from the line printer so fast it almost hit the ceiling. I was in the computer room and terminated the job. Days of perforated paper and the big printers.
If I'm not writing code in Fortran, it's because I'm writing assembly.
Once upon a time I was the SW lead on a Fortran project, we got a guy assigned onto the project who was a fan of C. One day he says (with full seriousness) “we should do this in C, It’s great because you can have the compiler output assembly, then you can mod the assembly code, and create a binary that doesn’t match your source code.…Bur when you have to deal with drivers and the like, well, then the portable assembler comes out and nothing beats C for that on the machines I dealt with (unixen after all).
My Fortran Compilers do output Assembly Language- but I have never modified it.
I did rewrite some of the routines in FORLIB for the CP/m FORTRAN compiler, which required disassembling the library. Factor of 2 speed-up for multiply and divide, using the extra Z80 registers and instructions. The Microsoft library used only 8080 instructions.
I also found and HEX Patched some errors in the IBM Professional Fortran compiler for MS-DOS.
And several others such things.
I never had any problem with Fortran but Unix was built on C so to drivers and other system code, you're stuck with it. Though now they're trying to turn the Linux kernel into Rust (the language) with various degrees of success depending on who you ask. Each tool has it's appropriate use case.Once upon a time I was the SW lead on a Fortran project, we got a guy assigned onto the project who was a fan of C. One day he says (with full seriousness) “we should do this in C, It’s great because you can have the compiler output assembly, then you can mod the assembly code, and create a binary that doesn’t match your source code.
My reaction was 😱, but I just said we’re doing it in Fortran because that’s what the customer specified.