C Compilers (was Re: Perhaps I asked the wrong question...)
On Fri, 1/20/17, Dave McGuire via vcf-midatlantic <vcf-midatlantic@lists.vintagecomputerfederation.org> wrote:
Some say there's nothing wrong with that, but there actually is quite a lot wrong with it. I cut the size of the resultant binary down by almost 80% by ditching an IDE in a product whose firmware I inherited several years ago. The code size was important not only because the program memory space on the processor was nearly full and they wanted additional features, but also because the firmware updates were (and are) sent out via the cellular data network. Until I fixed it, a global firmware update cost about $20,000 to $22,000. Now it's about $3,500 due to the reduced binary size. Why? The IDE isolated the programmers from full control of the compiler and its code generation options. In other words, they discovered "what to click to make a program", and clicked it. Without learning a damn thing about what they were actually doing.
Amen! Brother.
Nearly all of the world's C compilers, past and current, are command line systems. And nearly all of them are actually GCC under the covers, for everything even remotely modern.
There are two primary exceptions. First is clang, which is just as big an unmanagable as gcc. The other is kenc. Ken Thompson wrote a new suite of compilers as part of the Plan 9 project. These compilers are also available as part of Inferno. Later they were ported to work on more POSIX-like environments for the Go project, and now a number of Linux and other distributions include packages to install kenc. His compilers are much leaner than the mainstream ones, they have a much cleaner model for cross-compiling, and Ken's taste in extensions makes the ANSI committee look like Philistines. BLS
On Fri, Jan 20, 2017 at 12:00 PM, Brian L. Stuart via vcf-midatlantic < vcf-midatlantic@lists.vintagecomputerfederation.org> wrote:
On Fri, 1/20/17, Dave McGuire via vcf-midatlantic <vcf-midatlantic@lists. vintagecomputerfederation.org> wrote:
Some say there's nothing wrong with that, but there actually is quite a lot wrong with it. I cut the size of the resultant binary down by almost 80% by ditching an IDE in a product whose firmware I inherited several years ago. The code size was important not only because the program memory space on the processor was nearly full and they wanted additional features, but also because the firmware updates were (and are) sent out via the cellular data network. Until I fixed it, a global firmware update cost about $20,000 to $22,000. Now it's about $3,500 due to the reduced binary size. Why? The IDE isolated the programmers from full control of the compiler and its code generation options. In other words, they discovered "what to click to make a program", and clicked it. Without learning a damn thing about what they were actually doing.
Amen! Brother.
Nearly all of the world's C compilers, past and current, are command line systems. And nearly all of them are actually GCC under the covers, for everything even remotely modern.
There are two primary exceptions. First is clang, which is just as big an unmanagable as gcc. The other is kenc. Ken Thompson wrote a new suite of compilers as part of the Plan 9 project. These compilers are also available as part of Inferno. Later they were ported to work on more POSIX-like environments for the Go project, and now a number of Linux and other distributions include packages to install kenc. His compilers are much leaner than the mainstream ones, they have a much cleaner model for cross-compiling, and Ken's taste in extensions makes the ANSI committee look like Philistines.
BLS
I have made a point to archive C and C++ compilers (why I don't know) but I think software preservation is important, or what's the point of having the hardware? I am desperately looking for a Bjarne Stroustrup interview I have somewhere in my stuff related to C, where he talks about his motivations for authoring C++, and some of his hidden objectives to help support programmers. He was at the time a "programmers' programmer" and I really admired him for that. Bill
I am desperately looking for a Bjarne Stroustrup interview I have somewhere in my stuff related to C, where he talks about his motivations for authoring C++, and some of his hidden objectives to help support programmers. He was at the time a "programmers' programmer" and I really admired him for that.
It will be fun to meet and hear him lecture at VCF East this spring.
On Fri, Jan 20, 2017 at 12:47 PM, Evan Koblentz via vcf-midatlantic < vcf-midatlantic@lists.vintagecomputerfederation.org> wrote:
I am desperately looking for a Bjarne Stroustrup interview I have somewhere
in my stuff related to C, where he talks about his motivations for authoring C++, and some of his hidden objectives to help support programmers. He was at the time a "programmers' programmer" and I really admired him for that.
It will be fun to meet and hear him lecture at VCF East this spring.
I still can't believe he's coming. b
I am desperately looking for a Bjarne Stroustrup interview I have somewhere
in my stuff related to C, where he talks about his motivations for authoring C++, and some of his hidden objectives to help support programmers. He was at the time a "programmers' programmer" and I really admired him for that.
It will be fun to meet and hear him lecture at VCF East this spring.
I still can't believe he's coming. b
Believe it!!!
Goliath was a Philistine, and he was large and unmanageable too. On Fri, Jan 20, 2017 at 12:00 PM, Brian L. Stuart via vcf-midatlantic < vcf-midatlantic@lists.vintagecomputerfederation.org> wrote:
On Fri, 1/20/17, Dave McGuire via vcf-midatlantic <vcf-midatlantic@lists. vintagecomputerfederation.org> wrote:
Some say there's nothing wrong with that, but there actually is quite a lot wrong with it. I cut the size of the resultant binary down by almost 80% by ditching an IDE in a product whose firmware I inherited several years ago. The code size was important not only because the program memory space on the processor was nearly full and they wanted additional features, but also because the firmware updates were (and are) sent out via the cellular data network. Until I fixed it, a global firmware update cost about $20,000 to $22,000. Now it's about $3,500 due to the reduced binary size. Why? The IDE isolated the programmers from full control of the compiler and its code generation options. In other words, they discovered "what to click to make a program", and clicked it. Without learning a damn thing about what they were actually doing.
Amen! Brother.
Nearly all of the world's C compilers, past and current, are command line systems. And nearly all of them are actually GCC under the covers, for everything even remotely modern.
There are two primary exceptions. First is clang, which is just as big an unmanagable as gcc. The other is kenc. Ken Thompson wrote a new suite of compilers as part of the Plan 9 project. These compilers are also available as part of Inferno. Later they were ported to work on more POSIX-like environments for the Go project, and now a number of Linux and other distributions include packages to install kenc. His compilers are much leaner than the mainstream ones, they have a much cleaner model for cross-compiling, and Ken's taste in extensions makes the ANSI committee look like Philistines.
BLS
On 01/20/2017 12:00 PM, Brian L. Stuart wrote:
Some say there's nothing wrong with that, but there actually is quite a lot wrong with it. I cut the size of the resultant binary down by almost 80% by ditching an IDE in a product whose firmware I inherited several years ago. The code size was important not only because the program memory space on the processor was nearly full and they wanted additional features, but also because the firmware updates were (and are) sent out via the cellular data network. Until I fixed it, a global firmware update cost about $20,000 to $22,000. Now it's about $3,500 due to the reduced binary size. Why? The IDE isolated the programmers from full control of the compiler and its code generation options. In other words, they discovered "what to click to make a program", and clicked it. Without learning a damn thing about what they were actually doing.
Amen! Brother.
Yee HAW, even. B-)
Nearly all of the world's C compilers, past and current, are command line systems. And nearly all of them are actually GCC under the covers, for everything even remotely modern.
There are two primary exceptions. First is clang, which is just as big an unmanagable as gcc. The other is kenc. Ken Thompson wrote a new suite of compilers as part of the Plan 9 project. These compilers are also available as part of Inferno. Later they were ported to work on more POSIX-like environments for the Go project, and now a number of Linux and other distributions include packages to install kenc. His compilers are much leaner than the mainstream ones, they have a much cleaner model for cross-compiling, and Ken's taste in extensions makes the ANSI committee look like Philistines.
Innnnteresting. I've played with clang, and eventually started asking "what's the point?"...but kenc is something I've never heard of, and Ken Thompson's toenail clippings know more about programming languages than I ever will, so I'd like to look at that compiler. Does/can it target bare-metal ARM7/Cortex-M families? -Dave -- Dave McGuire, AK4HZ New Kensington, PA
other words, they discovered "what to click to make a program", and clicked it. Without learning a damn thing about what they were actually doing.
Ps. Where do I find the "GOTO" button in Eclipse? (Someone get the defibrillator for Dave...) :) For me it's back to BASICs tonight. Another night, I shall begin learning either C (sans IDE!) or Pascal. Although I never took programming classes beyond 7th grade BASIC, I have a pretty decent memory of PASCAL (or maybe it was FORTRAN?) being the next thing offered in our school system. So part of me wants to follow that progression of what I should have learned had I taken computers in 9th grade instead of journalism! A strict educational language would probably be good for me. In other words I haven't made up my mind. Pascal. C. Swahili. So many languages!
participants (5)
-
Bob Flanders -
Brian L. Stuart -
Dave McGuire -
Evan Koblentz -
william degnan