Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Functional Programming Considered Dangerous

Name: Anonymous 2007-08-13 22:53 ID:jqvud14V

Its true, I've read it in the SICP

Name: Anonymous 2007-08-14 0:20 ID:Heaven

It's "considered harmful" you dense motherfucker

Name: Anonymous 2007-08-14 15:52 ID:ufRLhKMb

and it's GOTOs that are "considered harmful." At least get the mythology right.

Name: Anonymous 2007-08-14 17:50 ID:jBooYiAC

Should be "Functional Programming Considered Useless". Who really uses functional languages outside of a CS doctorate thesis?

Name: Anonymous 2007-08-14 18:08 ID:Heaven

>>4
I do. Sometimes..

Name: Anonymous 2007-08-14 23:01 ID:uVq6DZzC

>>4
your mom.
and uh, ericsson.
and everyone who uses ruby and smalltalk and use higher order functions.

Name: Anonymous 2007-08-14 23:14 ID:Heaven

>>6
ruby
haha!

Name: Anonymous 2007-08-15 0:32 ID:28Ym0HXd

>>4 "Functional Programming Considered Useless"
Who would write a paper about that though? Everyone knows they're considered useless.

Name: Anonymous 2007-08-15 0:48 ID:CaAmSBjq

>>8
You wouldn't write your paper about them being useless. You'd write it about some specialized algorithm that could be done using a functional algorithm, explaining in detail every line of your nonsensical code that essentially does nothing.

Name: Anonymous 2007-08-15 1:01 ID:l6y0wZLB

to bad functional programming is slow as fuck

Name: Anonymous 2007-08-15 11:20 ID:rw4SySfE

>>1-10
C fags? What has become of /prog!

Name: Anonymous 2007-08-15 11:34 ID:Heaven

>>11
I read C FLAGS there heh

Name: Anonymous 2007-08-15 13:44 ID:S73rx1D6

>>12

CFLAGS JUST KICKED IN YO'

Name: Anonymous 2007-08-15 15:53 ID:X8OCOWIR

>>11
Yeah HOW DARE someone use a language that's mainstream enough to actually be used in applications?

Name: Anonymous 2007-08-15 20:26 ID:rw4SySfE

>>14
HOW DARE someone use a language that's so unproductive as C and reinvent the wheel one fucking more time?

By the time a C fag finishes his homebrew, slow, buggy implementation of a hash table, I'll be done with the whole module that required it.

Also, Greenspun's Tenth Rule:

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

Name: Anonymous 2007-08-15 23:06 ID:28Ym0HXd

>>15
Including Common Lisp itself.

Name: Anonymous 2007-08-16 2:32 ID:CzRT9kVb

>>16
wrong

Name: Anonymous 2007-08-16 4:56 ID:fAR0/f4s

>>17
Are you somehow not familiar with Morris's corollary?

Name: Anonymous 2007-08-16 16:35 ID:RFk7LN7Q

Monadic style is a horrible way to program. Functional programming is a total PITA.

I like passing functions around and stuff but it doesn't work for everything. Also computers are not designed for functional stuff. They love side effects.

Name: Anonymous 2007-08-16 17:09 ID:vwP0RLmO

>>15
because its fast as hell? (performance wise..)
go write yourself a OS in VBA and come back when it boots..

Name: Anonymous 2007-08-16 17:11 ID:CzRT9kVb

>>19
lisp

Name: Anonymous 2007-08-16 20:03 ID:qrqUBXqz

>>19
lisp

Name: Anonymous 2007-08-16 20:07 ID:YAMTUBZU

>>19

Functional programming is far less of a PITA than imperative.

Also, computers are not designed for human use.  They're designed to be able to push bits around in a way that can be implemented with transistor technology.  It's converting human problems to that representation that is the PITA.  Functional languages, et al, bridge the gap between our problems and the relatively dumb CPU.

Name: Anonymous 2007-08-16 20:20 ID:YAMTUBZU

>>20

Old bullshit.  Java JIT and compiled Lisp apps can routinely match or exceed C speed, with far less development effort.  Even if they run at only 90% speed, saving 80% of your development time more than makes up for it.

Name: Anonymous 2007-08-16 20:46 ID:qrqUBXqz

>>20
>>24
it depends on the kind of application you're trying to write. Yes, C is great for writing an OS and some other kinds of application. There is no reason to use C when you could use something else, sacrificing speed for development time and stability.

Name: Anonymous 2007-08-16 20:47 ID:YAMTUBZU

>>23
>>24

btw, bow before YAMTUBZU, EXPERT PROGRAMMER!!

Name: Anonymous 2007-08-16 20:52 ID:Heaven

ok, awesome id.

Name: Anonymous 2007-08-16 21:07 ID:Heaven

>>26
tubs of yams aren't that great.

Name: Anonymous 2007-08-16 23:01 ID:VT6MDmZQ

>>24
Old bullshit.  Java JIT and compiled Lisp apps can routinely match or exceed C speed

You cannot exceed assembly. As for matching or nearly matching, SBCL yes. Java JIT not in your fucking dreams.

And yet, only fools care for speed outside OSes and low-level/critical libraries. OMG my giggahurtz r bein wasted.

Name: Anonymous 2007-08-17 0:18 ID:HyyLQy5M

>>23
IO with monads? Very annoying.
IO with CPS? Very annoying.

>>29
You know you can generate assembly at run time

Name: Anonymous 2007-08-17 0:19 ID:HyyLQy5M

