Readit News logoReadit News
SNBasti · 9 years ago
Well, it's obvious that there will be an improvement in specifiying the syntax for a computer program as it has been for the last decades.

e.g. Assembler -> C -> C++

There recently has been a post @ HN about the missing programming paradigm (http://wiki.c2.com/?ThereAreExactlyThreeParadigms). With the emerge of smarter tools, programming will get easier in one way or the other, releasing the coder from a lot of pain ( as C or C++ did realse us from tedious, painful assembler ). However, I am quite sure that it won't replace programmers since our job is actually not to code but more to solve a given problem with a range of tools. Smarter tools will probably boost productivity of a single person to handle bigger and more complex architectures or other kinds of new problem areas will come up. Research will go faster. Products will get developed faster. Everything will kind of speed up. Nevertheless, the problems to get solve / implement will remain until there's some kind of GAI. If there's an GAI smart enough to solve our problems probably most of the Jobs have been replaced.

petra · 9 years ago
>> our job is actually not to code but more to solve a given problem with a range of tools.

Actually, often the most valuable thing a programmer can do is build a tool/dsl that lets the domain experts(or cheaper labor) to solve problems.

So if a programmer just solves problems, he will probably have some serious competition.

golergka · 9 years ago
Best programmers are domain experts. The line will just continue to blur.
beaconstudios · 9 years ago
we don't need anything as complex as AI to seriously boost programmer productivity. I'm working on a suite of tools that should do just that for web developers, and there's no plans for AI/ML integration just yet.
glangdale · 9 years ago
It's intriguing, particularly in cases where the code written could be verified against a specification or at least comprehensively fuzz-tested against a 'known good' version of the program. A mildly terrifying thought for a performance programmer - the idea that, perhaps, someone could just write some sloppy Python code to solve a program "at some speed" and have a automated system iterate it into some tuned, SIMD-laden, C/C++ horror-show.

While of course we have optimizing compilers to do this sort of thing now, you could imagine automated systems that attempt to preserve clarity and simplicity as they do it - and such a system could work semi-supervised, iterating with a human in the loop to steer the system towards more comprehensible solutions.

petra · 9 years ago
Well, for math we're already here: http://www.spiralgen.com

It's optimizes math code, both at the math level and the implementation level, and Intel have used it to optimize their performance libraries.

amelius · 9 years ago
> Well, for math we're already here

No, they are here:

> SpiralGen holds the exclusive license to the Spiral software generation and optimization technology.

But I wonder how that can be true if:

> Spiral was developed under the lead of Carnegie Mellon University

tluyben2 · 9 years ago
Nice, I did not see that one yet; any papers on how it works?
wybiral · 9 years ago
So this is how the uprising happens.

First they came for the factory workers. Then they came for the accountants. Then they came for the drivers...

Then they came for me.

astrodust · 9 years ago
Clearly we should bring a bot to coding interviews.
wybiral · 9 years ago
Nah, the bots will just use it as training data.
jgorn · 9 years ago
But can a bot pass a whiteboard session?
tonmoy · 9 years ago
I mean that's how most circuit designers lost their jobs to CAD/EDA tools, why should software engineers be different?
kevinnk · 9 years ago
Circuit designers didn't lose their jobs to EDA tools any more than software developers lost their jobs to compilers.
deepnotderp · 9 years ago
Circuit designers did not lose their jobs to eda... try putting 12 billion transistors together by hands...
wybiral · 9 years ago
Don't fuel my paranoia. I'm researching luddism right now.
argonaut · 9 years ago
For actual in-depth technical discussion / criticism of the paper, you can read its ICLR peer reviews (and other public comments): https://openreview.net/forum?id=ByldLrqlx
ainiriand · 9 years ago
Programming is easy if specs are frozen. I want to see that neural network discuss with my managers about inputs/outputs. Good luck.
bnegreve · 9 years ago
Machine learning algorithms are actually quite good at solving poorly specified problems. They learn from examples and don't require any definite problem specification.

For example, recognizing people in a picture is almost impossible to specify but relatively easy to learn, given enough examples.

Next time your facing a poorly specified problem, don't ask for a clear spec, instead ask for a million examples and train a deep net to solve it :)

TheOtherHobbes · 9 years ago
Wait until the managers are replaced.
EvgeniyZh · 9 years ago
That's interesting that the paper was on arxiv since November ( https://arxiv.org/abs/1611.01989 ) and people payed attention just now.
argonaut · 9 years ago
Not much actually technically-grounded ML discussion occurs on Hacker News.
NegatioN · 9 years ago
I somewhat agree. It's more often than not headlines, anecdotes and philosophy about ML. But where is the common denominator high enough to talk about it in a deeper way?

I've visited /r/machinelearning, /r/computervision /r/reinforcementlearning, and although they are often better than HN, they also either partly suffer from the same condition, or are almost dead with no real activity.

TLDR; what are some good places to hang out for good ML discussions and news?

lostmsu · 9 years ago
That's because, AFAIK, no any meaningful problems were solved by this algorithm yet. I'm not even sure it can make a Max(array) on its own.
EvgeniyZh · 9 years ago
Yet now it's hyped
zump · 9 years ago
Then why's it worth discussion?

Why is there no "general" deep learning algorithm?!

vikiomega9 · 9 years ago
Would a potential roadblock for such systems be automatic verifiability? Consider that a system provides a ranked list of possible code snippets someone would still need to pick from these choices and test it.
tluyben2 · 9 years ago
Just like humans program; you write code and have unit tests (if you are lucky). What is different about this? It has the same inputs / outputs so the unit tests will be there. Formal verification would be better; aka having a model for the original and having the computer prove that new version is mathematically identical to the original. But both the formal verification and the transformation proof are far off for almost all software projects in practice.
dualogy · 9 years ago
Who's writing the unit tests, the same bot as writes the code? The customer?
faragon · 9 years ago
My two cents:

1) Write programs easy to understand at first glance

2) Write code easy to delete

3) Write considering costs: target zero -or as low as possible- maintenance costs

4) Write code for both fun and profit