From: slonik.az@... Date: 2005-10-01T20:21:41+09:00 Subject: Re: Large Ruby Apps ? Kent, first of all in my post I emphasized static *analysis* not static typing. Secondly, we are talking *large* applications here. Testing such applications is a big *combinatorial* problem. In a large application there are so many logical flows through your program that it is infeasible to create a test suit that covers them all. If you are interested in the subject of testing, verification and analysis of large computer programs, please, use Google as a good starting point. It is a vast and well developed field of Computer Science. Also see [ruby-talk 158461] for some links. Just my two cents. --Leo-- On 9/30/05, Kent Sibilev wrote: > I don't agree. Static analysis captures errors that are not usually a > big problem. If your unit tests have enough coverage they will capture > all these errors, but static typing makes your programs too noisy since > you have to feed your compiler with a lot of crap. Very good example of > how bad it could be, check out java with generics. By increasing the > size of your program you increase the possibility of making a mistake > and your program becomes harder to read. > > Kent. > > On Fri, 2005-09-30 at 22:00 +0900, slonik.az@gmail.com wrote: > > Very useful discussion that highlights quite few misconceptions. > > So far in this thread posters were contrasting "old school" static > > type and variable checking versus Ruby's dynamic nature with run-time > > Unit Testing properly done. The truth of the matter is that a > > programmer's life is easier when one has both: > > > > 1: Static (aka compile time) program analysis that captures many > > "human" errors like typos, obvious flow control flaws, etc. > > 2: Dynamic, run-time program verification consisting of unit tests and > > integration tests. > > > > Ruby clearly lacks static analysis tools. > > > > Just my 2 cents > > --Leo-- > > > > > > On 9/21/05, Warren Seltzer wrote: > > > I am coming to Ruby having used the usual list of scripting and C* languages. Since Ruby > > > has such powerful programming features, I think it may be used for some really large > > > system. My decades long observation of software is that small programs that succeed > > > become large programs. > > > > > > But I am concerned about Ruby's suitability for programming in the large. First off, the > > > lack of the requirement to declare variables sounds like an invitation to programming > > > bugs. It's just too easy to assign something to a misspelling of a variable name. Make > > > the same spelling mistake again and you won't even get a warning about an undefined > > > variable. > > > > > > For example this 1-line program issues no error: > > > > > > puts @whatever > > > > > > This is a code bug that a statically typed compiler would scream about. > > > > > > ------------------- > > > > > > Also: Is anybody doing a port to 64-bit systems? > > > > > > ------------------- > > > > > > Also, a history question. With Ruby coming out of Japan, why wasn't Unicode support done > > > earlier? You'd think it would be insulated mono-lingual Americans who would delay that... > > > > > > > > > Warren Seltzer > > > > > > > > > > > > > > > > >