Coloring Code
Dear audience, you don’t need to read the code above — it’s not very interesting. It was just a little program I downloaded to try out. I’ve always felt that blogcn’s formatting control was terrible — my carefully laid-out posts turn into plain text, and the visual editor is slow, unstable, and cumbersome. I’ve wanted to write a small tool to format code into UBB or HTML, so posting to forums wouldn’t lose formatting.
I was browsing online yesterday and found a nice little tool — “Luo Cong’s Code Colorizer.” The author seems to be a programmer a few years older than me. It supports C, C++, asm — perfect for my needs. Saved me the trouble of writing my own.
Thinking about it, I often have ideas and creative impulses, but few ever get implemented. Limited energy, I suppose. This reminds me of modern software engineering.
The software industry has developed for decades. The era of Bill Gates and Paul Allen writing DOS, or Dennis Ritchie and Ken Thompson developing UNIX, is long gone. Software has become increasingly complex and massive. It’s harder and harder for a single person to create quality software. The age of personal heroism in software is slowly ending.
This might sadden some tech worshipers (me included), but from a long-term macro perspective, it shows the software industry maturing. Take the Second Industrial Revolution’s aircraft manufacturing as analogy: the Wright brothers built a simple plane with just two people, but today’s Airbus, Boeing 747, etc. can’t be built by one or two companies alone. I remember from politics textbooks: a Boeing requires coordination between many companies. Of course, two skilled mechanics could still build a simple plane today, but that “plane” would have no market value. Wright and Gates can both be considered industry founders. Looking at manufacturing, I think software is following the same path. If I dare to guess: when the information industry truly matures, programmers should and必然 (inevitably) become like assembly line workers in manufacturing — they won’t and shouldn’t enjoy today’s high salaries. What’s truly valuable are those who design new aircraft.
Here’s another somewhat “reactionary” thought: one factor hindering today’s software industry is that programmers are too highly educated. Undergrads and grad students make up the vast majority. Too many are ambitious young people with education, ideals, and vision. After starting work, they’re eager to realize their grand ambitions, but reality is often far from their ideals. This leads to complaining and the industry’s high job-hopping rate. I think the most fundamental quality for a software engineer is being “down-to-earth.” As technology develops and experience accumulates, the division of labor in software can be further refined. This could reduce the knowledge requirements for software engineers — can undergrads’ work be done by college graduates? Could minimally educated migrant workers, after training, do software work? Though it sounds ridiculous now, compared with manufacturing technicians, it’s not impossible. When an industry’s personnel ratio forms a pyramid, the industry can stabilize.
That’s how we color code, color software, and color the information industry.