Live data from Hacker News

Programming breakthroughs we need

yoyo-code.com

501–510 of 511 posts

Re: Programming breakthroughs we need

#501

Earlier quoted context omitted.

> Writing tests is time-consuming, usually doesn't scale, and it easily creates tight coupling with implementations After thousands of years, humans still use double accounting in finance. This is because it's effective. Unsurprisingly, it's tightly coupled to the original transaction recording. The constant assertion that tight coupling is bad, because it creates more work which can be error prone. This is a fundame…

I think "double accounting" is a good analogy, and if you look at it that way, some tests that look like the same thing written twice in a different way start to make more sense. The problem is just with effectivity - it'd be fine if the time spent on test would be the same as time on code, but very often the effort on test is much bigger while not even covering all important cases. I think we need to look for method…

Hit the nail on the head. For same reason requirements writing is so difficult, to explain every edge case you end up writing the whole software again, using human language.

Writing software is the process of explaining a set of conditions and conversions from input to output. We should assume the programmer does this in as short code as possible (unless we are using a low level language like C which adds a lot of accidental complexity like memory management). To repeat all these conditions in test-code, would be to write the same thing twice, in a different way. Not saying this is wrong, it's just important to acknowledge it.

Testing often becomes more like sampling, with hard coded or generated known set of inputs/outputs, often taken from a scenario derived from a common user journey. This verifies that this particular journey works, but it would never be a guarantee that other edge cases of it does, to do that you do end up in the write-twice situation.

Re: Programming breakthroughs we need

#502

Earlier quoted context omitted.

Programs are ideas that need to be understood, modeled, and manipulated by humans. Text is the best available way to incept ideas into the minds of humans.

> Text is the best available way I said exactly that. I added that it's horrific and it's not hard to imagine that we will find a better way.

I can't see how it's horrific. It's got an incredibly strong historical record.

Re: Programming breakthroughs we need

#503

Earlier quoted context omitted.

Programs are ideas that need to be understood, modeled, and manipulated by humans. Text is the best available way to incept ideas into the minds of humans.

If that were true, text books wouldn't contain any diagrams. So I think it's fairly uncontroversial to say that there are cases when text is not the best way to incept ideas. So why should we be confined to just text when writing code? Should we not be free to choose the best tool for the job?

No, it is not the case that if the thing I said was true, then textbooks wouldn't contain diagrams.

Re: Programming breakthroughs we need

#504
post #420

Earlier quoted context omitted.

The sum language of HTML+JS+CSS, or in other words html files. I haven't seen a better way to write UI in text files, other UI frameworks relies a lot on building the UI in some special editor or aren't easy to use.

HTML as a UI is geared towards making documents and displaying text and graphics in a rigid layout/format. It's not geared, imho, for a UI with lots of interactivity - e.g., imagine trying to implement blender or an audio processing app (like audacity) in html/css. You'd basically be creating new primitives on top of html, and build your UI on that (or install one of those UI libraries that _renders_ to html).

SVG is part of HTML and good for most of the needs except for the audio wave stuff (which Delphi couldn't do either)

Re: Programming breakthroughs we need

#505

> Program is not a text, [it is] a model I don't think so. In fact, I think this perspective is actively harmful. A program is whatever the human beings who maintain that program operate against. I mean there are many possible representations of a program, and there are different ways to evaluate those models, but the model that most precisely expresses the AST of the logic of the program, or the call sequence of the…

Programming is an exercise in manipulating semantic objects which is why stuff like blueprints in unreal engine are so easy to use. It will just get better and text will become an obsolete vestige, regardless of whatever idea you have of this being "harmful". I really don't think a character encoding with 30 ways to control the terminal (and now extended to encode emojis) is the be all end all way of writing and edit…

UE blueprints fail spectacularly when you try to do a simple for loop processing some input data. Editing all the vertices on a procedural mesh kicks you back to C++ almost immediately.

Blueprints (army of interconnected squids) works best on parallel code like GPU shaders. For general branching logic, it becomes a nightmare quickly.

Image blocks, code icons or blueprints do save you from syntax errors and highlight relationships between code blocks, but they crush customizability and lose the ability to absorb and abstract complexity.

Re: Programming breakthroughs we need

#506

Earlier quoted context omitted.

Semantic objects are non-dimensional. In fact they are probably best understood as simply ideas. Humans have been effectively incepting ideas in each other since the birth of language and writing. Text is, demonstrably, the best way to convey semantic ideas among human beings.

Woah there, it appears as if you are implying that text is demonstrably the best way to convey computer programs. Surely that's not what you're saying?

It's certainly proven true so far?

Re: Programming breakthroughs we need

#507

Earlier quoted context omitted.

> Text is the best available way I said exactly that. I added that it's horrific and it's not hard to imagine that we will find a better way.

I can't see how it's horrific. It's got an incredibly strong historical record.

> strong historical record

So did the medical practice of bleeding out a patient. It's been the only way but being the only book in the library doesn't qualify how good the book is.

The problem with text is that it's not structured and therefore very difficult to manage. If you're going to create data for an accounting system, do you open up a Word document and start typing words like "Jimmy owes A/R five hundred?" Of course not because while you can search that, you can't query it. When was the last time you queried your code? Exactly.

Horrific.

And we can see it in our lives. When was the last time you jumped into someone else's code and could clearly see what was going on? Probably about the same time you last opened the middle of a novel and understood what was going on.

Re: Programming breakthroughs we need

#508
> I imagine this model as a relational database - you have tables like structs, fields, functions, arguments and relationships between them. When you think about it this way, it becomes clear that using a textual source code is really inefficient way to manipulate this model. It's very error-prone and requires tons of additional processing.

See Kent Beck shaking with rage at the passing of Smalltalk.

Re: Programming breakthroughs we need

#509
post #73
post #9

Eh, unfortunately the one programming breakthrough the world actually needs is one that would drastically change, and perhaps harm, most of the people around here. We need more "Excels." More and better tools that let "regular" people program.

This is a good take, but easy to misunderstand. The main problem is that MOST "programming" languages/environments are not made for business apps, (or for other niches, btw). Python? Ruby? Julia? Delphi? all fail to work to make(or solve even small cases of) business apps . By a long mile. ----- What Excel solves, is have a barebones, half-working, unscalable, ill-suited... BUT MADE FOR help people get a "solution" f…

Power Automate or whatever it's called exist.

I'd say the great weakness of No Code solutions isn't so much they are bad, but that they have no FOSS support. At all.

Re: Programming breakthroughs we need

#510

I would love to see a language that considers tooling a first class problem. Most (all?) languages barely consider complex projects with 100s of dependencies and large multi-step builds. Java shouldn't have to wait for Maven and Gradle to come along, and Python shouldn't be shackled to piss-poor systems like pip. This is something Rails gets very right. Bundler and Rake make Rails one of the nicest development enviro…

Smalltalk.
Post reply on HN