[HN Gopher] Automating programming: AI is transforming the codin...
___________________________________________________________________
Automating programming: AI is transforming the coding of computer
programs
Author : edward
Score : 76 points
Date : 2021-07-09 14:38 UTC (8 hours ago)
(HTM) web link (www.economist.com)
(TXT) w3m dump (www.economist.com)
| primaryobjects wrote:
| Interesting timing, as tomorrow I will be presenting on this very
| topic.
|
| "AI programmer: autonomously creating software programs using
| genetic algorithms"
|
| https://dl.acm.org/doi/10.1145/3449726.3463125
| neatze wrote:
| So awesome!, rip my weekend plans, I have done similar thing
| for fun using python and modifying class dictionary (half
| working), more in scope of multi-objective optimization.
| AnimalMuppet wrote:
| Interesting. Would you mind telling me what the largest (in
| lines of code) working program it has created is?
| primaryobjects wrote:
| One of the largest programs generated had consisted of about
| 300 instructions.
|
| This particular program included if/then conditionals,
| counting down in a loop, concatenation of a numeric value
| with text, and displaying output.
|
| The system also attempts to optimize the number of
| programming instructions executed, in which case complexity
| can actually be considered based upon the resulting behavior,
| rather than LOC.
| AnimalMuppet wrote:
| That's... decent. It's a lot larger than I ever got with a
| GA.
|
| I don't think we're ever going to get a GA to produce an
| air-traffic control system, or a database, or an OS. But
| 300 lines (that work) is further than I was aware had been
| possible.
| ausbah wrote:
| co-pilot seems great at automatically writing boilerplate code,
| but iffy at doing anything novel - like most supervised learning
| systems
| Animats wrote:
| We may get automated programming, but not by the GPT-3 route.
| GPT-3 is a generator for moderately convincing meaningless
| blithering. It says something about the nature of discourse that
| GPT-3 is better than many pundits.
|
| Here's a GPT-3 generated manual for a "flux capacitor".[1] It's a
| fun read, but meaningless. When the output text needs to
| integrate a collection of hard facts, GPT-3 is not helpful.
|
| [1] https://archive.is/lQFHC
| minimaxir wrote:
| In the context of code generation, coding typically follows
| patterns, which GPT/Transformers is very, very good at
| identifying.
| WFHRenaissance wrote:
| GitHub Copilot arrives from the future. Nothing human makes it
| out of the near-future. It's probably already too late to mount a
| meaningful counter-revolution. The average software engineer's
| status and usefulness are eroding faster than ever. There's
| almost nothing you can do. If you're above average, I suggest you
| try to start a business and con a VC before this thing blows. If
| you're below average... good luck, and I mean that in the most
| sincere way. It's possible that a career pivot is your best bet.
| Eastern European devs were coming for your jobs anyways, but we
| just took a leap instead of a step with Copilot. Sure this is a
| bit exaggerated, but to be clear... in this matter, the truth is
| that we haven't seen anything yet.
| DantesKite wrote:
| Sam Altman made the interesting observation that people who
| program might lose their jobs faster than people who move
| things around physically.
|
| Which is funny when you think about it, but it does seem like
| it's headed in that direction.
| WFHRenaissance wrote:
| I think a majority of Web jobs will be automated before most
| "trade" workers are automated. It just makes sense. The
| nature of Web work itself sort of self-documents the
| interfaces one would need to hand to a non-technical. Trade
| work on the other hand is dangerous, extremely context
| specific, and can't be done entirely from a datacenter.
| ausbah wrote:
| this is really exaggerated and really really pretentious jesus
|
| coding is only a fraction of SWEing, sure Copilot writes some
| code for you - but can it work with stakeholders, manage the
| complexity of a complicated code base, or any other part of a
| engineer's job
| WFHRenaissance wrote:
| Gathering requirements will be the product manager's job.
| Implementation will be the job of the top fraction of our
| field. Complexity can be managed by a team of humans a
| fraction of the size of your current team. If you're a
| competent engineer, you have a better future ahead of you but
| if you're doing routine work or templating boilerplate...
| it's almost over for you.
| salawat wrote:
| My dream in life is to work myself out of a job. To take a bunch
| of the hard frustrating stuff out of things, the next guy doesn't
| have to suffer through solving the same problems.
|
| With programming, solutions aren't physically quantized except in
| the sense sufficiently skilled person hasn't run into an
| articulation of problem and solution they can actually understand
| yet.
|
| Programmers aren't an odd bunch. We just like writing
| encyclopedias that people can read, understand, and build off of
| so someone can find something cool to do with it.
|
| There's just a point where as system appreciating people, we can
| see where our own work is obviated or worked against if you just
| toss it at a machine that mangled it in such a way where the
| underlying ideas and knowledge is lost.
| YeGoblynQueenne wrote:
| This article of course presents automatic programming as if it's
| a brand new thing that is only now possible to do thanks to "AI",
| but that is only how companies that sell the technology find it
| convenient to present things to market their products. The thing
| to keep in mind is that program synthesis is an old field and a
| lot of progress has been made that is completely ignored by the
| article. Of course most people haven't even heard of "program
| synthesis" in the first place, simply because it is not as much
| hyped as GPT-3 and friends.
|
| From my point of view (my field of study is basically program
| synthesis for logic programs) code generation with large language
| models is not really comparable to what can be achieved with
| traditional program synthesis approaches.
|
| The main advance seems to be in the extent to which a natural
| language (i.e. English) specification can be used, but natural
| language specifications are inherently limited because of the
| ambiguity of natural language. Additionally, trying to generate
| new code by modelling old code has the obvious limitation that no
| genuinely new code can be generated. If you ask a language model
| to generate code it doesn't know how to generate - you'll only
| get back garbage. Because it has no way to _discover_ code it
| doesn 't already know how to write.
|
| So Copilot, for example, looks like it will make a fine
| boilerplate generator - and I'm less skeptical about its utility
| than most posters here (maybe partly because I'm not worried _my_
| work will be automated) but that 's all that should be expected
| of it.
| plutonorm wrote:
| Said all of the vision researchers before they got blown out of
| the water by convolutions neural networks. Adapt or die.
| charcircuit wrote:
| CNNs can't recognize what they haven't been trained on.
| codetrotter wrote:
| > This article of course presents automatic programming as if
| it's a brand new thing that is only now possible to do thanks
| to "AI", but that is only how companies that sell the
| technology find it convenient to present things to market their
| products.
|
| Reminds me of this essay that pg wrote in 2005, titled The
| Submarine. Someone linked it in another thread here on HN
| recently.
|
| > One of the most surprising things I discovered during my
| brief business career was the existence of the PR industry,
| lurking like a huge, quiet submarine beneath the news. Of the
| stories you read in traditional media that aren't about
| politics, crimes, or disasters, more than half probably come
| from PR firms.
|
| http://www.paulgraham.com/submarine.html
| montenegrohugo wrote:
| Hmmm. A few points.
|
| First, I've never heard of program synthesis, and it seems like
| an interesting topic. Could you point me to some resources so I
| can learn more about it?
|
| Second. I take issue with this statement:
|
| > "trying to generate new code by modelling old code has the
| obvious limitation that no genuinely new code can be generated"
|
| I disagree. We've seen GAN's generate genuinely new artwork,
| we've seen music synthesizers do the same. We've also seen
| GPT-3 and other generative text engines create genuinely
| interesting and innovative content. AI dungeon comes to mind.
| Sure, it's in one way or another based on it's training data.
| But that's what humans do too.
|
| Our level of abstraction is just higher, and we're able to
| generate more "distinct" music/code/songs based on our own
| training data. But that may not hold in the long term, and it
| also doesn't mean that current AI models can do nothing but
| regurgitate. They _can_ generate new, genuinely interesting
| content and connections.
| throwawaygh wrote:
| _> First, I 've never heard of program synthesis, and it
| seems like an interesting topic. Could you point me to some
| resources so I can learn more about it?_
|
| I'll leave it to the GP to give a lit review, but will say
| that CS has (always had) a hype-and-bullshit problem, and
| that knowing your history is good way to stay sober in this
| field.
|
| _> We 've also seen GPT-3 and other generative text engines
| create genuinely interesting and innovative content._
|
| Making things humans find entertaining is easy. Markov chains
| could generate genuinely interesting and innovative poetry in
| the 90s. There's a Reply All episode on generating captions
| for memes or something where the two hosts gawk in amazement
| at what's basically early 90s tech.
|
| _> They can generate new, genuinely interesting content and
| connections._
|
| Have you ever dropped acid? You can make all sorts of
| fascinating content and connections while hallucinating.
| Seriously -- much more than when you're sober. Probably
| shouldn't push to prod while stoned, though.
|
| Art and rhetoric are easy because there's really no such
| thing as "Wrong". That's why we've been able to "fake
| creative intelligence" since the 80s or 90s.
|
| Almost all software that people are paid to write today is
| either 1) incredibly complicated and domain-specific (think
| scientists/mathematicians/R&D engineers), or else 2)
| interfaces with the real world via either physical machines
| or, more commonly, integration into some sort of social
| processes.
|
| For Type 1, "automatic programming" has a loooong way to go,
| but you could imagine it working out eventually. Previous
| iterations on "automatic programming" have had huge impacts.
| E.g., back in the day, the FORTRAN compiler was called an
| "automatic programmer". Really.
|
| For Type 2, well, wake me up there's a massive transformer-
| based model that only generates text like "A tech will be at
| your house in 3 hours" when a tech is actually on the way.
| And that's a pretty darn trivial example.
|
| There is a third type of software: boilerplate and repetitive
| crap. Frankly, for that third type, I think the wix.com model
| will always beat out the CoPilot model. And it's frankly the
| very low end of the market anyways.
| xaduha wrote:
| Wake me up when it starts deleting bad code instead of producing
| more of it.
| ollien wrote:
| I can't read past the fold here (paywall), but assuming this is
| about Copilot, it feels a bit disingenuous to suggest it's
| already "transforming" software development. It's a cool tool,
| but it's not even available to everyone.
| sitkack wrote:
| Judging from the turmoil both here and on twitter about
| Copilot, it has already made a _huge_ impact.
|
| Two more papers down the line.
| ollien wrote:
| Impact? Sure. Especially given the controversy around how
| it's trained. I just don't know that I'd suggest it's changed
| software development as we know it.
| cjg wrote:
| https://archive.is/bTkFX
| ollien wrote:
| Thanks for the link! The article feels a lot closer than the
| headline/first two paragraphs to what I actually see going
| on.
| js8 wrote:
| I think Copilot is as helpful to programmers as ELIZA is helpful
| to psychiatrists.
|
| I don't think it really understands code, only very superficially
| (unlike GPT-3 which might actually genuinely understand parts of
| language, computer code requires more abstracted mental model).
| ELIZA was similar, some people also believed that it can
| understand what they are thinking. Turns out it was all just in
| our heads.
| qsort wrote:
| I'm not even remotely worried for my job security, but I don't
| think the ELIZA comparison is apt.
|
| ELIZA is clearly a toy, Copilot is something that could become
| integrated with the workflow of a professional developer. Maybe
| not copilot specifically, but if Intellisense is in our IDEs
| already, something like it is not a stretch.
|
| > I don't think it really understands code
|
| It clearly doesn't, but (a) nobody actually claimed that
| outside of the usual media circus, and (b) that's a very high
| bar. It doesn't need to understand your code in order to be
| useful.
| ska wrote:
| > ELIZA is clearly a toy,
|
| That's a red herring. The "Eliza effect" has nothing to do
| with how toy-like ELIZA actual was, it is a lesson about how
| humans were very bad at evaluating its actual capability and
| insight. This continues to be true today, and is an effect
| with at least some impact on essentially any AI/ML system
| that people interact with.
| js8 wrote:
| ELIZA wasn't "clearly a toy" when it appeared. It actually
| confused people.
|
| I don't deny that good suggestions are useful in coding. I am
| just not sure you can get these by mimicking other people's
| code without really understanding it.
|
| I think the reason why code is different than natural
| language is that in code, the meaning of identifiers (words)
| is very dependent on the context of the specific codebase,
| and not nearly as universal as in natural language. Sure,
| there are words like personal names in natural language that
| change meaning depending on wider context, but they are not
| as common in the natural text.
|
| So focusing on the names only, rather than for example
| understanding types of runtime objects/values, and how they
| change, can be actually actively harmful in trying to
| understand the code and making good suggestions. So I would
| believe that suggestions based on e.g. type inference would
| be more useful.
|
| There is another aspect to this, text has inherently low
| entropy, it's somewhat easy to predict the next symbol. But
| if code has low entropy (i.e. there are universal patterns
| that can be applied to any codebase in a particular
| programming language), I would argue that this is inefficient
| from the programmer's point of view, because this entropy
| could probably be abstracted away to a more condensed
| representation (which could be then intelligently suggested
| based on semantics rather than syntax).
|
| In other words, I think the approach assumes that the
| probability of the next word, based on syntax, is similar to
| probability of the next word, based on semantics, but I don't
| believe that's the case in programming languages.
| feoren wrote:
| Copilot is clearly a toy.
| falsaberN1 wrote:
| I have played with GPT3 and similar lesser models for a while,
| and in my opinion it doesn't understand anything. It's good at
| correlation (it might figure out a pikachu is a pokemon or that
| The Wall is a music album) which is kinda amazing but
| ultimately seems to be really "useless"* and it's not
| deterministic.
|
| I think the current "AI" models will never understand a thing
| unless they become able to update their own models and have
| some guiding logic to them. Sure it has the context tokens so
| it might give a little illusion of following along, but the
| randomness of it all also means it will get wrong stuff that it
| got right before (and vice versa) and will clearly break the
| illusion when prodded ("pikachu is a purple dragon", "The Wall
| was composed by Metallica"). It's unfortunate.
|
| GPT3 and other text models have no sense of state. You can have
| the same instance work with 2 (or more) different persons and
| text provided by user A will have no bearing on anything user B
| does, since it's just trying to complete the provided text in
| form of tokens. As computationally intensive as it is, the
| whole thing is a lot simpler than it seems.
|
| It's like we managed to get the "learning" part of intelligence
| more or less right, but nothing else yet. I always wanted to
| have an AI "trusted assistant" kinda thing, but even the
| biggest GPT3 models don't give me much in terms of trust.
| Wouldn't trust it to turn a lamp on and off as it is. (I know
| GPT3 is just a text model but you know what I mean). And if it
| happens, it won't be run locally because the hardware
| requisites for this stuff are obscene on a good day, which
| opens a few cans of worms (some of which have been opened
| already).
|
| *useless as in getting anywhere close to intelligence. It can
| become decent entertainment and might have some interesting
| uses to correlate datum A to datum B/C/D, recognition and so,
| but so far it's just fancy ELIZA. An "educated guess engine" at
| best.
| wongarsu wrote:
| > unlike GPT-3 which might actually genuinely understand parts
| of language, computer code requires more abstracted mental
| model
|
| Shouldn't computer code be simpler to understand and express
| than natural language? The amount of knowledge about the world
| is much smaller and mostly concerns artificial systems. And of
| course programming languages are laughably simple and well
| defined compared to the constantly evolving mess that is the
| English language.
| lambdaba wrote:
| What would it mean to "understand" it. Imagine a program
| written by such a system, it's easy to imagine an immensely
| complex question about the system that sounds simple, for
| instance asking about design choices, code architecture,
| aesthetic choices like expressivity. Even if it could produce
| some code, we couldn't say it understood it if it couldn't
| answer those questions, and those are very difficult
| questions which would require human-level intelligence, and
| even more a human psyche.
| js8 wrote:
| In programming languages, it is much more common to define
| new words (symbols) than in natural language. The identifier
| (name) of the symbol (word) in such case is less informative
| about its nature than the actual definition, and I think this
| is the Achilles heel of the method.
| lambdaba wrote:
| Yes, programming languages are simple, programs are
| infinitely complex, they could express anything, and
| homoiconic languages can even define their own syntax.
| ChrisMarshallNY wrote:
| The thing that so many folks seem to forget about programming, is
| that the most problematic part of the whole thing is the
| Requirements Phase. That's where the most serious problems occur,
| and they are often in the form of ticking time bombs that explode
| while the project is well underway. A good implementation team
| knows how to stop assuming, and get more information from the
| requirements authors.
|
| No matter how "smart" the implementation process is, we have the
| principle of "GIGO" (Garbage In; Garbage Out). Automated
| implementation has the potential to be a garbage multiplier.
|
| There will always be a need for highly specific, accurate and
| detailed specifications. If a machine does the work, and makes
| assumptions, then that means the input needs to be of _even
| higher_ quality than we see nowadays (See "GIGO," above).
|
| I see the evolution of "Requirement Specification Languages,"
| which, I suspect, will look an awful lot like code.
| [deleted]
| ipaddr wrote:
| Is sharing anything on github dead now? Should it be?
| neonate wrote:
| https://archive.is/bTkFX
| sly010 wrote:
| AI has an issue that AI assistants tends towards mediocrity.
|
| In the mid-term this is great for sub-mediocre AI users who
| seemingly get a boost in performance/quality, etc, but people
| tend to not recognize that in the long term there is a dangerous
| feedback loop. AI models just regurgitate their training,
| pretending it's state of the art.
|
| Every now and then people bring up the fact that relevant long
| tail Google results are no more. Every time we click through on
| the first page, we are collectively training google to be
| mediocre and in exchange it's training us to be the same.
|
| We had the same debate around criminal profiling, insurance,
| credit ratings, automated censorship, even 'art'.
|
| Programming won't be that different. It will be even useful in a
| limited sense. AI will give a lot of mediocre results for
| mediocre questions and the wrong answer for 'new' questions, but
| we won't know which one is which. But remember that in the long
| term we are feeding the outcome back to the models, so it's not
| real progress, it's just a proliferation of "meh".
| rjsw wrote:
| We could feed CAD files into the same engine and get ... the 737
| MAX.
| ok2938 wrote:
| One thing to keep in mind: With every request-response cycle for
| the probably upcoming paid service, you are feeding constant data
| points to a commercial entity. Basically your typing habit, the
| project development over time, the bugs, the fixes, all will be
| recorded.
|
| Think about it, one well paid profession in the grips of capital
| siphoning off valuable, highly intellectual work (by using "open
| source" already), repackaging it and the selling it back to the
| people it aims to replace.
|
| Imagine a million lawyers' days being recorded in 60s intervals -
| including what they type, the files they have opened, etc. - how
| long would it take to encode the average lawyer into a hdf5 file?
| How many lawyers would be fine with that kind of assistance?
|
| If that's not ingenious, then I do not know what is.
|
| Call to action: Programmer, wake up.
|
| Edit: Just to address some typical rebuttals - I'm all for
| progress and cool toys, but I'm all against monopolies and mega-
| corps that control and monitor every aspect of your life.
| staticassertion wrote:
| > how long would it take to encode the average lawyer into a
| hdf5 file
|
| I'd say, minimally, a good 50 years, except perhaps for the
| busywork. At that point you could maybe have a tool that could
| handle a lawyer's job. Law's often an extremely creative,
| verbal, expressive job, so I think machines are particularly
| unlikely to do well there.
|
| I'm not worried about being automated away. If someone wants to
| make coding easier, neat, I'm not a programmer, that's just how
| I get shit done. I solve complex problems, and I don't see
| machines taking that job for a long, long time.
|
| Frankly, if machines can take away the mechanical bullshit part
| of a job and let us humans do the interesting, creative work,
| that works for me.
| kwhitefoot wrote:
| > Frankly, if machines can take away the mechanical bullshit
| part of a job and let us humans do the interesting, creative
| work, that works for me.
|
| How much "interesting, creative work" is there? Surely most
| of the work that most of us do, and that most of us are
| capable of and interested in, is not simultaneously
| interesting and creative.
|
| I count myself as lucky and I have certainly had a more
| interesting working life than average but the proportion of
| that forty years of work that counted as both interesting and
| creative is probably, looking back on it, measured in single
| digit percentage points.
|
| If a machine does all the easy stuff how would I ever get
| enough practice to stretch myself to the difficult creative
| parts?
| staticassertion wrote:
| > How much "interesting, creative work" is there?
|
| I would imagine that the answer is roughly "infinite". It's
| like asking "how much art is there?" - infinite.
|
| > If a machine does all the easy stuff how would I ever get
| enough practice to stretch myself to the difficult creative
| parts?
|
| By doing the easy stuff? I don't know, you can do whatever
| you want.
| icoder wrote:
| The mechanical bullshit part is being abstracted away time
| and time again and none of the issues you bring up have
| become problematic so far. Sure there's a point where this
| might change profoundly, but AI is currently nowhere near
| that point if you ask me.
|
| (stuff being done for me: CPU design and work with the OS
| on top of it including multithreading and IO, executing
| database operations, turning higher level commands into
| tons and tons of machine language instructions, libraries
| that allow me to go higher and higher in abstraction level,
| think synchronising, multi threading, basic data structures
| like dictionaries, map/filter/reduce operations, etc -
| where I need to I learn about them, but mostly I just use
| them and let them do the heavy, boring, lifting)
|
| (working with a low code solution like Mendix is
| comparable, you can become creative without the boring
| work, of course it has a learning curve, which learns you
| how to use the higher abstraction layers without the need
| to really practice or fully understand what it takes out of
| your hands)
| [deleted]
| kp995 wrote:
| > Call to action: Programmer, wake up.
|
| The article also mentions - "head of AI products at the St
| Petersburg office of JetBrains, a Czech developer of
| programming software, sees time savings of 10% to 20%. "
|
| and the subheading says - "The software engineers of the future
| will, themselves, be software"
|
| um, how seriously should we consider the fact that "skilled"
| software engineer/programmer solving really complex problems
| are at risk?
|
| Can't say if making just another simple CRUD app is not at risk
| but the statements and their propositions made in the article
| are too generalize too plant a seed of insecurity in oneself.
| icoder wrote:
| Call me naive but I really don't see an AI take over my
| (senior) software development work, there's just so much to
| it, including a lot of communication and creativity.
|
| I dare posing that by the time AI takes over my job, it's
| gotten so advanced that I've got much more to worry about
| than just my job.
| bluetwo wrote:
| A good lawyer, like a good programmer isn't valued just on
| their output, but on the questions they ask that lead them to
| the correct output. This is much more difficult to encode.
| Jeff_Brown wrote:
| It's an interesting comparison, law and code. GitHub's AI
| gets a sense of what you're trying to do, and tries to move
| the ball forward. Sometimes the context it has is enough to
| do that. It's better with verbose languages.
|
| Law can be pretty verbose. Given half a paragraph, how often
| can an intelligence (artificial or natural) deduce what's
| next?
|
| Of course the coding AI has the advantage that coders write
| (and publish) comments.
| kwhitefoot wrote:
| > coders write (and publish) comments.
|
| And writers in law write commentaries, some of them having
| great authority.
| 8note wrote:
| Its not going to find out the actual work I do, which is
| largely offline
|
| Once I've solved a problem, I document it in code. Only seeing
| the code at the end misses the problem solving parts
| i_haz_rabies wrote:
| Programmers have the worst intelligence to gullibility ratios
| of any profession.
|
| * I should elaborate. We tend to easily accept the "this work
| is meaningful" line, we volunteer our time because "programming
| is a craft," and we will hop on tooling bandwagons like this
| because it's shiny and new without considering the
| ramifications.
| loopz wrote:
| This will sell like hot cookies. The only thing that can
| destroy it will be the immense cargo-culting. So software
| developers are safe, for now.
| i_haz_rabies wrote:
| I fear the "for now" is shorter than we think.
| qayxc wrote:
| I don't. This isn't the first time.
|
| First it was accessible programming languages (BASIC,
| Pascal, etc. ~1970s/80s), then it was standard software
| (spreadsheet software, ERM packages, etc. 1990s), then
| low code/no code (early 2000s), then model-/requirement
| driven (Rational Rose etc., late 90s, early 2000s), in
| between it was visual "programming" every now and again,
| now it's back to low code/no code again.
|
| As long as the mechanical systems cannot test
| requirements for contradictions, don't accept non-
| functional requirements such as performance or security
| and produce non-correctness proven results that even fail
| to compile or are syntactically incorrect from time to
| time, I have no fears.
|
| The current situation might as well be a local optimum in
| which NLP/ML will be stuck for quite a while. It's really
| hard to tell, but I don't see any reason for starting to
| panic just yet.
| Jeff_Brown wrote:
| I've read three definitions of "cargo cult" and still don't
| know what it or your reference to it mean.
| loopz wrote:
| It's mainly meant in jest, partly, at how corporations
| tend to imitate what seems to work for other, more
| successful corporations. Ie. at one point after FB,
| everyone and their mother wanted to make their own Social
| Media platform. Before that, Web Portals were all the
| rage. It's often about good ideas, but doesn't always
| make business sense. Implementations often miss the mark,
| especially in the beginning.
|
| The term comes from this, and uncovers a bit of the
| futility about the so-called benefits of playing the
| imitation game:
|
| https://www.steveglaveski.com/blog/the-curious-case-of-
| cargo...
|
| The problem is that in the fast-paced corporate world,
| you either make your own startup (and usually fail at
| that), or you have to play the same game everyone else
| does. There's simply not enough time and resources to get
| ahead at everything. Unless you go for the smaller niche,
| ie. embracing agility. Of course, everyone and their
| mother is Agile (tm) these days too!
| [deleted]
| JohnWhigham wrote:
| Literally: it's doing something because others are doing
| it and that's it.
|
| Developers have a _massive_ proclivity to follow
| something simply because others have. We 're talking
| everything from best practices to design methodologies to
| whether or not to include a semicolon at the end of a
| line. There's a reason for this: writing software is
| _very_ hard to measure and quantify. It 's not a physical
| _thing_ like a bridge or an automobile. When we hear
| about some new paradigm /framework/language/etc. espoused
| by some blue-checkmark-wielding developer who works at
| Google, we pay attention because...he works at Google,
| and _seems_ like a trusted figure.
|
| Not saying this is good or bad, it's just how it is.
| booleandilemma wrote:
| Programmers are a weird bunch.
|
| Look at stackoverflow for example. Thousands of programmers
| giving away their professional advice, spending their valuable
| time...for what exactly? Imaginary internet points?
|
| Open source is another one: here's my code that I've worked so
| hard on, spent countless hours on - please have it for free, my
| labor is worthless.
|
| It's like they're actively seeking to bring their own value
| down.
| Jeff_Brown wrote:
| The only explanations I can think of are (1) altruism, (2)
| intent to profit from one's reputation, and (3) simply
| enjoying puzzle solving. Am I missing any? And are any of
| them so strange?
| icoder wrote:
| Do not underestimate how much you can learn from teaching /
| explaining something (you think you already know) to
| someone else.
| rapnie wrote:
| Learning in public [0], discussed on HN before.
|
| [0] https://www.swyx.io/learn-in-public/
| staticassertion wrote:
| (2) And (3) aren't strange and are very likely the main
| drivers. It isn't hard to imagine that humans, and really
| any intelligent life, have evolved to _enjoy_ problem
| solving and structure incentives around being good at it.
| icoder wrote:
| Well there's many reasons. But in addition, most on Stack
| Overflow is the boring stuff: getting a certain operation,
| task, calculation right, often in a particular language, with
| a particular framework. The actual development, in my
| opinion, starts after that.
|
| Just take my day today: interpreting the client's specs and
| internally communicating and planning a minor change in the
| context of a few parallel release paths, discussing a few
| tweaks to a piece of code with a colleague carefully weighing
| effort, impact on partially rolled out tests, and future
| flexibility (making best guesses as to where things are
| going), and analysing / fixing an issue in a piece of code
| which design delicately balances simplicity, robustness and
| performance.
|
| Call me naive but I don't see an AI taking over before
| reaching (or nearing) general AI. Nor do I see how someone
| that's not a competitor already become one just by having
| access to Stack Overflow, or even a tenfold of it.
| smegma2 wrote:
| Many things are not zero-sum, for example if I help you and
| you help me we will both be better off than before. Sites
| like stackoverflow make programmers more productive in
| aggregate; we would be worse off without them.
|
| If you can't understand why someone would decide to offer
| their help for free then at least try to be thankful.
| imnotlost wrote:
| Philip Glass talks about this exact thing here:
|
| https://thecreativeindependent.com/people/philip-glass-on-
| co...
| hkt wrote:
| That link is amazing. Maybe my reply is off topic, but
| Glass is an extraordinary composer and it is always a
| pleasure to see him referenced saliently like this. Thanks!
| meh99 wrote:
| Humans were giving away their service to the church for
| promises of forever life.
|
| Mass delusions are easy to propagate as they require little
| emotional nuance; a salute, tattoo, incantation... those used
| to be enough to bind large groups.
|
| Groups are out though. We're leaning into enabling humans as
| atomic agents and automating away the utilitarian social
| obligations, and work of biological survival to get there.
| X6S1x6Okd1st wrote:
| There are other frameworks than strict personal net worth
| maximization.
| sidlls wrote:
| And then they complain bitterly when commercial entities use
| it without contributing back, treat workers poorly, and all
| that. It's not weirdness; it's ignorance and/or stupidity.
| sudosysgen wrote:
| Programmers aren't unique in thagt. If you create the right
| conditions, driven people will just work for the sake of it,
| if it can help someone or create something beautiful. It's
| the reason why us humans are where we are to begin with.
| ansible wrote:
| This is what a post-scarcity society is _supposed to be_. A
| world where everyone has enough, and they do things
| (programming, art, whatever) for the joy of it.
| MeinBlutIstBlau wrote:
| The heart of the open source movement had more to do with
| companies locking down software with operating systems and
| less about star-trek socialism for code. RMS wasn't just some
| hippie, he actually stuck to his guns and really "stuck it to
| the man" in a way that actually revolutionized programming
| today.
| jhgb wrote:
| > please have it for free, my labor is worthless.
|
| That's weird logic. Presumably you wouldn't create something
| you consider worthless - you'd create it because you needed
| it.
| eigenhombre wrote:
| Or because the act of creation is pleasurable in and of
| itself.
| [deleted]
| dave_sid wrote:
| So so true. Imagine a plumber turning up at your house and
| fitting you a new bathroom as their open source project. But
| then again, if they charged a extortionate 'support' fee for
| years thereafter for doing nothing then that wouldn't be as
| crazy. A bit like Red Hat in that sense.
| mftb wrote:
| "Man cannot stand a meaningless life", Carl Jung. I've spent
| twenty-five years coding, solved some problems, made some
| money for myself, more for others, but what have I
| accomplished? It's unlikely it will be through a
| stackoverflow answer or a post on HN, but I quietly maintain
| the hope that maybe someday, through Free Software or
| otherwise sharing my knowledge and code, I might actually
| accomplish something meaningful. The economic value you're
| talking about has little meaning for me.
| golemiprague wrote:
| Interesting the use of "Man", maybe women are less willing
| to share? It is well known that there are much less female
| contributors to open source or wikipedia, even in the pre
| childbearing phase.
|
| I think it derives from the traditional roles of men and
| women, men creates value or hunt or acquire resources in
| some way and then give it for "free" to their wives and
| children while the women role is to hog those resources for
| themselves and children. I wonder if this is ever going to
| change and how long it will take.
|
| In my personal experience I have found women to be far less
| generous, as if it it hurt them to give something without
| some benefit derived, but that is just anecdotal, I wonder
| what other people experiences are.
| jasode wrote:
| _> Thousands of programmers giving away their professional
| advice, spending their valuable time...for what exactly?
| Imaginary internet points?_
|
| Before Stackoverflow, people were answering questions on
| USENET newsgroups without any award of points.
|
| And before USENET and the internet, hobbyists would gather to
| trade advice on building home computers. E.g.:
| https://en.wikipedia.org/wiki/Homebrew_Computer_Club
|
| The common theme isn't the points... it's that _people like
| to be helpful and share knowledge_.
|
| _> Open source is another one: here's my code that I've
| worked so hard on, spent countless hours on - please have it
| for free, my labor is worthless._
|
| There are multiple motivations for open source. In my case, I
| did it because I could get _more value from the community 's
| enhancements_ than the "free code" the community got from me.
|
| _> It's like they're actively seeking to bring their own
| value down._
|
| Neither of your 2 examples look like erosion of labor value.
| On the contrary, it shows that not every activity associated
| with programming has to be driven by the exchange of money.
| [deleted]
| otabdeveloper4 wrote:
| Programming isn't labor.
|
| Or, at least, it's only "labor" in the same sense that
| literature or painting is labor.
|
| Does it seem strange to you that writers or painters would
| want the world to see their work, even for free? It doesn't
| seem strange to me.
|
| Programming is the same.
| rmah wrote:
| I know a few painters and writers. None of them give away
| their paintings or books for free, except to friends and
| family.
| machinehermiter wrote:
| No doubt. You can even go a step further.
|
| What about this discussion we are having right now on here
| about this topic?
|
| Why bother just for useless upvotes? No one is even paying
| me to think about this.
| Jeff_Brown wrote:
| For glory!
| Jeff_Brown wrote:
| > it's only "labor" in the same sense that literature or
| painting is labor.
|
| I can't agree with this. Programming _can_ be like
| literature. It can also be like writing copy for a bad
| travel brochure.
| swiley wrote:
| It's not surprising that "normal users" don't think about this
| but what I've found extremely surprising is that otherwise
| fairly skilled programmers don't even think about it.
| auggierose wrote:
| The more skilled the less there is to think about.
| distribot wrote:
| I think some of us have our head in the sand about how disruptive
| this will be to software engineering as an industry. I find the
| applied stats-yness of ML really boring, but I also want to hedge
| against some of these companies creating run away hits that make
| my current job obsolete.
| throwawaygh wrote:
| If you're writing the sort of code copilot generates, you
| should be more worried about things like wix.com, RPA products,
| WordPress, or high school kids. (No hate, my summer job in high
| school was PHP CRUD stuff, but it's definitely the burger
| flipping of the software development world.)
| pydry wrote:
| >The software engineers of tomorrow will themselves be software
|
| Is it me or is the Economist much more unabashed these days about
| representing the fevered dreams of business elites? (as opposed
| to engineers who know wtf theyre talking about)
|
| This copilot circus reminds me of a restaurant I used to go to
| went to shit in ~2015 because the owner thought giving iPads to
| customers meant they could cut payroll by 20%.
|
| Which was very much in vogue at the time:
|
| http://images.gawker.com/itqtvwbe3c0skb99wirm/c_scale,fl_pro...
| Jeff_Brown wrote:
| Indeed. A more accurate title would be "A new AI product might
| shave 15% off some developers' time spent coding, and some
| otherr companies hope to cash in too."
| pydry wrote:
| Even 15% is way too optimistic.
|
| I'm not even convinced that the effect will be positive. A
| habit of blindly accepting copilot suggestions could lead to
| more bugs.
| Jeff_Brown wrote:
| I agree. I was just paraphrasing the article itself.
| Copilot could also be a productivity drag just by making
| the user read a bunch of garbage they don't use.
| cat199 wrote:
| yes, now with copilot we will be doing visual object oriented
| programming on our GUI only tablets, and typing code, laptops,
| and desktops will be a thing of the past - the singularity is
| in fact here!
| gruez wrote:
| >This copilot circus reminds me of when a restaurant I used to
| go to went to shit in ~2015 because the owner thought giving
| iPads to customers meant they could cut payroll by 20%.
|
| What went wrong? At some fast food places the ordering machines
| definitely displaced some of the cashiers. I'm surprised
| customers wouldn't go for tablets if it meant they didn't have
| to pay the 15% tip.
| pydry wrote:
| Orders took forever or got lost, etc. The servers looked
| stressed as hell and were running everywhere.
|
| The prices werent any lower they just had fewer staff.
| Presumably the owner thought they could collect higher
| profits.
| dragonwriter wrote:
| > I'm surprised customers wouldn't go for tablets if it meant
| they didn't have to pay the 15% tip.
|
| They don't _have to_ tip to start with. And the ones with the
| most problem with it won 't, or will tip less.
|
| And people go to places that aren't fast food because, at
| least in part, of service, which iPad's don't provide the way
| servers do.
| rootusrootus wrote:
| > I'm surprised customers wouldn't go for tablets if it meant
| they didn't have to pay the 15% tip.
|
| It seems to have become quite normalized to put tip jars out
| for all sorts of businesses that aren't really service-based.
| Setting the expectation. Or putting on a tip line on the
| credit card receipt -- sure, you don't _have_ to tip, but we
| want you to think you 're abnormal if you don't.
|
| I don't think switching to tablets would do anything to
| reduce the expectation of tips.
|
| And it hasn't been 15% for years.
| goatlover wrote:
| Someone still has to bring the food out, handle requests not
| on the tablet along with complaints, and bus the tables. Tip
| doesn't apply to fast food, so that's not a good comparison.
| rootusrootus wrote:
| At least in my experience, what went wrong is that ordering
| machines didn't really improve the experience. Maybe compared
| to a bad cashier they're preferable. But other than that,
| they are much slower and less convenient than just telling
| another human what you want.
|
| To use a fast food example, I somewhat regularly go to a
| McDonalds when we road trip (I have kids, don't shame me) and
| they have ordering screens. It takes easily 5x as long to
| answer all of it's questions about permutations on the meal I
| want than to just say "gimme a #2 with Dr Pepper, no pickles"
| to a cashier.
|
| Maybe if they put in a proper voice assistant it would be
| better. But the touchscreen is not in any way a superior
| experience.
| nebula8804 wrote:
| I seem to recall during my time in France is that they are
| Windows based machines with a Reflective touch screen hat
| moves the mouse cursor around. I wonder how much of the
| problem is just to poor implementation of the UX and
| ordering experience.
|
| I saw this issue with NJTransit ticket machines as well.
| They suck compared to NY subway.
|
| NJTRansit: https://www.youtube.com/watch?v=avNAwTJStwU
|
| There are so many tiny improvements to speed they could do
| to make it a better experience, the tiny delays between
| menus add up, the printer is slow and has multiple delays.
| This all adds up and I have experienced the brunt end of
| then whenever I am rushing to catch a train.
|
| NY Subway: https://youtu.be/jcrrb48vzfY?t=87
|
| Notice how each screen transition is instantaneous. The
| money scanning is super fast and the ticket(card)
| dispensing is quite fast as well. If you are a frequent
| user, you can fly through this screen and this represents a
| real marked improvement over human interaction, there is no
| way you could replicate that speed with a human teller.
| Jeff_Brown wrote:
| Right. I was a waiter once. We had to learn to use the
| computer. It wasn't hard but it was work, and customers
| don't want to do it.
|
| It's not even clear that it would be efficient for the
| customer to learn it, even if they were willing, given how
| rarely most people eat out and how quickly memory degrades
| with disuse.
| coolspot wrote:
| - "a gum and two dr.Peppers were added to your pickup
| order"
| manmal wrote:
| Does the cashier at McDonald's not enter your order into a
| similar system? Maybe the public UI is just inefficient.
| Where I live it was possible (a few years ago, they since
| stopped that) to pre-order with a mobile app. I always
| preferred that and felt it was a step in the right
| direction, because food was usually finished when I turned
| up.
| awaythrowact wrote:
| Did PyTorch increase or decrease demand for ML developers?
|
| Did Ruby on Rails increase or decrease demand for web developers?
|
| Did C increase or decrease demand for systems programmers?
|
| Automation and abstraction is a complement, not a substitute.
|
| If CoPilot works and we get to focus on higher level goals and
| developer throughout increases, it will be good for developers
| and good for the world. I hope CoPilot succeeds.
| loloquwowndueo wrote:
| https://outline.com/bFWAyk
|
| It is about copilot (which it sneakily doesn't mention by name)
| and tabnine and also generally about gpt-3 used in the realm of
| coding. A lot of layperson-oriented phrasing around: " Microsoft,
| an American software giant, released a new version of an AI-
| completion feature which it embeds in coding software called
| Visual Studio."
| feoren wrote:
| Copilot appeals to bad developers, which it's going to learn
| from. It's been trained on a codebase that is mostly bad and/or
| outdated. It will produce code that is usually bad and the bad
| programmer using won't properly review and fix it, so it will
| never learn how bad it is.
|
| If copilot replaces anything, it will be the legion of failed
| developers that end up working for Oracle and Comcast currently
| doing god-knows-what with all their time. Those systems are
| already giant festering mounds of technical debt; imagine how bad
| it will get when literally no human has ever seen the code
| producing that weird bug.
| hkt wrote:
| In all likelihood, it'll be much the same as when literally
| only one human has ever seen the code producing that weird
| bug...
| distribot wrote:
| Unrelated but Israel is so cool in terms of technological
| prowess. A nation of 9 million people and almost every article
| about cutting edge tech includes them. Really remarkable imo
| oliv__ wrote:
| Well, great maybe the AI can create and run a few more successful
| SaaS businesses for me
___________________________________________________________________
(page generated 2021-07-09 23:00 UTC)