Anonymous user
Talk:Rosetta Code/Run examples: Difference between revisions
m
→Overly ambitious: Maybe online link like TryItOnline, that cache results for a period of time
(→Task status: Further thoughts.) |
m (→Overly ambitious: Maybe online link like TryItOnline, that cache results for a period of time) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 34:
:: If you want to do something like this, you should require sandboxing, or at least remind users of risks. What if I snuck in stuff to the effect of "rm -rf /" right before some hapless one blindly pulls the code and runs it? It's an open wiki, and should by no means be considered trusted. --[[User:Ledrug|Ledrug]] 14:03, 8 December 2011 (UTC)
::: also true. this should come with sufficient warnings. and the more reason to present the source to the user and wait for confirmation before running, as the task states.--[[User:EMBee|eMBee]] 16:08, 8 December 2011 (UTC)
:Perhaps a simpler task would be "Download all samples in Language X". That would provide a starting point for someone wanting to run them but would also be useful for other purposes such as programming language research (see "A Comparitive Study Of Programming Languages In Rosetta Code" by Sebastian Nanz and Carlo A. Furia), or using RC as a compiler test suite. --[[User:Tigerofdarkness|Tigerofdarkness]] ([[User talk:Tigerofdarkness|talk]]) 11:04, 16 February 2020 (UTC)
::That's basically what the 'extra credit' is asking for and, yes, it might be useful for academic purposes. But, as far as the task itself is concerned, it may still be impractical for languages which have a lot of entries some of which take hours to run (days in the case of one Pascal entry I can recall!). --[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 18:29, 16 February 2020 (UTC)
::: Little off topic [[First perfect square in base N with N unique digits]] runs with constant limits 2..28 on TryItOnline "completed in 26.534 seconds"<BR>See [[Rare numbers]] "19 digits: 6,609,905 ms" they are really rare ;-) <BR>I thought something like TryItOnline could be a solution, so that the creator her/himself would add a link, maybe with reduced limits, to stay in their runtime limits.But thats not the task --[[User:Horst.h|Horst.h]][[User:Horst.h|Horst.h]] ([[User talk:Horst.h|talk]]) 07:11, 17 February 2020 (UTC)
== Self reference ==
Line 50 ⟶ 55:
:: Hi Pete, you seem to be proposing that RC tasks be changed to suite one draft task. I think this task itself - for such reasons - isn't tenable. --[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 13:20, 14 February 2020 (UTC)
::: Although this task has a number of issues, I don't think it's untenable as there are six existing solutions including a very extensive Perl 6 one from Thundergnat. Whilst I consider the EC to be impractical and the MC unrealistic, you can just ignore these as I did for the Go entry. --[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 15:22, 14 February 2020 (UTC)
:::: The biggest difficulty with coming up with a general purpose, all (most) language task runner is the inconsistent markup and layout used by different entry authors. When I first wrote the Perl 6 task runner, I spent over a week going through and regularizing / standardizing markup on the various Perl 6 task
:::::Yeah, distinguishing snippets and programs split up into bits from actual runnable programs is a significant difficulty with this task. In the case of Go I could have looked for a main() function to determine whether it might be runnable but it might still not be if it were using imports which were not currently installed on the machine. Trying to check this and, if necessary, download the necessary resources would have been a hopeless task as a lot of Go libraries use C stuff which needs to be installed first.
Line 59 ⟶ 64:
:::::I thought Pete made a good point about having some way of determining whether code was runnable or not and ideally you should include the version number and platform(s) as well. But, whilst that might be good practice for the future, it's difficult to see how one could enforce it and, even if you could, trying to deal with what's happened in the past for all languages would be impractical in any case.--[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 20:56, 15 February 2020 (UTC)
::::I see you've added Go to the Perl 6 entry's repertoire and that it's already earned its keep by identifying non-running code in the [[Determine_if_a_string_is_numeric#Go]] entry :)
::::The first example predates Go 1.0 (2012) and possibly was valid syntax at the time. Anyway I've brought it up to date now.
::::The second example was only added recently and doesn't strictly meet the task requirements as it only checks for integer-ness. However, I've cleaned it up a bit and let it stand in the circumstances.
::::Looks like I might have to check through the old Go examples to make sure they still work.--[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 18:21, 16 February 2020 (UTC)
::::::Another idea is to restrict efforts to http://rosettacode.org/wiki/Category:Simple --[[User:Petelomax|Pete Lomax]] ([[User talk:Petelomax|talk]]) 10:30, 16 February 2020 (UTC)
:::::::Although that would have the merit of keeping the code and output fairly short, it still won't detect non-running code. For example, the [[Determine_if_a_string_is_numeric#Go]] task which I referred to above is classified as "simple". --[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 18:25, 16 February 2020 (UTC)
:::::::: Hmm. Yeah, sorry about highlighting that. I just picked that example to contrast with the Perl 6 example of the same task (and also to demonstrate the ability to run multiple code blocks), noticed that it had a problem but was out of time at the moment so just went with it. Thanks for fixing it up. Fixed example code on this task page too. --[[User:Thundergnat|Thundergnat]] ([[User talk:Thundergnat|talk]]) 22:06, 16 February 2020 (UTC)
::::::::: No problem, glad you did highlight it as there's nothing worse than examples which don't work. --[[User:PureFox|PureFox]] ([[User talk:PureFox|talk]]) 00:34, 17 February 2020 (UTC)
|