Live data from Hacker News

No, shut up. What statistical programming languages can learn from Dropbox.

erehweb.wordpress.com

1–10 of 58 posts

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#2
The code that makes him say "what a mess," I think is beautiful:

  def summary(data, key=itemgetter(0), value=itemgetter(1)):
    for k, group in groupby(data, key):
      yield (k, sum(value(row) for row in group))
Perhaps that's because I'm a programmer, and Python is a general purpose programming language. But I think that's what his complaint boils down to: the Python statistical code looks too much like Python. Which, yeah, it does. Python is a general purpose programming language, not a domain specific language for statistical programming.

However, I don't think the programming concepts one needs to understand to make effective use of a well designed Python library are too much to ask. I've only dabbled in R, but when I did, it required me to exercise my general programming knowledge to understand list, matrices and functions. I think the author is also falling in the trap of what is obvious to him is obvious to everyone. I'm actually not sure of what the SAS code is doing, and much prefer the Python.

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#6
post #2

The code that makes him say "what a mess," I think is beautiful: def summary(data, key=itemgetter(0), value=itemgetter(1)): for k, group in groupby(data, key): yield (k, sum(value(row) for row in group)) Perhaps that's because I'm a programmer, and Python is a general purpose programming language. But I think that's what his complaint boils down to: the Python statistical code looks too much like Python . Which, yeah…

I also prefer this python code to the SAS example listed. I have been trying to brush up on statistics over the last couple of years and I think this article points to an issue that occurred to me. Namely that when somebody says they "know statistics" it sort of has to mean that they know one of the big stats packages out there. It doesn't appear that anybody is really doing stats from first principles anymore. It seems like there are differences in terminology between one author and another and now with the different programing models there is a whole new level of incompatibility.

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#7
Memo to designers of statistical programming languages: You may say “What about tuples, lambda functions, generator objects?” No, shut up. People don’t use that crap. But they do want pivot tables, graphs, and to be able to read in and parse data.

>> And those people aren't Statisticians or Computer Scientists!!! >> Stick to Excel or SAS or whatever shiny toy you have. >> Real statisticians need everything from tuples to generators! >> This is a good example of linkbait (Dropbox is not at all related) article written by a complete noob. >> This is like telling Amazon to design their S3 API like dropbox.

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#8
post #2

The code that makes him say "what a mess," I think is beautiful: def summary(data, key=itemgetter(0), value=itemgetter(1)): for k, group in groupby(data, key): yield (k, sum(value(row) for row in group)) Perhaps that's because I'm a programmer, and Python is a general purpose programming language. But I think that's what his complaint boils down to: the Python statistical code looks too much like Python . Which, yeah…

Perhaps that's because I'm a programmer, and Python is a general purpose programming language.

Exactly. You shouldn't have to be a programmer to do statistics. Just like you shouldn't have to be a network engineer to share files. What if DropBox had stuff in there about http, ports, levels of service, bandwidth, etc... You'd probably say, "Great! I always wnated to specify that DropBox use SSL4.7 draft B over CDMA EvoX.1 -- who wouldn't?"

When you're doing a DSL make it is as simple as possible. And if you have time, in v2, give it hooks to just break out and do crazy stuff... but the 90% case should be simple as pi.

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#9
post #2

The code that makes him say "what a mess," I think is beautiful: def summary(data, key=itemgetter(0), value=itemgetter(1)): for k, group in groupby(data, key): yield (k, sum(value(row) for row in group)) Perhaps that's because I'm a programmer, and Python is a general purpose programming language. But I think that's what his complaint boils down to: the Python statistical code looks too much like Python . Which, yeah…

Yes, I like the Python also, but you have missed the point. For MBA-types, business types, and scientists the programming concepts are too much to learn. Why should they have to learn programming when their needs are simple? It is not just "keep it simple", it is "keep it simple" for non-programmers.

Re: No, shut up. What statistical programming languages can learn from Dropbox.

#10
post #2

The code that makes him say "what a mess," I think is beautiful: def summary(data, key=itemgetter(0), value=itemgetter(1)): for k, group in groupby(data, key): yield (k, sum(value(row) for row in group)) Perhaps that's because I'm a programmer, and Python is a general purpose programming language. But I think that's what his complaint boils down to: the Python statistical code looks too much like Python . Which, yeah…

>Python statistical code looks too much like Python. Which, yeah, it does. Python is a general purpose programming language, not a domain specific language for statistical programming.

I have to agree (with your criticism). I spend most of my day in SAS and R, and my Python is limited to tweaking code from my colleagues, but I don't see how either the SAS or Python listed is better or worse than the other.

I actually like the quote in the article reg. DropBox's simplicity, but I don't get the relationship to statistical programming languages.

Post reply on HN