>>29
glibc is not fast or optimized

Name: Anonymous 2007-08-17 7:00 ID:Heaven

>>31
I want to see you writing a libc

Name: Anonymous 2007-08-17 14:03 ID:LB40edPq

>>29

Most programs today are not crunching arrays of numbers in a tight loop.  When they are CPU bound, they are usually making complex decisions over dynamic rules and constantly changing datasets.  But usually they are I/O bound anyway.  Adding complexity like intelligent caching, JITs and data reordering algorithms that constantly refine based on usage, transparent parallelism, and other such things allow high level optimizations that are difficult to impossible to achieve in asm or C, and blow away any simple cycle counting, pipelining, CPU cache optimization, or SIMD tricks.

Name: Anonymous 2007-08-17 14:15 ID:C1YWUbwK

>>29
You cannot exceed well-written assembly, you mean.

>>24
Also: Ocaml is blazan fast.

Name: Anonymous 2007-08-17 14:40 ID:pCwMFGL3

It's blazing fast if you throw out most of the useful idioms and write it like C. :/

Name: Anonymous 2007-08-17 16:13 ID:HyyLQy5M

OCaml boxes floats on function calls. It is fast but it isn't C fast. Sorry.

Name: Anonymous 2007-08-17 16:21 ID:C1YWUbwK

>>36
Maybe not C fast, but it beats C++ in some benchmarks, which is still darn fast.

Name: Anonymous 2007-08-17 16:33 ID:Heaven

>>37
back up your statement or gtfo

Name: Anonymous 2007-08-17 16:49 ID:C1YWUbwK

Name: Anonymous 2007-08-17 18:07 ID:33fGFcMP

I'M IMPERATIVE PROGRAM
SON OF A BITCH FUNCTIONAL PROGRAM
HASKELL IS PIG
DO YOU WANT A LAZY EVALUATION?
DO YOU WANT A SIDE EFFECT?
HASKELL IS PIG DISGUSTING
MONAD IS A MURDERER
FUCKING FUNCTIONAL PROGRAMMING

Name: Anonymous 2007-08-17 18:37 ID:Heaven

I'M REDDIT
SON OF A BITCH DIGG
DIGG IS PIG
DO YOU WANT A TUTORIAL?
DO YOU WANT A [PIC]?
DIGG IS PIG DISGUSTING
KEVIN ROSE IS A MURDERER
FUCKING DIGG

Name: Anonymous 2007-08-17 18:58 ID:2xAtWQE3

I'M DIGG
SON OF A BITCH REDDIT
REDDIT IS PIG
DO YOU WANT A LISP?
DO YOU WANT A RON PAUL?
REDDIT IS PIG DISGUSTING
AARON SWARTZ IS A MURDERER
FUCKING REDDIT

Name: Anonymous 2010-11-26 10:18

Name: Anonymous 2010-12-21 9:01

Name: Anonymous 2011-03-31 12:13

I am the phantom autist

Name: Anonymous 2011-03-31 12:13

I am the phantom autist

Name: Anonymous 2011-03-31 12:13

I am the phantom autist

Name: Anonymous 2011-03-31 12:14

I am the phantom autist

Name: Anonymous 2011-03-31 12:14

I am the phantom autist

Name: Anonymous 2011-03-31 12:14

I am the phantom autist

Name: Anonymous 2011-03-31 14:02

>>40
DO YOU WANT A SIDE EFFECT?

This doesn't match with the rest of the post.

Name: Anonymous 2011-03-31 17:29

>>51
You gotta thank the phantom autist for that.

Name: Anonymous 2011-03-31 18:37

>>51
yhbt

Name: Anonymous 2013-07-03 5:48

ahhhhhhhhhhhhhhh

Name: Anonymous 2013-07-03 12:00

check'em

Name: Anonymous 2013-07-03 12:22

>>29
Yes, well, C is much slower than assembly.

Name: Anonymous 2013-07-03 12:38

>>56
Now necessarily, you can write slow code in any language, even assembly. See that thread with Cudder's "don't even think about using an array" challenge, I posted an asm program that did something like 11 syscalls for every byte read from the input file.

Name: Anonymous 2013-07-03 12:42

Terrific

Name: Anonymous 2013-07-03 14:07

anything that abstracts over the von neumann arch too much or any other hardware you are using ultimately sucks. At best you'll end up with something like SQL where two grouped queries can join on at most one row per query. And if you'd want to do the same thing over two rows you could still do it but first you'd have to ensure the uniqueness of rows then count them on both sides. That's functional BS that ends up in a dead end sooner than you wanna know. Dangerous because you wouldn't even be able to figure it out and lose your shitty job trying to... Shitty because you would love to have C in this case, because you could just fuck the problem in the arse with C and at worst it would be a problem to get the relevant data in core memory then it would be a question of performance (basic shit like picking a search algorithm or one of many balanced trees).

Name: Anonymous 2013-07-03 14:12

This Thread Considered Unscientific and Ultimately Destructive

Name: Anonymous 2013-07-03 15:50

Ultimately Destructive
echo "Heat 'em up" >/dev/thermite

Name: Anonymous 2013-07-03 16:00

>>61
this made me lol out loud

Name: Anonymous 2013-07-03 19:13

>>62
my sides lel'd into the reddit meme moons

Name: Anonymous 2013-07-03 19:26

>>63
fuck off, sperglord.

Don't change these.
Name: Email:
Entire Thread Thread List