News for hackers. Stuff that matters.
Re:Probabilistic programming does in 50 lines of code what u... by baldfat on Monday April 13, 2015 @02:52PM (#9369594)
What do we say about languages built on C? Is it 100 lines of code but there are hundreds of thousands of lines of code for that higher level language you just coded?

I don't think libraries count in terms of code. We all use code to program. Standing on the shoulder that preceded us. Using a library and a function should just count for the most part.

Re:Probabilistic programming does in 50 lines of code what u... by jarrettc on Monday April 13, 2015 @03:51PM (#9369984)
True, but the parent commenter is getting at something important. The article suggests that researchers have found a new, much more concise way to express the solutions to difficult problems. That's different from a library, which merely packages pre-built solutions to a finite set of problems.

It's like the difference between a complete kitchen that fits in your pocket and an iPhone app that lets you order a burrito. The article suggests something like the former. A library which encapsulates 1000 lines of code into a single function call is like the latter.

Re:Probabilistic programming does in 50 lines of code what u... by derefr on Monday April 13, 2015 @07:55PM (#9371277)
Even a "kitchen that fits in your pocket" isn't general enough. A library that parses a DSL, such that you can then code in that DSL, is still a lame duck if that library, plus the encodings of all the useful solutions in the domain, add up to more code than just the solutions would be when expressed in a general language. The ROI of (learning the DSL + maintaining the library) would be negative.

On the other hand, there are things like Prolog. You can think of Prolog as a backtracking constraint-solving library, and then another library that parses a DSL for expressing facts and procedural constraints and feeds it to the first library. But Prolog's language isn't really a DSL, because it isn't particular to any domain: there's no closed solution-space where Prolog applies. The efficiency gains you get from Prolog's elision of proceduralized contraint-solution code can apply to any program you write. And so its value is unbounded; its ROI is certainly positive, whatever the cost was to implement it.

That's the comparison that's useful here, I think. Is this something that only solves problems in one domain? Or is this something that could be applied to (at least some little bits of) any problem you encounter?

Re:Probabilistic programming does in 50 lines of code what u... by baldfat on Monday April 13, 2015 @04:11PM (#9370127)
Some languages are almost UNUSABLE without libraries. Looking at R with the dplyr, ggplot2, reshape 2 packages being mandatory for my work flow.

Python also has some mandatory libraries if you want to do any specific. Numpy and pandas for statistical analysis make them required.

My code is concise and clean but it is because of these libraries.

I am also certain that there are exceptions.

Re:Probabilistic programming does in 50 lines of code what u... by x0054 on Tuesday April 14, 2015 @01:00AM (#9372189)
I think stevenspasbo did not mean to criticize the progress in this area, but rather just point out the misleading title of the article. Unless you program everything in pure ASM, Bios and up, you always stand on the shoulders of others, that's how since works. But the title of the article, "Probabilistic programming does in 50 lines of code what used to take thousands," makes it sound as if there was a solution to these complex problems that could be expressed in 50 lines of code all along, and only now did we figure it out. The truth is, people have written thousands of lines of code, and put them into libraries, and now those tools can be used and leveraged to express complex solutions more easily.
Re:Probabilistic programming does in 50 lines of code what u... by stevenspasbo on Wednesday April 15, 2015 @07:20PM (#9384897)
Thank you, that's exactly what I meant.
Re:Probabilistic programming does in 50 lines of code what u... by Liru on Monday April 13, 2015 @05:04PM (#9370488)
How about C itself? Hello World is about 850 lines of code after you run the preprocessor on it.
Re:Probabilistic programming does in 50 lines of code what u... by duaneb on Monday April 13, 2015 @07:00PM (#9371078)
You do not need 850 lines of code to output "hello world" unless you actually include a header. You could just stub printf instead of including and get it done with like 10 lines of code.
Re:Probabilistic programming does in 50 lines of code what u... by baldfat on Monday April 13, 2015 @08:46PM (#9371426)
Assembly: Microsoft Macro Assembly "Hello World"

        .MODEL  TINY
        .CODE
CODE SEGMENT BYTE PUBLIC 'CODE' ASSUME CS:CODE,DS:CODE ORG 0100H DB 'HELLO WORLD$', 0 INC DH MOV AH,9 INT 21H RET
Re:Probabilistic programming does in 50 lines of code what u... by FreeFull on Tuesday April 14, 2015 @09:04AM (#9373860)
And then the interrupt calls into DOS code, which then calls into BIOS code, which then has the hardware do the work. The hardware itself will do stuff like translating instructions into microcode..
Re:Probabilistic programming does in 50 lines of code what u... by spb on Monday April 13, 2015 @03:52PM (#9369990)
If dependencies don't count as code, then I can implement the entire Linux kernel in one line.