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

Pages: 1-

...

Name: Anonymous 2008-01-14 14:15

Which one of you treasonous anticudders wrote this godforsaken forced indentation article:

http://www.wordaligned.org/articles/animated-pair-streams

TAKING EXERCISES FROM SICP AND IMPLEMENTING THEM IN PYTHON? MAY YOU NEVER SEE THE LIGHT OF THE SUSSMAN AGAIN, FOR ALL ETERNITY.

Name: Anonymous 2008-01-14 14:22

Is that a SICP code rewrite?

Name: Anonymous 2008-01-14 14:38


*YOU* are full of bullshit.

Python is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of scheme were to do *nothing* but keep the Python programmers out,
that in itself would be a huge reason to use scheme.

In other words: the choice of scheme is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in Python over scheme is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

Python leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:

 - infinite amounts of pain when they don't work (and anybody who tells me
   that STL and especially Boost are stable and portable is just so full
   of BS that it's not even funny)

 - inefficient abstracted programming models where two years down the road
   you notice that some abstraction wasn't very efficient, but now all
   your code depends on all the nice object models around it, and you
   cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and
portable Python ends up to limit yourself to all the things that are
basically available in scheme. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.

So I'm sorry, but for something like SICP, where efficiency was a primary
objective, the "advantages" of Python is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.

If you want a VschemeS that is written in Python, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice Python abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some schemeS people, the end
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than SICP.

Name: Anonymous 2008-01-14 15:41


*YOU* are full of bullshit.

Python is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of scheme were to do *nothing* but keep the Python programmers out,
that in itself would be a huge reason to use scheme.

In other words: the choice of scheme is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in Python over scheme is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

Python leads to really really bad design choices. You invariably start using
the "nice" library features of the language like the forced indentation of code and other
total and utter crap, that may "help" you program, but causes:

 - infinite amounts of pain when they don't work (and anybody who tells me
   that the forced indentation of code and especially tabs are stable and portable is just so full
   of BS that it's not even funny)

 - inefficient abstracted programming models where two years down the road
   you notice that some abstraction wasn't very efficient, but now all
   your code depends on all the nice forced indentation of code around it, and you
   cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and
portable Python ends up to limit yourself to all the things that are
basically available in scheme. And limiting your project to scheme means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "forced indentation of code" crap.

So I'm sorry, but for something like SICP, where efficiency was a primary
objective, the "advantages" of Python is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.

If you want a VschemeS that is written in Python, go play with Idle. Really.
They use "real tabs". They use "nice forced indentation of code".
They use "nice Python abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some scheme people, the end
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than SICP.

Name: Anonymous 2008-01-14 16:30

*YOU* are full of bullshit.
 
C is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of scheme were to do *nothing* but keep the C programmers out, that in itself would be a huge reason to use scheme.
 
In other words: the choice of scheme is the only sane choice. I know Miles Bader jokingly said "to piss you off", but it's actually true. I've come to the conclusion that any programmer that would prefer the project to be in C over scheme is likely a programmer that I really *would* prefer to piss off, so that he doesn't come and screw up any project I'm involved with.
 
C leads to really really bad design choices. You invariably start using the "nice" library features of the language like the forced management of memory and other total and utter crap, that may "help" you program, but causes:
 
 - infinite amounts of pain when they don't work (and anybody who tells me that the forced indentation of code and especially tabs are stable and portable is just so full of BS that it's not even funny)
 
 - inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice null pointers around it, and you cannot fix it without rewriting your app.
 
In other words, the only way to do good, efficient, and system-level and portable C ends up to limit yourself to all the things that are basically available in scheme. And limiting your project to scheme means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "forced management of memory" crap.
 
So I'm sorry, but for something like SICP, where efficiency was a primary objective, the "advantages" of Python is just a huge mistake. The fact that we also piss off people who cannot see that is just a big additional advantage.
 
If you want a VschemeC that is written in C, go play with CIdle. Really. They use "real C-like syntax". They use "nice forced management of memory".
They use "nice C constructs". And quite frankly, as a result of all these design decisions that sound so appealing to some scheme people, the end result is a horrible and unmaintainable mess.
 
But I'm sure you'd like it more than SICP.

Name: Anonymous 2008-01-14 16:46

>>1
Look at it this way.

On most browsers, you can bring up your browsing history by pressing Control-H. (No, this is not going to become a discussion of werecows.) On Firefox, this brings up a sidebar that shows up on the left side of the window. If you put your mouse over the edge of the sidebar, the cursor will turn into a different kind of arrow. By clicking and dragging it, you can move the edge of the sidebar back and forth. You are, to put it another way, manipulating the border between the normal window and the history window. By moving the mouse, you can increase the portion of the window devoted to either part. In a more extreme view of this situation, you're increasing or decreasing the amount of existence the sidebar has.

