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.
Still with a text editor. Maybe a GUI designer. Faster PC though!
It will all be done either in India or via automation.
Honestly, probably how the startups are programming right now.
The industry I work in tends to be lagged about 10 years. We're just now starting to realize there may be something to all this agile/kanban/scrum stuff we've been hearing about (yes, just as the new-agers are moving away from it to ATDD and similar).
Where I think the bleeding edge will be in 10 years:
Methodology wise I think (hope) things will keep going down the path of trimming down processes to the useful bits, improving communication, getting the end product closer to what the customer wanted and more reliable. This seems to be what every generation of "new methodologies" gets closer to, so reasonable to assume we'll just keep getting better at this.
Technology wise I think we'll continue moving towards gluing together larger components. Application frameworks will continue to suck less, we'll see a smaller but more powerful defacto toolset.
It'll all be moot though, because systemd will eventually swallow the sun, and then we'll all die.
I'll be programming the same except using Cherry MX periwinkle switches instead of the current blue ones I have now.
A mix of Prolog for high level problems, Fortran for calculations, Erlang for concurrency and Assembly for speed.
/. refugees on Usenet: news:comp.misc
Windows batch files, written in Notepad.
In ten years I intend to be programming in management speak, functional specifications and almost completely useless and barely intelligible pseudo code.
Probably be doing the same shit, but with new APIs.
Still using Java, still using Springframework, still using RDBMS, and still writing integration with MQs and web services.
And still making damn good money doing it.
emacs? how you dare! :x
i will be using vim, of course.
... computer programs you.
1. Computers will be used to figure out how to modify human DNA.
2. We may have a new Soviet Union.
Programming Won't Exist in 10 years.
In 10 years all the libraries and software that will ever need to be written will be written, and we will just use GUIs to connect inputs and outputs and link up Java-Scripts. Plus we have the cloud.
Pretty much a stone cold certainty that there will be roughly as many changes for the better as for the worse. And nobody will be able to agree which is which.
And likely training my lower-cost Vietnamese replacement.
I'll be using TECO for my editor...
Interpret that how you will.
We're already seeing this in higher level languages, the compilers are getting "smart" enough to translate the dumb things you ask it to do into real code.
Basically we're going to be programming against virtual machines/containers specifically adapted to handle the limited resource requirements of their tasks.
In addition learn to parallelize tasks with proper dependencies... Unless like me you're in the deep that's what you need to focus on.
All programming will be focussed on translating English to Chinese for our Asian overlords.
Poorly.
Browsing at +1 - no ACs, I ignore their posts. So refreshing!
I'll probably be in a home for the disabled. Right now I am considering just standing up and walking out, driving to the hospital.
https://www.youtube.com/watch?...
nothing to see here - move along
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.
The cloud and containers are both buzzwords that haven't changed my programming one bit. Things that have changed in my surroundings (and I think have gained a lot more traction in a broad part of the programming community) are automated testing, continuous integration, continuous deployment, distributed version control systems.
Correct question is - How would you be programmed in a decade...
ELOI, ELOI, LAMA SABACHTHANI!?
All hail my epic neckbeard.
as you are laid off and an H1B visa holder takes your job.
Source files will be in machine readable format that conveys meaning, while individual programmers will have a choice of textual, graphical and hybrid representations to work on that meaning, So most people will just drag and drop an image into a source editor and start using it without worrying about how it is stored in the application bundle. But if another programmer on your project uses vi and wants to explicitly refer to R.drawable.pacman, they can.
The article is like, "Hey! Look! Android! Containers! New execution environments! IDEs!"
Meanwhile I learned to code in Quick Basic 4.5 in a procedural model. I then started doing functional programming in C, and that whole "modular" thing where we break out programs into chunks. Object oriented programming was in relative infancy, and I learned that when it was just wrapping up related stuff into objects.
We now have more complex design patterns. The Gang of Four book and Code Complete are a mess to read; Tony Bevis did a better job writing a clear, concise explanation in C# and Java.
It's not the tools and the languages; it's the method of problem solving. Project Management today is not the same as Project Management in 1980 (I'm CAPM certified). Engineering isn't the same. We've created new construction techniques, not just new materials and tools. Programming hasn't just advanced in terms of languages and system platforms; we've created new methods for writing enormous programs without doing a shitton of refactoring.
I haven't assimilated the new methodologies yet. I can't plan in a grand scale using those tools; my brain knows how to use the old ones and can project at low resolution, then fill in all the gaps at high resolution. I need to burn these new abstract factories and decorators and other bullshit into my contextual thinking before I can just throw down immensely-complex, well-architected computer programs. I know the whole deal with being from the old school, and i know how hard it is to change; I also know what worked for the last set of problems doesn't fit this new set. That's sort of foundational knowledge for me: the correct approach depends on the problem, not on what your favorite tools are.
Support my political activism on Patreon.
Writing application code directly, as we largely do now, is going to be seen as a niche, low level activity, like assembly coding is now.
Our job instead is going to be telling the robots what it is we want through testable specification.
.net 9.7.2 framework
On one hand there will be hordes of "coders" who will basically become cheap and expendable assembly-line sweatshop serfs who receive shitty McPaychecks for their "coding" McJob.
On the other hand, languages that make more mathematical sense (e.g. what Haskell, Prolog, etc are like today) but requires a bit more disposable intelligence will be used much more widely in real-world situations. New advances in compiler theory and technology will make it easier to write generic code and to generate optimized code for future's hardware architectures, such as high-dimensional RAM/cache and massively parallel systems etc. Metaprogramming, formal verification and computer-aided programming will be the power to drive down the wages of McCoders, while highly competitive, "master" programmers will be living in god-like aura of intelligence (and possibly wealth), but constantly fearing for losing their own edge to young competitors.
Much higher stake will be in computer security. NSA-like governmental agencies will be even more powerful, possibly breaking the foundation of many secure encryption methods as known today. Writing secure programs will be even more challenging, in theory and in practice.
Those who cannot advance themselves intelligently will suffer.
There will be task appropriate languages/tools such as C for lower level embedded/drives/OSs and evolving, more abstract, languages such as Java/Python/etc and folks will be continuing to wrongly apply high level tools to low level tasks. So, no I see no driver for change in the future. It would be cool to see an on chip hardware data stack added to CPUs (CPU side of the pipe) and supported in C with a Forth like statements. It will never happen, but one can still dream of the performance improvements.
Cue the "app the appers" guy...
"Appers who app the hyperapps will be apping the mutually recursive endoapping of apps."
CI/CD systems will automate the heck out of everything, and there will be less and less visibility into what's running where and how.
"Cloud Native" applications designed around microservices with well-defined interfaces and running in some PaaS "somewhere" will become the norm. I sadly foresee that developers themselves will be expected to become microservices, basically expected to do one thing only, and one thing well, and forbidden to look beyond their immediate horizon of the ever rolling Agile backlog. There will be less space for creativity at the individual level, and massive invisible machine learning software running in the back-end of the datacenters will automatically generate "facts" for the suits in charge, and possibly even stories on a backlog based on those facts. In 20 years, they'll generate their own code.
Instead, we must con women to do what they (quite rationally) don't want to do, so we can get our statistics right.
Remember this the next time government says it wants to "help" you.
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.
And waiting for Perl 6 to be released "next year".
nuff said.
Yep, this. And those programmers will only be writing a handful of malformed TDD test cases and toss them over the fence to a foreign shop to search stackexchange for random bits of code that makes those test cases pass without much understanding of what the original problem was.
I can't change the gender I was assigned at birth. That's a matter of public records.
No, but in a decade or three, you may very well be able to change your sex at the genetic level, as well as reset your age.
Ten years ago, I was coding gnarly C++. Today it's even more gnarly because the projects are bigger and the problems more subtle. I think my only way out of this trap will be to make a conscious decision to stop, but even if I opt out, others will be in there doing the same basic stuff to make everything keep running.
The Objective-C knowledge I began developing in 1988 will probably be less useful in ten years, though. If you had asked me in 1995 if I would be intentionally avoiding Objective-C work in 2015 because of burnout, I would have laughed at you.
I hope that my Perl knowledge will be useless in ten years, but I fear that it will be the most lucrative system I know.
In the 80's, software-engineering was an optimistic industry, structured programming had helped so much, object-oriented programming seemed likely to make things easy, logic programming was going to automate a lot of stuff, we were going to move upstream to direct solvers and provers. Sometime in the 00's, everyone gave up and decided that optimism was overrated, software-engineering would never earn the "engineering" part, so instead let's just try to mitigate the vicious cycles to keep them from going too far foul. I think in ten years, things are going to look basically the same as today, with minor evolutionary additions, and we might even argue about whether things have changed enough to be worth talking about.
While its 2015 and I'm still dealing with archaic stuff like SQL and sporting legacy apps. The future is clearly going to be leveraging API's for all sorts of online-based solutions and this will only accelerator as the IoT becomes more prevalent. Also making use of a lot more Machine Learning to solve more elaborate business problems, and not just rely and re-purpose old rules-based if-then-else approach to decision making.. You'll write an app by plugging in various API's with whatever language works, language choice will be less of an issue. Sure there will still be a few hardware coders and folks needing to weat the small stuff, but for most folks its about using the BLACK -BOX API's and its who ties them together the best that will do well..stop worrying about the minutiae of particular language idiosyncrasies, focus on solutions not limitations.. (Ahh management speak coming through)
I don't know what programming will be like, but I DO know that whatever programming I do, it will be done on my LINUS(TM) brand desktop computer! In 10 years the LINUS(TM) brand desktop computer will have taken over the world!
Also emacs!
vi is for loserz!!
Meh. Whatever. Lame attempt at humor I guess. The reality is that the next 10 years will bring at least as many new fad-based languages, and 5-7 new C++ standards (none of which will be fully implemented much less fully understood), maybe 3-4 new, competing attempts at Javascript compilers ala Typescript (because Javascript is "the assembly language of the web" /cough)...as we all go slouching along in humanity's seemingly never ending endeavor to re-re-re-invent Common Lisp.
If you'd told me 10 years ago that I'd mostly be programming in LabVIEW today, I would have laughed. It's "not a real language". It's proprietary. Manipulating graphics takes so much longer than typing. Etc.
I still don't like that it's proprietary.
I suspect given the trends of the past decade that there will be more pseudo-code looking scripts written in language du jour, than actual code. API calls, to API calls that invoke still other APIs, without any understanding of what is actually being executed or on what platform it is executing. There has been a lot of effort put into making 'coding' simpler and more distributed which has many faults. First and foremost the simpler it is to code, the dumber our coders become. Similarly the more distributed we get, the harder it is to diagnose problems.
It used to be that a good debugger was all you needed. Now you can barely even tell what is going on without a sniffer trace, and even that will leave you wanting for some piece of the puzzle. I'm not suggesting a return to the days of COBOL, but not all advances result in better code.
I will hopefully be retired early (and still alive). If not, probably still embedded C++.
That is the closest to a constant you will get.
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
single player healthcare or no more employer based system will likely be in the us in 10 years
Instead, we must con women to do what they (quite rationally) don't want to do, so we can get our statistics right.
Minor logical error there. Sit in on an HR strategy session and you'll find that women represent a higher insurance cost to an organization than men. They incur more expensive medical costs (pregnancy, for example) while men are perfectly willing to sit at their desks quietly and die of some progressively worsening condition.
Have gnu, will travel.
Whatever the language or application, the one constant for me has always been the editor. I'm sure that will remain the same.
Excuse me? You write as if Java is some ancient dinosaur like COBOL that is on its way out. I don't think so. Java is the backbone of enterprise systems, has a massive open source and proprietary ecosystem, top notch tool chains, a runtime that runs 100% the same on all platforms, etc. Plus the Java platform continues to evolve such as the release of Java SE 8 a while back, the upcoming Java 9, and the upcoming Java EE 8 platform.
>> TDD test cases and toss them over the fence ...makes those test cases pass without much understanding of what the original problem was
As designed. That's how TDD breaks up work...
You're assuming that feminists have based their hatred on anything rational.
I can program. Programming is incomprehensible to them. Oh, look, I was legally male at some point. That has to be why, all that rapey male privilege I have! It couldn't possibly have anything to do with 20+ years experience.
My coding practices now are about the same as they were ten years ago. I learned an extra language or three, and I use git now instead of CVS, but otherwise things are pretty much the same today as they were a decade ago.
Why would you need anything more
>> a runtime that runs 100% the same on all platforms
(spits out milk through nose)
Actually there won't be any "programmers" to manage, they'll be dead. You know, the ones who actually understand that opcodes lie underneath.
Instead all that will be left are the post-hipster "software engineers" drinking whatever Starbucks has morphed into.
Yuck.
Captcha: appliers
Unfortunate name there...
Write something worthy of reading
10 years ago I was writing Java and C++ but the ratio is growing monotonically. In 10 years time I would expect to be doing only Java but maybe in a more expressive dialect. Still with a keyboard-like input device but not with a mouse. Some people will still be editing PHP in notepad.
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.
a. all the hype of new languages, frameworks, and platforms will be debunted as fast as the blitz/viral marketing efforts that we see today.
b. the "myster" of coding will be old-hat from a nomenclature stand point. Everyone will recognize (not necessarily understand) FIFO queue, certs, etc..., even understand what a buffer overflow means. It will not effect careers & salaries in s/w, but will call out overrated tasks.
c. As much as Silicon Valley wants coders to be rock stars (e.g. as in Silicon Valley), s/w will become like the 70's again--pretty normal activities of technical work. Silicon Valley will need to fine a new hype topic--but they're good at it....
d. And we won't have smartphones.
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.
In ten years, I'll be doing it by voice control. I've already started doing this. Here's how it works.
Hello $DRONE. This is what I want. This is what I want it to do. This is how I want it to look. This is how I want it done. When could you have that done? No, I've already said that I want it done in this $GENERICLANG, I'm not interested in $COOLLANGoftheDAY. When can you have it done? Very well, I expect deliverables from you at $DRONETIME/4 and regular updates on progress until then. Have a blessed day.
Use my neural interface to write a program to a data crystal that can display on the holodeck. Then leave work in my flying car.
[Insert pithy quote here]
Well, there's your problem.
Targeting a browser as the presentation layer of a UI is never a good idea, unless it's a static webpage.
So in the future ... 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.
Does saying "you know, I think Jar-Jar was kind of a fun character" count as serious digging?
I expect that, in 10 years, I will be programming in a good strongly-typed language. A young coworker will drop by to tell me how EasyScript is the best language ever. They will tell me that it is as fast as my strongly-typed language, but dynamic, and thus really fun to write in. I'll start with "Well, 10 years ago there was this language called JavaScript that people thought was the best thing ever..." then I'll say "10 years before that, there was this language called BASIC..." then the bearded guy next to me will say "and before that, there was this language called..."
10 years later, that new programmer will have another younger programmer stop by and say "I heard about this language called SimpleScript that is be best language ever. It is just as fast as your strongly-typed language, but dynamic..."
Lol.
Yep, I'll be living as a woman in 10 years, unless I die homeless in a gutter. There really is discrimination out there. It's just that it comes from management. But blame me! Sure, that's done a lot of good to fix the problem!
I will not be programming, at least not professionally. The gender insanity will continue in tech. I can't change the gender I was assigned at birth. That's a matter of public records
The requirements for changing the gender marker on birth certs, etc., has gotten a lot easier since the turn of the century. It's in recognition of several facts:
And of course there's this. Genes don't count for everything - but we already knew that :-)
I don't need to look forward to a future about arguing about whether I'm a "real" woman or just an invader with a woman-suit who's "really" just a cit het white male shitlord underneath, keeping "real" women from getting programming jobs in some vast, insane conspiracy.
... but you WILL be able to help any employer check off a few boxes in terms of diversity ... vive la difference! We have been dealt a double helping of problems, might as well take advantage of them where we can.
And most people don't really care. The TERFs (eg: Germaine Greer) are so ancient history ("what, you mean she's still alive???") that the only people who pay them attention are other TERFs and people looking for click-bait. They can go screw themselves because nobody sane would. want to.
As for Briana Wu - nobody wants to be pretty much universally known as an ID-10-T.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
If you are young and in good health.
Trying to blow smoke up somewhere...
Medical expenses are and SHOULD be higher for older people. They incur higher costs.
Just like auto insurance is higher for young / new drivers. They incur higher costs.
I will be programming in C using GNU/Emacs like I have since 1988.
As I continue to work in array-oriented languages like APL or J, as I have for years, it's interesting how very slowly the new languages are re-discovering things we've known for decades. As someone I know said, "Google invented map-reduce in 2004 and Ken Iverson cleverly re-invented it in 1964".
Eventually, the idea that novice errors are irrelevant to language design may slowly work its way into the mainstream, along with any number of other unrecognized language desiderata that will seem obvious in retrospect, but I'm not holding my breath.
Hell, I am already not programming. Anyone who still programs is basically an idiot whiling away their valuable time while others make huge sums of money on their backs. If you are not in the startup game then you are a peon. No offense, but very few people can be a linus torvalds who can program for fun and make an ok living at it. I probably make a couple of orders of magnitude more money than him and my coding skills aren't even in the same ballpark, but I can write a kickass business case and I have a stable of smart (but obviously not too smart) offshore coders who can build a demo that works good enough. On top of that I have the VC contacts to make those things very very valuable.
>> a runtime that runs 100% the same on all platforms
(spits out milk through nose)
It's easy enough to write java programs that work on *nix and not on windows. Create two class files that are case-significant, such as MyClassFile (for the class itself) and MYCLASSFILE (for final variables) in the same directory. Copying these files to windows fails, as one overwrites the other.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I'll probably add a couple of VIM macros and tweak my colour scheme. Yeah, that's about it. On the Internet.
I worked at a place used a vendors software that also had a server based version. They wanted us to switch but the owner said "Our current servers crash often, but our iSeries has been up since 1993 and has not gone down except when the power was cut and we found out our UPS batteries were dead." At the time, that was 13 years of steady processing.
I have been writing "enterprise software" (boring, lucrative software used by big business) for 15 years. Little has changed but the vocabulary, and even then it is synonym based changes ("Hosted" vs "Cloud", "GUI" vs "Single page application", etc). Sure I use new frameworks and describe my work in "new paradigms" but it is all just the same.
No matter what you do, or how you describe it, what tools you use, or even how you plan it, at a certain point you just have to do the thing.. actually write the code that makes the things happen that you want to happen.
No amount of framework overhaul, or "methodology shifts" will change the fact that there is a certain amount of stuff that you just have to do. The fact that I am willing to just do the thing, is what makes me a well-paid developer, and that's not going to change in 10 years.
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!
But honestly, I have no clue. I'm still trying to catch up on all the programming paradigms that were the new hotness 3 or 4 years ago.
"You'll get nothing, and you'll like it!"
... like receiving a Replicant Retirement (tm).
I'll be retired, happy in the knowledge that I don't have to put up with the latest fad, be it in tools or methodology, with useless managers who insist in giving implementation opinions, when they do not know what they are talking about, and with colleagues with delusions of grandeur. At that point I'll give them a collective finger and will go back to coding for fun.
My timeline points to a different industry. Starting 20 years ago my progression goes: assembly for microcontrollers, C/VHDL for embedded systems, application level code in C++/VB. Now I manage whipper snappers, don't use a computing device outside of work, and have no interest in learning a new ecosystem just to tinker with an arduino.
I think I might become a trucker.
Probably the same way I do now.
Spend the first quarter of the day in meeting either day dreaming or staring off in to space. Spend the second quarter of the day responding to email, talking to customers on the phone, or talking to coworkers about interfacing our code. Spend the third quarter of the day doing some vim. Spend the fourth quarter of the day browsing the internet and waiting to go home.
Really, the actual typing away part of my job is pretty small. I probably spend at least as much time whiteboarding, talking to coworkes, and talking to customers as coding.
Further I work in embedded systems, I don't see the C language going anywhere soon. I don't expect the Linux kernel to be rewritten in Haskell anytime soon.
Languages wise
1. Hopefully the death of Java and similar GC knock-off languages like C#. World would be a really nice place without them.
2. Expect demise/marginalising of dynamic languages like Ruby, Python, etc (Python may survive for a bit, as some of the NLP libraries are written in it).
3. Expect JavaScript to be the de-facto language. In fact, it has become on the web. But yet to see it getting closer to OS and general hardware.
4. C/C++ will remain there as long as there are hardware and peripherals. Fortran because of research and stuff.
5. Maybe the second coming of Functional Languages. I expected languages like F# to take off rapidly, but still haven't seen any momentum. Likely, they will have its day when more and more cores are squeezed into the CPU.
Work wise
1. Nothing will change... still there will be incompetent managers, unrealistic timelines and unworkable workflows (agile, scrum, waterfall)
I sincerely hope it is not *still* with a mouse and keyboard. For me it is the least sucky way to interact with my pc, I wish something existed that would allow me to be more productive, I spend too much time moving the mouse around and typing.
You must gather your party before venturing forth.
It was assembler first. Then FORTRAN and BASIC and assembler. Then assembler and C. Then C and Perl. Then C and Python.
It's been C and Python ever since.
The shift from assembler was forced on me because the underlying platforms began to diverge; C took care of that, while remaining low level enough not to suffer the slings and arrows of clunk, lethargy, and various types of safety nets of a hoop-jumping nature.
Perl put a moderate amount of readily accessible speed and a great deal of power on the table. That was a huge step forward and renewed my interest in interpreted languages.
Python took that speed and power and added after-the-fact comprehensibility, a much better syntax, and a brace-free indented coding style that I found very attractive and readable, which in turn enhanced the power I was able to effectively leverage considerably.
Since about 2002, when I first began seriously developing in Python 2, I have been watching for a similar gain in comprehensibility, convenience and so on as was brought to me by Python, over Perl. Nothing I've seen thus far has come even close.
As for c, it's been flat-out unbeatable at the low-level for me in my post-assembler phase. I can't imagine something that would be both as close to the metal, and yet as amenable to high level concept implementation. I'd love to see something like that, but so far, the closest attempt, C++, has not come all that close for me. Objects with built-in methods are very easily (and much more efficiently) done in c. Classes themselves are nice-ish, but certainly they are not required. Organization of functionality is what they really do for most people, but I am already pretty organized, so C++ classes don't offer me much there (in fact, sometimes C++ classes get in my way.) Most of the rest of C++ is of little interest to me.
I'm always curious. C++, Objective C, C#, Go, Swift, Java... these kind of things attract my attention like a bee to pollen. But so far... Python 2 and C remain -- by far -- the most attractive and certainly the only ones in daily use.
I understand the urge to make a new language. I've felt it and succumbed to it myself. Not once, but several times. No general purpose languages, but specialized things like macro languages and KB languages and ray tracing languages and PCB layout languages. I really, truly appreciate that so many people have actually gone ahead and created general purpose languages and made them widely and freely available. Lots of people have different tastes and interests as compared to mine, and all of those languages being out there keeps everyone thinking and the underlying tech churning in such a way as to produce lots and lots of useful things.
Personally speaking, though, it's been about 13 years since anything in this area caught my interest to the point where I actually wanted to use it in production. I would like that to happen. But honestly, barring something that writes good code for me (not in the cards quite yet), I have a lot of trouble with the idea that with all these people thinking about computer language concepts over those years, that there are many (or any!) concepts left that would result in such an advance.
C (in my case) has an advantage in that for the various concepts I've really liked in other languages, I've built those facilities in C so I have ultra fast and lean instances of those particular functionalities. List handling; dictionaries; threading; regular expression handling; PostgreSQL and SQLite interfaces; memory management; input sanitization; etc. At this point, if I like a language concept, I'm more likely to implement it so I can have it available in C than I am to adopt the language that carries it.
Python... I really, really like Python 2. The only thing I don't like about it is the inability to extend a built-in class, for instance string handling. Sub-classing doesn't help when every instance of a subclassed-string utilizes the built-in class, because inevitably, the bui
I've fallen off your lawn, and I can't get up.
Ten years?
"It would be nice to have that kind of job security."
China should have undercut India by then. It will be cheaper to hire ten Chinese rather than do it myself. Now if I can only find a non-tech job by then....
Dude, I've been waiting on the (w)hole "intranet for your apps," crap to phase out since 1999. Holy crap do people like beating their heads against the wall.
I liked jar jar too, thought I was the only one!
...or if they're actually 75-year-olds who used to be beer-bellied, balding men.
Surely our slashdot IDs will still give us away as old fogies.
After nearly 20 years doing this, I believe that what software developers actually do all day long is primarily ontology, and secondarily engineering. Conceptually fitting the real world into a little box filled with transistors is hard. You can't automate thinking (at least not yet). The computer world is a limited representation of the real world, and that translation, deciding which things to take and which things to leave, and what shape they take in the virtual, is something that a computer cannot do, and sure won't be able to in 10 years time, possible even in a 100 years time. Until then, programmers will be doing the same thing they do today, just in a slightly faster format with slightly updated tools and slightly slicker interfaces: crafting a virtual and limited representation of the real that allows modeling and the generation of knowledge and value from information from data.
Everyone is living in a personal delusion, just some are more delusional than others.
We devolved from the desktop days.
Speak for yourself, I'm still in the year of the linux desktop, and I'm still using a 90s-style desktop paradigm.
And in the browser if you use scriptblock, then sites without a traditional interface won't even look usable; you'll be spared entirely. The worst crap just obviously didn't load right, and you look for a site with legit content.
You don't have to devolve, just increase your lawn security.
Probably about the same as we're programming now. I got NPEs in the 1990s, NPEs in the 2000s, and still get NPEs today. The 2020s look like another decade of NPEs.
Most Java devs use an IDE. When creating a new class, the IDE names the file with the same case as the class name. This has never caused a cross platform issue for me. I've developed Java on Windows, Mac, Linux and Solaris.
Just like there's little stopping you from changing your legal name when you get CRISPRed into a 25-year-old hottie, there's nothing stopping you from creating a new Slashdot account.
Cobol
Nope, browsers did none of that. All the apps I use are still working just fine. :) I can't think of a single thing that I've migrated to the web. But I think procmail is a nice mail tool. haha
But the alternative sucks even more. If a web page wants to allow keyboard shortcuts, then it has to not conflict with the browser's shortcuts. I've been annoyed far too many days back in the flash days where I hit Ctrl-T or Ctrl-W but nope, the flash plugin grabbed it. One thing Windows does well hotkey-wise is it put all the OS shortcuts on Win+____ and nothing conflicts with them. Browsers, on the other hand, both use Ctrl+___ and Alt+___ for their hotkeys, so anything that wants to use those within the browser has to be very conservative with what it uses, or at least let the user remap them.
I currently do most of my programming in Fortran using Vim — and don't see any reason that this has to change during the next decade.
Note that I'm not one of the veterans that started with Fortran 77 a few decades ago; my first programming languages were Python, Matlab, and C++. But at some point, I was forced to learn the basics of Fortran in order to make a C++ wrapper for a library that I needed, and was so impressed with the modern versions of the language that I now do almost all my programming in it. For numerical work, you basically get the benefits of C++ (static typing, object orientation, high speed) and Matlab (matrices, complex numbers, array slicing, 'elemental' functions), combined with a large body of available legacy code from the last few decades that can be leveraged in your applications.
I expect that in ten years, if I'm still doing mainly numerical programming, I'll just be programming in a newer revision of Fortran using a newer version of Vim.
Some environments all they require is a console editor. Others take advantage of very very large tool stack (press F12 for live demo). 10 years from now vi will be alive and well and we are going to use it to program the programs that will police the programs that police the police programs.
- these are not the droids you are looking for -
only dumb twats with no experience in computer science use that shit
In python 3 which I guess will be starting to be widely adopted. Or was that almost 10 years ago? hehe!
... will have come back into vogue again.
I think over the next 10 years several things will be commonplace in programming. One will be a renewed emphasis on KISS (Keep It Simple Stupid) in software design, and the other will be more emphasis on programing for security.
Which ultimately brings programming almost full circle to less abstraction and more agility. In that environment I expect I will continue to program the way I've been programming since 1981 - with an added emphasis on secure programming and understanding what your tools are producing in the runtime environment.
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
Most Java devs use an IDE. When creating a new class, the IDE names the file with the same case as the class name. This has never caused a cross platform issue for me. I've developed Java on Windows, Mac, Linux and Solaris.
You say most do. [citation required]. I don't, but that is competely irrelevant to the point I was making - that file systems that are not case sensitive (such as under windows) can not run all java programs that can be created on case-sensitive platforms. Handy if you want to restrict your software to non-windows systems, or if, as pointed out, you want to use different file names that only differ in case for things that you would normally use header files for in c/c++. Eg: foo.java and FOO.java instead of foo.c and foo.h. This wouldn't be an issue if windows was case-sensitive instead of just case-preserving.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I'd be banned from programming in the United States as a white straight male.
You think Slashdot will be around in 10 years? Microsoft? Dell?
Thanks for the reply. I guess I'll have to check the laws in my state for updating identifying documents. When I first started over a decade ago (and then promptly stalled because I made the mistake of thinking having a job was more important than being who I was), the birth certificate could be amended I believe, but only after bottom surgery for M2Fs.
Come to think of it, a trans woman who lived with me briefly did mention something about not needing surgery to get a passport with one's lived gender after going full time. Also come to think about it, there are also such things as informed consent clinics these days, so no more ridiculous song and dance trying to convince some gatekeeper psych (or going the more dangerous route of internet pharmacies like I did after giving up with one psych who had never heard that gender change is something people do or else thought it was mental illness and another psych who was only good at transferring money from my bank account to a local university's).
I am within a half day's drive from the Michigan Womyn's Music Festival, so maybe that's why I've come up against so many TERFs. I was surprised to learn that Pagan faiths, at least as practiced in this strange enclave of flyover country I was foolish enough to call home, are even more transphobic and homophobic than various brands of Christianity.
... but you WILL be able to help any employer check off a few boxes in terms of diversity ... vive la difference!
I had always figured the diversity checkbox was available for "womyn-born-womyn" only. I'm honestly confused every time on this site and the red site trans women become the "whipping girl" to borrow the title of a book whenever diversity comes up.
One would think it's unpossible that I'm supporting a highly-skilled trans woman who has no income thanks to either transphobia or gender discrimination in general (the lawsuit I've mentioned in other comments may help figure out which, because it's sounding more and more like they're going to find one hell of a skeleton in that place's closet), and I'm too afraid/exasperated to go full time at my current job.
Maybe I'll give it a try when the time comes for the lulz, but I need to get to a larger city.
Any advice on what to look for when trying to judge how trans-unfriendly different big cities are?
A lot of the "revolutionary" changes are just evolutionary.
I'm only a hobby programmer, but the main change I've seen is the use of frameworks. But then again, that is basically just a nice bundle of libraries and templates. Composer (for PHP) is cute, but PECL existed a long time ago.
By my guess, this will continue, so in 10 years I will programm in something like the Wolfram Language - basically, everything but what is specific to your domain or app will be available as a library call.
Assorted stuff I do sometimes: Lemuria.org
Random feminists do not have access to your birth records.
No, but all it takes is somebody in HR or accounting to decide that it's time to review the employee's records, and what's this? A birth certificate on file with an M! *gasp* A cis het male in a woman-suit fooling us this whole time!
All though, hopefully CRISPRwhatever would qualify as a procedure that would allow one to change that. Who knows I guess. Depends on the state/country of birth.
*sigh*, to think, all I needed was two plastic surgery procedures I could have easily afforded with money I earned myself back then if I'd had a little support to have been, well, maybe not stunningly gorgeous, but definitely hot. I might have achieved "stunningly gorgeous" if I'd had proper medical care beginning when I was 12. Just lucky with genetics and early HRT and simultaneously unlucky with parents and SJWs I guess. I doubt age reversal is possible, at least before I wind up six feet under. Oh well, maybe next life.
I mean, surely an army of hot, young women hackers is worth being flexible about what constitutes a "woman?" Eh, who knows. That reminds me, I need to catch up on my favorite SJW-authored comic about gender mayhem (not Ranma 1/2) I'm not sure why I even bother reading anymore, since it's not really about gender mayhem anymore.
We will be rewriting the wheel again this time virtual code within the virtual machines which the AIs inhabit and do their work from. That is until we get the new code ninja generation programmer AIs up-to-speed with how we write effective spaghetti code.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
I'll be programming from inside a bunker deep in the Earth.
Any advice on what to look for when trying to judge how trans-unfriendly different big cities are?
Perhaps instead of dealing first with shrinks, see an endocrinologist and ask for a referral to someone who deals with transsexuals. That's what I did, and it turns out he has quite the practice with us :-) I explained the situation, walked out with a prescription for estrogen.
The problem is that too many psychiatrists who specialize in us really do see their role as being highly restrictive gatekeepers. Other psychiatrists think they're being obtuse. Basically, give a series of psychological tests, see that there's no pathology, and then work with the patient to achieve their goals would be a lot less stressful for everyone (and fewer suicides).
When you've got someone who's already transitioned, working in their new identity at a new job, friends and family all know, why would you need a year of weekly sessions for "therapy to help you adjust", and twice-monthly group therapy? "You have to follow our program for a year before you can go on hormones." "No I don't - I'll find my own way." All legal, too.
They're going to have to modify they way they work since they can no longer act as gatekeepers, and let's face it - it's easy to transition on your own - anyone can read and follow the SoC. All it takes is either to be so desperate that you HAVE to transition NOW OR ELSE (./waves hands) or courage.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I mean seriously, there is nothing paradigm shifting on the horizon. Yes people may now use graphical tools to write GUI applications, but they did so since Visual Basic and Delphi, both of which were originally released in the first half of the 1990s.
There will always be specialized systems for special applications, but none of those are suitable for general consumption.
When you've got someone who's already transitioned, working in their new identity at a new job, friends and family all know,
Heh, that's my current challenge. I have no family. They didn't have a daughter, therefore they didn't have me, therefore I have no family, hence I have an ex-mother and ex-father, but no current mother and father. I wish that could be reflected legally. I don't want that bunch of Christian fundamentalists, Baptists, and American Reformed as family either. The feeling is mutual. Friends? I managed to fuck that up. Hung out with a bunch of losers.
One thing. If even the informed consent clinic cannot prescribe me alternative meds to continue to prevent involuntary, painful, debilitating erections, well, I might take a compromise. I wonder what the local hospital would do with an assigned male bleeding out in their parking lot, all because he couldn't stand his circumcision or assigned gender any more and found a practical solution to "religious objection!"?
I am 37 and will be retiring in 15 years. So .. 1.5 decades. I've been programming since 1990, so ... 25 years. I have absolutely no plans on programming with-in the next month as I am switching to Systems or DB administration. I'm literally bored and sick of programming. The pay just isn't up there any more, and I plan to have a somewhat decent retirement.
One of the worst things that browsers did was virtually destroy the ability to use shortcut keys
You can put keyboard shortcuts into your web pages with the HTML attribute called accesskey. Like if you have a link for the Next page, you could write it like this:
<a href="pages/2" accesskey=N><u>N</u>ext</a>
Pressing Alt N would click it.
Unix/Linux and ANSI C using the vi editor, just like now. It's funny that I will retire on this day, in exactly 8 years!
Ah. And the alternative is what? 3270 terminals? Windows? Qt?
I can. I do. But thanks to the greediness of the browser, the choices are limited.
Some people think agile frameworks are the best and they need to couple javascript with .net and real java to generate ASP templates or other funky stuff. Other people just do real programming work, just like ten years ago. And they will do so in ten years from now. When node.js is forgotten for a long time, C will still be used with vi. Some stuff does not die. And this is not the hipster frameworks.
Seriously, in 10 years from now...
Java will be the what COBOL currently is. Swift will have replaced Objective-C. And a gazillion languages, be they dynamic, static, C-style or whatever, will be competing for the spot Java once inhabited. And even more languages will compete to be the current hip thing.
But C always will be, because a "system language" will always be needed, and C has proven to be the best so far.
So, answer is.. C
Heh, that's my current challenge. I have no family. They didn't have a daughter, therefore they didn't have me, therefore I have no family, hence I have an ex-mother and ex-father, but no current mother and father. I wish that could be reflected legally. I don't want that bunch of Christian fundamentalists, Baptists, and American Reformed as family either. The feeling is mutual.
I have 4 younger sisters who all STILL absolutely refuse to to accept it - and not one is religious. One of my brother-in-laws is also my pharmacist, and he doesn't accept it. The universal theme is "Why couldn't you just be gay? That we could accept." After being (very very) upset for several years, I had what I guess you could call an epiphany - I want them to accept who I am, but I was refusing to accept who they are. Kind of hypocritical, so I got back in contact with them, and while they still call me the wrong name and gender (even when in public or at a family get-together with guests I don't know, ugh!), I just roll my eyes and tell the newcomers "they still can't accept the idea of a sex change." If they can't accept it, it's because they're scared that they'll have to do a bit of introspection and maybe change their stance - but if you insist on it, they'll just dig in their heels.
There are fundie christians who DO accept us (just like there are pastors who have gone through the change - not always with great enthusiasm from their congregants, but they just move on to another church, no big deal. The student I'm renting my spare bedroom out to had a minister who joined our ranks recently - like always, it was the old farts who were the millstones. This is his last month before returning to Ontario, so I let him in to my little secret a couple of weeks ago :-).
Since I was further publicly outed in 2013, I tell people to tell everyone they want, because it's not something I should be ashamed of (after a while, it became a non-issue, so nobody talks about it much any more unless they need advice on that topic). The reaction (especially from other women) has been great. You can always make new friends. Worse case scenario is to just move to a new neighborhood (avoid anything like the gay village part of town - you don't want to be stereotyped). If you have a dog and some of your neighbors do too, offer to walk them at the same time you take yours out (I've got two neighbor's dogs sitting here with me right now).
My parents are dead (they would have had absolute sh*t hemorrhages over this), so that's one problem less. After I transitioned, I got out of programming for a while (got a job as a secretary/receptionist of all things) and had an absolute blast, before returning to programming. It was so funny - my sisters absolutely refused to believe it for the longest time. It was hard for them to understand that people who have never met be before only see what they expect to see - not my appearance overlaid over my old appearance. Once you internalize that, life becomes much easier. Until then, there's always that nagging fear at the back of the mind ... but experience and practice make it go away.
I guess that all I'm saying on this can be summed up with "don't give up on them." There's no reason why you can't just be a normal dysfunctional family :-) And as for friends, if it's a problem, the problem is definitely with them and not you, so screw 'em, they weren't really "your" friends, just friends of a non-existent cover persona. Friends are not that hard to make nowadays, even for nerds and geeks.
. I wonder what the local hospital would do with an assigned male bleeding out in their parking lot, all because he couldn't stand his circumcision or assigned gender any more and found a practical solution to "religious objection!"?
I came so close to that ... I had already told my friends, and with one exception, no problem (and boy, was that an ugly scene), and was
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
I truly hope I am no longer programming at all.
Retired from software... maybe. Sort of.
I will program in C, using vi.
My father used to code Fortran on punch cards, I wrote my MSc thesis in F90 and now I have some F2003 code in background. I would like to see the world outside sometimes, but I guess that in 10 years I'll be doing still Fortran on a shell. I am doomed, and so are my children and the children of my children....
Yep, I finally bit the bullet and migrated my config. from Xemacs to Emacs.
Gimme my 1980's commodore pet that booted in about 10 seconds. Having 1000x the CPU power, 1000x the memory has just made everything slower because nobody write code anymore, they just leverage libraries. Or at least it seems that way to me.
I will be programming in a system that takes my input for what the app should do, and stores the info in a database. With another database for the tables and such. When I do a make, it will read the databases and generate the code files, then run compiles and the link to make the run-able file(s).
But it will allow me to make changes in the code, that are stored in the database and picked up when I do the next make.
It will also allow working at different levels down to assembler, if necessary. And link in other languages. And use different database types, more than one in the same app.
With, of course, convenient screens to enter stuff including windows and forms. Which is also picked up automatically for the next make.
And by the way, it will allow writing scripts to make new code generator operations to generate new kinds of code. Or even text.
P.S. It's called Clarion, sold by SoftVelocity, look it up. But it's not cheap... 8-)