7 ms·
Why do so many modern projects feel the need to include the language and/or the tech stack used as part of the project name? Is it a type of virtue signaling? D
by LeoNatan25 8y ago
Why do so many modern projects feel the need to include the language and/or the tech stack used as part of the project name? Is it a type of virtue signaling? Does “Go” or “JS” or “Swift” or “Node” make these project more attractive somehow to an end-user (even if the end-user is a programmer)?
- zzo38computer 8y agoYou can tell the difference GoAWK from the other AWK, I suppose.
- LeoNatan25 8y ago¯\_(ツ)_/¯
- pjmlp 8y agoBack it the day GNOME projects had a G somewhere, while KDE ones had a K, which now can be mixed up with Kotlin ones actually. C++ projects used to add ++ as suffix, for example Rogue Wave Tools.h++ and Motif++ libraries back in the glory days of commercial C++ compilers. So this fashion is already quite old.
- LeoNatan25 8y agoIt existed before but much more prevalent these days than before. Or maybe I wasn’t as cranky or prone to eye rolling 15 years ago =]
- black-tea 8y agoBut those are signalling compatibility with other tools. That's fine. It makes sense. But just imagine if someone posted about the original awk (which happens from time to time) and titled it "awk: a text processor written in C".
- pjmlp 8y agoThing is, we now have this thing that language X is not good for doing Y, so when one does post a software for doing Y in X, and it actually does a good job, it works as marketing material for language X. Programming languages are software products as well, and their customers want to feel they have made the right choices sticking with their options.
- function_seven 8y agoPaint.NET is a good example of this. IIRC, it was a showcase program to show off the .NET framework.
- black-tea 8y agoI've noticed this too. It's odd because if you've done your job correctly I shouldn't have to know which tools you've used to make it. I'm not going to start using a tool just because it was made with certain other tools.
- leaveyou 8y agoWhen I see that "it's written in Go" to me it means that I can actually look in that code and understand most of it and the compilation from source will not be a big deal.
- networked 8y agoIt is meant to attract other developers interested in the language, but it also serves as a shortcut for what the project is going to be like. "An Awk interpreter written in Go", "An Awk interpreter written in Java", and "An Awk interpreter written in Idris" set different expectations about the product, the project's goals, and what the community of its contributors values and talks about. It tells you why you may or may not want to join the micro-club of its users.
- FartyMcFarter 8y agoYeah, this fetishization of specific programming languages is silly. So many people these days are obsessed with learning specific languages and technologies (and sometimes denigrating others), instead of focusing on more fundamental aspects of programming. This kind of people tends to do badly in generalist coding interviews that rely on their fundamentals.
- IshKebab 8y agoYeah definitely. The fact that this is written in Go immediately tells me it will be extremely easy to compile and deploy, the code will be easy to understand and it will be reasonably fast. If it has been AWKjs I would have immediately known it could run in the browser. The language tells you loads! This is a stupid complaint. Imagine if it was PerlAWK, or PHPAWK.
- satyenr 8y agoNormally, I’d agree with you. But I think in this case it is acceptable because the author is trying to convey that it is an implementation of AWK in Go. In general, I think that it is acceptable to include the language name in the project if you are trying to to convey that the project is an implementation; of another project in that language and is not really meant to differ significantly from the original. Such projects are typically meant as an experiment, a library implementation for the target language etc. Anything else should be named differently — especially if it is going to differ significantly from the original. Another thing to keep in mind is that by naming the project GoAWK, the author is as good as claiming that this is the canonical implementation of AWK in Go— something they may not have intended.
- wild_preference 8y agoBecause implementation details are interesting to craftspeople, and we are craftspeople. Especially in a project where reimplementation is one of the defining aspects of the project.
- LeoNatan25 8y agoIf the mere fact that you wrote something in a specific language makes you a "craftperson" or an "artisan", I don't want to be part of this industry anymore. The language is a tool, means to an end.
- wreath 8y agoI somehow have more trust in tools written in languages like C, Go or Python. If it's written in JavaScript, I tend to look for an alternative first, and I use JavaScript for 95% of what I do.
- nilsocket 8y agoIt's probably about coming up with names. If I'm rewriting a tool like Awk in go, then coming up with new name is hard and naming it as goawk, means it is a reimplemention of Awk in go. If one names it as xyz, then it would probably gain less attraction, and in comments people would complain that this is a reimplemention of Awk in go.
- coldtea 8y ago>Why do so many modern projects feel the need to include the language and/or the tech stack used as part of the project name? Because that was a great motivation for them being written in the first place. "Let me write X in Y, to have Y easily used from Y or as a learning exercise or because Y is fun or bring benefits (e.g. Rust and safety, Go and easily parallelizable/static build). >Does “Go” or “JS” or “Swift” or “Node” make these project more attractive somehow to an end-user (even if the end-user is a programmer)? Yes, very much. I prefer Go and Rust utilities now whenever I can find them over an equally good alternative. (Plus, you seem to have forgotten that "if the end-user is a programmer" they might be interested to play with the source, and there the language is very important).
- LeoNatan25 8y agoFor developers who want to tinker, they can use different means to discover projects. I don't need to see the language or tech name in the file every time I use it just so developers can discover it. To me it signals lack of creativity. The problem of these projects seems to me that they have no reason to exist (beyond playground for the developer) other than "a tool written in that language". For example, here, awk already exists. Why would someone use GoAWK other than to indulge their love for Go? These are the cases that bother me the most; pushing a language or a tech to give your project validation because it has little as a standalone.
- coldtea 8y ago>For developers who want to tinker, they can use different means to discover projects. I don't need to see the language or tech name in the file every time I use it just so developers can discover it. Well, if you do see it, it hurts you how? >To me it signals lack of creativity. The problem of these projects seems to me that they have no reason to exist (beyond playground for the developer) other than "a tool written in that language" Well, to me "a tool written in that language" is quite important. As a developer I don't just care for the tool's functionality, but also its hackability, portability and ecosystem.
- LeoNatan25 8y ago
- liftbigweights 8y ago> Why do so many modern projects feel the need to include the language and/or the tech stack used as part of the project name? It's advertising or propaganda for the language. Whenever a language is "hot" and going through a full scale PR campaign, you see something like "[fill in the blank] written in Rust/Go/Ruby/etc" over and over again. No different than all the current "facebook is evil" spam or the "bitcoin is great" spam of a few years ago.