[prev] [thread] [next] [lurker] [Date index for 2005/08/12]
Hey, here's an idea. Let's make a language that forces the program to adhere to extremely rigid variable typing rules. That way, we can force the programmer to never shoot himself in the foot. Oh, but the whole bondage and discipline approach to typing won't make him hate us enough. Let's also introduce just enough type interchangeability to break anything where he might try to use the type strictness to his benefit. Well, it works. I hate them. I have to read a series of database fields into a series of variables. Except for the types of the variables, the process is the same for all of the fields. I'd love to have just one function to call on all of them; it would make things very simple. Delphi thinks differently. There's no way to to hand a function a variable of an arbitrary type and have it do the right thing; the compiler won't allow it. The best I can do is to keep track of the data types myself and pass an extra value into the function to tell it what the type of the destination variable is. "But wait!" you cry (maybe). "You can use overloaded functions and inheritance and stuff!" Or, at least, that's what I though to myself. But, while Delphi is ever-so-strict about keeping different types separate[0], if one type is defined in terms of another (TDateTime is really a Double, for instance), overloaded functions _cannot tell the difference between them_. Go, Delphi, giving me the worst of all possible worlds. [0] To the point where this is illegal code: var arr1 : array[1..10] of Integer; arr2 : array[1..10] of Integer; begin arr1 := arr2 because the compiler considers arr1 and arr2 to be of different types. -- ...computer contrarian of the first order... / http://aperiodic.net/phil/ PGP: 026A27F2 print: D200 5BDB FC4B B24A 9248 9F7A 4322 2D22 026A 27F2 --- -- M is for more, from which less was begot, and N is for nice, which it really is not. O is for od, which prints out things nice, while P is for passwd, which reads in strings twice. ---- --- --
Generated at 19:00 on 15 Sep 2005 by mariachi 0.52