Live data from Hacker News

Focus: A simple and fast text editor written in Jai

github.com

41–50 of 105 posts

Re: Focus: A simple and fast text editor written in Jai

#41

Earlier quoted context omitted.

I'd have preferred a `fun` (or `fn, if you insist on 2 characters) instead of the Haskell-esque double colon `::` in function definitions to make parsing them easier. And the semicolon after `case` is irritating for me too. But `foo := bar` for a type-less `foo: TYPE = bar` is too much parser-friendly syntax and inconsistent with using a double colon `::` for function types and struct definitions. And inconsistent wi…

Just like every language that implicitly names the current value of the iterator: - It's the innermost iterator that takes priority - You are encouraged to name your iterators if you do so (for particles { part -> part.velocity } ) - Compiler throws warnings if you shadowed names.

> Just like every language that implicitly names the current value of the iterator

Oh, i didn't know that there are any.

It would be a good idea to add the naming explicitly to the Wiki entry of loops: https://jai.community/t/loops/147, I've just found it buried in the `remove` section.

Btw. in for-loops the colon `:` is used inconsistently again, this time for naming the iterator (`foo` in this example:) `for foo: VALUES { ... }`.

Re: Focus: A simple and fast text editor written in Jai

#42
post #12

Jai is an amazing language to work with, I highly recommend checking it out once it becomes publicly released. It's elegant, simple, performant, takes all the best parts of Zig minus the annoying parts (like errors on unused local variables) and adds a bunch of super useful game development libraries as well as a built-in string type (which I really missed in Zig). Oh, and the compile times are just a joy, almost no…

What is annoying with errors in Zig?

Re: Focus: A simple and fast text editor written in Jai

#44

Earlier quoted context omitted.

You can use Jai. You just have to ask. It’s in closed beta, but afik “closed” pretty much means “open to anyone who wants to be a beta tester”.

[flagged]

Blow is a smart guy who thinks he's far smarter and far more interesting than he really is. Smart people who don't seek out feedback, and especially those who haven't worked in a team environment, tend to be pretty bad at estimating the limit of their capabilities.

Does Blow have a mentor? Friends who call his BS out?

Re: Focus: A simple and fast text editor written in Jai

#45

Earlier quoted context omitted.

Just like every language that implicitly names the current value of the iterator: - It's the innermost iterator that takes priority - You are encouraged to name your iterators if you do so (for particles { part -> part.velocity } ) - Compiler throws warnings if you shadowed names.

> Just like every language that implicitly names the current value of the iterator Oh, i didn't know that there are any. It would be a good idea to add the naming explicitly to the Wiki entry of loops: https://jai.community/t/loops/147 , I've just found it buried in the `remove` section. Btw. in for-loops the colon `:` is used inconsistently again, this time for naming the iterator (`foo` in this example:) `for foo:…

>Oh, i didn't know that there are any.

Plenty! Although, it's not limited to iterators: most languages that have first class lambdas/closures behave this way. Kotlin has `it` as the default parameter of any lambda (but only accepts it for single parameter lambdas, two parameters and you need to name them:

`fun Collection.map(block: (T) -> U): Collection`

is called like so:

`listOf(1, 2, 3).map { it * it }`

Swift has $0, $1

>Btw. in for-loops the colon `:` is used inconsistently again, this time for naming the iterator (`foo` in this example:) `for foo: VALUES { ... }`.

Sorry, Jonathan Blow doesn't believe in such silly things as "compiler research" nor "programming language research". Jai gets built by piling up crap on top of crap.

Re: Focus: A simple and fast text editor written in Jai

#46

Earlier quoted context omitted.

You can use Jai. You just have to ask. It’s in closed beta, but afik “closed” pretty much means “open to anyone who wants to be a beta tester”.

[flagged]

A good number of your bullet points are factually incorrect and inflammatory. But to reply in the style of Blow: what have _you_ released in the past ten years to talk all this smack?

Re: Focus: A simple and fast text editor written in Jai

#47
post #37

This is meant as more of a general comment than to critisize this editor: I fail to see the selling point of an editor that "can't do much", but is performant - there is an abundance of these already. If you made an editor that does "everything" and is "fast", I may be interested. Regarding Jai: the idea about a "language for good programmers" is just about the worst thing ever to say about a language and it's commun…

GO was named a language for bad (not experienced) programmers by its creator. I don't see why doing the reverse of that automatically egregious I mean sure, people are in general hesitant when someone calls himself good, and for a decent reason. But pushing it to extreme and defaulting to reverse JUST BECAUSE someone dared to call himself good is also a pretty childish reaction. At the end of the day it is a fact tha…

Ok, so let me be a bit more concrete: I do _not_ want to work with or have to maintain or use the software of people who claim of themself to be "good programmers" who are "able to handle manual memory management" (and similar) any more. Yes, of course there are exceptions and I'm not saying that John Blow isn't one of them and I also don't know if the formulation is his or of somebody else (as I don't know anything about him or his games). But the problem is that now people are drawn to the language to "proof" that they are "good programmers".

> Pretending it's only valid to acknowledge these differences in others but not in oneself is irrational.

I do hope that we can agree that people are way better at assessing others than themselves - in both ways, under- and overestimation of their own capabilities.

Re: Focus: A simple and fast text editor written in Jai

#48
post #9

It's interesting to look at the source code. However, I have yet to find a clear unique selling point that justifies the development of a new language and infrastructure, or clearly shows me why I shouldn't just use D, for example. Any hints?

To answer specifically about D, I think Blow considered it and couldn't get past the garbage collection (this is mostly inferred). As a matter of fact I heard of Jai through a presentation of Walter Bright's, so I'm pretty sure was definitely some back and forth between the two.

Re: Focus: A simple and fast text editor written in Jai

#49

Earlier quoted context omitted.

> Just like every language that implicitly names the current value of the iterator Oh, i didn't know that there are any. It would be a good idea to add the naming explicitly to the Wiki entry of loops: https://jai.community/t/loops/147 , I've just found it buried in the `remove` section. Btw. in for-loops the colon `:` is used inconsistently again, this time for naming the iterator (`foo` in this example:) `for foo:…

>Oh, i didn't know that there are any. Plenty! Although, it's not limited to iterators: most languages that have first class lambdas/closures behave this way. Kotlin has `it` as the default parameter of any lambda (but only accepts it for single parameter lambdas, two parameters and you need to name them: `fun Collection .map(block: (T) -> U): Collection ` is called like so: `listOf(1, 2, 3).map { it * it }` Swift ha…

Thanks, and yes, I didn't think about closures.

Talking about closures, I also don't know why Jai needs explicit capture lists. In C++ and Rust I understand the need for them, because you have various ways to pass them into the lambda, but Jai doesn't seem to care, at least in the examples at https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md.... To be honest, I also don't see how this is different from just writing the function definition by hand, just in more than one step and you have to throw away the intermediate versions?

Btw. I just replied to say that I really like your username, I have noticed it just now :)

Re: Focus: A simple and fast text editor written in Jai

#50
post #29
post #26

Earlier quoted context omitted.

No language is perfect. There is nothing wrong with making your own that works the way you want a language to work. I don't get people who complain about new languages. Variety is good. Let people have fun.

Innovation is good. There is a tradeoff between the benefit of choice and waste. Duplication is a good candidate for waste.

I think it's not up to us, the peanut gallery, to judge what any particular developer spends their time on. It's worthwhile to Blow, and he is very vocal that he is developing the language for his own use, not for anyone else. If you keep that in mind, maybe some of the choices around how it's being developed will make more sense.
Post reply on HN