|
Main Paineframe posted:Maybe, but most of the time and manpower is in writing software. If all you had to do was punch customer requirements into a magic coding machine and let it do the rest, then you could replace five developers working for three weeks with a single sales engineer putting in a day or two worth of work. I think in large teams a lot of time is wasted in coordination too. But I have never been a peon in a large team, so I dunno. Maybe I am wrong here.
|
# ? Jun 28, 2017 22:53 |
|
|
# ? May 9, 2024 00:06 |
|
Volkerball posted:It's not really star trek level. What it will end up involving is some sort of drafting process, where a model is created, and then that digital model is exported to a program that creates the code. quote:And as the database of softwares becomes more fleshed out, and the modeling becomes easier, it will take significantly less people to create something than it takes today. We're already seeing this in machining, and the result is code that would take weeks for a skilled manual programmer to write, being done in a matter of hours. Like seriously, it just sounds like you don't really know how programming works, or its history.
|
# ? Jun 28, 2017 22:59 |
|
I mean, it is kinda true that the story of Computer Science is the story of creating new levels of abstraction. But on the other hand, the fact that it is getting more and more abstract and high-level is an argument against it being highly automatable.
|
# ? Jun 28, 2017 23:01 |
|
Rastor posted:But on the other hand, the fact that it is getting more and more abstract and high-level is an argument against it being highly automatable. This is what I was trying to drive at. Sooner or later the process of abstraction and simplification leads to the question of what problem am I trying to solve, and it just so happens that's actually like 90% of the work of programming anyway.
|
# ? Jun 28, 2017 23:07 |
|
Rastor posted:I mean, it is kinda true that the story of Computer Science is the story of creating new levels of abstraction.
|
# ? Jun 28, 2017 23:07 |
|
Being able to model a physical (or any abstract honestly) system essentialy by drawing it and then specifying the equations for the relationships is pretty drat abstract. Much of the maths for coming up the equations can also be done by the computer, even for pretty complicated poo poo.
|
# ? Jun 29, 2017 01:52 |
|
Can programming get 100% automatized? No. 60% sure. Heres why: Programming is already automatized to the Nth level. Programmers don't write the blocks of data in the disc. Or schedule how to distribute then around the surface, or the order that they need to be load in memory. Programmers don't write the machine language code that the CPU can understand. Programmers write their programs in a different language that are easier for humans but impossible to understand by machines, then that language is translated (on the fly or offline) to what the machines can actually understand. Many programmers expend a lot of time and energy to automatize task for other programmers. Compiler writers. IDE writers. Unit testing libraries. gulp. make. Automatizing programming don't actually create free time for programmers, it only change what programmers do. They turn to solve more interesting problems in higher abstraction levels. They come to build bigger and more complicated programs, because the user demands have grown and people have come to expect more complex programs. If you are game developer and you wrote a open map sandbox zombie survival game. For version 2.0 the users will want the vehicles to be driveable. The zombies to be able to open some doors (or break them) and navigate buildings. Expectations from users grown. Business software developers expend a lot of time talking with future users, or the boss of these users, about what they want or how they want it. Business logic need to be processed, extracted, examined, discussed, understood. To replace a human doing this you would need a system that can sit with humans and discuss stuff in a normal human conversation. Sometimes paying attention that users may not be a reliable party. That you are talking with a boss of the users, and no the final users. That "it looking good" is a very important feature, critical, because this dude is going to show the program to his boss and if the app is ugly, lose points, but if the app is cool, he gain points. And he is the dude that is paying you, so you want him to gain points. So a software developer critical skill is understanding humans. And humans are several orders of magnitude more complicated than computers. Computers are the easy part of programming. Of course, maybe theres some change how software is made, and maybe a single bob of binary code take over the world, and people stop using custom made software but use instead pre-made poo poo. Or other unexpected huge change. Then all bets are off. -- I am going to defend the actual writing code part here. a) It can be a creative thing. It can be dried a lot to not be much a creative thing, but it will still be somewhat a creative thing. b) There are better programmers than other. Really bad ones, even ones that are worth a negative amount. c) Because is a creative thing. You can't achieve with 10 programmers what a programmer that is x10 times better can achieve. 10 bad singers don't make 1 good singer. But they may make a coral, and thats a nice thing to have. d) Theres a element of creation on programming that is hard to compare to other endeavors. Programmers create, invent, without running to the patent office to plant a flag in their creation. In a hour a single programmer could be inventing 10 or 100 new things. This is the normal. That app that track the trains in your local city may use a cache system that is a novelty idea that the world has not seen before. And maybe it will be reinvented again in the app you use to track BMI factors. Yes this is dumb, and programmers want to solve this, but by the nature of programming, because is a creative thing, this is a drat hard problem to solve. We continue inventing the wheel in every car we create. e) Theres some poetry in code. Some beauty. Some solutions are just amazing. f) Theres more than one level in software design, and most programmers think in the basic one. But every decision have long term consequences, because software growns and "small" decisions in the beginning cant affect future grown, limit it, maybe even kill it. The people that can predict the effects of these decisions and build systems to avoid or take into account that are the system architects. Programming have deeper levels of abstraction that are important, and invisible even for some programmers. Tei fucked around with this message at 12:26 on Jun 29, 2017 |
# ? Jun 29, 2017 12:09 |
|
Tei posted:Programming is already automatized to the Nth level. Programmers don't write the blocks of data in the disc. Or schedule how to distribute then around the surface, or the order that they need to be load in memory. Programmers don't write the machine language code that the CPU can understand. Programmers write their programs in a different language that are easier for humans but impossible to understand by machines, then that language is translated (on the fly or offline) to what the machines can actually understand. This is pretty much the history of automation in general, not just programming. People automate a part of a task and instead of that just being the eternal end of all things it just turns out it opens up new possibility. When things went from one hundred people being needed to move one rock to one guy being able to move one hundred rocks we didn't just build the same old stuff but just fast, we built new and different things. Lots of things are like that and will continue to be that way.
|
# ? Jun 29, 2017 12:35 |
|
To put it simply Computer Programming will be one of the last remaining jobs because it constantly drives itself to automate and go to higher-level thinking / abstractions. To automate it will require Artificial General Intelligence.
|
# ? Jun 29, 2017 12:48 |
|
Rastor posted:To put it simply Computer Programming will be one of the last remaining jobs because it constantly drives itself to automate and go to higher-level thinking / abstractions. To automate it will require Artificial General Intelligence. Yes. Half of it is the act of logically thinking through "and what do I do in this case". I also think there is almost unending demand for more/better software creating more features and less bugs in things we already have but also new utilities for small tasks which still haven't been automated. How many people in offices around the world still do things a decent office macro or utility could solve but don't have the know how or the money to make a program to solve it. A ton. Or businesses that have a simple website and need a better one or a better database...
|
# ? Jun 29, 2017 13:01 |
|
asdf32 posted:I also think there is almost unending demand for more/better software creating more features and less bugs in things we already have but also new utilities for small tasks which still haven't been automated. Again, name anything and this is probably the case. The idea we are getting to some end of satisfying human want and need anytime soon is hilarious.
|
# ? Jun 29, 2017 13:36 |
|
Owlofcreamcheese posted:Again, name anything and this is probably the case. The idea we are getting to some end of satisfying human want and need anytime soon is hilarious. I agree in general but software is unique in how widely applicable it is. There will always be some demand for better/cheaper ball bearings but there is still a fundamentally limited market for them. With software development on the other hand you can apply it to literally almost anything anywhere in the economy. The point is I think it's one of the safest fields in the entire economy (and no I'm not in software).
|
# ? Jun 29, 2017 17:06 |
|
Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables”
|
# ? Jun 29, 2017 18:19 |
|
Undesirables = RGB values under a certain threshold
|
# ? Jun 29, 2017 18:27 |
|
Rastor posted:Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables” https://www.youtube.com/watch?v=A9l9wxGFl4k
|
# ? Jun 29, 2017 18:37 |
|
Rastor posted:Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables” So it's like a reverse xbox kinect?
|
# ? Jun 29, 2017 19:06 |
|
asdf32 posted:I agree in general but software is unique in how widely applicable it is. There will always be some demand for better/cheaper ball bearings but there is still a fundamentally limited market for them. Yeah but a ball bearing is a specific concept and programming is a whole concept. Compare "programming" and "manufacturing" and it's a closer.
|
# ? Jun 29, 2017 19:21 |
|
Rastor posted:Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables”
|
# ? Jun 29, 2017 19:21 |
|
Rastor posted:Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables” pulls over asian drivers for driving with their eyes closed
|
# ? Jun 29, 2017 20:58 |
|
Mind_Taker posted:Undesirables = RGB values under a certain threshold It could also get stuck only seeing people above a certain threshold. https://youtu.be/3PXRAoxiI0Y
|
# ? Jun 29, 2017 22:45 |
|
Owlofcreamcheese posted:Yeah but a ball bearing is a specific concept and programming is a whole concept. Compare "programming" and "manufacturing" and it's a closer. It's closer, but it's still not a good comparison. It's also not really that software development is some special snowflake profession, it's just that computers are really different from other tools in a foundational way.
|
# ? Jun 30, 2017 00:20 |
|
Rastor posted:Automated robo police car with 360-degree cameras that “scan for wanted criminals and undesirables” https://www.youtube.com/watch?v=qrMnTjx0FE8
|
# ? Jun 30, 2017 02:43 |
|
Volkerball posted:It's not really star trek level. What it will end up involving is some sort of drafting process, where a model is created, and then that digital model is exported to a program that creates the code. And as the database of softwares becomes more fleshed out, and the modeling becomes easier, it will take significantly less people to create something than it takes today. We're already seeing this in machining, and the result is code that would take weeks for a skilled manual programmer to write, being done in a matter of hours. Basically once a machine, instead of a Sprint team, can take my flowcharts and Sketch mockups and create working software, things will be pretty bleak. I suffer no delusions that UX/BA/PM roles won't also be automated eventually.
|
# ? Jun 30, 2017 21:58 |
|
GEMorris posted:Basically once a machine, instead of a Sprint team, can take my flowcharts and Sketch mockups and create working software, things will be pretty bleak. It may be a while, but after it's gone, the next fastest growing occupation is going to be hunter-gatherer.
|
# ? Jun 30, 2017 22:25 |
|
Paradoxish posted:This is what I was trying to drive at. Sooner or later the process of abstraction and simplification leads to the question of what problem am I trying to solve, and it just so happens that's actually like 90% of the work of programming anyway. Well, it's 90% of the work of programming now, after four decades of abstracting and automating and standardizing away most of the rest of the work that went into programming. Turns out you can save a lot of man-hours when you can just drop a half-dozen frameworks into your project and spend most of the dev time just hooking them all together instead of coding the functionality yourself. The amount of manpower to do a given amount of programming is already far lower than it used to be; the expansion of programming jobs is only because the amount of programming people want done has expanded exponentially as computing devices have gotten ever cheaper, smaller, and more personal. And I'm sure that trend will continue forever at the same rate with no slowdown ever! Of course, the catch here is that you don't need an actual programmer to answer the question "what problem do I want solved". There's plenty of laymen around to hash that out, including the project manager, customer relations, the UX designer, and various management folks to hash out. The job of the programmer in any sane organization (which, admittedly, tends to be the exception rather than the rule) is to take what that group comes up with and turn it into code.
|
# ? Jul 1, 2017 12:09 |
|
Main Paineframe posted:There's plenty of laymen around to hash that out, including the project manager, customer relations, the UX designer, and various management folks to hash out. The job of the programmer in any sane organization (which, admittedly, tends to be the exception rather than the rule) is to take what that group comes up with and turn it into code. What you seem to be missing, and also why this is a pretty important topic in the wider topic of automation, is that creating a specification and feeding it into a computer is literally what programming is. The only reason we consider programming to be a highly specialized skill is because computers aren't capable of understanding the higher level business requirements produced by non-technical project members, so you need an additional layer of translation. Getting to the point where that translation isn't required anymore isn't just a matter of simplifying tools. We already have simple tools for writing code, including lots of pretty intuitive visual tools. The problem is that doing anything complex (and keeping it maintainable) with those tools still requires the exact same specialized skills as working with written code. They make it easier to teach a lot of the basic concepts and sometimes make it easier to offload simple work that it doesn't make sense to pay a programmer to do, but that's it. The leap you're describing to move beyond that point is just absolutely massive. edit- not to mention that you aren't so much talking about a world where programmers are obsolete as you are talking about one where everyone is a programmer. I suspect that's a world where most non-creative, non-physical work ends up being automated at a hilariously rapid pace. Paradoxish fucked around with this message at 19:40 on Jul 1, 2017 |
# ? Jul 1, 2017 19:38 |
|
Main Paineframe posted:Of course, the catch here is that you don't need an actual programmer to answer the question "what problem do I want solved". There's plenty of laymen around to hash that out, including the project manager, customer relations, the UX designer, and various management folks to hash out. The job of the programmer in any sane organization (which, admittedly, tends to be the exception rather than the rule) is to take what that group comes up with and turn it into code. This ignore that software is a machine. Sure, all programmers can build anything to the spec. Like you can get car engineers and build a car. But if you want something that will last 15 years, that will need repairs rarely, that will not create extra work, that will be easy to expand and so on you need somebody that can think about the side effects on the long term of every decision, small and big, and take decisions on architecture that other people will follow. That in most companies I suspect is what the senior developers do. I make this comment, but is a bit offtopic in this thread. Sorry.
|
# ? Jul 1, 2017 19:38 |
|
I used the self-scanning thing at Tesco for the first time yesterday. While self-checkout is a nice solution when the are lines at the checkout, it's fundamentally still the same thing. I thought this was way more convenient though, like a lower-tech version of Amazon's store. It only adds a few seconds per item during shopping and checkout and payment only takes 30 seconds or so. Plus it keeps track of your items for you and fundamentally, you could've done the same thing with your phone. There's another store I don't go to nearly as often that used these for longer, so I was quite surprised that very few people actually use them and instead prefer to wait for minutes in lines. Still, while I'm not sure about Amazon's solution scaling well to places like these, I can totally see these devices taking over in the near future. It should be cheap to implement and is legitimately more convenient.
|
# ? Jul 1, 2017 20:14 |
|
Tei posted:This ignore that software is a machine. Sure, all programmers can build anything to the spec. Like you can get car engineers and build a car. But if you want something that will last 15 years, that will need repairs rarely, that will not create extra work, that will be easy to expand and so on you need somebody that can think about the side effects on the long term of every decision, small and big, and take decisions on architecture that other people will follow. That in most companies I suspect is what the senior developers do. This is very on topic. Basically you are describing what the way one would be taught to think in a good MIS classes.
|
# ? Jul 2, 2017 03:13 |
|
this is something I'm actually incredibly excited about, since it might level the playing field for normal folks by reducing legal costs.
|
# ? Jul 2, 2017 04:15 |
|
Paradoxish posted:what Well, part of the problem there is that not a lot of people who need that sort of labor could reasonably afford to pay what would generally count as decent wages for it. And between declining birthrates and younger generations faced with student loan debt they'll likely be paying off until they approach retirement, things are liable to get worse there. I understand Japan (which has had one of the lowest birthrates on the planet for a while now) has been doing a fair amount of R&D into robots to help out there.
|
# ? Jul 2, 2017 19:48 |
|
Cockmaster posted:Well, part of the problem there is that not a lot of people who need that sort of labor could reasonably afford to pay what would generally count as decent wages for it. And between declining birthrates and younger generations faced with student loan debt they'll likely be paying off until they approach retirement, things are liable to get worse there. Japan has been playing around with automation in care homes, but that doesn't do much to help elderly who are still living on their own and whose survival and quality of life depends on home caregivers. Home health aides do everything from laundry to cooking to shopping to helping with grooming and bathing. We're as far away as ever from having robots that can do all of that independently.
|
# ? Jul 2, 2017 21:22 |
|
Cockmaster posted:Well, part of the problem there is that not a lot of people who need that sort of labor could reasonably afford to pay what would generally count as decent wages for it. And between declining birthrates and younger generations faced with student loan debt they'll likely be paying off until they approach retirement, things are liable to get worse there. Why would the people who need healthcare be the ones who pay for it? Or anything else for that matter. Isn't this the entire philosophical argument of taxes and insurance?
|
# ? Jul 2, 2017 23:35 |
|
Paradoxish posted:Japan has been playing around with automation in care homes, but that doesn't do much to help elderly who are still living on their own and whose survival and quality of life depends on home caregivers. Home health aides do everything from laundry to cooking to shopping to helping with grooming and bathing. We're as far away as ever from having robots that can do all of that independently. There's probably a segment of those living independently who do it because they can't afford a care home. Automation in care homes should make them more affordable.
|
# ? Jul 3, 2017 16:27 |
|
Paradoxish posted:What you seem to be missing, and also why this is a pretty important topic in the wider topic of automation, is that creating a specification and feeding it into a computer is literally what programming is. The only reason we consider programming to be a highly specialized skill is because computers aren't capable of understanding the higher level business requirements produced by non-technical project members, so you need an additional layer of translation. I'm not talking about a world where programmers are obsolete. I'm talking about a world where you need one programmer-hour to do an amount of work that currently takes ten programmer-hours. In that world, you'd better hope that ten times as much programming needs to be done, since otherwise that means a decline in the number of programming jobs. Twenty years from now, there'll still be programmers. There'll just be a lot less of them, because it'll have been automated down to its very automation will reduce the manpower necessary to do it. The real threat of automation isn't that it'll completely eliminate entire careers. It's that it'll drastically reduce the manpower needed to do those jobs, forcing tens of thousands of people out of that field and dumping them onto a job market with hundreds of thousands of others who've similarly been booted from their careers. We still have bank tellers around, even in a world with both ATMs and online banking...but the number of teller jobs is projected to shrink by 40,000 or so over the next decade, and that's tens of thousands of jobs that have to be made up somewhere else. Where? It certainly won't be in retail, which is shedding tens of thousands of jobs per month right now as retailers cut back their physical presence; that trend will slow sooner or later, but it won't reverse. Tei posted:This ignore that software is a machine. Sure, all programmers can build anything to the spec. Like you can get car engineers and build a car. But if you want something that will last 15 years, that will need repairs rarely, that will not create extra work, that will be easy to expand and so on you need somebody that can think about the side effects on the long term of every decision, small and big, and take decisions on architecture that other people will follow. That in most companies I suspect is what the senior developers do. That's what the senior developers do, yes (at least in theory). But not every developer is a senior developer. What happens to the programming workforce when the only developer a company needs is that one senior developer, who can feed the plans and designs they come up with to a suite of tools and maybe a temporary intern instead of a team of professional developers?
|
# ? Jul 3, 2017 16:37 |
|
Main Paineframe posted:That's what the senior developers do, yes (at least in theory). But not every developer is a senior developer. What happens to the programming workforce when the only developer a company needs is that one senior developer, who can feed the plans and designs they come up with to a suite of tools and maybe a temporary intern instead of a team of professional developers? Senior developers are sort of optional. You can build software just by pure brute force. A lot of software is build this way. Is not something worth discussing in this thread.
|
# ? Jul 3, 2017 16:51 |
|
Main Paineframe posted:I'm not talking about a world where programmers are obsolete. I'm talking about a world where you need one programmer-hour to do an amount of work that currently takes ten programmer-hours. In that world, you'd better hope that ten times as much programming needs to be done, since otherwise that means a decline in the number of programming jobs. I don't really disagree with anything you're saying here, except maybe on how long it'll take to get there. What I have been saying, however, is that this is pretty much the end game for most white collar "cognitive" work. Most programmers still spend a huge amount of time solving very trivial problems. Being able to have a single programmer or extremely small team build and maintain an application that solves a highly complex business problem is a game changer on par with the introduction of computer spreadsheets.
|
# ? Jul 3, 2017 17:09 |
|
The first computers were programmed by moving patch cables around. Then software-programmable computers were created. Then there were people who operated the card punches. Then there were assemblers. Then there were teletypes. Then there were compiled languages. Then there were magnetic media, and electronic terminals. Then there were high-level languages. And networking. And application frameworks. And cloud. And containers. The computer programming industry is one that has continuously worked to automate itself, to eliminate any repetitive effort. It is not in danger from the new wave of automation. It *is* the new wave of automation.
|
# ? Jul 3, 2017 17:11 |
|
Main Paineframe posted:I'm not talking about a world where programmers are obsolete. I'm talking about a world where you need one programmer-hour to do an amount of work that currently takes ten programmer-hours. In that world, you'd better hope that ten times as much programming needs to be done, since otherwise that means a decline in the number of programming jobs. Are you presenting this as a hypothetical or are you aware this has already happened multiple times over? It's 10 times easier to write code today using modern development tools with modern frameworks than a decade or two ago and the number of lines of code in everything has gone up accordingly in everything ranging from cars, to websites to household thermostats.
|
# ? Jul 3, 2017 17:13 |
|
|
# ? May 9, 2024 00:06 |
|
Main Paineframe posted:I'm not talking about a world where programmers are obsolete. I'm talking about a world where you need one programmer-hour to do an amount of work that currently takes ten programmer-hours. In that world, you'd better hope that ten times as much programming needs to be done, since otherwise that means a decline in the number of programming jobs. But yes, in the sufficiently long run, most programmer jobs will definitely go away. It probably just won't be until most white-collar jobs are under the same kind of automation pressure.
|
# ? Jul 3, 2017 17:13 |