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.

Ark – A modern systems programming language

57 pointsby felixangellalmost 10 years ago

8 comments

vardumpalmost 10 years ago
Could this be used for embedded development? Currently C is used pretty much universally for this purpose. While C is better than straight assembler, it seems to be very prone for bugs, especially when there are multiple developers and over time in maintenance phase.<p>Something safer is desperately needed for embedded firmware development. Lack of such a language is already affecting physical safety of end user devices.<p>Something that can run for example on a microwave oven, car engine control, digital thermometer and industrial machinery.<p>Maybe I&#x27;m missing some, but some of the most important wish list items I can think of right away:<p>- High readability, Golang-like &quot;understandability&quot;<p>- Anywhere between 1 - 256 kB of RAM, 2 - 1024 kB of program ROM.<p>- Must have C-like code density and performance, but a small loss is acceptable in exchange for better safety.<p>- Ability to implement IRQ service routines, etc. low level code.<p>- Array access, pointer and type safety.<p>- Debugging support... this is a tricky one.<p>- Migration assist from C code. Doesn&#x27;t need to be perfect, just to assist where ever feasible.<p>- Would be very nice: Some language level support for duplicating and checking critical variables in memory. Like those for controlling servos etc. physical. To improve end user physical safety.<p>Targets should include at least, in order of importance:<p>- ARM thumb-2 (like Cortex M0)<p>- Altera NIOS 2 (must be possible to modify easily to target custom instructions)<p>- 8051<p>Various Atmel architectures, MIPS and OpenRISC would also be nice.<p>But I guess it comes down to LLVM support for those platforms.
评论 #9780846 未加载
评论 #9780738 未加载
评论 #9780505 未加载
jflatowalmost 10 years ago
Not to be confused with Arc: <a href="http:&#x2F;&#x2F;arclanguage.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;arclanguage.org&#x2F;</a>
webkikealmost 10 years ago
If all this is Rust with the syntax of go, aw heck that&#x27;s all I ever wanted anyway.
评论 #9779637 未加载
评论 #9779974 未加载
评论 #9779621 未加载
protomythalmost 10 years ago
Here the example on the site:<p><pre><code> func main(): int { mut i := 0; for i &lt; 5 { printf(&quot;i: %d\n&quot;, i); i = i + 1; } return 0; } </code></pre> I&#x27;m really curious about 2 things: that <i>for</i> seems to really be a <i>while</i>. Why := in the declare and = in the assignment?
评论 #9780029 未加载
评论 #9780967 未加载
rubiquityalmost 10 years ago
How long before someone releases another language &quot;to fix all the dangerous parts of C&quot; -- but the twist is that this language is just C but it forces you into a `git add --patch`-style menu that makes you double check all your usage of malloc and free every time you compile?
评论 #9780264 未加载
andrewchambersalmost 10 years ago
I don&#x27;t understand how a language can be a year old and have 3000 commits, but have so few tests in its implementation.<p>That is an instant red flag for me.
评论 #9780954 未加载
qzncalmost 10 years ago
A comparison with Rust would be nice.
评论 #9779662 未加载
topkekzalmost 10 years ago
&gt;<i>Our goal is to write a systems programming language that adopts many modern concepts and advancements in the field of compilers and language design over the past 43 years.</i><p>But they still kept = for assignent and the very ugly == for comparaison. Into the trash it goes.
评论 #9781006 未加载