4 ms·
That “smart kids say no to DSLs” meme is funny but also a garbage take if taken at face value. DSLs are important because specializing will generally make you /
by ThemalSpan 8y ago
That “smart kids say no to DSLs” meme is funny but also a garbage take if taken at face value. DSLs are important because specializing will generally make you / your tool more effective. Splunk has a special query language that reflects the product’s architecture. If you want to become productive with a piece of software you need to learn its language.
Edit: To clarify my position, Domain specific languages mean domain specific ideas. As soon as a product is no longer meant for general queries, but for queries over specific ki day of information in a specific kind of system, we can use that knowledge to make a powerful language in that domain.
- Dowwie 8y agoMore effective at what, other than using the DSL? The article was about ORMs, not Splunk, and consequently their DSLs
- yomly 8y agoserious question: what is the alternative as an interface to something like this that isn't a DSL? Is something that looks a bit like a familiar query language (like SQL) better? Is finding yourself in the uncanny valley of a language a feature or a bug?
- ThemalSpan 8y agoThey called Splunk out at the top of their SAAS list.
- gonzo41 8y agoI think splunk is a bad example. It's a really useful tool so the investment is worth it. I've seen people crack out their hip looking graph-like DSL that they lay over the top of an Oracle database. It's crazy to do this. I know all this regular SQL so just let me use that as needed.
- jcore24 8y agoPerhaps it'd be better to learn/use eDSLs - that is - DSLs embedded in a general and powerful language such that interoperability between all the little eDSLs becomes painless. Examples of eDSLs would be lisp macros.
- thanatropism 8y agosklearn pipelines are an interesting model (specially in 0.20 versions with column selectors, etc) that could be implemented in wider context as a dataow language -- maybe with Prolog-like logic instead of ML data blenders.
- typon 8y agoPrograms should be written in languages that model them almost perfectly. Languages that are too powerful or too weak for the application means the programmer will make modeling mistakes and either leak abstractions or obscure them.