A reg exp is a thing of beauty but it is not a joy forever. Instead, it makes my head hurt.
Python is executable pseudocode. Perl is executable line noise.
Book: “Thinking in Python” by Bruce Eckel
What do I consider is most important for an abstract language to support efficiently? My time. Time is the only true, non-renewable commodity. I eschew languages like C because they often waste enormous amounts of my time trying to develop and debug programs, and justify it on the basis of micro-differences in speed that have just never ended up mattering to me. I regard C as appropriate for use as an assembly language, but it doesn’t provide enough high-level services for me. When I’m old and grey and look back on my life, I want to have done a lot of interesting things, not just have done a few interesting things but “boy were they fast”.
A programming language is low level when its programs require attention to the irrelevant.
Article: Epigrams in Programming
The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainpower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
Do you pine for the days when men were men and wrote their own device drivers?
Besides being more or less useless for the types of application novices tend to write (small applets, dialog-based apps, l33t password stealers), MFC is not that easy to learn well, and the effect of writing bad Win32 programs using bad MFC code is the same effect you get when you multiply 2 fractions.
C++ is like teenage [relations]:
It’s on everyone’s mind all the time.
Everyone talks about it all the time.
Everyone thinks everyone else is doing it.
Almost no one is really doing it.
The few who are doing it are doing it poorly, sure it will
be better next time and not practicing it safely.
It’s on everyone’s mind all the time.
Everyone talks about it all the time.
Everyone thinks everyone else is doing it.
Almost no one is really doing it.
The few who are doing it are doing it poorly, sure it will
be better next time and not practicing it safely.
graffiti
“What I mean is that if you really want to understand something, the best way is to try and explain it to someone else. That forces you to sort it out in your own mind. And the more slow and dim-witted your pupil, the more you have to break things down into more and more simple ideas. And that’s really the essence of programming. By the time you’ve sorted out a complicated idea into little steps even a stupid machine can deal with, you’ve certainly learned something about it yourself.”
Book: Dirk Gently’s Holistic Detective Agency
It is against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail, and learning to be self-critical?
Programming is looking at a feature request in the morning, thinking “I can do that in one line of code”, and then six hours later having refactored the rest of the codebase sufficiently that you can implement the feature…in one line of code.
Considering the current sad state of our computer programs, software development is clearly still a black art and cannot yet be called an engineering discipline.
Just because you’re a programmer doesn’t mean you have to be the help desk for a dozen friends, relatives, and the people in the apartment next door. Does it?
There’s no obfuscated Perl contest because it’s pointless.
Programs should be written for people to read, and only incidentally for machines to execute.
Book: Structure and Interpretation of Computer Programs
Here’s the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can’t exactly communicate with them, but you can get them to swarm in one place and when they’re not looking, you can carry off the honey.
As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
discovers debugging in 1949