* Posts by maguro_01

2 publicly visible posts • joined 4 Apr 2017

Forget quantum and AI security hype, just write bug-free code, dammit

maguro_01

Well, coding as an industrial activity means hiring the most inexpensive people who can do the job at all. There has to be some check in the market for the software or in the regulatory environment including tort law.

Ascending in an organization generally means talent at male primate behavior, it has little to do with technical ability at all.

maguro_01

Re: 1980s computer science

There is a problem combining 'Agile" with the fashion for flat organizations. The problem is just that if you don't organize people, they organize themselves. It's base level behavoir. That means that the best games players are making technical decisions well over their heads.

There is no escaping that talent and training are required to produce safe, quality code Programmers in the job market differ in apparent ability and productivity by at least a factor of 10, though the pay range does not reflect that. Further, programming as an industrial activity means hiring the cheapest people who can still do the job at all.

Training is usually absent. Most C programmers were given a copy of K&R one day and told they would be coding in C shortly thereafter. "Meta-C", the IDE, and the body of practice and standards were not there save what was intimated in K&R. Most programmers could not access Unix source online as example. When C++ came along often C programmers were just shown the door on the grounds that their minds were permanently warped by having programmed in C at all. Of course embedded and most system programming are still done in C using strong typing, static checking, and so on. Now that QNX and Linux are coming to dominate the vehicle space, C will not go away any time soon. QNX continues with very critical industrial uses also.

By the way, straightforward state machines generated directly from the state tables that constitute the design are an underused methodology for generating solid, maintainable code. They also serve very well to communicate with hardware designers for code running on the hardware.