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.

Avail Programming Language

80 pointsby FractalLPalmost 7 years ago

24 comments

dcw303almost 7 years ago
I&#x27;m confused by the website. The intro has a clear example that reads like natural language processing, but the FAQ goes out of the way to stress that the language does not do NLP. At that stage it gets a bit ranty, vague and dense, and I kind of lost interest. Perhaps I&#x27;m not smart enough to get what they&#x27;re trying to do. &quot;Developing a domain-appropriate lexicon and phraseology&quot;. Is this a DSL? Regardless, I don&#x27;t see this setting the world on fire.<p>It&#x27;s interesting that they&#x27;ve called this paradigm Articulate Programming, because articulation of the domain is where the problem both starts and ends.<p>How many times have you worked in a company with staff who start off exasperated with how complex IT makes solving a business problem, only to be surprised at just how many details are in their day to day processes once you&#x27;ve spent time covering off all the edge cases and writing tests around exceptions.<p>Code becomes complicated because the domain it models <i>is</i> complicated. Hence the reason why a good engineer&#x27;s most important skill is in gaining an understanding of the real world problem domain, and expressing that as code. And also why I&#x27;m not worried of AI taking my job any time soon.
评论 #17152421 未加载
cyberferretalmost 7 years ago
While I believe &#x27;plain English&#x27; type programming languages are a great concept, the reality is that it just introduces far more ambiguity into the mix, and you are just left trying to guess what the language designer&#x27;s vagaries are.<p>I came across this years ago when trying to get to grips with the then new fangled Ruby language. I kept having to go back to the documentation to remember the best way to convert a string to all uppercase... was it:<p><pre><code> str.upper str.uppercase str.ucase str.upcase str.capitalize (&lt;- Don&#x27;t even get me started on the regional differences of &#x27;ise&#x27; vs &#x27;ize&#x27; between US and UK English variants) ??? </code></pre> Even here, I would probably start using Avail, then in a few weeks I would be scratching my head and asking, was it:<p><pre><code> Print 1 to 10, as a comma-separated list </code></pre> or<p><pre><code> Display 1-10, in CSV format</code></pre>
评论 #17150601 未加载
评论 #17150687 未加载
评论 #17151858 未加载
评论 #17152273 未加载
评论 #17150795 未加载
评论 #17150896 未加载
评论 #17150640 未加载
评论 #17151659 未加载
评论 #17150622 未加载
评论 #17151720 未加载
评论 #17150994 未加载
Joboman555almost 7 years ago
Constructive Criticism: I could not find any code examples on the website within 3 minutes of searching, gave up, and left.
评论 #17151519 未加载
评论 #17151713 未加载
评论 #17150757 未加载
评论 #17151694 未加载
bltalmost 7 years ago
IMO, the landing page of any programming language site should include some code samples demonstrating what makes the language different from the crowd.
评论 #17150502 未加载
评论 #17151314 未加载
评论 #17150458 未加载
seanmcdirmidalmost 7 years ago
&gt; An infinite algebraic type lattice that confers a distinct type upon every distinct value. Intrinsic support for a rich collection of immutable types, including tuples, sets, maps, functions, and continuations.<p>Ok, I consider myself OK at type theory but I&#x27;m still lost in what this claim actually means. And if it is what I think it is (that all values have types), I wonder how this doesn&#x27;t run afoul of decidability of fancy dependent type systems (perhaps 1 has a type, 2 has a type, but 1 + 2&#x27;s type isn&#x27;t 3?).
评论 #17150587 未加载
评论 #17151257 未加载
pasabagialmost 7 years ago
I think there&#x27;s actually a very fundamental difference between natural and formal languages that make this kind of project wrongheaded.<p>Formal languages, at root, have exact reference. In a programming language, a symbol ultimately refers to a block of memory, or an operation. The problems of writing a formal language are ones of trying to express a given concept when the relation between symbols and references is known, but the relationship between concept and symbol is not.<p>In natural language, a symbol ultimately refers to nothing. Its meaning is derived from context, convention, intention. As such, the relationship between concept and symbol is basically known - we know we are talking about red things when we use the word red. The relationship between concept and reference is absolutely unknown - we can never know for sure whether our concept &#x27;red&#x27; is adequate to real red objects.<p>As such, natural languages are a poor model for formal ones. The problems are essentially different. In one, you know how the symbol &#x27;red&#x27; relates to operations and memory. In another, you know how the symbol &#x27;red&#x27; relates to intention and meaning. Each has different challenges associated.
评论 #17156811 未加载
wiradikusumaalmost 7 years ago
Print 1 to 10, as a comma-separated list.<p>In e.g. Scala, you can do that:<p>print( 1 to 10 mkString &quot;,&quot; )<p>It&#x27;s not 100% human language&#x2F;grammar, but close (and you have auto-completion using IDE). Why would you need another DSL?<p>(Not trying to bash Avail, nor promote Scala, just curious for its usecases)
评论 #17150616 未加载
评论 #17151590 未加载
kccqzyalmost 7 years ago
It&#x27;d be better if the tutorials are rewritten in a more concise manner. Do you really need that many words to explain Guess The Number? <a href="http:&#x2F;&#x2F;www.availlang.org&#x2F;about-avail&#x2F;learn&#x2F;tutorials&#x2F;guess-the-number.html" rel="nofollow">http:&#x2F;&#x2F;www.availlang.org&#x2F;about-avail&#x2F;learn&#x2F;tutorials&#x2F;guess-t...</a>
colandermanalmost 7 years ago
I find the syntax hard to follow for the express reason that variable names and function names have no distinguishing features. If variable names were decorated somehow (a symbol, or color) it would be much easier to visually parse a function call. As is, my brain must remember exactly the (complex) names of functions and variables in scope to determine how to parse a function call. But I like the idea and am using something similar in a language I&#x27;m developing.
评论 #17155579 未加载
mikkomalmost 7 years ago
Here is some code from their examples page if anyone else (like me) is more interested in how the actual code looks like.<p>To be honest, I&#x27;m not sure how much clearer this is to read than for example Python.<p><a href="http:&#x2F;&#x2F;www.availlang.org&#x2F;_examples&#x2F;guess-the-number&#x2F;Guess%20the%20Number.avail" rel="nofollow">http:&#x2F;&#x2F;www.availlang.org&#x2F;_examples&#x2F;guess-the-number&#x2F;Guess%20...</a>
skybrianalmost 7 years ago
It looks like GitHub is active [1], but documentation hasn&#x27;t kept up. The blogs don&#x27;t seem to have been updated since 2014, and the links to the mailing lists are broken.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;AvailLang&#x2F;Avail" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;AvailLang&#x2F;Avail</a>
评论 #17155650 未加载
qopalmost 7 years ago
Someone smart needs to explain what an infinite algebraic lattice is, because it sounds awesome. Potentially.<p>Edit: (I just googled &quot;algebraic type lattice&quot; and while ymmv, I don&#x27;t recommend it unless you&#x27;re well versed in scary black mathic)<p>I didn&#x27;t get too in depth with reading the docs, but any language that goes for non ascii symbols a la APL is going to be fighting an uphill battle right from the get go.<p>Maybe it was a bit easier even for apl because there were interfaces more immersive than what we have now for non ascii, especially when mixed with regular ascii.<p>Type type type, oh wait, backslash, dropdown, there&#x27;s my symbol, enter, type type type. That&#x27;s not very fun. That&#x27;s less fun when youre dividing your cognition between what things im actually trying to accomplish and what things I have to type.<p>Just my two cents, no ill will
评论 #17150598 未加载
评论 #17150476 未加载
评论 #17155693 未加载
评论 #17164847 未加载
p1neconealmost 7 years ago
The example at the beginning strikes me as a bit over the top. Something like &#x27;String.Join(&quot;,&quot; Range(1,10))&#x27; (pseudocode, but you get the picture) would be better, and avoid all the ambiguities of the plain english version.
评论 #17150925 未加载
geoelectricalmost 7 years ago
I really hate programming in AppleScript, which also attempted a similar syntax, because it&#x27;s in the uncanny valley of semi-structured English. It&#x27;s too close to the language I speak such that remembering all the special cases (which prepositions link which operations, sentence structure, etc.) becomes really difficult.<p>I <i>like</i> some well-structured separation in my coding languages. It&#x27;s not a downside for me at all.
评论 #17155637 未加载
dangalmost 7 years ago
From 2014: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7667706" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7667706</a><p>From 2015: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9043561" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9043561</a>
jillesvangurpalmost 7 years ago
Reminds me a bit of intentional programming, something that Charles Simonyi has been pushing for a few decades. As far as I know he might still be pushing this but I haven&#x27;t seen much progress since 2002.
sanxiynalmost 7 years ago
This reminds me of The Osmosian Order of Plain English Programmers.
评论 #17155800 未加载
IshKebabalmost 7 years ago
First rule of programming language home pages - have a good selection of examples on the first page! This fails that horribly.
IvyR0guealmost 7 years ago
Super cool. Going to have to check this out.
beojanalmost 7 years ago
Someone looked at COBOL and thought, &quot;<i>That</i> looks great&quot;.
theprattalmost 7 years ago
&gt; But there are many career programmers who would rather say: &gt; Print 1 to 10, as a comma-separated list.<p>No, I would not. Don&#x27;t make assumptions on behalf of others.
评论 #17152564 未加载
评论 #17152671 未加载
toolslivealmost 7 years ago
obligatory xkcd: <a href="https:&#x2F;&#x2F;xkcd.com&#x2F;568&#x2F;" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;568&#x2F;</a>
dwarfylenainalmost 7 years ago
Cobol 4ever ;)
评论 #17155895 未加载
bbeonxalmost 7 years ago
To be honest, this project is going the wrong direction.<p>Rather than trying to get programming languages to look like human language, we need to get human language closer to computer language.<p>By this I mean that every argument I&#x27;ve ever been in has turned out to either be an intrinsic disagreement about definitions (fixable, and usually we agree) or an intrinsic argument about god (probably not fixable, we will probably not agree).<p>If the average person understood the beauty of a solid (and unambiguous) definition, I dunno, world peace and rainbows and butterflies? Probably not, but I&#x27;d definitely not have to rage-quit socializing so often.<p>Still, with that said, from a purely intellectual curiosity standpoint this is neat. I hope that the general saltiness of the internet doesn&#x27;t discourage the devs from working on this some more.