Earlier quoted context omitted.
> Leveraging the strengths of the computer and human will lead to an order of magnitude improvement in programmer productivity. Interactive testing will eliminate whole classes of logic bugs, making most non ui code correct by construction. I'd like to see evidence / experience reports backing up this part. Certainly Copilot exists, but what I've read about it is pretty mixed.
More like Brooks was the one being right (for like 3 decades now) with his ‘No silver bullets article’, in that we will not have another order of magnitude productivity change in programming after high level languages became a thing.
What will programming look like in 2020? (2012)
121–130 of 151 posts
Re: What will programming look like in 2020? (2012)
#122> At a guess, people will use something with: - Strong tooling and libraries - An accessible type system - Deterministic memory behaviour - By-default strict evaluation - Commercial backing Every mainstream functional language is lacking in at least one of these areas. This user casually predicted Rust.
* Long compile times * Too much micro libraries
> An accessible type system
As a sibling comment mentioned, typescript covers this more appropriately.
> - Deterministic memory behaviour - By-default strict evaluation
For most practical purposes, Golang and Java cover this. Rust / C++ is great is systems stuff, I am not going to use it for some application layer stuff, with all complexities that come with it.
> Commercial backing
Not much, really.
Re: What will programming look like in 2020? (2012)
#123Earlier quoted context omitted.
I do every day. I code 5 times faster on problems several times harder. You also get good at 'using copilot' just like you can be 'good at googling'. So if you not already doing it. Start now. IMO. There's literally no point coding without it. You are completely wasting your time. However it has limits. It only helps you write code. Architecture is still down to you. If it could read your whole codebase rather than j…
> There's literally no point coding without it. Except maybe that it is still not generally available.
Re: What will programming look like in 2020? (2012)
#124> At a guess, people will use something with: - Strong tooling and libraries - An accessible type system - Deterministic memory behaviour - By-default strict evaluation - Commercial backing Every mainstream functional language is lacking in at least one of these areas. This user casually predicted Rust.
> Strong tooling and libraries * Long compile times * Too much micro libraries > An accessible type system As a sibling comment mentioned, typescript covers this more appropriately. > - Deterministic memory behaviour - By-default strict evaluation For most practical purposes, Golang and Java cover this. Rust / C++ is great is systems stuff, I am not going to use it for some application layer stuff, with all complexit…
We’ll ignore every other bullet point containing fundamentally incorrect information also.
Re: What will programming look like in 2020? (2012)
#125Earlier quoted context omitted.
I do every day. I code 5 times faster on problems several times harder. You also get good at 'using copilot' just like you can be 'good at googling'. So if you not already doing it. Start now. IMO. There's literally no point coding without it. You are completely wasting your time. However it has limits. It only helps you write code. Architecture is still down to you. If it could read your whole codebase rather than j…
> There's literally no point coding without it. Except maybe that it is still not generally available.
Re: What will programming look like in 2020? (2012)
#126Earlier quoted context omitted.
> Strong tooling and libraries * Long compile times * Too much micro libraries > An accessible type system As a sibling comment mentioned, typescript covers this more appropriately. > - Deterministic memory behaviour - By-default strict evaluation For most practical purposes, Golang and Java cover this. Rust / C++ is great is systems stuff, I am not going to use it for some application layer stuff, with all complexit…
I find it pretty hilarious that “too much micro libraries” is a criticism, but then you recommend TypeScript - which runs on Node.is, the progenitor of “micro libraries” in the next sentence. We’ll ignore every other bullet point containing fundamentally incorrect information also.
I think rust is the great language. But community is the worst thing about it.
Re: What will programming look like in 2020? (2012)
#127Earlier quoted context omitted.
> The “ Some safe and some bold predictions” comment is almost exactly my view on how programming should evolve. (functional, reactive, going toward dependent types etc ) Interesting how in 2012 it was already so clear! Given that languages used broadly in the industry are lacking behind research 20+ years that's not a good prediction. It's just the way things are going. BTW: There's still no mainstream language with…
> Given that languages used broadly in the industry are lacking behind research 20+ years This is obviously true in abstract, but the real breakthrough happens when you make those concepts ergonomic for the working developer. The theory behind dependent types is well established, but I can't really write my next project in Idris, can I? Similarly, there was a time when C was the only sensible choice to write anything…
But the elephant in the room? What about LISP?
To try to answer that by myself:
My guess is that (too?) "advanced" technology (at some point in time) doesn't get any traction on the mass market. That's another reason mainstream languages and tools lack significantly behind academia in my opinion. If something is called "academic" that implies "not pragmatic enough for use" for a lot of people, I suspect. (The LISP story has more to it but this would be largely off-topic so not going into that).
Re: What will programming look like in 2020? (2012)
#128Earlier quoted context omitted.
More like Brooks was the one being right (for like 3 decades now) with his ‘No silver bullets article’, in that we will not have another order of magnitude productivity change in programming after high level languages became a thing.
Brooks wrote "No Silver Bullet" in 01987. The examples of high-level languages he mentions in his paper are Ada, Modula (not sure whether the 01975 version or Modula-2), Simula-67, APL, Pascal, Smalltalk, Fortran, COBOL, PL/I, and Algol, and of these he thinks Ada is the most promising. Does his thesis hold up in the face of modern programming language advances? I am not confident that there are programs I can write…
In my opinion it does hold up, since indeed we can hardly even be 2x more productive in a barebone project with different programming languages, let alone an order of magnitude.
And what you are getting at is as far as I remember was the escape hatch mentioned by Brooks himself, that is the only significant improvement in productivity will come from the ecosystem. And I think we are behind even at that, in that we unfortunately have many NIH projects doing the exact same thing across language ecosystems, with not much interoperability. Eg. the JVM, Python, JS ecosystem has barely any shareable elements. Hopefully something like Graal’s polyglot might change it in the future.
Re: What will programming look like in 2020? (2012)
#129Earlier quoted context omitted.
How close are you to being fully obsolete?
The correct response to becoming obsolete is to learn something new, not to fight the thing making you obsolete. Doing the latter is about as productive as yelling at the tide to not come in.
If we can do it, we should do it. All technology is progress. All technology improves the human existence.