Live data from Hacker News

Reflections of an “Old” Programmer

bennorthrop.com

111–120 of 339 posts

Re: Reflections of an “Old” Programmer

#111

Earlier quoted context omitted.

New stuff: Machine learning that works. Rust's borrow checker. 3D SLAM that works. Voice input that works. Lots of image processing stuff. Machines with large numbers of non-shared-memory CPUs that are actually useful. Doing non-graphics things in GPUs. The webcrap world is mostly churn, not improvement. Each "framework" puts developers on a treadmill keeping up with the changes. This provides steady employment for m…

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

Another way to look at it is that, even after 20 years and huge investment from serious companies, we can still only build poor substitutes for desktop applications.

Don't get me wrong, it is amazing progress given the technology you have to fight. But in absolute terms it's not that great.

Re: Reflections of an “Old” Programmer

#112

Earlier quoted context omitted.

New stuff: Machine learning that works. Rust's borrow checker. 3D SLAM that works. Voice input that works. Lots of image processing stuff. Machines with large numbers of non-shared-memory CPUs that are actually useful. Doing non-graphics things in GPUs. The webcrap world is mostly churn, not improvement. Each "framework" puts developers on a treadmill keeping up with the changes. This provides steady employment for m…

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

I call BS. The progress that was made in the late eighties/early nineties was much more astounding. Going from character screens to fully event driven, windowed graphics mode was a much greater and more impressive change in a shorter time-frame.

the that time you had to learn a lot of new stuff in a short time too.

Re: Reflections of an “Old” Programmer

#113

Earlier quoted context omitted.

New stuff: Machine learning that works. Rust's borrow checker. 3D SLAM that works. Voice input that works. Lots of image processing stuff. Machines with large numbers of non-shared-memory CPUs that are actually useful. Doing non-graphics things in GPUs. The webcrap world is mostly churn, not improvement. Each "framework" puts developers on a treadmill keeping up with the changes. This provides steady employment for m…

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

I've never built a web application of any description. As a user, what are the improvements that I should be looking for that have been introduced over the past 10 years? It was longer ago than that that AJAX started getting big, and as far as I can tell, that was really the last key innovation for most apps: Being able to asynchronously load data and modify the DOM when it becomes available. I'm aware of other things like video tags, webgl, canvas, and such that allow us to replace Flash for a security win, but that seems replacing a past technology just to get feature parity with what we had a decade ago.

Everything else seems like stuff that makes things better for the developers but not much visible benefit to the user. I can understand where a comment about the web not being much better would come from, on the scale of a decade.

Go back 20 years, and you're talking about a completely different world; frames, forms, webrings, and "Best viewed with IE 4.0". But if '96 to '06 was a series of monumental leaps, '06 to '16 looks like some tentative hops.

Re: Reflections of an “Old” Programmer

#114
post #98

If somebody had found himself in Edinburgh in 1986 and bumped into a tall gentleman called Robin, who was a bit familiar with this new-fangled thing called computers, and had asked Robin, what kind of programming language should one learn to use these computer thingies, what would Robin have said? Not sure, but maybe something along the lines of "well ... there are many interesting languages, and different languages…

Haskell isn't quite “mainstream”, so I'm taking the liberty to add innovations from other “not quite mainstream” languages: - Hygienic macros as a scalable tool for extending and redefining languages, and furthermore, making the extensions interoperable with each other (Racket). - Language support for building reliable massively distributed systems in spite of individual node failures (Erlang). - General-purpose prog…

Good points.

ML originally had Lisp-like macros, not sure about hygiene. Note also that one doesn't always want hygiene in meta-programming, although it is nice to have the option of hygienic macro expansion.

I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming.

Arrays and hash tables are data-structures that you can implement as libraries in ML, so I'd say that's not a language issue. Progress in data structures and algorithms has been considerable.

Re: Reflections of an “Old” Programmer

#115

Earlier quoted context omitted.

Haskell isn't quite “mainstream”, so I'm taking the liberty to add innovations from other “not quite mainstream” languages: - Hygienic macros as a scalable tool for extending and redefining languages, and furthermore, making the extensions interoperable with each other (Racket). - Language support for building reliable massively distributed systems in spite of individual node failures (Erlang). - General-purpose prog…

