
Show HN: Ji Language – Looking for Feedback - elisk
https://observablehq.com/@elisk/ji-language
======
breck
Cool stuff! Some random thoughts:

\- APL comes to mind. As well as the classic
[http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pd...](http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pdf)

\- You might want to cross post to
[https://reddit.com/r/programminglanguages/](https://reddit.com/r/programminglanguages/).

\- I like how you have a subreddit.

\- I'm a little confused about how to view the source. The GitHub seems to
just be a website. Is there a folder I should be looking at?

\- You might want to educate people near the top on how to quickly enter
symbols (control+command+spacebar on Mac OS X). I find unless a programmer is
familiar with that, they are quickly turned off by symbolic languages.

~~~
badtuple
Do you, or does anyone you know, regularly use unicode input like that in your
day to day programming? It sounds like you might.

I'm super interested in symbols as a way of increasing expressivity, but the
ctrl+cmd+space route just seems like it'd be too much overhead for the
tradeoff to be worth it.

I'd love to hear what people who have gotten over the learning curve think
about it as a language feature.

~~~
longemen3000
Julia allows the use of unicode variables and functions, which is pretty cool
for scientific notation.they are written using latex shortcuts, and the REPL
gives you how to write a symbol if you don't know how to do it

------
badrabbit
I don't get what problem it solves. The whole symbol thing is confusing and
feels like adding problem and complexity where it is not needed.

~~~
mkorfmann
Complex-looking symbols can also make things easier.

Do you want to stare at 100000LOC of if/else, for and function declaration
statements? Me neither.

~~~
quickthrower2
Ligatures solve that problem.

~~~
mkorfmann
Ligatures supposedly heal cancer. My grandfather built a tool in his garden
with his bare hands and llligatures

------
ARandomerDude
My take: it certainly looks interesting, and I congratulate you on building
it.

That said, since I use a standard US keyboard, the requirement to use symbols
I can't easily type would prevent me from building anything with it.

------
DavidCanHelp
Seems like JavaScript with extra steps...

------
jrumbut
I think adding about a sentence as soon as possible on the landing page that
explains your language in more specific, formal terms would be helpful. "Ji
enables literate programming and is good at x."

Maybe a quick example that shows how easily I can do some non-trivial task
would be nice, "here is how Ji lets you multiply matrices or something."

------
ebg13
> _Ji (pronounced gee)_

The "g" in "pronounced gee" obfuscates your intent. Use IPA if you want to
clarify pronunciation.

~~~
dragonwriter
IPA helps if you want to be very clear to the very small proportion of the
population familiar with IPA and completely obscure to everyone else; using an
existing, common word like “gee” is more clear to most people than IPA would
be.

~~~
OJFord
The very small population that knows how to perform an Internet Search or owns
a dictionary?

You don't need to know IPA off by heart for it to be useful, I certainly
don't, I only recognise a few characters, or whatever they're called.

'Gee' isn't terrible in combination with the name itself ('ji') since it
eliminates options.

Better IMO if you want to avoid IPA is giving an example like 'the first
syllable in 'genius'', but that's not so good (or at least much harder) for
polysyllabic names of things.

~~~
dileti
More to cater to the relatively large population that isn't on the autistic
spectrum, has OCPD (obsessive-compulsive personality disorder), or knows IPA
well. Without trying to ostracize that smaller group of people, the bulk of
the population is used to comparing to "sounds alike" words and would not take
to well to... "it's just IPA, go look it up."

------
bkyan
What does Ji compile to?

~~~
burlesona
From the example code it looks very much like it doesn’t compile to anything,
but is in fact just JavaScript.

The import and calling “jit`...` as a “tagged template literal” is just plain
JavaScript.

~~~
bkyan
In that case, calling it a language seems like a stretch...

