4 ms·
Why do so few of these small programming language projects have a "why x?" section? How do they expect to gain marketshare if they aren't frontloading their val
by eyegor 7y ago
Why do so few of these small programming language projects have a "why x?" section? How do they expect to gain marketshare if they aren't frontloading their value? This is a fairly old project and yet they've never taken the time to put a sales pitch on their website. In the past 12 years they've added 15 links to their press page [0]. This is a fairly mature project and I have no idea why I should investigate it. I guess it's fine if they never want users, but as someone who's worked in the startup world this sort of thing really gets under my skin.
[0] https://chapel-lang.org/press.html https://chapel-lang.org/press.html
- throwqwerty 7y agowhat are you talking about? it says it right there in literally bold letters on the home page in response to "what" rather than "why": >Chapel is a modern programming language that is... >parallel: contains first-class concepts for concurrent and parallel computation >productive: designed with programmability and performance in mind >portable: runs on laptops, clusters, the cloud, and HPC systems >scalable: supports locality-oriented features for distributed memory systems are you such a literalist you need literally "why? because ..." i have a question for you: why do so many hners jump on the same silly meme over and over again even when it's not accurate?
- mardifoufs 7y agoI guess a better question would why is it better at those things? A lot of languages claim to be all about performance, scalability, productivity and portability. Those are pretty much what every mainstream language aims for. So why would this be better at those things? Why was it created and what does it do that others can't? I don't think things necessarily need a reason to exist, but I think asking those questions is still relevant when it comes to a programming language. They are mostly tools used to solve problems, after all.
- bradcray 7y ago@mardifoufs: I realize that your point is that the Chapel webpage didn't answer this question clearly / concisely for you and agree that we could and should improve that. The observations in this thread have definitely helped given me insights about how we could position ourselves better for the non-HPC audience (and I already have a longstanding intention to make the code sample on the page more compelling using Asciinema that I need to find the time for). But to answer your specific question here: I'd say that most mainstream languages (e.g., C, C++, C#, Java, Python, Rust, Swift, ...) don't aspire to scalability in the same sense as Chapel and High Performance Computing want it, in the sense of being able to run efficiently on tens of thousands of processors with distributed memory where inter-processor communication and coordination is required. And even when they do aspire to it, it's rarely through the language itself, but through communication libraries, pragmas, and extensions. The result (in my opinion) is rarely as productive, general-purpose, and performant Chapel achieves.
- tyre 7y agoI sympathize with the grandparaent comment. The first three aren't exactly unique. Many languages are parallel and portable and productive. Listing adjectives isn't a "why". A "why" would be: "Chapel is a language built for distributed memory systems. Unlike X or Y, Chapel has first class language concepts for distributed memory management, sharded storage…" etc. etc. (I just made that up.) Then you know right off the bat whether this language is the one you need for the problem you have. What you refer to as a silly meme might also be a legitimate critique that surfaces again and again when hackers/engineers build things that solve a problem they have, think it is cool or interesting, but aren't able to communicate the value to others. It's not unreasonable to ask, at the very least, for a simple "why does this exist?" (An entirely reasonable answer to which might be, "because I thought it was cool!")
- throwqwerty 7y ago>It's not unreasonable to ask, at the very least, for a simple "why does this exist?" really? you don't think it's unreasonable to ask to be spoon fed on top of a team having gone through the effort of writing and supporting the language itself? i do think it is unreasonable.
- eyegor 7y agoSurely anyone who works on this project could tell me why it exists, why it's better than rolling slurm/bash scripts. That feels like a bare minimum sales pitch. Instead the homepage is essentially buzzwords with links to watch the talk or read the docs. I'm sure anyone who uses this could say, "well, it makes x task much easier/more concise! This is much more difficult to accomplish using y" or something similar.
- dgb23 7y agoIt would be such a low hanging fruit to put a concise rationale there. That’s not spoon feeding, but giving a minimal amount of opinionated context so a visitor isn’t completely lost when unfamiliar with the technology.
- dragonwriter 7y ago
- bitminer 7y agoWatch Brad Chamberlain's video. His definition of productivity by seasoned HPC people: ...I was born to suffer... How true.
- giancarlostoro 7y agoThere's a graver mortal sin, no code samples on the front page. Python, Ruby, D, Go they all have this in common. I think Rust used to, and Racket used to have an awesome set of examples before they redid their site now I think it's different examples. Syntax tells me everything about the language.
- kick 7y agoThere...literally is, though? use CyclicDist; // use the Cyclic distribution library config const n = 100; // use --n=<val> when executing to override this default forall i in {1..n} dmapped Cyclic(startIdx=1) do writeln("Hello from iteration ", i, " of ", n, " running on node ", here.id);
- giancarlostoro 7y agoAh that layout just didn't make it obvious there is no syntax highlighting on any of that code.
- kick 7y agoThere is, it's just done subtly.
- TallGuyShort 7y agoIn their defense, if you don't already have a pretty good idea of the "why?" from what is on their homepage, you're not going to be a Cray customer anytime soon and you're unlikely to find yourself working for one. In your defense, maybe if they cared about mindshare and community beyond the people who give them money, enough people would have given them money that they wouldn't now be a subsidiary of HPE.
- ken 7y agoI never could figure out (2000's-era) Cray. Their office was in my neighborhood and a friend-of-a-friend worked there and it sounded like interesting work, so I checked out their jobs page. Almost all of the jobs were sales, and their most junior engineering position required something like 10-15 years HPC experience. I've seen successful niche technical industries (Fluke comes to mind), and Cray didn't even look like a niche industry. It looked like a dying one.
- PeCaN 7y agoProgramming languages aren't literal businesses who the hell cares about ""frontloading their value"" mein gott. There's no reason to force your startup world ""wisdom"" on programming language websites. Chapel is targeted at a pretty specific niche in the first place (and is pretty good at what it does). I don't think they're really after the general purpose programming language market and if you're in HPC you've probably already heard of it anyway.
- eyegor 7y agoThat isn't startup world wisdom, it's just "how to sell x". You don't get users, or maintainers, without a sales pitch. But I actually do work with HPC on occasion, and I don't work with cray technologies. I'm very much aware of their existence, but they have never convinced me to go out and use their products. I've heard several pitches by HPE folks, and they often push towards slurm or bright systems over the cray ecosystem. Maybe I'm just not the target audience, but I routinely run 100+ node jobs using a mishmash of slurm, bash, python, etc.
- pjmlp 7y agoAt this level, sales pitch happen with on person meetings during lunch time, not with marketing sentences on web sites.
- jabl 7y agoNo, not really. If(?) they want to increase adoption, they need to convince scientists to write their simulation programs in it. Realistically, that's not going to happen via HPE/Cray people having lunch meetings with individual scientists.
- pjmlp 7y agoYes, really, speaking from experience at CERN. I was in a meeting organised by Apple trying to sell us how great it would be to adopt OS X and X server back in 2004.
- cbarrick 7y ago> "why x?" To be fair, the language is developed by Cray. So my instant assumption to the question "why Chapel?" is "because programming supercomputers is hard". > I guess it's fine if they never want users I think this not far from the truth. It's not that they don't need users, but that they don't need pedestrian users. Supercomputing is a niche market, so I'm sure the marketing is more about networking at conferences. Put another way, you're going to pick up Chapel at work, not at home.
- ken 7y agoTheir presentation here explicitly talks about who they're targeting, and their very first target group is "recent graduates" who want "something similar to what I used in school: Python, Matlab, Java". If this front page makes it look like their position is "supercomputers are hard, this is for pros", that's completely misrepresenting the rest of the website.
- zentiggr 7y ago> Why do so few of these small programming language projects have a "why x?" section? They do... you missed the Cray name in the logo, and the 'runs on HPC systems". > How do they expect to gain marketshare if they aren't frontloading their value? I'm guessing their marketshare is already well defined, there aren't a ton of supercomputing clusters in the world. > This is a fairly old project and yet they've never taken the time to put a sales pitch on their website. See above. They only have to sell to a small fraction of people compared to your startup 'eatt the world' mentality. > In the past 12 years they've added 15 links to their press page [0]. And? > This is a fairly mature project and I have no idea why I should investigate it. Never needed to run code on big iron, gotcha. > I guess it's fine if they never want users, but as someone who's worked in the startup world this sort of thing really gets under my skin. As this is not a language for startups, I don't think they care if you're annoyed. They are likely dealing more with multi-million dollar single project runs that could take months to complete. At least look up the meaning of things like HPC before you just shove the concept through your narrow filter of expectations. I don't expect to ever run high performance code like this, and I'm curious to see what the design could tell me just in passing.
- eyegor 7y agoI send jobs to HPC systems on a daily basis at work. This website fails miserably to capture me as a potential customer. The cray name has plenty of baggage, but that doesn't give this language value. I do not currently work in the startup space, but having done it, I get annoyed when people put so little effort into selling their projects. I'm sure that a lot of time was spent building this (it's been around for over a decade), but they've put essentially nothing into marketing it. I run high performance multi node code at work, typically 1-2k cores continuously. I have several contracts with HPE. Am I not part of the target audience for this language?
- zentiggr 7y agoNone of that detail came across in the post i replied to. Yes, given that extra information, i would rescind about 95 percent of my snark.
- 7y ago
- dragonwriter 7y ago> Why do so few of these small programming language projects have a "why x?" section? Because their target audience gets the “Why X?” for solutions from other sources, and then goes to the website of a tool for the meat, not the sales pitch.
- dang 7y ago"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something." It's fine to ask what the language is suited for. It's not fine to generically dump on it (or the people working on it). https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html