6 ms·
Every programming language has its 'killer' domain
- throwaway519 1y agoFor Javascript, is that resources or sane dependencies? Can one have two?
- dedup 1y agoTo me, Python is a great language for anything that needs to be written quickly and executed a few times and/or on a small scale. I'm a C/low-level guy primarily but I write a lot of Python code (probably more than C these days) for various purposes, and none of it is related to statistics or machine learning.
- morepedantic 1y agoBecause you haven't extrapolated from Python's niche. Those domains are derived from Python's accessibility. Python might be the most accessible big boy language.
- andirk 1y agoI'm currently learning Python for my ML/Tensorflow online coirses. I thought bc I know C++ it'd be super easy but theres a lot of differences between them. Turns out an "easier" big boy language still has a bit of a learning curve
- morepedantic 1y agoPython: dynamically typed, structurally typed, garbage collected, exceptions C++: statically typed, nominally typed, manual memory management, exceptions It's a big jump from C++ to Python. If you want a midway, use Go.
- egamirorrim 1y agoSome convenient omissions here, how about Scala? Kotlin?
- viccis 1y agoScala was absolutely killing the "we need JVM because all our Hadoop era tech uses it but we're a new generation of JVM data tooling and so we need a language in which the functional programming based abstractions we're using for our data processing are first class language features" niche for a while in the late 2010s. Was a really big part of Kafka and Spark ecosystems until they supported Python well enough that a lot of people just stuck with that instead of teaching their devs to write Scala.
- Larrikin 1y agoScala screwed up by having no filter. Implementing every idea someone with a PhD thought of from the entire history of programming seems like a good idea until you have to use the language. Everybody doing whatever they want because of the freedom and no guidelines didn't help. And build times killed it Kotlin feels like it has a much better plan and it seems like so far it won't suffer the same death.
- winwang 1y agoI agree about no filter*, I disagree with your reasoning. Scala (2) as a language is quite simple. The complexity came from the incredible power of its building blocks (e.g. implicits and path-dependent types). The lack of filter, as I felt, was moreso on how different two Scala codebases could be. That was part of the point though -- a scalable language, which means changing to the needs of each team.
- pdimitar 1y agoWhich also means less transferable knowledge. That killed it for me. If you muscle through it you'll get there, sure, but in the meantime I found languages that have smaller surface, are just as (or more) productive, and you can be onboarded in a project in half an afternoon.
- valorzard 1y agoC# is also THE language for game developers. No other language even comes close, besides like C++
- seabrookmx 1y agoIt also runs on non "Microsoft systems." I've been writing C# for over a decade, and 99% of it has deployed in Docker containers to Linux VM's (via k8s etc). This post seems nonsensical.
- notpushkin 1y agoIt doesn’t say you can’t, or shouldn’t, use these languages for other purposes. Edit: nvm, see jibal’s comment below
- jibal 1y ago"in my experience each time I try to use a language in the wrong domain, it's much harder and often practically infeasible."
- notpushkin 1y agoTotally missed it, sorry!
- worthless-trash 1y agoMore games are written in javascript than any other language, sad but true.
- _m6gi 1y agoC# is definitely popular for game development, but saying no other language comes close does not seem to be true. Looking at the most popular game engines and frameworks, it seems to be about as represented as anything else. Game engines: Unreal - C++, Unity - C#, Godot - GDScript (Python) + second-class C# support Frameworks: Raylib - C, Bevy - Rust, Love2D - Lua, Monogame - C#, Phaser - JS, PyGame - Python We don't know for sure what AAA companies rolling their own engines use, but the industry standard would be written in C++, exposing C++ for programmers and Lua for non-programmers/modders.
- maz1b 1y agoElixir/Phoenix? Haskell? Erlang? F#? Crystal? I also don't agree with the fact that ruby is just like PHP.. for web backends.
- notpushkin 1y agoElixir/Phoenix → web, various parallel processing stuff? Haskell → dunno, but it’s pretty cool Erlang → dunno again, maybe some low-level stuff for Elixir? F# → business apps for MS when you get sick from C# Crystal → web, I guess? Ruby is good for web, but it’s also useful when metaprogramming tricks work for you in your particular domain. Same with Python (it’s also insanely good for web!).
- rienbdj 1y agoF# is strictly better than C# if (huge if) you have a team that knows both languages.
- notpushkin 1y agoIt’s an important caveat, yeah!
- asplake 1y agoErlang → scalable real-time systems, eg telecoms
- notpushkin 1y agoYes, though could you perhaps use Elixir there as well? (Sorry, I’m still largely ignorant to this space, but would love to learn more!)
- pdimitar 1y agoElixir has a ton of really good libraries and a very active community. Erlang's is trying to catch up and they have my support as well but for the moment I find Elixir easier to deliver a full app to production.
- ghplreq 1y agoRust needs to focus in systems programming domain as top priority and get better at working with C++, or it risks staying a niche language. Without strong support for existing C++ code, it could eventually be passed up by other languages with better C++ integration — even if those end up being technically worse, like Carbon,Zig or something similar.
- Hammershaft 1y agoI don't agree that Zig is (on paper, it's still alpha) technically worse, it just has radically different goals for a systems lang than Rust
- pdimitar 1y agoIn a world where we have a constant stream of memory unsafety CVEs, Rust seems superior. You might not be worried about these and that's okay but it's a real measurable factor by which you can evaluate languages.
- MyOutfitIsVague 1y agoRust isn't a niche language by a long shot anymore. CXX[0] is fine. Personally, I just always use a C ABI to communicate between the two. I've had to do it for every other language anyway. Languages that have native C++ interop are significantly more rare than ones that don't. Most languages have some way of talking to C, though. [0]: https://cxx.rs/ https://cxx.rs/
- ghplreq 1y agoC++ interop still far from perfect , check out ClickHouse blog: https://clickhouse.com/blog/rust https://clickhouse.com/blog/rust
- creshal 1y agoI wonder what the killer domain for brainfuck is.
- 0x000xca0xfe 1y agoWhen you spilt so much coffee over your keyboard that only a couple keys are still working... then finally your brainfuck skills will come in handy.
- cadamsdotcom 1y agoIt's right there in the name :)
- rienbdj 1y agoWhat this skips over is that some languages are better than all others in a domain, sometimes multiple domains. And also some languages are not best in class in any domain. Would you pick Brainfuck over Java for anything (real)?
- defrost 1y agoIf alternative programming exercise counts as a domain, then yes .. along with Turing Tape machine coding, corewars, that one from Knuth .. outside of that domain of interest, not so much. But that is one domain of interest. It's also true that real world industrial scale dam control isn't a killer application domain for Brainf*ck .. but FGS, have you seen many SCADA implementations?
- deleted 1y ago[deleted]
- chiffaa 1y ago> Only Ruby lists Ruby on Rails as its killer app, but that's basically it. Concrete examples: Dart with Flutter, Elixir with Phoenix, Arguable ones: JavaScript and browsers, Go and Kubernetes I kind of disagree with the "killer app" concept because most languages can work in a lot of domains, but there are more examples if you're willing to think about it
- setopt 1y agoI think it’s more that languages fail to go mainstream unless they have a killer domain. Lots of languages don’t.
- abeppu 1y agoI think the thing missing here is that the killer domain isn't necessarily intrinsic to the language or its design. Some languages are designed for specific domains, but some find their domain based on large projects that happened after the language was out in the world. My understanding is rails came almost a decade after Ruby, numpy etc came well after python. This post says that you shouldn't try to use a language outside of its domain, but if everyone believed that, languages would never find a new domain.
- condwanaland 1y agoI strongly think that R has outgrown just having statistics as its killer feature. The killer feature of R is data analysis I have yet to see any software that rivals dplyr, data.table, and ggplot2 in the balance of power and ease of use. It also has all the auxiliary packages you need to fetch your data (DBI, httr, rvest), model it if necessary (parsnip, caret) and visualise it (ggplot2, plotly, shiny) I know python is more popular here but I would choose R in a heartbeat 19 times out of 20
- andirk 1y agoIs Python especially popular because of its easier learning curve?
- haiku2077 1y agoI'd also say because of its price (especially vs MATLAB and Mathematica) and the huge ecosystem of libraries for basically every scientific domain.
- chneu 1y agoThose libs likely only exist because of how easy python is to learn. So, snake tail situation maybe.
- haiku2077 1y agoWell, a lot of those libraries are C libraries that have Python bindings.
- user32489318 1y agoI haven’t used matlab for 10+ years, but back then Matlab used to provide engineering packages for vibrations and non-linear models approximations, I’d imagine the effort of going Python/ open source code to just to redefine your model for both purposes and then validate and verify the results would be a 10-50 fold cost of paying for a license
- 1y ago
- sedatk 1y ago“C# → Business applications that run on Microsoft systems.” Folks, it’s 2025. This stereotype should have died at least five years ago. C#+.NET is open source and cross-platform since 2016 or so.
- dgrin91 1y agoNot to mention c# is commonly used for video games (see: unity)
- oaiey 1y agoSurely there is somewhere a number, but my educated guess is that 90% of all new / greenfield deployments go into a Linux (or a Lambda/Docker variant).
- vaylian 1y agoDid C# really catch on on other platforms? C# was somewhat popular on Linux with Gnome for a while but my impression is that this has completely died down. While it is technically possible to use C# on Linux and MacOS, it doesn't seem to have a significant mind share.
- oaiey 1y agoFor the development of the platform, like desktop apps, no. But as web server, api or just whatever logic layer, definitely. Big times. On Linux in containers or lambdas.
- mg 1y agoPython → Scientific computing and machine learning. PHP → Web backend. I wouldn't be surprised if more web backend code is written in Python than in PHP these days. Not sure how to figure it out. Google trends maybe? https://trends.google.com/trends/explore?date=all&q=python%20web,php%20web https://trends.google.com/trends/explore?date=all&q=python%2...
- pletnes 1y agoTypescript and fortran are listed as dynamically typed languages. Doesn’t seem like the author researched too much here.
- harrall 1y agoIMO ecosystem, tooling and support is what makes a language mainstream. Having a domain is something that comes afterwards. e.g. * Ruby had Rails * PHP had mod_php and a strong Apache-oriented community * Java had strong support from Sun * Python for scientific computing because of numpy, etc. If numpy and friends were made for Ruby instead, I think we’d be in a different world.
- geomcentral 1y agoJava isn't really used to develop Android apps any more, especially now that Jetpack Compose is here: Java → Business applications Kotlin → Android
- librasteve 1y agoraku -> domain specific languages & grammars
- -__---____-ZXyw 1y agoI wonder what Common Lisp's 'killer domain' is in this framework... general purpose computations? Which was a bit much to handle for businesses and even a lot of programmers, hence its niche (yet actually very resilient) status?
- deleted 1y ago[deleted]
- dawkrish 1y agoWhat is Haskell's killer domain ?