At least it is closer to perfection than any other language.
If Python "forces" you to indent anywhere you wouldn't have indented anyway, you should probably just stop programming. By assuming the competency of programmer, Python effectively eliminates the need for braces and semi-colons. Too incompetent to understand? Have fun with Ruby.
Value syntactic simplicity from the interpreter's point of view over syntactic beauty and elegance from the programmer's point of view? Have fun with Lisp. Since my complex human brain is capable of quickly understanding more than two special characters in addition to a base-10 numerical system and 26-letter alphabet, Python does not confuse me. If you're more comfortable with globs of unstructured text surrounded by thousands of parentheses, then enjoy your toy language. That's why Python has been around a fraction of the time Lisp has, yet it has exponentially more practical application than Lisp does.
Python is for grown up programmers. Perl is for old men who didn't have Python in their time. Everything else is for children who want to put on big kids clothes and play grown up.
Name:
Anonymous2011-10-03 0:40
>>40 not using SIMD for vector operations
ISHYGDDT
>>39
It must suck to be that autistic. If you mentally set yourself to ignore the parentheses, then you must remember the arity of every function you use (which will of course fail for variadic functions). Lisp simply does not provide the visual cues that almost every other language provides. I'll agree with you everyday that Lisp has beautiful semantics, but it's the worst piece of shit when it comes to syntax.
Name:
Anonymous2011-10-03 3:04
>>42
Lisp is too deep for you. You are like a kid, who havent learned to read, he looks in the book and sees only dirty pages.
surely a function should either have obvious parameters and/or should take named parameters. this is doable in lisp, javascript, python, etc
showing function arity/parameter info seems more like an ide feature than a language one.
Name:
Anonymous2011-10-03 3:39
>>40
1) that's hideous
2) I don't understand the python shit. I understand lambda calculus. It's not some Python-specific bullshit. It's pure and beautiful.
3) in Lisp it would be prettier. For instance, (apply + (map * self other)). Since everything is a function, you don't need to spell out simple lambdas all the time and come up with tons of bullshit temp variable names like "x" and "y" nearly as much. (although a fold would be more efficient anyway)
4) god that's some bullshit. In Lisp you just use lists of numbers for vectors. None of this prancing around like a faggot with some bullshit "object model"
Name:
Anonymous2011-10-03 3:42
>>42
so parentheses act as a hint as to the arity, but most functions have extremely well understood arities. You know exactly how many subexpressions a let form is going to have, for instance.
>>48
fuck I meant cond. it's really early in the morning :/
Name:
Anonymous2011-10-03 8:45
>>46
In Lisp:
(let ((M (list (list 1 2) (list 3 4))
(v (list 5 6)))
(multiply-matrix-by-vector M (multiply-vector-by-number v -1))
In Python: M = Matrix([[1, 2], [3, 4]])
v = Vector([5, 6])
M * -v
Lisp is clearly the autist's choice.
But hey, look, you can code like a aspie in Python too.
M = [[1, 2], [3, 4]]
v = [5, 6]
multiply_matrix_by_vector(M, multiply_vector_by_number(v, -1))
In Lisp, you're stuck doing things a certain way so you convince yourself it's the correct way. If it were the correct way, we wouldn't have stopped doing it 50 years ago.
>>50
Nice try kid, but in about any Lisp today you can have generic functions. But of course you probably don't even know the term, because it has never been uttered by Guido. Enjoy your cult. And by that, I mean Guido's dick.
there are levels and levels that you don't understand, son.
In Lisp you don't even write that function. It's obviously too similar to another function in your program.
lrn2abstract oh wait Python doesn't let you
Name:
Anonymous2011-10-03 16:14
>>53
You don't know what the fuck you're talking about. Have you even heard the word abstraction before starting the first chapter of SICP that you never finished? Just because I like Python better than Lisp doesn't mean I don't know Lisp better than you. Come talk to me when you pass CS III, kid.
>>50 calling list on a list of numbers instead of quoting let binding things that are only referenced once not using generic methods no imperative AIDS explicit return statement in the Python code
OK.
Name:
Anonymous2011-10-04 15:24
>>57 let binding things that are only referenced once
Have you ever heard of ``readability?''
>>50,57-58(and others)
Stupid trolls. Fact remains, Lisp is the ideal AST (the semantics are perfect) but it's a shitty language to directly write in because of the lack of visual fucking cues.
>>67
What's the syntax for defining classes inline agaihbt
Name:
Anonymous2011-10-06 2:29
>>64 self comes from Smalltalk I believe, which was the first or one of the first object-oriented languages. Either way, it's not a keyword. You can call it ``dicks'' if you want to.