Talk:Evolving the API Universe

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(New page: '''Done: c3a60ff54b9f''' --Dmkoelle 02:07, 22 April 2008 (UTC) * I didn't understand the use of random testing. ** Thanks for pointing this out, the topic really neede...)
Current revision (06:24, 14 June 2008) (edit) (undo)
(New page: '''Done: c3a60ff54b9f''' --Dmkoelle 02:07, 22 April 2008 (UTC) * I didn't understand the use of random testing. ** Thanks for pointing this out, the topic really neede...)
 

Current revision

Done: c3a60ff54b9f

--Dmkoelle 02:07, 22 April 2008 (UTC)

  • I didn't understand the use of random testing.
    • Thanks for pointing this out, the topic really needed more explanation.
  • Is this a standard technique in software engineering? If so, I'm not familiar with it.
    • It is standard in NetBeans project, after I invented it and described to other engineers
  • In fact, I would imagine that most libraries wouldn't break under random conditions (e.g., whether 2343 can divide into 32679); more likely, they'd break at edge cases (whether 78892 can divide into 0, whether 1237 can divide into Integer.MAX_INTEGER).
    • True. But that also means that at one moment of eternity they will break in randomized test as well (if you have good coverage of the randomly generated values)


This section pretty much says the same thing as the previous section "An API Must Be 100% Compatible" - yes?

--AdamDingle 17:12, 20 April 2008 (UTC)

Maybe worthwhile to mention the excellent history of compatibility for Sun binaries. I've heard that you can still run SunOS 4.x binaries unmodified on Solaris 10 if you have the compatibility packages installed.

"As soon as users indicate a fear of upgrading to new versions, there is definitely something very wrong." This is a very excellent point, because it usually means slow adoption or potential loss of market share which will be reflected in the company's revenue (for commercial software, anyway).

  • And for opensource as well. Donations will stagnate, the amount of money for consulting business will drop down...

A factory that will create "version 2.0" instances of the Arithmetica class just seems more natural than passing a version number in the constructor to me. Both approaches will work, of course.

--TomWheeler Wed Apr 23 20:38:48 CDT 2008


Done: c3a60ff54b9f

This section is making me wonder whether you believe, and will talk about, using version numbers effectively in releasing APIs. For example, "Users should expect no API changes between versions with the same major version number".

--Dmkoelle 02:12, 22 April 2008 (UTC)

  • Good advice, I'll see if I find a place to put it.

"the Java compiler converts each string concatenation": this is of course valid for the Sun compilter, but are do other compilers do this?

--AndreiBadea 09:08, 23 April 2008 (UTC)

NetBeans Runtime Container: Will most readers know what this is, or how it relates to the NetBeans Platform or IDE? If not, it should be defined beforehand (and if it was, I must have missed it).

--TomWheeler Wed Apr 23 20:38:48 CDT 2008


Done: 77c883d5bef7

There is a NOI18N tag in the CountingDigestor example which won't make any sense to most readers.

StackOverFlowException is actually StackOverflowError.

--AndreiBadea 09:11, 23 April 2008 (UTC)

Personal tools
buy