2
<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@natik" class="u-url mention">@<span>natik</span></a></span> well, yeah. what you need to have instead of promises is actual power. I quit over the leadership doing something I disagreed with, because the opportunity of using my labor is power: it&#39;s difficult to find someone like me once over. but really that&#39;s not enough because it sucks when your only real option is the nuclear one</p><p>this is why I only plan to work for myself or for a cooperative, at least so long as I aim to give a shit about what I do</p>
<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@0xabad1dea" class="u-url mention">@<span>0xabad1dea</span></a></span> this is one way to see it!</p><p>the way i see it is that forgiving is something i do for myself, whenever i get tired of carrying the weight of having been hurt</p><p>the other party&#39;s desires do not really come into it very much</p>
<p><span class="h-card" translate="no"><a href="https://pony.social/@thephd" class="u-url mention">@<span>thephd</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> oh it&#39;s 100% fucked in ways considerably worse than most of what we have in software</p><p>you&#39;re right in that code reuse is fairly limited, but that&#39;s not a good thing! it&#39;s a consequence of the tooling being so astonishingly painful to use that autoconf and pkg-config look like a dream in comparison</p><p>if you write Amaranth code you reuse code by sharing a completely normal Python package. this is considered revolutionary</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mcc</span></a></span> Well it's unfortunate to hear shit is fucked down over there too; I was mostly imagining code wasn't shared as much over there and that things were more device-specific so it mattered less.</p>
<p><span class="h-card" translate="no"><a href="https://pony.social/@thephd" class="u-url mention">@<span>thephd</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> Amaranth is a better language than Verilog because it is a _lower_ level language, without various kinds of poorly defined &quot;inference&quot; that in practice require the use of a &quot;linter&quot; to be sure of any semantics at all</p><p>it stays close to the netlist, while SystemVerilog doesn&#39;t even bother to define what the synthesizable (i.e. translatable to hardware) subset even _is_, every vendor decides on their own!!</p>
<p><span class="h-card" translate="no"><a href="https://pony.social/@thephd" class="u-url mention">@<span>thephd</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> as a hardware designer and HDL designer, programming languages that *are* &quot;VHDL or some shit&quot; should absolutely be about communciating semantics with well-defined boundaries and predictable outcomes, *even more so than software languages*</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mcc</span></a></span> In general, though: you're 1000% correct. Compilers and programming languages that aren't VHDL or some shit should be about communicating semantics, with well-defined boundaries and predictable outcomes. That makes it easy to optimize for, which is something Rust does really well in ways C and C++ and Zig and Odin and etc. completely flub the ball on.</p><p>There's some other factors too but that's the core of it.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mcc</span></a></span> Yeah, that's actually the case. But Rust doesn't have to be better here because most of the languages that ARE good about "here's what happens in your hardware" are niche as fuck, so there's no real pressure/competition on C, Rust, C++, etc. to actually provide materially better guarantees about what goes on in the hardware.</p><p>So it has sort of stagnated over the last 30 years. Unfortunately.</p>
<p>Note: I&#39;m getting actually a decent amount of disagreement on my post up top but what&#39;s interesting is the disagreement is not of the form &quot;This is not a good thing&quot; or &quot;Rust is not trying to do this&quot; but rather &quot;Rust is not actually as good at this as it should be&quot;</p>