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

Resource for Language Criticism

Name: Anonymous 2011-07-21 12:18

Is there a site like http://yosefk.com/c++fqa/defective.html but for all other crappy languages? You know, they all have their weak points and can be ridiculed.

Name: Anonymous 2011-07-21 12:19

>>1
Your mother has a weak point.

Name: Woody Allen 2011-07-21 12:43

I wouldn't want to be a member of any club that would have me!

Name: Anonymous 2011-07-21 12:51

http://c2.com/cgi/wiki might be close.

Name: Anonymous 2011-07-21 12:52

Python is not as good as it is made out to be, in other words it suffers from a degree of hype. I'll try to argue this point. Potential detractors of the language usually lack the experience to criticize it authoratively. This is more true for Python as it is not (yet) common that people are coerced (by work, school) into learning and working with the language. So the detractors are few and drowned out by the vocal supporters.

The proponents of Python cite 'indentation' as the worst problem, this is a strawman argument 'this is the worst problem and its not really a problem'. This argument has been voted up presumably by people who like the language, because it is certainly not a good reason not to use Python.

Python is open source, and community driven from the beginning, attributes which give it support amongst people such as vocal blogger-developers (not necessarily the people who get the most done) who are credible proponents. Compare to java or C# whose main proponents have a commercial interest and as such have such devalued words that they can't credibly make any positive assertions about their products, and being commercial there are any number of detractors.

People often say Google use it a lot, the 'language of google', so it must be good. Now I suspect Google use it mainly for scripting and web programming.

I am far from an expert at Python, but I have done a couple of semi-serious projects in the language and will try to recall specifically what I didn't like.
- installation mentality, python has inherited the idea that libraries should be installed, so it infact is designed to work inside unix package management, which basically contains a fair amount of baggage (library version issues) and reduced portability. Of course it must be possible to package libraries with your application, but its not conventional.
- quite quirky e.g. __init__
- doesn't perform all that well
- no switch (why not??)
- poor utf support
- no outstanding feature (that I know of). closures and duck typing (all objects are hashes) are just dynamic language bread and butter.

Name: Anonymous 2011-07-21 12:53

>>4
c2 mainly bashes Lisp

Name: Anonymous 2011-07-21 13:11

>>6
not really.

Name: Anonymous 2011-07-21 13:12

>>5
closures and duck typing (all objects are hashes) are just dynamic language bread and butter.

and yet Python does both in such incredibly insufficient and braindead ways.

Name: Anonymous 2011-07-21 13:26

>>7
It does, but it bashes pretty much anything. It's fun to read.

Name: Anonymous 2011-07-21 13:30