Good points. ML originally had Lisp-like macros, not sure about hygiene. Note also that one doesn't always want hygiene in meta-programming, although it is nice to have the option of hygienic macro expansion. I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming. Arrays and hash tables are data-structures that you can implement as librar…

> I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming.

Oops, yes, my bad!

> Arrays and hash tables are data-structures that you can implement as libraries in ML, so I'd say that's not a language issue.

Yes, but the point is that nowadays we have languages in which it's “convenient” to design entire large applications around nothing but arrays and data structures. Also, that one was snark.

> Progress in data structures and algorithms has been considerable.

In CS, yes. In everyday programming, regress in data structures and algorithms has also been considerable.

Re: Reflections of an “Old” Programmer

#116

Earlier quoted context omitted.

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

I've never built a web application of any description. As a user, what are the improvements that I should be looking for that have been introduced over the past 10 years? It was longer ago than that that AJAX started getting big, and as far as I can tell, that was really the last key innovation for most apps: Being able to asynchronously load data and modify the DOM when it becomes available. I'm aware of other thing…

There's actually a fair number of new features in the web today that you couldn't do in 2006 - offline access, push notifications, real-time communications (without a hack that breaks on most firewalls), smooth transitions, background computation, the history API, OS clipboard support, accelerometer access, geolocation access, multi-touch, etc.

Few websites use them effectively yet, at least in a way that benefits the consumer (several are using them to benefit marketers). This could be because developers don't know about them, consumers don't care about them, or perhaps just not enough time has passed. XHR was introduced in 1999, after all, but it took until 2004 before anyone besides Microsoft noticed it.

Re: Reflections of an “Old” Programmer

#117
Well, first of all, new shiny things are not really new at all. The principles behind them have been around for decades.

Learning 30 different imperative languages (c, pascal, ada and descendants) might not add as much value as learning an imperative language, a functional language, a logic programming language, a language emphasizing concurrency (go, erlang), etc... meaning, learning paradigms and high level design constructs not syntax.

Try to stay in touch with new paradigms, instead of just new applications of them.

Re: Reflections of an “Old” Programmer

#118
post #13

I'm a bit older than the author. Every time I feel like I'm "out of touch" with the hip new thing, I take a weekend to look into it. I tend to discover that the core principles are the same, this time someone has added another C to MVC; or the put their spin on an API for doing X; or you can tell they didn't learn from the previous solution and this new one misses the mark, but it'll be three years before anyone noti…

MVC is from the 70s.

Re: Reflections of an “Old” Programmer

#119

Earlier quoted context omitted.

New stuff: Machine learning that works. Rust's borrow checker. 3D SLAM that works. Voice input that works. Lots of image processing stuff. Machines with large numbers of non-shared-memory CPUs that are actually useful. Doing non-graphics things in GPUs. The webcrap world is mostly churn, not improvement. Each "framework" puts developers on a treadmill keeping up with the changes. This provides steady employment for m…

Hasn't improved websites much? I remember the days of iframes and jquery monstrosities feigning as web "applications". The idea o a web-based office suite on the web would have been laughable 20 years ago. My guess is you haven't actually built a real web application. The progress we've made in 20 years is astounding.

Browsers have improved greatly and new web development frameworks are necessary to make use of those improvements but the actual process of building usable web application doesn't seem that improved. It's certainly not any easier to achieve pretty much the same results.

> The idea o a web-based office suite on the web would have been laughable 20 years ago.

What's laughable is how much effort has gone into rebuilding something in this platform with a result that is nearly the same (but worse) as what existed 20 years ago.

Re: Reflections of an “Old” Programmer

#120

Earlier quoted context omitted.

Good points. ML originally had Lisp-like macros, not sure about hygiene. Note also that one doesn't always want hygiene in meta-programming, although it is nice to have the option of hygienic macro expansion. I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming. Arrays and hash tables are data-structures that you can implement as librar…

> I explicitly restricted the comparison to languages for sequential computing. There has been a lot of novely in concurrent programming. Oops, yes, my bad! > Arrays and hash tables are data-structures that you can implement as libraries in ML, so I'd say that's not a language issue. Yes, but the point is that nowadays we have languages in which it's “convenient” to design entire large applications around nothing but…

   regress [...]  has also been considerable.
Thanks to Moore's law, most programmers even get away with it. And if they don't ... they do big data.
Post reply on HN