5 ms·
> In general, while I can’t control how people react to this list, should this end up on, say, Hacker News, I’m looking more for replies of the form “that’s int
by mplanchard 2y ago
> In general, while I can’t control how people react to this list, should this end up on, say, Hacker News, I’m looking more for replies of the form “that’s interesting and it makes me think of this other interesting idea” and less “that’s stupid and could never work because X, Y, and Z so everyone stop talking about new ideas” or “why hasn’t jerf heard of this other obscure language that tried that 30 years ago”. (Because, again, of course I don’t know everything that has been tried.)
- Animats 2y agoOK, a few things that languages ought to have: - Everything except C now has standard strings, not just arrays of characters. Almost all languages now have some standard way to do key/value sets. What else ought to be standard? -- Arrays of more than one dimension would be helpful for numerical work. Most languages descended from C lack this. They only have arrays of arrays. Even Rust lacks it. Proposals run into bikeshedding - some people want rectangular slices out of arrays, which means carrying stride info around. -- Standard types for 2, 3 and 4-element vectors would help in graphics work. There are too many different implementations of those in most language and too much conversion. Things to think about: - Rust's ownership restrictions are harsh. Can we keep the safety and do more? -- The back-reference problem needs to be solved somehow. Back references can be done with Rc and Weak, but it's clunky. -- Can what Rust does with Rc, RefCell, and .borrow() be checked at compile time? That allows eliminating the run-time check, and provides assurance that the run-time check won't fail. Something has to look at the entire call tree at compile time, and sometimes it won't be possible to verify this at compile time. But most of the time, it should be. -- There's a scheme for ownership where there's one owning reference and N using references. The idea is to verify at compile time that the using references cannot outlive the owning one. Then there's no need for reference counds. -- Can this be extended to the multi-thread case? There have been academic demos of static deadlock detection, but that doesn't seem to have made it into production languages. -- A common idiom involves things being owned by handles, but also indexed for lookup by various keys. Dropping the handle drops the object and removes it from the indices. Is that a useful general purpose operation? It's one that gets botched rather often. -- Should compilers have SAT-solver level proof systems built in? -- Do programs really have to be in monospaced fonts? (Mesa on the Alto used the Bravo word processor as its text editor. Nobody does that any more.) -- There's async, there are threads, and there are "green threads", such as Go's "goroutines". Where's that going? -- Can we have programs which run partly in a CPU and partly in a GPU, compiled together with the appropriate consistency checks, so the data structures and calls must match to compile? -- How about "big objects?" These are separately built program components which have internal state and some protection from their callers. Microsoft OLE did that, some .dll files do that, and Intel used to have rings of protection and call gates to help with that, hardware features nobody used. But languages never directly supported such objects. So there are a few simple ideas to think about.
- pmontra 2y ago> Do programs really have to be in monospaced fonts? Of course not. I've been using a proportional font for at least 10 years and I'm still in business working on code bases shared with developers using monospaced fonts. Both work, none disturb the other, proportional is easier to read as any book can demonstrate. Alignment doesn't matter much.
- cmontella 2y agoHow do you deal with writing code with multicursors when you have to type the same thing multiple times? With monospace I just ctrl+alt+down a couple times on aligned text and then type. With proportional fonts I don't suppose it's easy to align text exactly, so do you just not use multicursors or is there a solution you came up with that works?
- kridsdale1 2y agoI’ve been a professional programmer for 17 years and have never used multicursors. I don’t even fathom under what conditions you’d want to. I use Find and Replace.
- AlotOfReading 2y agoEveryone programs a little differently. I often use it when e.g. using intrinsics and I want to change types. Find and replace isn't especially helpful when they're different names with substructure you need to modify locally.
- cozzyd 2y agoYes and ctrl-V in vim would be super awkward.
- pmontra 2y agoI don't use multicursors much, not every year. I'm using emacs. I register a sequence of keys and apply it multiple times with control e, control e, control e etc.