[HN Gopher] Janet Programming Language
       ___________________________________________________________________
        
       Janet Programming Language
        
       Author : rcarmo
       Score  : 212 points
       Date   : 2021-08-21 08:01 UTC (15 hours ago)
        
 (HTM) web link (janet-lang.org)
 (TXT) w3m dump (janet-lang.org)
        
       | andi999 wrote:
       | So what is it good for?
       | 
       | Edit:maybe my comment was too short, but for me it is important
       | to know what problem a new language solves (better). And I
       | seriously think the landing page does not explain it well/at all.
       | I mean like: D is C++ done right with garbage collection (and of
       | course expand from there). Zig and Rust are safe languages and
       | aim to replace C (with different strategies). And of course more
       | than one sentence.
       | 
       | So if anybody knows what problem Janet lang solves, pls enlighten
       | me.
        
         | masklinn wrote:
         | The home page does happen to have everything necessary: it has
         | a basic examples, a few blurbs, and a "use cases" explanation:
         | 
         | > Janet makes a good system scripting language, or a language
         | to embed in other programs. Think Lua or Guile. Janet also can
         | be used for rapid prototyping, dynamic systems, and other
         | domains where dynamic languages shine.
         | 
         | I could see the sections reordered, but it's hard to really
         | fault this home page, it's pretty terse yet quite complete.
         | 
         | The biggest issue I have with it is the first-time reader is
         | hit by the community / contribution bits before even knowing
         | what the language is about. A two-columns layout would probably
         | be useful there. And while having a basic in-page repl is nice,
         | improving the discoverability of the language through it (e.g.
         | providing autocompletion and inline help) would be neat.
        
           | andi999 wrote:
           | I disagree. 'Think Lua' is not an good explanation. I mean if
           | I want Lua, I use Lua.
        
             | masklinn wrote:
             | > 'Think Lua' is not an good explanation.
             | 
             | Do you have reading comprehension issues that you mistake
             | examples for explanations and are blind to the actual
             | explanations surrounding the examples?
             | 
             | > I mean if I want Lua, I use Lua.
             | 
             | That I know about Lua doesn't mean I want Lua. Hell, that I
             | wanted lua in the past doesn't mean I'm closed to replacing
             | it with something else. Given how well-known Lua is in the
             | space, "think lua" is a rather good example.
        
               | andi999 wrote:
               | Who knows? But could you point exactly to where it says
               | why I should care about this language? Let's say I want
               | to convince a cto to adopt it, what would be the edge one
               | could/would gain? Maybe it has some exceptional
               | libraries? Or GC pauses are deterministic, or whatever.
               | 
               | I mean this landing page is/should be their 2 minutes
               | sales pitch.
        
               | jdmoreira wrote:
               | It's not like they are trying to sell anything. And who
               | cares what your CTO wants to adopt?
               | 
               | Some people simply enjoy computers and are not looking
               | for external validation.
               | 
               | Spin up your jvm/.net bloatware and code yet another CRUD
               | application and leave us alone.
        
               | [deleted]
        
               | lightbendover wrote:
               | The way people are coming out of the woodwork to
               | aggressively dismiss someone asking about why they would
               | use Janet over other alternatives makes it pretty
               | apparent that there is nothing novel about this language,
               | no reason to learn yet another scripting in a sea of
               | choices, and a lot of over-invested individuals. You
               | people are everything wrong with tech.
        
               | jdmoreira wrote:
               | It's the most voted submission on HN right now. We gather
               | here because we like this stuff. And here you are wasting
               | your time accusing us of being everything that's wrong
               | with tech.
               | 
               | The thing you fail to understand is that we aren't in
               | this for the money or the validation or the status. We
               | simply like fiddling with computers, languages, etc.
               | 
               | Computers were my hobby way before they were my job.
        
               | IncRnd wrote:
               | It's great that you like playing with computers,
               | languages, etc. Nobody is minimizing that. But, many
               | people who see a new computer language want to know what
               | is unique about it.
               | 
               | It is completely valid to ask, "why should I use Janet
               | (the language)?" Many people are familiar with or expert
               | with many programming paradigms and have written their
               | own DSLs or general purpose languages. Others are expert
               | in fields that intersect with languages and want to know
               | if there is specific applicability to their domain.
               | 
               | Seeing a new language that doesn't solve a unique problem
               | or solve a problem in a novel way is often a complete
               | non-starter. For that reason, many people expect a page
               | on a new language to state the purpose of the language,
               | even if the purpose is, "I wanted to play with writing a
               | langauge." That's cool, too.
               | 
               | I'm pretty sure that is why several people have asked
               | that question.
        
               | detaro wrote:
               | > _It is completely valid to ask, "why should I use Janet
               | (the language)?_
               | 
               | Note that that isn't the question they started with (and
               | would likely have provoked a different response).
               | Perceived tone matters very much with a one-sentence
               | question.
        
               | andi999 wrote:
               | That is exactly what I had in mind. Thank you for putting
               | it so clearly.
        
               | IncRnd wrote:
               | I'm glad it helped convey what you also had in mind.
        
             | galfarragem wrote:
             | FWIW, Janet's creator previous project was Fennel[0], a
             | lisp that compiles to Lua.
             | 
             | [0] https://github.com/bakpakin/Fennel
        
               | andi999 wrote:
               | Thanks. I think for this lang the pitch is pretty clear,
               | it looks like fennel is lisp for Lua libs (like clojure
               | is lisp for Java) in a nutshell.
        
               | codesections wrote:
               | Though note that the Fennel repo is now at
               | https://sr.ht/~technomancy/fennel/
        
         | ojeda wrote:
         | > Zig and Rust are safe languages
         | 
         | Zig is a nice improvement over C, but it is not safe.
         | 
         | There is work in progress
         | (https://github.com/ziglang/zig/issues/2301), but from what I
         | can tell, key details are still to be decided, including the
         | classes of errors that will be covered, whether they will
         | require runtime tracking, etc.
         | 
         | In my opinion, Zig should look into becoming UB-less -- listing
         | undefined behavior instances like the C standard does or
         | enabling safety only in some build modes is not enough.
        
           | elcritch wrote:
           | Exactly! Zig is an improvement over C in many areas, but it's
           | fundamentally still _not_ a memory safe language. It's
           | comparable to a modern C/C++ project setup with valgrind and
           | allocator checks by default. The comptime is nice, but C++17
           | and upwards have dramatically improved the "comp time"
           | compiling in C++.
        
         | yumaikas wrote:
         | Janet's biggest draw for me _was_ it 's PEG engine and API.
         | That is still excellent.
         | 
         | But I'd say the biggest draw for me now is that Janet has a lot
         | made a lot of choices I agree with.
         | 
         | It's language that boots up very quickly, makes for easy
         | building of CLI tools, compiles to statically linked
         | executables, has full compile-time metaprogramming (Lisp
         | style), and can interface with C libraries very easily.
         | 
         | It doesn't solve any particular novel problem better outside of
         | PEGs, but it makes a lot of the _right_ decisions. And, being a
         | Lisp-like, it also gives enough expressive power to help you
         | build things your way, if you want.
         | 
         | Most of that probably appeals to folks who a) have been
         | programming for a while b) don't hate parens c) Are ok forging
         | in untread territory
         | 
         | Janet isn't something I'd build a business on, not quite yet,
         | but it has been a very, very satisfying hobby, and I've written
         | a lot of small tools in it, more than Nim or Go during my times
         | with either of those.
        
       | fasfsafsa wrote:
       | janet, natalie, julia ...
        
         | mrkramer wrote:
         | Are they naming programming languages after their girlfriends
         | and wives? :)
        
           | raffraffraff wrote:
           | ...or themselves, you sexist!
           | 
           | (I jest. Three times, in fact.)
        
             | mrkramer wrote:
             | I forgot about that sorry. I know only of COBOL that is
             | made by women all other programming languages are pretty
             | much made by men.
        
               | IncRnd wrote:
               | Smalltalk was definitely created by women (and men, too).
               | That has affected many other languages, including
               | objective-c.
        
               | elondaits wrote:
               | Ada is named after a (the first) programmer... not
               | somebody's wife, daughter or sister.
        
               | andi999 wrote:
               | There seems to be a slight controversy https://www.bbvaop
               | enmind.com/en/technology/visionaries/ada-l...
               | 
               | (don't ask me how reliable that source is)
        
               | IlliOnato wrote:
               | It's very interesting, thanks for the link!
               | 
               | But it does not change the point. People who created Ada
               | believed that Ada Lovelice was the first programmer and
               | named the language after her. So it's not named after
               | "somebody's girlfriend". The fact that they were probably
               | mistaken does not change this. It she was brilliant
               | anyway, even if not the first programmer.
        
               | ModernMech wrote:
               | Some of the earliest languages were made by women, as
               | women were the original (human) computers and then the
               | first programmers.
        
               | mrkramer wrote:
               | Yea true, I know they worked in Telephone Exchanges[1]
               | but both women and men mathematicians were first
               | "computers" for example Alan Turing[2].
               | 
               | [1] https://en.wikipedia.org/wiki/Telephone_exchange
               | 
               | [2]
               | https://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma
        
           | jstx1 wrote:
           | https://channel9.msdn.com/Blogs/Charles/Stefan-Karpinski-
           | and...
           | 
           | 18:52
        
           | iddan wrote:
           | In an interview with InfoWorld in April 2012, Karpinski said
           | of the name "Julia": "There's no good reason, really. It just
           | seemed like a pretty name."[
        
             | skohan wrote:
             | At least that's what he told his wife
        
             | arunix wrote:
             | Somehow I had thought it was named after Gaston Julia.
             | 
             | https://en.wikipedia.org/wiki/Gaston_Julia
        
           | Crestwave wrote:
           | Janet is a reference to The Good Place
           | https://github.com/janet-lang/janet#why-is-it-called-janet
        
             | ModernMech wrote:
             | Huh, I thought given the logo it was a reference to Janet
             | Jetson.
        
         | [deleted]
        
       | masklinn wrote:
       | That's a weird language. At first glance it looks like a hyper-
       | imperative lisp (except turns out it doesn't Process LISts).
        
         | yumaikas wrote:
         | It is little weird, but it's also _really_ fun to work with, if
         | you 're doing things that don't need to ship yesterday.
         | 
         | Working with Janet has deepened my knowledge of the Win32 APIs,
         | for example, because it makes writing small bits of C for
         | interacting with them about as easy as that can be.
         | 
         | I also like how it makes data structures and functions look the
         | same in terms of access, and how it handles nil.
        
         | schpaencoder wrote:
         | I guess it's easy to parse, and excellent for macros!
        
         | galfarragem wrote:
         | It's dead easy to get started. If you want to spend an hour
         | playing with a "lisp" you're only a small download away.
         | Clojure could learn a thing of two from this..
         | 
         | It's also not dogmatic. You can use mutable and immutable
         | versions of the same data structure.
         | 
         | Docs are concise: https://janet-lang.org/docs/index.html
         | 
         | Full API is here: https://janet-lang.org/api/index.html
         | 
         | [edit] I fully agree that "getting started" on Clojure is
         | easier than used to be. Anyway I still think there is room for
         | improvement.
        
           | monsieurbanana wrote:
           | You're 2 clicks away from having a fully-featured clojure
           | environment + an interactive clojure tutorial, thanks to
           | Calva (vscode clojure plugin) running in the browser:
           | 
           | - click here[0]
           | 
           | - click on SSO provider
           | 
           | More information here[1]. Of course, it'd be better to just
           | use the Calva plugin with VSCode. That's a bit more than 2
           | clicks, maybe about 5.
           | 
           | On another hand, I don't mean to say that it's easy to start
           | programming on Clojure, merely that it's now easy to try it
           | out. There's a steeper learning curve than python or
           | JavaScript, specially on the tooling side.
           | 
           | [0] https://gitpod.io/#https://github.com/PEZ/get-started-
           | with-c...
           | 
           | [1] https://calva.io/get-started-with-clojure/
        
           | masklinn wrote:
           | > It's also not dogmatic. You can use mutable and immutable
           | versions of the same data structure.
           | 
           | However from their description and the complexity promises it
           | looks like the immutable collections are literally just the
           | mutable ones without mutation ability (similar to Java's
           | immutable* wrappers) which greatly limits their effective
           | usefulness.
           | 
           | > Full API is here: https://janet-lang.org/api/index.html
           | 
           | Sadly even worse than clojure's which is already not great.
        
             | creata wrote:
             | > Sadly even worse than clojure's which is already not
             | great.
             | 
             | I thought Clojure's immutable collections were generally
             | considered good. What else would you consider "great"?
             | 
             | Edit: or was that a complaint about the quality of the
             | documentation, not the quality of the immutable
             | collections?
        
               | bjoli wrote:
               | I think the HAMTs are pretty darn solid.
               | 
               | I think, however, that scala raised the bar with RRB
               | trees over the trie-based immutable vectors. And using
               | java strings is pretty sad...
        
               | masklinn wrote:
               | > Edit: or was that a complaint about the quality of the
               | documentation, not the quality of the immutable
               | collections?
               | 
               | Yes, sorry if that wasn't clear.
        
             | nuclearnice1 wrote:
             | > which greatly limits their effective usefulness.
             | 
             | Interesting
             | 
             | Why?
             | 
             | And what's the alternative implementation?
        
               | masklinn wrote:
               | Persistent collections with structural sharing (b-trees,
               | HAMT, RRB-vectors, ...).
               | 
               | I can absolutely understand not using them if the
               | implementation is intended to be simple or the systems
               | it's running on is resource limited, but simply removing
               | the mutation bits of mutable collections is quite
               | limiting as it incurs large overhead when actually
               | working with them (you have to copy the entire thing
               | every time you want to update anything).
               | 
               | Unless the collections are always kept quite small:
               | modern architectures are very good at dense arrays, so
               | modern immutable data structures are trees of small-ish
               | arrays (usually a small number of dozens, IIRC Clojure
               | uses 32-wide nodes).
        
               | nuclearnice1 wrote:
               | I learned a lot. Thank you
        
           | okkdev wrote:
           | Racket is also just 1 download away and even comes with an
           | IDE.
        
             | [deleted]
        
       | jart wrote:
       | Janet is a cool language. Back in March, we managed to port it to
       | Cosmopolitan Libc so you can build Janet code as an Actually
       | Portable Executable. Here's the diff you need:
       | https://github.com/janet-lang/janet/compare/master...ahgamut...
       | The Janet team helped us identify a lot of things we needed
       | improve with our C library implemention too! While we've ported
       | other languages too, like Python, Lua, etc. those users will
       | still owe much thanks to Janet.
        
         | mark_l_watson wrote:
         | That is cool! Other commentators were asking about good use
         | cases, and living in Cosmopolitan seems to fit the bill.
         | 
         | I like the language, except I have never liked the "low
         | parenthesis" Common Lisp loop/for macros, which Janet's "for"
         | loop reminds me of. Pardon the stylistic nit-pick.
        
           | JasonFruit wrote:
           | I agree: it makes a necessary small special case a huge
           | special language of its own.
        
         | 41b696ef1113 wrote:
         | To be clear: do you package the Janet runtime + Janet code into
         | a single run-anywhere executable? I have done a couple of toy
         | utilities in Janet, and knowing I can produce a single
         | distributable binary makes it even more appealing.
         | 
         | As an aside, Cosmopolitan is news to me, but looks quite nifty.
        
       | joelbluminator wrote:
       | Is it related to the Jackson programming language?
        
         | IncRnd wrote:
         | That's an interesting question, since Jackson was literally
         | developed by someone named Michael Jackson.
        
           | joelbluminator wrote:
           | lol. I heard that Jackson is quite dead though.
           | 
           | ... and here come the downvotes ...
        
       | jimbob45 wrote:
       | Seems like the prevailing opinion is that the website needs a
       | "Why Janet?" blurb because I looked at this and thought, "Why
       | would I ever use this over Racket?".
        
       | nudpiedo wrote:
       | I understand the why for embedded DSLs for things such as
       | database queries, regex and the like but a general purpose
       | embeddable language?
       | 
       | I wonder how many users these sort of languages have, aside from
       | its creators and perhaps the company where it has been born.
       | There are tons of embedded languages, many with libraries and all
       | sort of utilities, why should someone invest themselves in such
       | languages with all the risk it takes?
       | 
       | Problems such as: additional build steps, security, ecosystem,
       | train employees and maintainers into new languages, additional
       | maintenance barrier, etc
        
       | IncRnd wrote:
       | Why was Janet created? There must have been a purpose or niche
       | that caused its inception. If the reason was, "I wanted to write
       | a language," that's not enough to use it in certain situations.
        
       | rla3rd wrote:
       | next up, a highly opinionated language called "Karen"!
        
         | fasfsafsa wrote:
         | they already made it: https://rust-lang.org
        
       | skohan wrote:
       | What is with new programming languages with women's names? It
       | seems a bit cringey to me, like the guy in my first-year cs
       | classes who would name variables after his girlfriend.
        
         | booleandilemma wrote:
         | At least people aren't naming their daughters after programming
         | languages yet.
        
           | skohan wrote:
           | Tell that to my friend BASIC
        
             | vletal wrote:
             | And their buddy CPP.
        
           | ibraheemdev wrote:
           | Ruby.
        
         | Y_Y wrote:
         | Some historical language names that are also first names:
         | * JOSS    - male   - 1966         * Pascal  - male   - 1970
         | * Ada     - female - 1983         * Perl    - both   - 1988
         | * Haskell - male   - 1990         * Lua     - female - 1993
         | * Ruby    - female - 1995         * Delphi  - female - 1995
         | * Julia   - female - 2011
         | 
         | Honorable mention: Erlang is a (male) god in Chinese Buddhism.
         | 
         | Some caveats apply. Many language names are also surnames, I
         | leave that to future work.
         | 
         | See also: Beryllium
        
           | CyberDildonics wrote:
           | Lua means 'Moon' in Portuguese
        
             | Aeronwen wrote:
             | I remember a HN post where someone talked about naming
             | their daughter Lua. They liked the name when they first
             | heard it, and being a programming language was just a nerdy
             | bonus.
             | 
             | Telling their wife that it means 'moon' in Portuguese made
             | it an easy sell.
        
           | sltkr wrote:
           | Joss: can be either male or female, as a nickname for Joseph
           | or Jocelyn (think: Joss Whedon, Joss Stone)
           | 
           | Perl: doesn't strike me as a name at all, and the language
           | name definitely wasn't referencing it (more likely a
           | reference to the shell).
           | 
           | Lua: doesn't strike me as a name either, and the language was
           | named for the moon.
           | 
           | Ruby: is a girl's name, but the language was named for the
           | precious stone.
           | 
           | Delphi: is the name of a city, though it does reference the
           | (female) Oracle of Delphi (the language was designed to make
           | Oracle databases accessible).
        
             | Y_Y wrote:
             | My criterion for the list was whether or not I could find a
             | well-known person with the given word as their birth name.
        
         | IncRnd wrote:
         | That's like people getting tattoos showing the name of their
         | favorite programming language. Those always get covered over
         | with MOM.
        
         | skinkestek wrote:
         | If you name it after men you get even more problems.
        
           | [deleted]
        
           | ModernMech wrote:
           | Dylan, Haskell, Erlang, Pascal, etc. What's the problem
           | either way?
        
             | skinkestek wrote:
             | These are older so I guess that is why.
             | 
             | And no, no problem with me. I just pointed out one reason
             | why people might prefer a female name for a project.
             | 
             | Another valid reason might be because they want to bring
             | some women into the spotlight in what is ofte perceived as
             | a male dominated field.
        
             | [deleted]
        
       | xz18r wrote:
       | Just saying: in Flanders, 'janet' or 'jeanette' is an offensive
       | slur for a homosexual man.
        
         | terracottage wrote:
         | In Flanders, people think they speak much better English than
         | they do. Janet and janet are pronounced differently.
        
           | livindub wrote:
           | Does anybody else pronounce Janet in 2 ways at the same time
           | while reading all of this?
        
           | xz18r wrote:
           | I'm not saying they are pronounced the same way.
        
       | burai wrote:
       | Is this how "the good place" is built and run?
        
         | [deleted]
        
         | doctor_eval wrote:
         | Not a girl
        
       | uvtc wrote:
       | Janet is small, simple, efficient, and practical. For me it has
       | nice syntax and sensible semantics. Great little package manager
       | too. Very happy with and excited about Janet so far.
        
       | mnming wrote:
       | I was a donator to Janet for a little while and then eventually
       | stopped.
       | 
       | I think it would be a great programming language if it arrives
       | 5~10 years earlier. Highlights to me are: green thread, TCO, easy
       | distribution, great interop with C, flexibility of choosing
       | between imperative vs immutable data structures.
       | 
       | However, I just couldn't find a good use case for it. For
       | embedded programming, I would always choose Lua if not using
       | Zig/Rust directly. For low latency backend stuff, I can use
       | Clojure or NodeJS, which are much more performant and mature
       | (Janet's performance is roughly on the same level with Lua
       | without JIT).
       | 
       | For general latency insensitive backend projects, there are just
       | too many choices nowadays and Janet doesn't shine enough.
       | 
       | If it arrives 10 years ago with these feature sets, I would love
       | it!
        
         | bakpakin wrote:
         | Thanks you very much for the support, I can totally understand
         | that position.
         | 
         | We have been making great progress in terms of features since
         | then to "flesh out" the languages and libraries including
         | threading support, an event loop, and some basic networking
         | (socket) support built in to the runtime. Generally though, the
         | PL design space is already incredibly fatigued an most new
         | languages claiming something have already been made a few times
         | over, just doing doing one thing slightly better, so it is true
         | we cannot truly compete in that space.
         | 
         | Janet is a hobby lisp(?) taken too far and I have been adding
         | lots of features that I find useful for day-to-day programming
         | and experiments while still being something "embed-able" into
         | another project. Janet is not a corporate project in anyway and
         | donations are accepted mostly as a token of gratitude and
         | expenses used to maintain the website and CI bills. My goal is
         | really just to make it a good, clean, useful language for my
         | own use and not as some kind of advertisement or product for
         | anything, it is a project I started in my college dorm and have
         | continued working on as a passion project since.
        
           | frompdx wrote:
           | Thank you for creating Janet. It is a fun language and it's
           | exciting to watch it evolve. With the addition of the event
           | loop and networking I'm curious to know if an http client and
           | http server based on these will be added in the future?
           | 
           | I am aware that there are already libraries that cover these
           | to an extent like circlet and halo for http. Joy also
           | features an http client. Maybe it's outside the scope of the
           | project, but I think an http server and client as part of the
           | core would really add to the utility of Janet. It would also
           | answer some of the licensing questions for distribution if
           | these were included directly in Janet core. For example,
           | circlet is MIT, but it is based on mongoose is GPLv2.
           | 
           | Also, seeing Janet on HN a year or so ago was what got me to
           | watch _The Good Place_ , so thanks for that as well.
        
             | bakpakin wrote:
             | Probably unlikely to be added in the core (esp. HTTP/2),
             | but an HTTP/1 implementation could be done in pure janet -
             | there is a binding of just a parser here:
             | https://github.com/andrewchambers/janet-pico-http-parser
             | 
             | But yes, at some point a canonical replacement for circlet
             | that was MIT licensed and event-loop friendly would be
             | nice.
        
         | ducktective wrote:
         | How Lua is viable in embedded? You mean microcontroller/low-
         | level programming right?
        
           | Banana699 wrote:
           | Embedded is a fuzzy category, specs range from <1kb Ram to
           | the low megabytes. Some people even extend it till low end
           | smartphones and things like raspberry pies which are like
           | gaming PCs by mid 2000s standards.
           | 
           | Lua is extremely lightweight and portable. The interpreter
           | doesn't exceed 500 kb in the fattest build, and the used
           | dialect is a strict subset of ANSI C that is equally
           | comfortable running on mainframes as on Nintendo consoles.
           | 
           | In short : If it has a C compiler and can spare 300 kb ram,
           | it can run Lua. So people sometimes use it there.
        
             | smokeymorning wrote:
             | >Embedded is a fuzzy category, specs range from <1kb Ram to
             | the low megabytes.
             | 
             | After a career in embedded software, I'd have to say that
             | I've only worked on a couple of products that had less
             | oomph than a high-end PC of the same era.
        
             | detaro wrote:
             | Indeed (see also "embedded Linux" being a thing), people
             | insisting if something doesn't run on a tiny PIC it can't
             | be useful for "embedded" is a pet peeve of mine.
             | 
             |  _Depending on the context_ , "embedded systems" go even
             | larger, although _usually_ people stop calling it
             | "embedded programming" at some point. Obviously many
             | problems in large embedded systems are different from small
             | ones, but others remain similar.
        
               | tyingq wrote:
               | I imagine they are annoyed because it used to be more
               | clear, easier to google, etc. The discussion and search
               | space was polluted for them as the meaning of the term
               | changed, and no new term filled the void.
        
               | auxym wrote:
               | "microcontroller" seems like a term that would
               | differentiate from things like embedded Linux and SoCs.
        
               | detaro wrote:
               | When was that? The range wasn't as large because the top
               | end was way more limited, but the same thing applied at
               | least since the 90s.
        
               | tyingq wrote:
               | My impression in the 90s is that most people talking
               | about embedded were talking about microcontrollers or
               | very limited microprocessors.
        
               | detaro wrote:
               | My counterpoints would be e.g. QNX and vxWorks, famous
               | embedded OSes, both being active in the 90s (roots go to
               | the 80s, but in both cases afaik they really came into
               | being and found a market in the 90s). Plenty 90s embedded
               | hardware with x86 CPUs in it.
               | 
               | What's probably different today is that you have more
               | options also on MCUs (not just assembly and maybe C),
               | because MCUs have grown.
        
           | quadcore wrote:
           | I once worked on a project at a FAANG where we had to run an
           | app on a 600Mhz CPU with no FPU. Javascript (v8,
           | spidermonkey) wouldn't cut it (for some reasons function
           | calls where very slow amongst other things). While Lua was
           | incredibly fast on that hardware and the VM footprint was
           | also a blessing. Even better, we could send a binary blob of
           | the Lua VM/app state over the wire, and so we could
           | precompute the whole app start on a server and send that to
           | the device (the app would start in under 5 secondes instead
           | of minutes as it would just load the blob). Best hacking time
           | of my career, thanks to Lua.
        
           | moron4hire wrote:
           | In this case, I believe "embedded" means "in another program,
           | as a scripting language".
        
           | [deleted]
        
       | aoms wrote:
       | Thats a lot of opening/closing parentheses.
        
         | StreamBright wrote:
         | Could you count how many you got in your favorite programming
         | language vs Janet/LISP?
        
           | scotty79 wrote:
           | My favorite is coffeescript so difference is roughly about a
           | lot.
        
             | Heliosmaster wrote:
             | that's a lot of whitespace
        
               | scotty79 wrote:
               | But only on the left side, and a bit in the middle. And
               | you would put it there anyways in nearly all other
               | languages just for readability. ;-)
        
           | IncRnd wrote:
           | It looks like a difference of somewhere between 7,239 to
           | 32,767 per screenful of code.
        
         | andi999 wrote:
         | Looks like somebody learned the wrong lesson from lisp.
        
           | codr7 wrote:
           | One word: macros.
        
       | eitland wrote:
       | Interestingly when submitting the latest tar.gz to Virustotal,
       | Microsoft claims it contains Wacatac.B!ml
       | 
       | Submitting one file at at time doesn't trigger it.
       | 
       | Even packing up all the binaries and submitting that doesn't
       | trigger is (and neither does packing up the rest of the files abd
       | submitting them.)
       | 
       | So I'm going to ignore MS on this one since no one else found
       | anything suspicious either.
        
         | technion wrote:
         | I've submitted a ticket about this.
         | 
         | https://ibb.co/dQpKT3T
        
           | eitland wrote:
           | Thanks, although I should say that I searched for a few
           | minutes about this Trojan and it seems Microsoft antivirus
           | has been reporting it on other projects as well for years
           | (since 2019 at least IIRC) and in the support forums the most
           | upvoted answer was that the only way to stop it except for
           | reporting every single new version as a false positive to
           | Microsoft was to get a certificate and start signing the
           | software.
           | 
           | I wonder if there is someone here from either Microsoft or
           | Virustotal who could do something about it?
        
       | DennisP wrote:
       | I hope they never change the logo. It looks a _lot_ like my mom,
       | whose name was Janet. I 'll probably end up trying out the
       | language for that reason alone.
        
       ___________________________________________________________________
       (page generated 2021-08-21 23:01 UTC)