Template talk:Works with: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎Regarding standardized languages: scattered but related toughts/doubts)
(→‎Regarding standardized languages: de facto, de jure, de insania)
Line 10: Line 10:
: Just thoughts in my succint speach!
: Just thoughts in my succint speach!
:: —[[User:ShinTakezou|ShinTakezou]] 14:34, 19 May 2010 (UTC)
:: —[[User:ShinTakezou|ShinTakezou]] 14:34, 19 May 2010 (UTC)
:: I don't want to get overcomplicated and overspecific on it, because down that road lay madness, and I don't need any more of that. I'm only trying to address the stuff that's easy to roughly address. The particular case I'm interested in at the moment is where the ''de facto'' standard doesn't very far from the ''de jure'' standard, so that one could specify the ''de jure'' standard and indicate deviant implementations if necessary. For cases where the ''de facto'' differs broadly from the ''de jure'', I don't see a long-term effective solution. I ''am'' getting worried about Python 2.x vs Python 3.x, and Perl5 vs Perl6 is a case which has already seen presentation on the site. --[[User:Short Circuit|Michael Mol]] 14:49, 19 May 2010 (UTC)

Revision as of 14:49, 19 May 2010

Regarding standardized languages

For standardized languages, I'd like to suggest that this template indicate the oldest standard that the code example works for, or the range of standards. This is particularly useful for a language like C where the standards aren't backwards-compatible with the original implementation, as well as other deprecation scenarios in their development. --Michael Mol 13:37, 19 May 2010 (UTC)

Specifying nothing would mean the latest known/accepted standard...?
However, saying "works with gcc 4.x.x" does not tell us which standard the code is in (and maybe the same for VC++) since gcc implements the most recent standard but it compiles old ones too... and it is why when I've seen C/C++ (recent) standard code I've removed the "works with 'specific compiler'".
Something different for languages having contemporary dialects (rather than different standards in time), like e.g. Smalltalk, or Prolog. Here the difference is done by the implementation, which de facto determines the dialect in use.
Often one hardly can test the code with every implementation of the compiler / interpreter... so e.g. I always put "works with GNU Smalltalk" in my Smalltalk codes since it is the one I use, but indeed it means only "tested with GNU Smalltalk", while other implementations may work as well!
Maybe we need three separate templates: about standards (compliant with standard last standard witch "fits" the code), about implementation (works with gcc, e.g. when using specific gcc-ism; works with GNU Smalltalk, Free Pascal and so on ...) and a generic "tested with"...
Standard compliance may be omitted if it is last-standard compliant (but a more recent standard could trigger a "fix-standard-compliance" on all the tasks?); implementation can be omitted if there's no in use any implementation-specific code; tested with can be omitted if we respected a common (among implementations) standard (so we stick to rules for standard compliance)...
Just thoughts in my succint speach!
ShinTakezou 14:34, 19 May 2010 (UTC)
I don't want to get overcomplicated and overspecific on it, because down that road lay madness, and I don't need any more of that. I'm only trying to address the stuff that's easy to roughly address. The particular case I'm interested in at the moment is where the de facto standard doesn't very far from the de jure standard, so that one could specify the de jure standard and indicate deviant implementations if necessary. For cases where the de facto differs broadly from the de jure, I don't see a long-term effective solution. I am getting worried about Python 2.x vs Python 3.x, and Perl5 vs Perl6 is a case which has already seen presentation on the site. --Michael Mol 14:49, 19 May 2010 (UTC)