'Stop Writing Dead Programs' by Jack Rusher (Strange Loop 2022)

preview_player
Показать описание
Most new programming languages are accidentally designed to be backwards compatible with punchcards. This talk argues that it would be better to focus on building new live programming environments that can help us solve the problems of the future.

Jack Rusher
Applied Science Studio
@jackrusher

Jack Rusher's long career as a computer scientist includes time at Bell Labs/AT&T Research and a number of successful startups. His current work focuses on the deep relationship between art and technology.

-------- Sponsored by: --------

Рекомендации по теме
Комментарии
Автор

I remember reading this story about a company that was trying to send a program to a customer in France. Trying, because every time they did, it would fail to run customers' hardware. Finally they sent someone with a case that contained the program to sort things out. When he went through customs he dutifully declared the program as an imported product, whereupon the customs official pulled a few cards out as a required "sample" of the imported product. Oh joy.

artdehls
Автор

When you realize computer science has become a culture, with even an archaeology department...

marinoceccotti
Автор

This guy speaks so fast.. basically about 5 presentations in the time for 1, but somehow, he is completely understandable and he keeps the attention of the audience!

pkphilips
Автор

I was almost through this entire lecture when I realized that all these issues sound like "when you're a hammer, everything looks like a nail." We were trained by a thousand editors and programming languages to approach problems in a particular way instead of asking, "What is the best tool to approach the type of problem I'm working on?" Thanks for showing some really good tools and challenging us to make tools that are equally good for working with certain types of problems and data sets.

ALaModePi
Автор

My first programming class used punched cards running FORTRAN on a Sperry/Rand UNIVAC computer (IBM 360 clone). As a consultant over the subsequent decades I would carry a little history kit to show the newbies - some punched cards, a coding pad (80 columns!), 9 track tape, 8" floppies, and a little bag of coal as a sample of what we had to keep shoveling into back of the computer to keep up a good head of steam. As my friend called it - "The age of iron programmers and wooden computers."

michaelgfotiades
Автор

I think the biggest problem with all visual examples is that they work great for data-science or theoretical algorithms, but far less for your run-of-the-mill "corporate programming" such as (web)services. When building services, almost all of the programming is about creating a model of the real world, and not so much about visualizing and transforming data. All those examples of graphs, tables, flows etc. work really well for data-science (hence things like Jupyter are so popular there), but they don't generalize to domain modeling very well. I would absolutely love to have some sort of interactive and visual environment to build and maintain domain models, but I've yet to come across anything like that.

Tiddo
Автор

For those wondering, the title is likely a reference to Bret Victor's 2013 "Stop Drawing Dead Fish" talk.

itsdavidmora
Автор

My high school had Apple ][s and UCSD Pascal but the teacher didn’t want to learn a new language so we had to do Fortran on punched cards, instead. The cards would go to a university about 30 minutes away but the results took a week to come back.

AdrianBoyko
Автор

As a sort of self taught programmer, now I understand the purpose of notebooks. Thank you for that.

SamGarcia
Автор

From 18:00 to 19:35 is such a good sequence haha, I finally understand VI keybindings

ianglenn
Автор

One of my more unmistakable descents into IT Madness:
At Conrail, I had to write out my COBOL programs on 14-inch green-and-white coding sheets, and send them over to the 029 experts in the Punchcard Department.
Next day, when they'd dropped the code into my Shared Storage, it would contain so many errors that I had to spend an hour fixing it...
So I took to typing my code directly into Shared Storage, using my handy-dandy SPF Editor...
and was REPRIMANDED for wasting my Valuable Professional Computer-Programmer Time.

davedouglass
Автор

It isn’t every day I see a conference talk that reminds me why I want to work on being a better programmer. Thank you.

hlprmnky
Автор

It's all spot on. Optimally, we would spend all of our time in solving the actual problem at hand, instead of spending most of it fighting the details that emerge from our choice of tools/solutions.

soppaism
Автор

@11:06 rank polymorphism, I mispoke in the heat of the moment.

JackRusher
Автор

The history of the vi arrow keys and the home/~ connection blew my mind! Now it's time to go down the Unix history rabbit hole.

jonstarritt
Автор

This talk is so engaging it made be spontaneously clap along with the audience while watching it at home.

netchkin
Автор

I never even stopped to think about it, now I have a name for it: introspection. Before studying the hard theory about regular expressions, I never actually understood them and just resorted to copy one from stack overflow. After learning the theory, I still don't write them as punch cards, instead I like using websites where you can test them in place, see explanations and so on. Now I don't feel bad for wanting to attach a java debugger to a live server haha

metalpachuramon
Автор

Terrific talk, laughed, and then I cried, then I was hopeful again.
I won't turn to carpentry just yet.

Thanks Jack.

DevineLuLinvega
Автор

Now I wish there where a part 2 of this talk that goes into more detail regarding modern language options that tackle these issues. A lot of the options mentioned seem near impossible to setup in a dev environment because the tooling is so outdated that I have to spend more time getting the environment to work than even thinking about programming in it.
It especially seems like there are no options whatsoever when it comes to hard real-time applications like audio synthesis.

curls
Автор

I realized my habit of printing out variables and what information is being calculated in what the speaker calls "dead languages" is exactly the point he's making. There needs to be easier ways to observe the data and processes we write as it runs.

ianmclean