I remember working on a large Ada project several years ago, which involved porting an old system from Solaris/SPARC to RHEL/x86, and adding a slew of new features. The dev environment was absolutely horrible: Each engineer had a windows desktop (corporate policy, you know) and had to use exceed to connect to a Linux dev box to do our actual work (and of course, one monitor per workstation).
As a scumbag sub-contractor, I was not allowed to look at/have access to certain parts of the codebase -- which meant there was no way for me to do a complete build and actually test my module -- all I could do was run my code through the Ada compiler and let it do its error checking. The schedule was overly-optimistic of course, with all testing pushed to the very end of the project (waterfall).
I coded slowly, and carefully -- pausing often to run the code in my head. I was being constantly harrangued for being behind on my SLOC (occasionally even going backwards, a grave sin). Finally, 3/4 of the way through the project, a code repository was set up. I submitted my code to the one blessed person who had permission to commit to svn on my behalf, and weekly builds were provided for testing purposes.
My stuff largely just worked (and suddenly I was no longer a slacker in the eyes of others). I left that job with a new respect for Ada, though I never used it again. I program in Java (blech) these days, becuase I like being employable.