TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What Austral proves

62 pointsby animaomniumover 2 years ago

8 comments

fwlrover 2 years ago
Another thing that Austral gets right is capability-based permissions for packages, in recognition of the growing danger of supply chain attacks. See for example <a href="https:&#x2F;&#x2F;blog.phylum.io&#x2F;pypi-malware-replaces-crypto-addresses-in-developers-clipboard" rel="nofollow">https:&#x2F;&#x2F;blog.phylum.io&#x2F;pypi-malware-replaces-crypto-addresse...</a> - a bunch of typo-squatting Python packages that use setup.py to write a JavaScript file into the developer’s filesystem (specifically the Windows Start Menu) and register it as a background process inspecting and altering the clipboard to replace crypto wallet addresses with the attacker’s own wallet address. Why can a setup.py in &#x2F;home&#x2F;user&#x2F;.local&#x2F;lib&#x2F;python3.6&#x2F;site-packages or wherever access the Windows Start Menu folder and write files there? Well, because code is almost universally permission-less. Austral’s solution is to give granular permissions: “capabilities can be arbitrarily granular. Beneath the capability to access the entire filesystem, we can have a capability to access a specific directory and its contents, or just a specific file, further divided into read, write, and read-write permissions. For network access, we can have capabilities to access a specific host, or capabilities to read, write, and read-write to a socket.”
评论 #34860746 未加载
elcritchabout 2 years ago
&gt; Rust, on the other hand, is a huge, complex language. In my mind, I pinned a lot of this complexity on Rust’s borrow checker and type system. Having worked with Rust for a while, I’d argue that a good amount of this complexity is accidental: when Rust took its first steps, no mainstream language sported a borrow-checker.<p>Definitely, along with other decisions. It follows the C++ route of unneeded complexity. I think many developers actually like that though. Figuring out how to prove some dynamic trait cast setup to the compiler does have a certain feeling of “doing smart CS stuff” and in my younger days that would’ve been attractive to me.
TwentyPostsabout 2 years ago
So... has anyone used this thing to build projects that go beyond small toy examples?<p>Speaking of, what are some good &#x27;example projects&#x27; to test the overall sturdiness of a new language? I have currently no interest in writing one in Austral, but I&#x27;m always curious to hear how well modern language projects work out when used in production.
评论 #34869589 未加载
评论 #34864374 未加载
olodusover 2 years ago
I have also thought a lot about Austral lately. I have very similar conclusions as the OP.<p>I love the simpleness of the language. I work with a kinda high performance networking (DPDK use) as my day job so we work in C and while I love C quite a lot for its simpleness and clarity, it is so easy to do something wrong. Linear types seems perfect for helping to keep a track on ownership of pointers and make sure that everything is handled properly while still keeping the simpleness. I don&#x27;t mind having to by hand write some destructor if someone helps me make sure they are called correctly - I probably prefer that for clarity. And it also seems easier to exaplin to someone: &quot;Here is this type, if this type gets unhandled at the end of this function the compiler gets angry. Instead you have to call this function that you can clearly see by the types returns the Unit&#x2F;a free type&quot;. (borrowing adds a bit more to that but still quite clear imo)<p>I like Rust for what it did to the space and I respect all the people working with it but it isn&#x27;t THE solution and I am happy other things are entering the arena that caters a bit more to my preferred aesthetics I guess.<p>I have started coding some small networking things in Austral personally to get a feel about. Will see where it goes.
评论 #34860825 未加载
joeatworkabout 2 years ago
“Simple to implement” is an undervalued virtue in most of the systems we use. The internet and industry tend to pull things towards scale and complexity, and there is real value in systems that resist those forces to stay intelligible and human-scale.
djha-skinover 2 years ago
This post demonstrates the fundamental flaw with RIIR arguments: it assumes that Rust is not only the best language now but will always be the best language. Getting halfway through a rewrite from C to Rust only to realize that Rust is no longer popular and there&#x27;s a new kid in town would be pretty awkward.
评论 #34859252 未加载
评论 #34860563 未加载
评论 #34859273 未加载
评论 #34861791 未加载
评论 #34864768 未加载
评论 #34860926 未加载
inambercladabout 2 years ago
This won&#x27;t replace Ada (nothing will, because there&#x27;s no code to replace...) until it has the same or similar type system.
评论 #34860931 未加载
pyrolisticalabout 2 years ago
This seems like there is quite a bit of overlap with zig
评论 #34865777 未加载