Searching for embedded development jobs by the keyword "embedded" is already an exercise in manually filtering out phlebotomist jobs, teaching positions, histotechnologists, all sorts of people who think they're differentiating their offered position by saying "embedded with a team", as if thats functionally different from "working with people". Now weve added functional programmers.
Yet it remains by far the most relevant keyword in my experience. I would think "firmware" would be a better, or at least sufficient catch-all.
"Embedded DSL" is for better or worse a reasonably well established term for DSLs that are embedded within a host language using the language's own abstraction constructs (libraries, macros, etc.), rather than being implemented as a separate language with a parser and compiler/intepreter. I do usually use the alternative term "internal DSL" though, which I believe is also the older one. Besides avoiding the name clash with embedded programming in the low-level hardware sense, I like it better because the opposite of an internal DSL is an external DSL, not an "unembedded DSL".
An EDSL and a domain-specific API are not the same thing. For example, one typically expects the description of a program's logic and its execution to be separate in a DSL (i.e. building up expressions from the syntax made available in the EDSL and then later applying an interpreter (possibly multiple interpreters) to these expressions) while this is not generally true for domain-specific APIs.
I do in fact have a horse in this race as an Embedded developer, but I don't really ascribe worthiness of exclusive use of the term to any particular side. Theyre all just using a term that predates all of their industries, so this isn't a thing to pick or defend sides on, in my opinion. I simply lament the inability to be specific and comprehensive. It's not like "Embedded" is even a hot buzzword or has anything resembling unique brand recognition.
Actually even the use of embedded here is somewhat ambiguous. Embedded as in devices, or embedded as in embedded within another programming language. I think it might mean the latter here.
It’s both. Ivory is a Haskell EDSL for programming hard real-time embedded systems. Iirc they originally created it for a DARPA aerospace software contract.
but the text specifically says 'for interacting with hardware'. it would be instructive if there was a simple hardware interface example on the front page instead of just hello world and fib.
Correct me if I am wrong, but adding terms to the query can have two distinct effects:
Either this would add jobs that hit "software" or "developer" in isolation,(see original problem) or it would filter out "Embedded programmer" or "Embedded systems engineer", if those ads didn't include all three individual terms "embedded", "software", and "developer". (Why I tolerate my current approach)
I've always assumed I was casting the optimally sized net with a single keyword, and no better alternative existed for purposes of completeness.
Yet it remains by far the most relevant keyword in my experience. I would think "firmware" would be a better, or at least sufficient catch-all.