- 2 Posts
- 63 Comments
The O is for the kind of whooshing sound
esa@discuss.tchncs.deto Programming@programming.dev•C is one of the most energy saving language4·26 days agoYeah, and Android has had some 16 years of “optimize later”. I have some very very limited experience with writing mobile apps and while I found it to be a PITA, there is clearly a lot of thought given to how to not eat all the battery and die in the ecosystem there. I would expect that kind of work to also be done at the JVM level.
If Windows Mobile had succeeded, C# likely would’ve been lower as well, just because there’d be more incentive to make a battery charge last longer.
esa@discuss.tchncs.deto Programming@programming.dev•C is one of the most energy saving language7·26 days agoIs there a lot of computation-intensive code being written in pure Python? My impression was that the numpy/pandas/polars etc kind of stuff was powered by languages like fortran, rust and c++.
esa@discuss.tchncs.deto Programming@programming.dev•C is one of the most energy saving language4·26 days agoAnd it powers a lot of phones. People generally don’t like it when their phone needs to charge all the freaking time.
esa@discuss.tchncs.deto Programming@programming.dev•C is one of the most energy saving language5·26 days agoAnd battery costs, including charging time, for a lot of devices. Users generally aren’t happy with devices that run out of juice all the time.
As if anyone cared if they had to wait a total of 3 seconds in a workday.
That depends on when it appears. Some tasks kind of have to feel instantaneous, and there might be a pretty slim margin between okay and frustrating.
But yeah, that’s the kind of savings that mostly matter on the scale of regional or national grid planning.
Most engineers already write bloated, abstracted, glacial code that burns CPU cycles like a California wildfire. Clean code? Ha! You’re writing for other programmers’ academic circlejerk, not the hardware.
It’s interesting that everybody else preaches ‘Write for the human first, for the machine second’.
Yeah, the author seems to lean too hard into the “programming is electronics” model, where the opposing end is “programming is math and formal logic”; most of us take some mixed view. And most of us have higher correctness requirements than what a reasonable effort in memory unsafe languages like C and C++ gives us, so we trade away some machine efficiency. In the authors parlance, most of us aren’t interested in the demoscene circlejerk; we need to make tradeoffs between maintainability and everything else. Write-once code isn’t good enough.
There have been attempts at establishing a third pole of “promptgramming is natural language” or whatever ever since COBOL promised programming in plain English, but the ambiguity of natural language when used to encode a business logic machine means that a “sufficiently advanced compiler” will have to be extremely advanced, on the order of including the manager and the entire engineering methodology.
I think some of the stuff you worry about as a kid will just arise naturally. Ideas like not stepping on cracks, or imagining monsters in dark places are likely produced spontaneously and naturally by an underdeveloped ape brain.
But it’d be nice if we didn’t tell kids about old superstitions, yeah. Wait until they’re old enough to react with dismissal about the stupid stuff people used to believe.
esa@discuss.tchncs.deto Programming@programming.dev•What's your favorite IDE right now?6·2 months agoI’ve been using neovim for years (and the vim family for decades), and I guess with LSP it’s pretty much an IDE these days.
It’s also likely a bit of cost-benefit analysis for self-hosting vs using a managed service.
Codeberg would be more in line with Mozilla’s ideals IMO, but GitHub is a pragmatic choice anyway.
Phabricator was an alternative for a development platform of sorts; development ceased in 2021. They’re still running here and there, but I expect them to be in the process of being deprecated.
I thought we were calling the thing you speak Strayan!
Må innrømme at jeg ikke er kjent med uttrykket. Er det en dansk eufemisme for tysk?
Itt’s æ fønn mim, bøtt Ai ålwejs fil lajk thej kudd hæv dønn æ better dsjåbb åv the juropien spelling. In eni kejs, itt’s æ veri nais søbreddit, æn Ai kip fårgetting iff ther’s wan ån Lemmy.
Also not having used Java for decades I’ll not comment on the state of their abstractions, but
IMO at the extreme being unable to shed the past means negatively hindering progress. I think modern Java versions show a budding shift in mentality
both reminds me of similar complaints against C++ (and with a sizeable amount of users wishing for an ABI break), and how weird it is to get both complaints like that and over the fact that so many shops are on ancient versions. They’ve moved slowly, but it doesn’t seem like anything was slow enough for a lot of shops, which indicates they likely could’ve moved faster without changing which versions users would be at today.
This sounds like the antithesis to parse, don’t validate. It is possible to use just maps and strings and get a “stringly typed” program, but there’ a bunch of downsides to it too:
- your typechecker can’t help you if you used the wrong
dict[str, Any]
; most of us want the typechecker to help us write correct code - there’s no public/private
- everything you
.get
from a map isOptional
; you need to be constantly checking and handling that rather than being able to have methods that returnT
, or even direct field access - you can derive or hand-implement a bunch of operations on (data)classes that you can’t on maps: Comparison, ordering, hashing so you can use the blob of information as a map key, …
Ultimately while Hickey has a good point in the distinction between
easy
andsimple
, his ideals don’t seem particularly aligned with the programming world at large: For one thing, Clojure remains pretty small, but even other dynamic programming languages like Javascript and Python have been moving towards typechecking through Typescript and typing in Python.Doing a
json.load
into somedict[str, Any]
is simple, but actually programming like that isn’t easy. Apparently a lot of programmers find value in doing the extra work to get some stdlib or pydantic dataclasses. Most of us get a confidence boost from using parsed data, and feel uneasy shuffling around stuff that’s just strings and maps.- your typechecker can’t help you if you used the wrong
esa@discuss.tchncs.deto Programmer Humor@programming.dev•The devil said, “Take this glyph-laden grimoire and try to render it cross-platform.”1·3 months agoYes I’m being sarcastic, but I also think utf-8 is plaintext these days. I really can’t spell my name in US ASCII. Like the other commenter here went into more detail on, it has its history, but isn’t suited for today’s international computer users.
esa@discuss.tchncs.deto Programmer Humor@programming.dev•The devil said, “Take this glyph-laden grimoire and try to render it cross-platform.”11·3 months agoIt’s also some surprise internal representation as utf-16; that’s at least still in the realm of Unicode. Would also expect there’s utf-32 still floating around somewhere, but I couldn’t tell you where.
And is mysql still doing that thing with
utf8
as a noob trap andutf8_for_real_we_mean_it_this_time_honest
or whatever they called it as normal utf8?
That’s how it starts. Just let it develop for a century or something and you’ll probably be decent at it