Now, let's apply this idea to something more abstract. Look out your window. If you don't live in a highly urbanized area, you should be able to see the horizon. Think of this as the border between the land and the sky. The land and sky are obviously distinguishable thanks to this boundary. Now, if you were to "drag" the sash between the sky and the land, or to manipulate the border between land and sky, you would end up causing the sky to become larger and the land to become smaller, or vice versa. An effect of this might be to cause something that was just on the ground to suddenly be hundreds of feet in the air. Truly a frightening situation to be in. So, look at it this way - manipulating the border between two physical things shifts whatever balance there is in the interaction between those things. Alternatively, by manipulating the border between two things, you can change the manner in which they exist.

Still, this isn't *that* abstract, since it's still dealing with real things in the real world. Many believe that in this world, there are those things that are true, and those that obviously aren't. This divides reality into two extremes: truth and falsehood. But, since we have two extremes, logically one can imagine a boundary between those two extremes - the border between truth and lies. If one were to manipulate this border, suddenly things that were pure fantasy (flying pigs, for the sake of argument) have become reality - or things from reality have ceased to exist. This is how Yukari is said to have invaded the moon - by manipulating the border between truth and lies, as applied to the reflection of the moon on a pond, she was able to make the reflection of the moon into a manifestation of the actual moon, and so send her youkai army onto it. This is what's truly amazing about Yukari's power - the ability to manipulate the border between completely abstract concepts allows her to fundamentally change reality as we know it (at least in terms of two abstract concepts).

Name: Anonymous 2008-01-14 16:53

>>1
Look at it this way.

On most browsers, you can bring up your browsing history by pressing Control-H. (No, this is not going to become a discussion of werecows.) On Firefox, this brings up a sidebar that shows up on the left side of the window. If you put your mouse over the edge of the sidebar, the cursor will turn into a different kind of arrow. By clicking and dragging it, you can move the edge of the sidebar back and forth. You are, to put it another way, manipulating the border between the normal window and the history window. By moving the mouse, you can increase the portion of the window devoted to either part. In a more extreme view of this situation, you're increasing or decreasing the amount of existence the sidebar has.

Now, let's apply this idea to something more abstract. Look out your window. If you don't live in a highly urbanized area, you should be able to see the horizon. Think of this as the border between the land and the sky. The land and sky are obviously distinguishable thanks to this boundary. Now, if you were to "drag" the sash between the sky and the land, or to manipulate the border between land and sky, you would end up causing the sky to become larger and the land to become smaller, or vice versa. An effect of this might be to cause something that was just on the ground to suddenly be hundreds of feet in the air. Truly a frightening situation to be in. So, look at it this way - manipulating the border between two physical things shifts whatever balance there is in the interaction between those things. Alternatively, by manipulating the border between two things, you can change the manner in which they exist.

Still, this isn't *that* abstract, since it's still dealing with real things in the real world. Many believe that in this world, there are those things that are true, and those that obviously aren't. This divides reality into two extremes: truth and falsehood. But, since we have two extremes, logically one can imagine a boundary between those two extremes - the border between truth and lies. If one were to manipulate this border, suddenly things that were pure fantasy (flying pigs, for the sake of argument) have become reality - or things from reality have ceased to exist. This is how the Sussman is said to have invaded the anticudder - by manipulating the border between truth and lies, as applied to the reflection of the Abelson on a pond, he was able to make the reflection of the Abelson into a manifestation of the actual Abelson, and so send his scheme cudders onto it. This is what's truly amazing about the Sussman's power - the ability to manipulate the border between completely abstract concepts allows him to fundamentally change reality as we know it (at least in terms of two abstract concepts).

Name: Anonymous 2008-01-15 5:16

This thread confuses me :(
Also, why did you sage your first post, oh well, it seems like it was a good sign of what was to follow.

Name: Anonymous 2008-01-15 7:21

>>6
Holy shit, Touhou is deep.

Or it would be, if ZUN didn't make that up while completely drunk.

Name: Anonymous 2008-01-15 14:18

>>8
I sage every post.

Name: Anonymous 2008-01-15 14:46

>>10
Why?

Name: Anonymous 2008-01-15 17:43

>>11
BECAUSE SAGE DOES THINGS.

Name: Anonymous 2009-03-18 3:51

I'm feeling really keen, for some of that good ol' green

Marijuana MUST be legalized.

Name: Anonymous 2010-11-27 5:18

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