Ask Slashdot: How Will You Be Programming In a Decade? (cheney.net)
An anonymous reader writes: Programmer Dave Cheney raised an interesting question today: How will you be programming in a decade? If you look back to a decade ago, you can see some huge shifts in the software industry. This includes the rise of smartphones, ubiquitous cloud infrastructure, and containers. We've also seen an explosion of special-purpose libraries and environments, many with an emphasis on networking and scaling. At the same time, we still have a ton of people writing Java and C and Python. Some programmers have jumped headfirst into new tools like Light Table, while others are still quite happy with Emacs. So, programmers of Slashdot, I ask you: How do you think your work (or play) will change in the next ten years?
Going forward more and more it's not even about the language so much as the systems. Everyone can learn java and pick up the tool stack, but the domain knowledge and systems experience and hell just knowing the right contacts becomes very valuable in long term industries (aerospace, defense, medical, etc).
As long as you pick something that doesn't get entirely replaced, it's a good way to spend the last 15 or so years of your career, and even if it does get entirely replaced, they're gonna need a lot of that old knowledge, it just becomes a battle to stay relevant once the new system is up and running.
It's also an idiots distinction. There are very few 'new' languages. Most of them are just syntactic changes that integrate more or less of the C++ standard library so that you can do a particular task with less boiler plate. There is nothing wrong with that, but I get annoyed when fanbois keeps going on about how 'new' languages are somehow revolutionary.
It is like the whole functional programming thing. I spent a while working my way through blogs going on about how amazing functional programming is, while not really being able to articulate the benefits, until I came across a guy who had come to it from C and was like 'yeah, so basically callback functions with a loose stack implementation'. Quite a let down compared to the revolution these things were meant to unleash on the world.
I do see software development roles split between people still writing code and people using graphical (perhaps gesture based) interfaces designing workflows, approval processes, user interfaces, etc. Not sure how fishing rods factor in.
I think my recent work with Salesforce has given a good glimpse of the future of software development, at least in the next decade or two that is. 90% of the work I would have done a decade ago is now handled by a third party platform, and I just work on the few things that need to be custom. That has been attempted by SAAS vendors before (even before it was called that), but never as well as Salesforce has done it. There is plenty of room for improvement, but their software gives an idea of what can be accomplished. Though I hope someone else beats out Salesforce's Force.com platform with something that is more engineering focused instead of sales/marketing focused.
I see the software development industry breaking up into tiers like most other industries. Similar to engineering where you have engineers and you have CAD operators (among other roles). I see elite software engineers making much more money than they do now, but a class of programmers making wages closer to CAD operators (although a bit more) becoming the norm for most programmers. Overall it will let the industry create more software with less costs.
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
Random feminists do not have access to your birth records. So in the future when anyone can get a CRISPR (or whatever) genetic treatment and suddenly look like a 25-year-old male or female of their choice, this stuff will largely be irrelevant. If there's hordes of stunningly gorgeous, 25-year-old women working in tech jobs, no one will be able to figure out, without some serious digging, if they were actually born female 25 years ago, or if they're actually 75-year-olds who used to be beer-bellied, balding men.
There's a wealth of new research going on in Programming Language Theory, with several breakthroughs in the last years bridging the gap between functional and imperative programming.
The other trend in declarative programming is reactive languages like React.js and Flux being applied to user interfaces. This allows for tools like React Native which can abstract away all the spaghetti code to handle events, providing a higher abstraction, including the "debug & rewind" and "live programming" capabilities seen in online "web embedded" environments like Github Gist or JSFiddle.
I expect that, as these techniques mature, they will settle down and allow for development techniques that allow for easy discoverability of APIs without having to learn a particular complex syntax, and better programming by connecting components without the drawbacks and limitations of classic Visual tools.
All these new techniques based in Category Theory are driving advances in mainstream languages - starting with libraries like Linq and jQuery but also Python, Javascript and even C++ adopting lambdas, advanced type systems with auto-inference of types, and libraries with constructs for declarative race-free parallelism such as promises and agent models.
The majority of those techniques are being tested first in experimental languages by researchers eating their own dog food, with Haskell often having its most pure form (see what I did there?). Anyone interested in enhancing the expressivity of PLs may lurk Lambda the ultimage, where guys much more clever than you and me hang around and can give pointers to all the relevant theoretical results.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
We devolved from the desktop days.
Oh yes. One of the worst things that browsers did was virtually destroy the ability to use shortcut keys to do useful work instead of having to grab mouse and irritate carpal tunnels. All the shortcut keys now either do nothing or control the browser, not the app in the browser.
Plus far too many webpage authors don't leverage what few amenities we could have. For example, how many form-based pages have you visited where there's a preselected input where you can start typing instantly instead of grab-mouse-and-click before you start typing?
And don't even get me started on the drag-resized panes where the "drag grab" area is so small that you have to have machine-like motor skills to be able to mouse over it, click down, and drag without losing the whole operation.
But when it comes to gratuitous and annoying auto-playing audio-visuals, we're great!
You can not do functional programming in C
Looks like you're right; I'm one paradigm off. When I started, the programming books I used didn't talk about using subroutines as a major programming structure; using function calls was new when I got into C.
Understandable if your background is so limited
The books are a mess to read. They're not well-organized, they're not well-written, and they don't convey information. They have a lot of information, but it's organized like shit.
Imagine if you got in a car with 7 pedals. Depending on what combination of pedals you hit, the accelerator or brake may come on, and the gears may switch to a particular configuration. To accelerate in third, you need to hit pedal 3 and 5; to accelerate in first, you need to hit pedals 2 and 7; to brake, you hit pedals 4 and 7. Is your difficulty driving this beast a matter of your background being limited, or the interface being fucking retarded?
Human memory is associative, and heavily benefits from organization.
consider how far Tony Bevis would have get if he had not the shoulders of giants to stand on
He took the disorganized mess out there and produced a couple books covering concepts in ways people can more readily understand. That reduces the amount of time a person must invest to develop a particular skill. That's the same thing the original GoF and Code Complete books did, except they brought together more information and didn't do it as clearly.
Support my political activism on Patreon.