---
title: "From Java Generics to questioning assumptions"
url: "https://osherove.com/blog/2004/4/3/from-java-generics-to-questioning-assumptions.md"
canonical: "https://osherove.com/blog/2004/4/3/from-java-generics-to-questioning-assumptions.html"
published: "2004-04-03T11:27:00"
updated: "2004-04-03T11:27:00"
tags: [".Net Original"]
author: "Roy Osherove"
description: "[ Small update : all occurences of “loose“ have been replaced by the word “dynamic“, due to an explicit request . So there. Can anyone explain the difference?] Bruce Eckel is Over it . Actually, he's over the fact that…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# From Java Generics to questioning assumptions

By Roy Osherove April 3, 2004 In [.Net Original](https://osherove.com/blog/category/net-original)

**Historical article** · Originally published April 3, 2004; technical details may be outdated.

_\[**Small update**: all occurences of “loose“ have been replaced by the word “dynamic“, due to an [explicit request](http://www.cincomsmalltalk.com/blog/blogView?showComments=true&entry=3258441115). So there. Can anyone explain the difference?\]_

[Bruce Eckel is Over it](http://mindview.net/WebLog/log-0053). Actually, he's over the fact that Java Generics do not allow dynamic typing (you have to use interfaces). Will .Net generics support dynamic typing? He's come to terms with the fact that Python is sometimes(and often times) the “better“ language to do stuff. He's come into acceptance. But he's learned to live with both of them at peace.

But that's not the main point I saw in his post. The main point I saw was that sometimes, no matter how strongly you believe something is true, you're going to have to question yourself and the “facts” if you want to proceed in a better,faster,more elegant way to do stuff.

Bruce tells about people discovering Python and the power it holds within, mainly the quickness with which you can create programs that do things. But here python is just an example (to me). I see this holds true for a lot of things, both in  and out of software development.

Taking XP for example, you know what, not even that. Taking TDD for example. People who do TDD for the first time have the same exact “discovery” that Bruce describes in his post.

 - 1st time try is motivated by something which is not “dangerous” to try out

\-  enlightenment

\- questioning yourself for your previous methods

\- slowly converting to become “test infected”, leaving the “old” methodologies behind until such time that they are **really** needed.

The main struggling points to get people to do step number one.

BTW, the same can be said for par programming. Just look at the over alll output and speed vs the “old” way. Disbelief,quesitoning assumptions, these are all things that go through your mind when you try to come to terms with such weird facts.

## More in .Net Original

[All posts in .Net Original](https://osherove.com/blog/category/net-original)

- Apr 3, 2004

    ### [Another book of the month, and what's up with ApplicationException?](https://osherove.com/blog/2004/4/3/another-book-of-the-month-and-whats-up-with-applicationexcep.html)

- Apr 3, 2004

    ### [Book of the month for April](https://osherove.com/blog/2004/4/3/book-of-the-month-for-april.html)

- Apr 1, 2004

    ### [Looking for a good Knowledge base management solution](https://osherove.com/blog/2004/4/1/looking-for-a-good-knowledge-base-management-solution.html)

- Apr 1, 2004

    ### ["Database Access with Visual Basic .NET" is the book chapter I was pointing to](https://osherove.com/blog/2004/4/1/quotdatabase-access-with-visual-basic-netquot-is-the-book-ch.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
