9,078 reputation
11839
bio website en.wikipedia.org/wiki/…
location United States
age 69
visits member for 3 years, 7 months
seen 14 mins ago

BS Mechanical Engr.
PhD CS(AI)
CS Prof (4yr)
Numerous consulting jobs.
15 yr at http://www.pharsight.com
Published book on CS & several articles
4 kids, 2 grand
Pilot(student)

P.S. The picture is a Beta-prime distribution. It shows the program speedup factors you can get if you see a problem twice in 2, 3, 4, and 5 samples.


Nov
10
comment How many types of programming languages are there?
@sova: For me, information theory was a great revelation (both Shannon and Kolmogorov). It's about how meanings are encoded and passed through channels, with concepts of bandwidth, error-detection, minimal coding, randomness, etc. So, data encodes information, and algorithms are channels. Programs encode information, and programming is a channel. So, what information is encoded? where does it come from and when? where is it going to? what are the sources of errors (noise)? how are they corrected? I found that a useful perspective.
Nov
9
answered I've stopped coding for fun, is this a bad sign?
Nov
9
comment What do you optimize for?
++ I think everyone would agree, but here's my problem. When systems get big, they get loaded down with data structure, which "notifications" try to keep consistent. That's how programmers are taught to work, and it ends up with massive performance cost, because those things compound in layer upon layer upon layer. If I were back in teaching, I would try to teach how to be ruthlessly minimalist, when it comes to data.
Nov
9
comment Should I use a parser generator or should I roll my own custom lexer and parser code?
++ Good experience. I wouldn't put too much weight on performance. It's easy for otherwise good programs to be slowed down by something silly and unnecessary. I've written enough recursive-descent parsers to know what not to do, so I doubt if there's anything much faster. After all, the characters need to be read. I suspect parsers that run off tables will be a bit slower, but probably not enough to notice.
Nov
9
comment Should I use a parser generator or should I roll my own custom lexer and parser code?
++ This answer is exactly what I would say. I've built numerous languages and almost always used recursive descent. I would only add that there have been times when the language I needed was built most simply by layering some macros on top of C or C++ (or Lisp).
Nov
9
revised How many types of programming languages are there?
added 955 characters in body
Nov
9
revised How many types of programming languages are there?
added 312 characters in body; added 1 characters in body
Nov
9
answered How many types of programming languages are there?
Nov
9
comment What's a nice explanation for pointers?
++ That's more or less the way I taught the subject.
Nov
9
comment What's a nice explanation for pointers?
++ There's nothing like teaching to make you think about these things.
Nov
9
comment What's a nice explanation for pointers?
++ This is exactly how I was going to explain it. I started out in Fortran (for better or worse!). In Fortran, way back then, we used parallel arrays instead of arrays of structs (no such thing as new). If one array contained an index of "another row" in the arrays, we called it a "pointer", and this was exciting. We made linked lists, trees, you name it.
Nov
5
comment How important is the ability to touch-type?
@Nemi: I was a h&p programmer on keypunches. It was even harder on the old teletypes because the keys were so stiff. On the other hand, I've seen h&p journalists going like mad with just their index fingers. Go figure. But I'm glad I "learned" to type.
Nov
5
answered How important is the ability to touch-type?
Nov
3
comment What's the most absurd myth about programming issues?
@MarkJ: Well, OK, if you insist. I'm just trying to knock folks out of their rut where they believe rather than thinking. Another think I like to say is it doesn't matter where a program "spends its time", but why.
Nov
2
comment What is abstraction?
@Jason: "If a change in one place makes you have to make multiple changes elsewhere, then your abstractions are bad." I'm with you there. I seem to be surrounded by bad ones.
Nov
2
revised What is abstraction?
added 5 characters in body
Nov
2
comment What is abstraction?
OK, you get a gold star for professorism :)
Nov
2
answered What is abstraction?
Oct
30
answered FizzBuzz - really?
Oct
27
comment What is a Ph.D. good for in the software industry?
@mlvljr: Minsky was my thesis advisor.