[HN Gopher] The Io Language
___________________________________________________________________
The Io Language
Author : snwy
Score : 79 points
Date : 2021-12-22 17:24 UTC (5 hours ago)
(HTM) web link (iolanguage.org)
(TXT) w3m dump (iolanguage.org)
| PedroBatista wrote:
| Last week tried to compile and run Io on the GraalVM but was
| stopped by a
| com.oracle.truffle.api.dsl.UnsupportedSpecializationException:
| Unexpected values provided for LLVMNeNodeGen#1: [false, 0],
| [Boolean,Integer] error.
|
| coming from: at <llvm> CHash_at_(Unknown)
| at <llvm> IoState_symbolWithUArray_copy_(../../../../Desktop/io/l
| ibs/iovm/source/IoState_symbols.c:44:1123) at <llvm>
| IoState_symbolWithCString_length_(../../../../Desktop/io/libs/iov
| m/source/IoState_symbols.c:75:2141) at <llvm> IoState
| _symbolWithCString_(../../../../Desktop/io/libs/iovm/source/IoSta
| te_symbols.c:79:2268) at <llvm> IoState_retainedSymbo
| l(../../../../Desktop/io/libs/iovm/source/IoState.c:245:8336)
| at <llvm> IoState_setupQuickAccessSymbols(../../../../Desktop/io/
| libs/iovm/source/IoState.c:251:8564) at <llvm> IoStat
| e_new_atAddress(../../../../Desktop/io/libs/iovm/source/IoState.c
| :106:2910) at <llvm> IoState_new(../../../../Desktop/
| io/libs/iovm/source/IoState.c:240:8195) at <llvm>
| main(../../../../Desktop/io/tools/source/main.c:37:599)
| at org.graalvm.polyglot.Value.execute(Value.java:839)
|
| Waiting for the day when I can embed Io on Java projects.
|
| It's a great dynamic language but suffers the same problems every
| other language with a small user-base suffers.
| Asraelite wrote:
| That may be the least googleable language name I've ever seen.
| area51org wrote:
| I think it beats even Chef (a DSL, not a standalone language,
| but still). When you google for that you get a mix of
| automation documentation and links to Gordon Ramsey. But io??
| The planet? The Italian pronoun? Good lord.
|
| EDIT: thankfully, on a Mac with Homebrew, you can just 'brew
| install io'.
| throwaway894345 wrote:
| I'll throw `Nix` in there. I always get things about unix or
| linux. For a while when I would search "nix package manager"
| the top result would be something like "congress manages to
| nix stimulus package". Go should similarly be hard to search
| for, but I just use "golang" and it gets it right every time.
| yjftsjthsd-h wrote:
| I've taken to using "nixos" even when I don't mean the full
| OS.
| throwaway894345 wrote:
| Usually that gives me things about nixos. E.g., when I'm
| trying to figure out how to install vscode plugins via
| nix package manager, I specifically _don 't_ want the
| nixos recipe because I'm not using nixos.
| goda90 wrote:
| I took a programming language concepts class and we had to
| write an essay about some uncommon language and what made it
| interesting. I chose Io and it was a pain for sure.
| slmjkdbtl wrote:
| Practically looks like it's not bad you can get it at #1 on
| query "IO Programming Language"
| wittenbunk wrote:
| masukomi wrote:
| "io" is a significantly less common word than "go"
| Calavar wrote:
| Yes, but searching stuff like "go programming" or "go
| standard library" or "go web framework" will get you what you
| want.
|
| The problem with io is that it already means something in a
| programing context, so adding extra programming related
| keywords won't help to disambiguate the search.
| raphlinus wrote:
| And of course there is at least one other language by that
| name[1], though very much a toy and designed by someone who
| didn't really know what they were doing.
|
| [1]: https://dercuano.github.io/notes/raph-io.html
| omoikane wrote:
| See also: https://www.mcmillen.dev/language_checklist.html
|
| [ ] The name of your language makes it impossible to find on
| Google
| mmphosis wrote:
| That's a great list!
|
| WHen I search on a different web search engine for "c" with
| my default web search engine that says it respects privacy, I
| start getting results for the C language about 5 items down
| from the top -- Pretty Good. When I search on said search
| engine, the C language Wikipedia article comes up first --
| Excellent. Said engine also auto-fills programming language
| when I start to type that after io. My "respectful" web
| search engine doesn't auto-fill quite as quickly. If my new
| and extremely poorly named programming language is popular
| enough, the web search engines are able to figure it out.
|
| io is the 5th result even on https://search.marginalia.nu/
| marginalia_nu wrote:
| > io is the 5th result even on
| https://search.marginalia.nu/
|
| To be fair, it is quite heavily biased toward the tech
| sphere. I try to make it balanced, but even so, not a
| single result about the poor woman who caught the eye of
| Zeus.
| mmphosis wrote:
| _it is quite heavily biased toward the tech sphere_
|
| This is why I use your search engine. Thank you
| flatline wrote:
| It's worth noting that the language has been around for almost
| 20 years now! Search engine relevance was virtually nonexistent
| when it was named.
| agumonkey wrote:
| i think it's older than the domain name, which gave it a little
| open window of acceptable googleability.
| dang wrote:
| Some past threads. Hard to search for. Others?
|
| _The Io Language_ -
| https://news.ycombinator.com/item?id=22796409 - April 2020 (24
| comments)
|
| _Io Programming Language (new website design)_ -
| https://news.ycombinator.com/item?id=10605310 - Nov 2015 (73
| comments)
|
| _Io language_ - https://news.ycombinator.com/item?id=8867575 -
| Jan 2015 (40 comments)
|
| _Io language_ - https://news.ycombinator.com/item?id=2624097 -
| June 2011 (35 comments)
|
| _The Io Language_ - https://news.ycombinator.com/item?id=1538835
| - July 2010 (39 comments)
|
| _Io language_ - https://news.ycombinator.com/item?id=750830 -
| Aug 2009 (4 comments)
| wintorez wrote:
| First read about Io in the fantastic book, Seven Languages in
| Seven Weeks.
| yakshaving_jgt wrote:
| Same. In fact, I picked up that book as a PHP and JS developer,
| and ended up becoming fascinated with Haskell by the end of it.
| For the past several years now, I've been earning 100% of my
| living from writing Haskell.
|
| I enjoyed the Io chapter, and JavaScript's prototypal
| inheritance made more sense to me after working through that
| chapter's exercises.
| djtriptych wrote:
| Congrats on the switch to Haskell. I see a similar path when
| I'm finally tired of big production web apps. I want to work
| on some wonky functional system at some point.
|
| Curious what sort of work you do!
| yakshaving_jgt wrote:
| I work at Supercede. We write a big production web app for
| the reinsurance industry with Yesod and Servant, and a bit
| of Elm.
|
| We're hiring[0] also (and our team has grown a bit since
| that last post).
|
| [0]: https://news.ycombinator.com/item?id=28722397
| phaedrus wrote:
| The Io language is elegant both to program in and in the way the
| design is built up from simple parts. In fact it was my first
| introduction to dynamic typing after many years programming in
| C++, C#, and (various) BASIC(s).
|
| Io allows you to write only and exactly what you meant with the
| least amount of non-essential complexity of any dynamically typed
| language I know. The lazy evaluation also allows you to take full
| advantage of code is data / data is code. That sounds like LISP,
| but whereas there the primitive is the list, in Io the primitive
| is the message.
|
| My experience trying to write a larger project (a game, never
| finished) in Io was that it allowed me to make enormous progress
| initially, but suddenly reached a point in size of the project
| where the lack of static checking was (IMO) impeding my progress
| more than the elegance of the language was helping it.
|
| (I also realized at that point I needed to re-implement some
| things in C++ for performance reasons, not because of Io per se
| but just because some things needed to be on the "native" side of
| the fence because things they touched also were.)
|
| When I reached this point in the project, I found there was no
| clear path to translating what I'd developed into a static
| language (C++) because many of the ideas and systems I'd created
| in Io simply couldn't be expressed in C++ - or they made no sense
| there.
|
| For example I'd created an embedded DSL (something Io excels at)
| for a data definition of the game objects. When I tried
| mindlessly converting these Io prototypes into C++ classes, they
| not only became too verbose they also lost all of the semantics
| of prototypical inheritance where "take a copy of another thing
| and tweak it" was my means of building up game objects by
| incremental refinement.
| dognotdog wrote:
| Io was fantastic as a personal learning vehicle, over ten years
| ago. I did have a game project that used it, right in the lull
| where Lua's FFI was still a little rough and JS did not quite
| break out of the browser.
|
| Its simplicity also made it great to write an interpreter for,
| including GC. However, nowadays the focus shifted to JIT,
| mostly via LLVM, which leaves such free-form languages unable
| to compete on performance, without significant effort.
|
| I do fondly remember the endless explorative chats with Steve
| Dekorte and the other language geeks on IRC!
| quag wrote:
| I also fondly remember those times.
| ConanRus wrote:
| history: created in 2002, actively developed until 2008
|
| So it's old and dead? What's the point in posting this on HN?
| Jtsummers wrote:
| It piqued someone's curiosity.
| zeckalpha wrote:
| I contributed to it in 2015
___________________________________________________________________
(page generated 2021-12-22 23:00 UTC)