Guido has eliminated lambda, map(), filter(), and reduce() from Python 3.0, sying in his blog, that "About 12 years ago, Python aquired lambda, reduce(), filter() and map(), courtesy of a Lisp hacker who missed them and submitted working patches. I think these features should be cut from Python 3000..." (http://www.artima.com/weblogs/viewpost.jsp?thread=98196)

"I don't like reading code that was written by someone trying to use tail recursion. It's the ultimate code obfuscation." --GuidoVanRossum

Name: Anonymous 2011-07-21 13:32

>>5
no outstanding feature (that I know of).
Ah, another toy "programmer", attracted by outstanding features. Python is not a toy language and is not supposed to provide intellectual stimulation to the likes of you.

Name: Lambda Cultist 2011-07-21 13:32

>>10
"I don't like reading code that was written by someone trying to use tail recursion. It's the ultimate code obfuscation." --GuidoVanRossum
BURN THE HERETIC!!

Name: Anonymous 2011-07-21 13:34

>>10
http://en.wikipedia.org/wiki/History_of_Python#Version_3.0
"the rationale being that operations using reduce are expressed more clearly using an accumulation loop"

Name: Anonymous 2011-07-21 13:37

>>13
How can one measure "clarity"?

Name: Anonymous 2011-07-21 13:43

Why drop lambda? Most Python users are unfamiliar with Lisp or Scheme, so the name is confusing; once map(), filter() and reduce() are gone, there aren't a whole lot of places where you really need to write very short local functions.

Name: Anonymous 2011-07-21 13:44

I find that more often than not the callbacks should be methods of some state-carrying object anyway (the exception being toy programs).

Name: Anonymous 2011-07-21 13:46

So now reduce(). This is actually the one I've always hated most, because almost every time I see a reduce() call, I need to grab pen and paper to diagram what's actually being fed into that function before I understand what the reduce() is supposed to do.

Name: Anonymous 2011-07-21 14:16

>>16
closures can carry state dude. Really easily.

Name: Anonymous 2011-07-21 14:17

Python (like most other scripting languages) does not require variables to be declared, like (let (x 123) ...) in Lisp. This means that Python can't even detect a trivial typo - it will produce a program, which will continue working for hours until it reaches the typo - THEN go boom and you lost all unsaved data.

Name: Anonymous 2011-07-21 14:22

>>19
Python (like most other scripting languages) does not require variables to be declared
This and the fact that arrays are accessed via ordinals and not offsets are the two reasons why I don't even want to try Lua.
Every non-Lisp high-level interpreted language is actually a shitty Lisp with a syntax, no exceptions.

Name: Anonymous 2011-07-21 14:30

>>20
Lisp isn't interpreted by design. Common Lisp is especially designed for compiler optimization. Eairly Lisps (ones with FEXPRs) were interpreted (for a good reason of theoretical elegancy), but had little in common with Python or Ruby (which use interpreter for a bad reason).

Name: Anonymous 2011-07-21 14:37

>>19
Python (like most other scripting languages) does not require variables to be declared

I wouldn't say most.

>>20
for instance, Lua makes you declare variables with the "local" keyword.

Name: >>20-san 2011-07-21 14:38

>>21
Where did I say that Lisp was interpreted?

Name: Anonymous 2011-07-21 14:39

>>23
No ``language'' is interpreted or compiled, you implied that.

Name: Anonymous 2011-07-21 14:45

Lisp is for faggots.

Name: Anonymous 2011-07-21 14:53

>>21
Python or Ruby (which use interpreter for a bad reason).

What's that?

Name: Anonymous 2011-07-21 14:56

>>24
I understand my error now.
But how would you classify languages such as FIOC and Haskell versus C and Assembly? I thought of using ``scripting languages'' but it is very imprecise.

Name: Anonymous 2011-07-21 15:00

>>27
>how would you classify languages such as FIOC and Haskell versus C and Assembly?
Haskell is compiled (although inefficiently), FIOC isn't.

Name: Anonymous 2011-07-21 15:04

>>27
Haskell is compiled, and is pretty efficient, FIOC is a badly designed language, C is too, Assembly is a set of mnemonics for an instruction set.

Name: Anonymous 2011-07-21 15:14

>>29
Haskell is pretty efficient
Haskell is lazy
Haskell disallows unsafe operations

/0

Name: Anonymous 2011-07-21 15:16

Even a simple print "Hello World" have to go through a bunch of inefficient monad synchronization hacks.

Name: Anonymous 2011-07-21 15:24

Simila to how a simple "Hello girl" greeting would have to go through a bunch of inefficient gonad synchronization hacks.

Name: Anonymous 2011-07-21 15:41

>>30
You're so stupid.

Name: Anonymous 2011-07-21 15:46

>>33
Try being constuctive for a change.

Name: Anonymous 2011-07-21 15:46

>>30
/0
Is that imageboardian for IHBT? IHBT.

Name: Anonymous 2011-07-21 15:52

>>32
bahahaha

Name: Anonymous 2011-07-21 16:07

Name: Anonymous 2011-07-21 16:10

>>37
x/0 = ∞ if x != 0.

Name: Anonymous 2011-07-21 16:30

infinity doesn't exist.

Name: Anonymous 2011-07-21 16:57

>>39
Go back to russia.

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