One recursion to loop them all
1
Name:
Anonymous
2011-04-01 11:52
Why do you need any loop constructs if you have recursion‽
2
Name:
Anonymous
2011-04-01 11:55
Why do you need any words if you have letters‽
3
Name:
Anonymous
2011-04-01 12:00
Why do you need TCO if you are GvR?
4
Name:
Anonymous
2011-04-01 12:05
Why do you need any recursion if you have recursion‽
5
Name:
Anonymous
2011-04-01 12:23
Loops are communist.
6
Name:
Anonymous
2011-04-01 12:34
Why do you need any sword if you have MY AXE!! ‽
7
Name:
Anonymous
2011-04-01 13:13
8
Name:
Anonymous
2011-04-01 14:48
9
Name:
Anonymous
2011-04-01 17:06
because doing a 'call' creates overhead (new stack frame, passing parameters, storing off registers)
10
Name:
Anonymous
2011-04-01 17:14
>>9
I was going to ask, which will crash faster: a program that iterates, initializing a new integer with each pass, or a program that does the same thing recursively?
11
Name:
Anonymous
2011-04-01 17:16
using recursion for a great number of calls will eventually deplete the stack memory causing a crash. for example, a default native c++ program compiled with VS2010 will only have a 1MB stack
12
Name:
Anonymous
2011-04-01 17:18
>>9
long fact (long x) {
long r = 1;
while (x) r *= x--;
return r;
}
long fact_rec (long x, long r) {
return x? fact_rec(x-1,x*r) : r;
}
13
Name:
Anonymous
2011-04-01 17:50
Because sometimes writing a recursive version of a loop is a pain in the F*ing ass.
14
Name:
Anonymous
2011-04-01 18:13
>>13
Have you read your SICP today?
15
Name:
Anonymous
2011-04-01 19:19
>>12
long fact(long n) { return n ? n * fact(n-1) : 1; }
16
Name:
Anonymous
2011-04-01 19:39
17
Name:
Anonymous
2011-04-01 20:01
>>16
therefore it is good. the BDFL would be proud
18
Name:
Anonymous
2011-04-01 20:10
>>17
huge faggot detected
19
Name:
Anonymous
2011-04-01 20:13
>>17
Let us overflow our stacks.
20
Name:
Anonymous
2011-04-01 20:20
>>18,19
have fun debugging your stack traces
oh wait
21
Name:
Anonymous
2011-04-01 20:33
Because loop iteration is generally faster than recursion, even when tail recursion optimizations can be made.
22
Name:
Anonymous
2011-04-01 20:40
>>21
and as we all know, that's why python is fast as fuck
23
Name:
Anonymous
2011-04-01 20:51
>>22
Red herring. Python is slow as fuck due to dynamic duck typing and the global interpreter lock.
C/C++ or assembly code iteration is fast as fuck when compared to recursion.
24
Name:
Anonymous
2011-04-01 20:51
>>21
no, but not all programmers can understand recursion, which is why Lisp and Haskell are dead dogs
25
Name:
Anonymous
2011-04-01 21:00
Long live /prog/!
26
Name:
Anonymous
2011-04-01 21:02
Long live /prog/!
27
Name:
Anonymous
2011-04-01 21:03
/prog/ is dead
28
Name:
Anonymous
2011-04-01 21:05
/prog/ is dead
29
Name:
Anonymous
2011-04-01 21:06
Long live /prog/!
30
Name:
Anonymous
2011-04-01 21:08
Long live /prog/!
31
Name:
Anonymous
2011-04-01 21:10
Long live /prog/!
32
Name:
Anonymous
2011-04-01 21:11
/prog/ is dead
33
Name:
Anonymous
2011-04-01 21:13
/prog/ is dead
34
Name:
Anonymous
2011-04-01 21:14
Long live /prog/!
35
Name:
Anonymous
2011-04-01 21:16
Long live /prog/!
36
Name:
Anonymous
2011-04-01 21:18
/prog/ is dead
37
Name:
Anonymous
2011-04-01 21:21
/prog/ is dead
38
Name:
Anonymous
2011-04-01 21:22
Long live /prog/!
39
Name:
Anonymous
2011-04-01 21:24
Long live /prog/!
40
Name:
Anonymous
2011-04-01 21:26
/prog/ is dead
41
Name:
Anonymous
2011-04-01 21:27
Long live /prog/!
42
Name:
Anonymous
2011-04-01 21:29
Long live /prog/!
43
Name:
Anonymous
2011-04-01 21:30
/prog/ is dead
44
Name:
Anonymous
2011-04-01 21:32
Long live /prog/!
45
Name:
Anonymous
2011-04-01 21:33
Long live /prog/!
46
Name:
Anonymous
2011-04-01 21:35
Long live /prog/!
47
Name:
Anonymous
2011-04-01 21:37
/prog/ is dead
48
Name:
Anonymous
2011-04-01 21:38
/prog/ is dead
49
Name:
Anonymous
2011-04-01 21:40
/prog/ is dead
50
Name:
Anonymous
2011-04-01 21:41
Long live /prog/!
51
Name:
Anonymous
2011-04-01 21:43
Long live /prog/!