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

Pages: 1-4041-

Python sucks

Name: Anonymous 2013-06-29 22:37

Python SUCKS hard

Name: Anonymous 2013-06-29 22:38

Python is used because it allows to programmer to write ugly, stupid, illegible code. Everything written in Python has to be a piece of shit -- the interpreter accepts no less.

Shitty code monkeys love Python because they don't want to think too hard about programming. Employers love Python because they want to hire shitty minimum wage code monkeys to write programs. Teachers love Python because 99% of their students fail programming classes where Python is not taught (because the students hate programming and only want to become shitty code monkeys). With a demand for Python programmers and a supply of fresh CS graduates who only know Python and a little theory, the community blew up.

Real programmers use Haskell. They use it not because the programs compile fast, or because machine code generated from Haskell runs fast, or because Haskell programs are highly memory efficient (although these all are certainly true). Real programmers use Haskell because Python code is ugly.

Name: Anonymous 2013-06-29 22:39

>>2
- Like C++, Haskell is huge in size, enormously hard to learn, and takes decades to master (just Haskell's extensions list exceeds 70 entries http://hackage.haskell.org/packages/archive/hint/0.3.3.6/doc/html/Language-Haskell-Interpreter-Extension.html). Things like Monads, Functors, Monoids, Higher-Order Types and a myriad of morphisms are hard to understand, especially without mathematical background. Most programmers probably don't have the ability or will to learn Haskell. Learning Haskell's syntax, libraries, functional programming techniques won't bring you closer to understanding: the true path to understand Haskell lies through Monoid-Functor-Applicative-Arrow-Monad. And even if you mange to learn Haskell, programming it still hogs a lot of brain resources, which could have been put to something more useful than just showing off about how clever you can be. "Haskell for Kids" even proposes exposing children to Haskell from yearly age, meaning Haskell, similar to mathematics and natural language, will be much harder to grasp at older age. "Zygohistomorphic prepromorphism: Zygo implements semi-mutual recursion like a zygomorphism. Para gives you access to your result à la paramorphism.", "Haskell is not 'a little different,' and will not 'take a little time.' It is very different and you cannot simply pick it up" -- HaskellWiki
- Poor backward compatibility: haskellers "don't want to replicate Java, which is outright flawed in order to avoid even the most unlikely of broken code", meaning they don't care if new version of GHC will break your code. Haskell projects are struggling under the weight of "DLL hell": typical Haskell package consist of just a few lines of code, thus many other projects depend on dozens of different packages, either directly or indirectly. It's near-impossible to embark on a serious Haskell project without spending time fighting dependency version issues.
- Haskell is slow and leaks memory. GHC's inefficient stop-the-world GC does not scale. Despite being statically typed, Haskell can't deliver the bare metal speed, with typical Haskell code being 30x to 200x times slower than C/C++ (http://honza.ca/2012/10/haskell-strings http://www.mail-archive.com/haskell-cafe%40haskell.org/msg25645.html). A good understanding of evaluation order is very important for writing practical programs. People using Haskell often have no idea how evaluation affects the efficiency. It is no coincidence that Haskell programmers end up floundering around with space and time leaks that they do not understand. Functions take time to complete and debugging for time leaks is much more difficult than to debug for type errors. "The next Haskell will be strict." -- Simon Peyton-Jones
- Haskell's API lacks higher levels of abstraction, due to absence of variadic functions, optional arguments and keywords. Macros aren't possible either, due to overly complex syntax of Haskell, which impedes metaprogramming and complicates parsing for human and machine alike. API documentation is very lacking: if you want to use regexes, you start at Text.Regex.Posix, seeing that =~ and =~~ are the high level API, and the hyperlinks for those functions go to Text.Regex.Posix.Wrap, where the main functions are not actually documented at all, so you look at the type signatures, trying to understand them and they are rather intimidating (class RegexOptions regex compOpt execOpt => RegexMaker regex compOpt execOpt source | regex -> compOpt execOpt, compOpt -> regex execOpt, execOpt -> regex compOpt where). They are using multi-parameter type classes and functional dependencies. The signature really wont give you any clue to how to actually use this API, which is a science in itself. Haskell is a language where memoization is a PhD-level topic. Some people even employ C/C++ macros to work-around Haskell's complexity (http://lukepalmer.wordpress.com/2007/07/26/making-haskell-nicer-for-game-programming/)
- Haskell programming relies on mathematical modeling with type system (a version of mathematical Set Theory). If one does not use the type system for anything useful, it obviously will be nothing but a burden. Programs are limited by the expressiveness of the type system of the language - e.g. heterogeneous data structures aren't possible w/o reinventing explicit tagging. All that makes Haskell bad for prototyping or anything new, due to need of having design document with all types beforehand, which changes often during prototyping. Complex project are forced to reinvent dynamic typing. For instance, Grempa uses dynamic typing because the semantic action functions are put in an array indexing rule and production numbers (Ints) to functions, and they all have different types and so can not be put in an ordinary array expecting the same type for each element.
- The IDE options cannot be as good as those of dynamic programming languages, due to absence of run-time information and access to running program's state. Haskell's necrophilia forces you to work with "dead" code. Like other static languages, Haskell isn't well-known for its "reload on the fly" productivity. No eval or self-modifying code. Haskell code can't be changed without recompiling half of application and restarting the process. GHCI - is the best Haskell's interactivity can get, and still wont allow you to change types during runtime, while the single assignment semantics prevents redefinition of functions. As said Simon Peyton-Jones, "In the end, any program must manipulate state. A program that has no side effects whatsoever is a kind of black box. All you can tell is that the box gets hotter."
- Type system produced compile-time and link-time errors are distracting and make it harder to run and test your code, while type-checking isn't a substitute for testing, it is about correspondence to mathematical model, which has nothing to do with correctness - i.e. two numbers can be integers, but their quotient may still produce division by zero. Static-typing advocates say, "When your program type-checks, you'll often find that it just works", but this is simply not true for large, intricate programs: although type-checking may help you find model-related errors, it can't replace testing.
- Absence of dynamic scope, implicit open recursion, late binding, and duck typing severely limits Haskell, since there are things that can't be done easily without these features: you can't implement dynamic scope in general (and be type-safe) without converting your entire program to use tagged values. So in this respect, Haskell is inferior to dynamic typing languages.
- Syntax craziness: Haskell has a>>b>>c, do{a; b; c}, "do a; b; c", where `;` could be substituted by newlines, which is incredible confusing, especially when combined with currying and if/then/else blocks.
- Haskell makes it easy to write cryptic programs that no-one understands, not even yourself a few days later. Rich, baroque syntax, auto currying, lazy evaluation and a tradition defining an operator for every function - all help obfuscation a lot. As a general rule, Haskell syntax is incredibly impenetrable: who in their right mind thought up the operators named .&., <|> and >>=? Currying everywhere, besides making language slower, leads to spaghetti code and surprising Perl-style errors, where call with a missing or superfluous argument produces error in some unrelated part of the code.

Name: Anonymous 2013-06-29 22:46

>>3
>with typical Haskell code being 30x to 200x times slower than C/C++
http://stackoverflow.com/questions/6964392/speed-comparison-with-project-euler-c-vs-python-vs-erlang-vs-haskell

>C/C++
what is this?

>Poor backward compatibility
BS

Name: Anonymous 2013-06-29 22:49

python sucks

Name: Anonymous 2013-06-29 22:55

Lisp, C, Haskell, Perl, D. everything other popular language is a shit

Name: Anonymous 2013-06-29 22:55

>le meme arrows

Name: Anonymous 2013-06-29 22:57

>>7
>le epic meme arrows

Name: Anonymous 2013-06-29 22:58

>>3
le back to le /g/!

Name: Anonymous 2013-06-29 23:08

Haskell is for nerds.

Name: Anonymous 2013-06-29 23:42

>>7
>>8
>>9
These used to be 'quoting arrows' until meme-hungry kiddos perverted them.

Name: Anonymous 2013-06-29 23:50

>>9
Suffer, like /g/ did?

Name: Anonymous 2013-06-29 23:50

>>11
they are quoting arrows on the imageboards

on /prog/ a quote looks like this

Name: Anonymous 2013-06-29 23:52

[quote]quote[/quote]

Name: Anonymous 2013-06-29 23:53

>>14
your /g/ is showing

Name: Anonymous 2013-06-30 0:25

[quote]your /g/ is showing[/quote

fuck u faget!!!

Name: Anonymous 2013-06-30 0:28

>>15
>implying /g/ is not better than /prog/

Name: Anonymous 2013-06-30 0:58

>>17
yes, that's exactly what I was implying, thankyou for making it explicit

Name: Anonymous 2013-06-30 2:57

python always sucks hard because forced indentation behaves the programmer like a stupid fuck, just like the most of the python programmers. using python makes you stupid automatically./

Name: Anonymous 2013-06-30 3:32

python is good for beginners or ruby

Name: Anonymous 2013-06-30 5:01

Pascal is better for beginners than fioc and slow as fuck.

Name: Anonymous 2013-06-30 16:34

Python sucks .|!

Name: Anonymous 2013-06-30 17:22

Name: Anonymous 2013-06-30 17:56

>>> "php" > "Python"
true

Name: Anonymous 2013-06-30 18:06

>>21
pascal is as fast as c

Name: Anonymous 2013-06-30 21:31

python is shit

Name: Anonymous 2013-06-30 21:59

>>> "PHP" > "Python"
False

Name: Anonymous 2013-06-30 22:12

||| |||| ||||| | |||| ||||| "||||||" || |||| || || ||| |||| |||| | |||| |||||.

Name: Anonymous 2013-07-01 4:19

Python is okay faggot, fuck off.

Name: Anonymous 2013-07-01 17:33

>>29
no, fuck you

Name: Anonymous 2013-07-01 18:01

>>30
Screw you ANDRU, seriously stop pissing people off!

Name: Anonymous 2013-07-01 20:02

>>31
HE ARE NO ANDRU
I ARE ANDRU

Name: Anonymous 2013-07-01 20:44

Name: Anonymous 2013-07-01 20:50

Name: Anonymous 2013-07-01 20:55

Name: Anonymous 2013-07-01 21:06

Suck this python! *grabs dick*

Name: Anonymous 2013-07-01 21:25

>>36
I only suck unharmed penises.

Name: Anonymous 2013-07-02 0:22

Name: Anonymous 2013-07-02 0:27

Name: Anonymous 2013-07-02 0:32

Name: Anonymous 2013-07-02 18:58

bump

Name: Anonymous 2013-07-02 19:29

>>41
Why the fuck bump a spam-infested trollthread?

Name: Anonymous 2013-07-02 19:47

>>42
Shalom!

Name: Anonymous 2013-07-03 13:44

>>42
sage

Name: Anonymous 2013-07-06 14:25

Python can't into ENTERPRISE

Name: Anonymous 2013-07-06 15:14

|SPAM BEGONE

Name: Anonymous 2013-07-08 12:52

Don't let this thread die

Name: Anonymous 2013-07-08 23:36

bump

Name: Anonymous 2013-07-28 10:32

Why Python suck so much?!

Name: Anonymous 2013-07-28 11:07

>>49
https://www.google.com/search?q=Why+Python+sucks
About 2,750,000 results (0.23 seconds)
And thanks for the necrobump

Name: ANDRU 2013-08-01 11:57

PENIS ARE HARD

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