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?
With a gesture-based interface connected to my fishing rod.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Learning new languages every six months in a young man's game. As I get older, I will gravitate towards jobs where I can leverage 15+ years experience in a language to get better-paying positions.
In ten years I intend to be programming in management speak, functional specifications and almost completely useless and barely intelligible pseudo code.
Poorly.
Browsing at +1 - no ACs, I ignore their posts. So refreshing!
It seems to me that you need the languages with the right features to be able to implement good tool support. Consider the excellent IDEs that have been created for Java (Eclipse, IDEA, NetBeans) with extremely advanced refactoring capabilities, code navigation, and inline compilation with meaningful error messages. Such support requires the ability to do static analysis, which you can't do properly in some of the newly popular languages like JavaScript.
You are behind, dude, Cherry MX Periwinkle Switches Reloaded++ is now out.
Seriously, who the hell knows what's 10 years down the road. The industry is driven as much by fads as logic, if not more.
I just hope the UI side simplifies so that one doesn't have to say diddle with the minutia of scroll-bar coordinates for everyday GUI idioms and bread-and-butter CRUD. I'd like to focus on domain logic rather than micromanage UI glitches all day.
UI's are f8cking mess unless you target a specific browser brand and version. We devolved from the desktop days. I pray the industry cleans up the UI mess created by the browser. Unfortunately the industry seems to be chasing eye candy fads instead instead of practical things, but I guess the money is in hype and flash.
In summary, get off my UI lawn!
Table-ized A.I.
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.
My Scrum Lord says that I'll drive peak stakeholder value for a billion years if I but open my heart to the One True Methodology.
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.
I directly load programs into memory though the tape-in port by modulating my flatulence into a microphone.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
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.