Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I had Envy in later projects, which was very useful, but you simply had to trust it, which is not the same as to be completely sure.


Rather than simply trust, wouldn't we test?

(At some point, we might question whether we're putting similar effort into testing other software tools.)


We tested until our ears fell off; in particular, we had also to test all the stuff that the compiler (or linker) would otherwise have told us in a statically typed language; there was no other way; might explain why I directly switched to Ada for some time after ST; but how do you test for dead code (i.e. things in the image not used but still there for some reason)? It is not for nothing that people speak of a "Big ball of Mud" in the context of image based languages.


> We tested until our ears fell off…

And did you discover stuff that was reported to have been removed but your tests showed was not removed?

In other words, examples where "trust it" would be a demonstrable mistake.

> It is not for nothing that people speak of a "Big ball of Mud" in the context of image based languages.

What process was used to manage source code?

"At the outset of a project involving two or more programmers: Do assign a member of the team to be the version manager. … The responsibilities of the version manager consist of collecting and cataloging code files submitted by all members of the team, periodically building a new system image incorporating all submitted code files, and releasing the image for use by the team. The version manager stores the current release and all code files for that release in a central place, allowing team members read access, and disallowing write access for anyone except the version manager." (page 500)

1984 "Smalltalk-80 The Interactive Programming Environment"

https://rmod-files.lille.inria.fr/FreeBooks/TheInteractivePr...


Working with a team on industrial projects is another thing than quoting from a book that - albeit somewhat naively - even talks about configuration management in one section.


> Working with a team on industrial projects…

What process was used to manage Smalltalk source code?


> Rather than simply trust, wouldn't we test?

How do you test for dead code?


Seems like you don't wish to say what process was used to manage Smalltalk source code on the project you describe as a "nightmare"?

Oh well.


Why should I answer your questions when you only question everything I say anyway and do not answer my questions?

If you understood why the absence of dead code cannot be detected by testing, and that there is no algorithm that can identify all dead code reliably and in finite time in a dynamic language like Smalltalk, your questions and implications would become pointless, since you then would understand why you never can be completely sure indeed; and that's all there is to it.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: