7 ms·
Recently I've noticed a kind of a strange fashion in the way of advertising new software projects on HN. The most important information is not what cool things
by piokoch 11y ago
Recently I've noticed a kind of a strange fashion in the way of advertising new software projects on HN.
The most important information is not what cool things given project does, or what unique features it has but what programming language it is using.
There is a lot of posts "New blog engine in Clojure", "Amazing email server written in Haskell", "Text editor in ECMA Script version 9", etc.
Sometimes there is more to that: new project comes with better performance, easier code maintenance, clever algorithms used, novel architectural solution developed - stuff that really matters, but Monsti is an pathological example.
The first sentence on their web page says that it is written in Go, as if it mattered for their potential audience, that is "personal, small business, or small NGO websites".
Why should I choose Monsti over Wordpress? Is the installation easy? Does it work on a cheap website hosting? Can it survive Slashdot effect on that cheap hosting? How about comments spam protection? Is creating templates/themes super easy, maybe I can reuse the ones created for Tumblr? And so on.
Programmers might want to know if the GO API is particularly well designed or maybe we can create hooks to customize some functionality or maybe there is some utility to monitor Monsti site statistics.
Who cares that this stuff is written in Go and WordPress in non-fashionable PHP, while the latter offers something that is actually important for programmer, admin and site owner?
- deckiedan 11y agoIt's because it's "Hacker News". The main audience here is hacker types who care about language. The main people to target with an open-source CMS, or with an email server or blog engine or whatever is the people who are going to want to hack it, and actually get involved in the project. Finding new contributors is really hard and important in a new open source project, and so advertising to find the kind of people who'd be interested in actually helping to write it is very important. Once a project is big enough, then sure, drop the language stuff down to page 3 or whatever. But until you've got a community of passionate developers, it's a key concern. IMHO.
- m0th87 11y agoA couple of years ago, we moved off of wordpress precisely because it was written in php. Once you're trying to do anything reasonably complex in a CMS, the architecture and the programming language matter, because you have to extend the CMS in some manner. For us, wordpress wasn't extensible enough - and php wasn't pleasant enough - to justify continued use of it. I imagine people in a similar position who want to use Go would give this a serious look.
- jtreminio 11y agoDon't confuse Wordpress with how PHP can and should be written.
- m0th87 11y agoI'm not. We weren't fans of php either. Even if you buy into the philosophy that all languages are technically equal, that still doesn't make them pragmatically equal. It was probably our network, but we had a very hard time finding good php engineers, and a much easier time finding good python engineers. So that won.
- zellyn 11y agoIt's incredibly useful to know what language something is written in. First and most important, a CMS almost never does what you want out of the box, so you're going to have to customize/extend it in whatever programming language it's written in. Second, the language tells you a lot about the mindset, ecosystem, type of design that you're likely to encounter when reading the code or even using the product. Third, the language gives a lot of hints about the deployment environment you're likely to need. Java is going to need JVMs and people who know how to deploy and tune them. C# is going to need Windows, or someone experienced with Mono. Python/Ruby/PHP/etc. are going to need runtimes and pip/rvm/whatever. Go or C/C++ are likely to have simpler binaries, statically-compiled in the case of Go. And fourth, as has been said better in another comment, this is hacker news. We're hackers. We like our programming languages, so we care. :-) I should write a definitive blog post about this, and get it ranked on hacker news, just to defuse the "why is hacker news always saying 'in go' on story titles?" questions.
- Semiapies 11y agoWhat's "recent" about that trend? It goes back at least the six years I've been here.
- oldpond 11y agoValid points. The customer shouldn't care if it's two tin cans and a piece of string, but developers do, and that's why I watch HN. Frameworks are where the innovation is at, and Go is a relatively new language with few frameworks. So, I am very interested in frameworks around new languages that speed development and facilitate good design and maintainability. I keep my eye out for Go and Elixir framework innovation, so I find these types of posts very useful.
- clinta 11y agoGo tells me that it's likely one self-contained portable executable. While wordpress and other php solutions can require quite a few dependencies. Saying it's 'easy to install' can be misleading. Some peoples definition of easy to install is curl | sudo bash or run this chef cookbook. Which actually tells me that the installation is so complex that it couldn't be done in a typical package manager.
- chrneumann 11y agoMonsti is not WordPress and can't replace it. In fact, I use WordPress for my clients and Monsti for experimental projects only. And I like WordPress being so damn user friendly. But its implementation just sucks. Which matters for clients if I need more time do develop new functionality (Most WordPress plugins suck compared to WordPress core). And its slow and hard to maintain (especially if you use plugins). Beware that Monsti is still in an early stage of development. The main reason to be interested in it is that it is written in Go. And that it is resource friendly and fast. I wrote it because the last Python-CMS I used consumed some hundreds of megabytes of memory for one simple site, and I could not run more that one site in parallel (in the same interpreter) because of it and some Python libraries using globals and monkey patching.