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.

Four Years of Jai (2024)

166 pointsby xixixaoabout 1 month ago

19 comments

sphabout 1 month ago
Surprising deep and level headed analysis. Jai intrigues me a lot, but my cantankerous opinion is that I will not waste my energy learning a closed source language; this ain’t the 90s any more.<p>I am perfectly fine for it to remain a closed alpha while Jonathan irons out the design and enacts his vision, but I hope its source gets released or forked as free software eventually.<p>What I am curious about, which is how I evaluate any systems programming language, is how easy it is to write a kernel with Jai. Do I have access to an asm keyword, or can I easily link assembly files? Do I have access to the linker phase to customize the layout of the ELF file? Does it need a runtime to work? Can I disable the standard library?
评论 #43726339 未加载
评论 #43726530 未加载
评论 #43730682 未加载
评论 #43726853 未加载
TinkersWabout 1 month ago
I have my doubts with Jai, the fact that Blow &amp; co seems to have major misunderstandings with regards to RAII doesn&#x27;t lend much confidence.<p>Also a 19,000 line C++ program(this is tiny) does not take 45 minutes unless something is seriously broken, it should be a few seconds at most for full rebuild even with a decent amount of template usage. This makes me suspect this author doesn&#x27;t have much C++ experience, as this should have been obvious to them.<p>I do like the build script being in the same language, CMake can just die.<p>The metaprogramming looks more confusing than C++, why is &quot;sin&quot;&#x2F;&quot;cos&quot; a string?<p>Based on this article I&#x27;m not sure what Jai&#x27;s strength is, I would have assumed metaprogramming and SIMD prior, but these are hardly discussed, and the bit on metaprogramming didn&#x27;t make much sense to me.
评论 #43727697 未加载
评论 #43731025 未加载
评论 #43736239 未加载
评论 #43733282 未加载
VyseofArcadiaabout 1 month ago
&gt; The net effect of this is that the software you’re running on your computer is effectively wiping out the last 10-20 years of hardware evolution; in some extreme cases, more like 30 years.<p>As an industry we need to worry about this more. I get that in business, if you can be less efficient in order to put out more features faster, your dps[0] is higher. But as both a programmer and an end user, I care <i>deeply</i> about efficiency. Bad enough when just one application is sucking up resources unnecessarily, but now it&#x27;s nearly <i>every</i> application, up to and including the OS itself if you are lucky enough to be a Microsoft customer.<p>The hardware I have sitting on my desk is vastly more powerful that what I was rocking 10-20 years ago, but the user experience seems about the same. No new features have really revolutionized how I use the computer, so from my perspective all we have done is make everything slower in lockstep with hardware advances.<p>[0] dollars per second
评论 #43730582 未加载
评论 #43741399 未加载
sesmabout 1 month ago
&gt; async&#x2F;await, a pattern increasingly polluting Javascript and Python codebases in the name of performance<p>In JS world async&#x2F;await was never about performance, it was always about having more readable code than Promise chain spagetti.
mppmabout 1 month ago
Jai&#x27;s perpetual closed beta is such a weird thing... On the one hand, I sort of get that the developers don&#x27;t want to waste their time and attention on too many random people trying to butt in with their ideas and suggestions. On the other hand, they are thereby wasting the time and attention of all the people who watched the development videos and read the blog posts, and now can do basically nothing with that knowledge other than slowly forget it. (Except for the few who take the ideas and incorporate them into their own languages).
评论 #43732152 未加载
评论 #43731783 未加载
评论 #43732488 未加载
kbr-about 1 month ago
&gt; It’s a simple keyword, but it singlehandedly eliminates the need for any kind of RAII.<p>What if you want to put a resource object (which needs a cleanup on destruction) into a vector then give up ownership of the vector to someone?<p>I write code in go now after moving from C++ and God do I miss destructors. Saying that defer eliminates need for RAII triggers me so much
评论 #43732893 未加载
perching_aixabout 1 month ago
&gt; rather than asking the programmer to do an extraordinary amount of extra work to conform to syntactically enforced safety rules. Put the complexity in the compiler, dudes.<p>And how would that compiler work? Magic? Maybe clairvoyance?
评论 #43731244 未加载
lifthrasiirabout 1 month ago
The biggest &quot;crime&quot; of Jai is that it (soft-)launched like an open source programming language and didn&#x27;t actually become open source shortly. There are so many programming languages that did go through the &quot;beta&quot; period and still remain open sourced all the time. Open source doesn&#x27;t imply open governance, and most such languages are still evolved almost solely with original authors&#x27; judgements. It is fine for Jai to remain closed of course, but there is no practical reason for Jai to remain closed to this day. The resulting confusion is large enough to dismiss Jai at this stage.
评论 #43730755 未加载
评论 #43729528 未加载
pcwaltonabout 1 month ago
&gt; I’d be much more excited about that promise [memory safety in Rust] if the compiler provided that safety, rather than asking the programmer to do an extraordinary amount of extra work to conform to syntactically enforced safety rules. Put the complexity in the compiler, dudes.<p>That exists; it&#x27;s called garbage collection.<p>If you don&#x27;t want the performance characteristics of garbage collection, something has to give. Either you sacrifice memory safety or you accept a more restrictive paradigm than GC&#x27;d languages give you. For some reason, programming language enthusiasts think that if you think really hard, every issue has some solution out there without any drawbacks at all just waiting to be found. But in fact, creating a system that has zero runtime overhead and unlimited aliasing with a mutable heap is as impossible as finding two even numbers whose sum is odd.
评论 #43726355 未加载
评论 #43726431 未加载
评论 #43731326 未加载
评论 #43727184 未加载
spacechild1about 1 month ago
&gt; because most Javascript programmers are entirely unaware of the memory allocation cost associated with each call to anonymous functions<p>How does <i>calling</i> an anonymous function in JS cause memory allocations?
评论 #43730166 未加载
评论 #43731652 未加载
malkiaabout 1 month ago
I didn&#x27;t know much about Jai, and started reading it, and it really has (according to the article) some exciting features, but this caught my eye:<p>&quot;... Much like how object oriented programs carry around a this pointer all over the place when working with objects, in Jai, each thread carries around a context stack, which keeps track of some cross-functional stuff, like which is the default memory allocator to ...&quot;<p>It reminds me of GoLang&#x27;s context, and it should&#x27;ve existed in any language dealing with multi-threading, as a way of carrying info about parent thread&#x2F;process (and tokens) for trace propagation, etc.
评论 #43730936 未加载
mustache_kimonoabout 1 month ago
&gt; Software has been getting slower at a rate roughly equivalent to the rate at which computers are getting faster.<p>Cite?<p>This problem statement is also such a weird introduction to specifically this new programming language. Yes, compiled languages with no GC are faster than the alternatives. But the problem is and was not the alternatives. Those alternatives fill the vast majority of computing uses and work well enough.<p>The problem is compiled languages with no GC, before Rust, were bug prone, and difficult to use safely.<p>So -- why are we talking about this? Because jblow won&#x27;t stop catastrophizing. He has led a generation of impressionable programmers to believe that we in some dark age of software, when that statement couldn&#x27;t be further from the truth.
评论 #43731350 未加载
评论 #43731373 未加载
phtrivierabout 1 month ago
I sincerely dread that by the time jblow releases jai, people will just have moved on to zig or rust, and that it will just become irrelevant.<p>I&#x27;m sure jblow is having the same fears, and I hope to be wrong.<p>Still, it&#x27;s fun to be remembering the first few videos about &quot;hey, I have those ideas for a language&quot;. Great that he could afford to work on it.<p>Sometimes, mandalas are what we need.
评论 #43739865 未加载
评论 #43731884 未加载
IshKebababout 1 month ago
Hard to see how this will compete with Zig.
评论 #43734472 未加载
评论 #43727276 未加载
评论 #43726776 未加载
评论 #43726536 未加载
sushidevabout 1 month ago
I would have liked to see more code examples in the article.
评论 #43729916 未加载
Pet_Antabout 1 month ago
Honestly the tone of the article was so smug and condescending that I couldn’t finish it.
评论 #43726666 未加载
评论 #43731443 未加载
msmshazanabout 1 month ago
Wonder when will Jai open beta happen
评论 #43726770 未加载
WhereIsTheTruthabout 1 month ago
odin has replaced the need for jai, and even then, i&#x27;m not sure there is a need for &quot;yet another sugar for LLVM&quot;<p>they show an adoration for C, and they both hate C++, yet they chose C++ for their compiler, go figure
triilmanabout 1 month ago
I am not interested. I am just trying to code with C3 and make some binding with another language like C and Zig, it is quiet easy and fun. I think it&#x27;s enough for me to learn kinds of language than using jai that never released the compiler to the public till now.