Reasons why Python 3 (and 2) is shit (14)

1 Name: #!/usr/bin/anonymous : 2017-06-16 00:22 ID:jv9oB1f2

  • FOIC
  • reduce is not built-in
  • no do-while statement
  • singled expression lambdas
  • no index lists
  • no frozenset literals
  • awfully bad scope rules
  • terrible OOP design
  • no pattern matching nor switch-case statements/expressions

2 Name: #!/usr/bin/anonymous : 2017-06-17 05:19 ID:Heaven

The forced indentation of code

3 Name: #!/usr/bin/anonymous : 2017-06-17 17:43 ID:ilN/++Zs

  • Try the Don't Indentation Any Code at $WORK for a month and tell me how that goes
  • reduce is Microsoft speak for fold-left, so that's actually a plus
  • why single out do-while? Do you even have named let in your favorite language?
  • Correct
  • I don't know what this is but it sounds specific to your favorite language
  • See above
  • Correct
  • As with all OOPs other than Smalltalk and CLOS
  • Correct, but switch/case is a specific form of pattern matching, and most other popular languages only started thinking about very limited pattern matching and destructuring bind (as separate features) in the last 5 years

4 Name: #!/usr/bin/anonymous : 2017-06-19 22:30 ID:jv9oB1f2

>>3
``reduce'' have been in LISPs before Microsoft was even created.
Frozensets are immutable sets in Python.

5 Name: #!/usr/bin/anonymous : 2017-06-21 19:33 ID:ilN/++Zs

>>4
Oh damn, busted. I must have been thinking of "accumulate".

They really don't have that? Does it at least have immutable map literals?

6 Name: #!/usr/bin/anonymous : 2017-07-03 23:23 ID:jv9oB1f2

>>5
No and no. Guido van Rossum is against immutability. He is also against TCO and recursion in general (search for: "neopythonic" "tail recursion elimination")

7 Name: #!/usr/bin/anonymous : 2017-07-16 19:53 ID:M3qI9Fmx

>>2
There is nothing wrong with forced indentation. A good programmer shall indent their code regardless. A bad programmer will make everything look like shit so forced indentation makes his good usable to others besides himself.

8 Name: #!/usr/bin/anonymous : 2017-07-16 19:55 ID:M3qI9Fmx

> no do-while statement

There already is while. A do-while construct is redundant.

9 Name: #!/usr/bin/anonymous : 2017-07-20 19:37 ID:ilN/++Zs

>>8
Both for and named let subsume while, to boot.

10 Name: #!/usr/bin/anonymous : 2017-08-30 00:30 ID:jv9oB1f2

Reason#381: [i]inconsistency and lack of abstraction for array declarations[/i] https://docs.python.org/2/faq/programming.html#how-do-i-create-a-multidimensional-list

11 Name: #!/usr/bin/anonymous : 2017-08-31 16:55 ID:jv9oB1f2

12 Name: #!/usr/bin/anonymous : 2017-09-03 18:53 ID:eycA3OAX

  • GIL
  • metamethods
  • attributes

13 Name: #!/usr/bin/anonymous : 2017-09-06 19:50 ID:zwyhM5U6

>>7
Yes but they'll indent it in a specific way, while the compiler won't compile if someone uses the "wrong" whitespace.

14 Name: #!/usr/bin/anonymous : 2017-09-06 20:16 ID:Heaven

>>13
They'll indent it in a shitty, inconsistent way, because they're a bad developer, and the compiler will force them to not do that.

Name: Link:
Leave these fields empty (spam trap):
More options...
Verification: