22,773 reputation
23792
bio website
location Dallas, TX
age
visits member for 3 years, 5 months
seen 2 hours ago

I've been programming since I was 15. I started with APL at the Hampshire College Summer Studies in Mathematics in 1974. At Carnegie-Mellon I learned FORTRAN, and ALGOL/W, and Pascal, did a lot of TOPS-20 assembly programming hacking the MM mail reader, a fair bit of TECO programming customizing the first versions of Emacs, and a bit of INTERLISP and SAIL. After graduating, I have worked in BLISS-36, a tiny bit of Cobol, a decade of C, lots of Perl and EMACS-LISP, C++, Ada, Tcl, C#, Java, Python, Ruby, JavaScript, and lately some Groovy.


2h
revised I'm a CS student, and honestly, I don't understand Knuth's books
deleted 1 character in body
2h
revised How to model a one-mandatory-of-many relationship
spelling
1d
answered Why is mixing plural with singular and camel case with underscores in cake php naming convention better than a simpler convention?
1d
comment What is a helper? Is it a design pattern? Is it an algorithm?
Guava just names them with the plural of the class they are helping, e.g. "Lists", "Sets", "Functions", ... But they are helping closed java.util classes.
2d
comment What do the different [main] programming languages specialize in?
This question is far too broad and asks us to duplicate the wealth of material that can be easily found online. What research have you done? Have you done the basics, like reading the Wikipedia articles on these languages? Or searched for other articles comparing programming languages?
2d
answered What is the job title for the person responsible for the theoretical stuff in the software engineering process?
2d
comment How can I perform a logical test to ensure that MY CUSTOM ERROR gets thrown instead of the NumberFormatException?
@ratchetfreak: by convention, all subclasses of Exception are named Exception, so it should be InvalidPayRateException.
2d
revised Is it a good idea for JS objects to draw themselves when the page loads?
your -> you're; it's -> its
Jul
5
comment Given a string S consisting of only 1s and 0s, find the number of substrings which start and end both in 1
How do you know you are getting the wrong answer?
Jul
4
answered Understanding JAVA generic keyword 'super'
Jul
3
comment Why does C# have much more features than Java?
It's not the time to write them. It's the time to read and ignore them, over and over and over and over again, while you are on your way to the interesting parts.
Jul
3
comment Why does C# have much more features than Java?
The nine lines needed for a simple property definition (declaration + get/set + white space) add up quickly to more than "a few".
Jun
27
comment Need advice on design in Ruby On Rails
+10: the last paragraph nailed it. The performance penalty will be negligible for any practical system. Conference sessions are created through a lot of human effort and consequently are few in number.
Jun
25
comment How can I rewrite this linked-list manipulation as tail-recursive?
@CaptainCodeman: your solution with two parameters is not recursive. Your recursive solution has three parameters.
Jun
25
comment How can I rewrite this linked-list manipulation as tail-recursive?
+1: Not so tricky to handle prev. Start with prev->curr->c2->c3, swap pointers to get prev->c2->curr->c3, then return Swap2(head, curr, c3)
Jun
23
answered Setting global parameters: is this a reasonable use of const_cast and volatile?
Jun
19
comment A new i/o library: a good idea or a really bad one?
What existing libraries have you looked at? What about the asynchronous IO feature in Java 7? If you just think you can build a better library, go for it, but that's almost certainly not the fastest path to a working application.
Jun
18
answered How to avoid downcasting?
Jun
17
comment What complexity do DI frameworks add?
@Dennis: Guice isn't intrusive at all. The Guice container is merely an alternative way to get object instances. You can still call constructors if you like. That is handy for unit testing with mocked dependencies.
Jun
17
comment How to define different names for the same type and have the compiler check them?
perhaps, but explicit instantiation prevents a lot of very useful compile-time type calculus. The result is that for many applications (e.g. engineering calculations involving diverse physical units) C++ can provide more compile-time type safety than Ada. There's no analogy between the implicit typing of FORTRAN and the automatic generation of new types for the results of computations. Also FORTRAN had implicit type conversions making the consequences of an unfortunate name choice potentially catastrophic.