Here's a slightly different approach:
Python, 368 308 297 bytes
EDIT, I actually golfed it this time. Shaved off 60 characters.
from random import*
from en import*
C=choice
v=["code-golf","understand","go","do"]
n=["salad","octopus","fun","lunch"]
for f,l in("verbs",v),("nouns",n):exec"l.append(str(C(wordnet.all_"+f+"()))[:-4]);"*12
exec'print"Computers will never",C(v),noun.article(C(n)),C(("for","after")),C(n);'*input()
Here is the golf-trick that I'm most proud of:
for f,l in("all_verbs",v),("all_nouns",n):
I didn't even know python could do that! Here's a simpler explanation:
for (a, b) in ((0, 1), (1, 2), (2, 3)):
assigns a and b to 0 and 1, and then to 1 and 2, and then to 2 and 3.
This uses NodeBox's linguistics library to generate a list of verbs/nouns/clauses, and then randomly selects from them.
This library is not that great for generating random words (hence the 368 bytes), but the nice thing about this approach is you get some pretty random reassuring parables with it. Here is what I mean.
Computers will never attempt a syria for synchronization.
Computers will never understand a salad for change of mind.
Computers will never brim an electric company for synchronization.
Computers will never pivot a dusk for fun.
Computers will never bedaze an electric company for genus osmerus.
Computers will never brim a salad for vital principle.
Computers will never attempt an erythroxylum after lunch.
Computers will never understand an uuq for water birch.
Computers will never brim an ictiobus for change of mind.
Computers will never brim an ictiobus for 17.
Computers will never lie in an octopus for change of mind.
Computers will never happen upon a toothpowder for water birch.
Computers will never typeset an electric company for change of mind.
Computers will never brim a french oceania after lunch.
Computers will never bring out an ictiobus for glossodia.
Computers will never bedazzle an animal fancier for ash cake.
Computers will never attempt a dusk for genus osmerus.
Computers will never understand an animal fancier for genus osmerus.
Computers will never accredit a prickly pear cactus for 17.
Computers will never typeset an erythroxylum for water birch.
But hey, I don't think anybody else's program will generate the saying: "Computers will never bedazzle an animal fancier for ash cake."
Here's an ungolfed version (574 bytes):
import random
import en
v = ["code-golf", "understand"]#list of verbs
n = ["a salad", "an octopus"]#list of nouns
c = ["for fun", "after lunch"]#list of clauses
for i in range(14):
v.append(str(random.choice(en.wordnet.all_verbs()))[:-4])
n.append(en.noun.article(str(random.choice(en.wordnet.all_nouns()))[:-4]))
c.append("for "+str(random.choice(en.wordnet.all_verbs()))[:-4])
N=input("Enter the number of reassuring phrases you want: ")
for i in range(N):
print "Computers will never"+' '+random.choice(v)+' '+random.choice(n)+' '+random.choice(c )+'.'
And lastly but definitely not leastly, here are some of my favorite reassuring parables, that I predict will become really popular catch-phrases in the next 10-15 years.
Computers will never move around a methenamine for godwin austen.
Computers will never conk an adzuki bean for bitterwood tree.
Computers will never jaywalk a cross-dresser for fun.
Computers will never hyperbolize an accessory after the fact for norfolk island pine.
Computers will never dissolve a salad for earth wax.
Computers will never acetylise an incontrovertibility for dictatorship.
Computers will never reciprocate a strizostedion vitreum glaucum for commelinaceae.
Computers will never goose an action replay for star chamber.
Computers will never veto a bottom lurkers for jackboot.
Computers will never reciprocate a visual cortex for oleaginousness.
Computers will never baptise a special relativity after lunch.
Computers will never understand a gipsywort for citrus tangelo.
Computers will never get it a brand-name drug for electronic computer.
Computers will never deforest a paperboy after lunch.
Computers will never bundle up a nazi for repurchase.
Computers will never elapse a bernhard riemann for counterproposal.
and my personal favorite:
Computers will never romanticise a cockatoo parrot for cross-fertilization.
4
You might want to add that size is counted in bytes, and that standard loopholes are not allowed.
– matsjoyce – 2014-10-26T10:08:08.247Do we get to choose the remaining 14 verbs/nouns/clauses ourselves ? – Optimizer – 2014-10-26T10:30:48.097
@Optimizer "... which you can choose freely to optimize your program ..." – Martin Ender – 2014-10-26T10:57:22.543
@Optimizer Yes, I'm hoping for creative ways to make a set of words without hardcoding all of them... – Sanchises – 2014-10-26T11:06:56.410
You might want to clarify if (which I assume) nouns, verbs and additional clauses should by chosen independently and not already combined to 16 complete phrases. (Well, "randomly generated" is actually pretty clear.) – Falko – 2014-10-26T11:22:19.433
5
I'd support subtracting the dictionary size to prevent using ultra-short but completely unknown words (like here).
– Falko – 2014-10-26T11:40:35.2232@matsjoyce: Counting bytes is the default. The point of having standard loopholes is that it's not necessary to mention them. – Dennis – 2014-10-26T13:09:12.023
Do the N random parables have to be different? – Martin Ender – 2014-10-26T17:38:42.333
"Must take an input (on stdin or your language equivalent)" Is input on command-line arguments fine? (shorter in many languages) – None – 2014-10-26T18:25:31.770