8 ms·
I'm excited about Darklang
- niemandhier 3y agoLooks interesting, but I’d never adopt anything with a license like that, especially if it mixes infrastructure and source code. If my cloud provider starts to get strange I can switch or just spin up my own. If open source maintainers drop their projects I can fork. If some for pay software gets greedy, I’ll replace it. With Dark it looks as if my work is their hostage, unless I miss read the license of “Dark Core”.
- mst 3y agoIn the 'status update' post that's linked from the article, they acknowledge the old licensing situation won't fly and say they're trying to figure out a way forwards that keeps as much as possible open source without becoming a tasty snack for AWS. So yes, the license you read is a reason why I wouldn't touch it either, but hopefully a bit further down the line the licensing situation will change substantially and we can both update our opinions then.
- FelipeCortez 3y agoDarklang is a cool project and I'm happy to hear it's still being worked on. > I have a few 'static' websites that I'm paying nearly $700/year for [...] and I doubt any of them are getting much traffic how come? I know it's easy to lose track of dev tooling expenses, but this is beyond imaginable to me
- api 3y agoThey are probably on Vercel or some other zero interest rate architecture abomination.
- anonzzzies 3y agoYeah a static site should cost 20-30$/year at most even with quite a bit of data. Probably some cloud mess indeed. Yeah yeah ‘but the site is always up on my cloud’ aha… aha…
- pianoben 3y agoA static site should be _free_, on Github Pages at least. If all you're doing is hosting static assets, what more do you need?
- freeone3000 3y agoYour own domain.
- stachudotnet 3y agoYeah -- I haven't found a super-simple way of hosting for free, on my domain, with browsers not complaining about it being served over http. Maybe that's me missing some big simple option, but Darklang-classic's setup for hosting a simple website on a personal domain was _nice_ and I'm looking forward to getting that again with -next.
- throwaway11460 3y agoGithub Pages has free static hosting with SSL on custom domains.
- l0b0 3y agoGitLab Pages lets you use your own domain. I do for my blog, and it was super easy.
- stachudotnet 3y agogood to know! I probably will hold out until I just port everythin to dark, but good to hear of yet another thing that gitlab does better than github.
- arccy 3y agoyou can also use custom domains on github pages
- CipherThrowaway 3y agoHe provides the cost breakdown in the blog.
- mwcampbell 3y agoI'm curious, do you consider Fly a "zero interest rate architecture abomination"? I guess multi-region, "edge" deployments are trendy, but I do think it's useful in some cases.
- api 3y agoI'm not familiar enough with Fly.io to say. Probably would depend a lot on the use case and whether that use case is overkill for what fly.io does. Zero interest rate architecture is a term I've loosely coined to represent software and infrastructure with some combination of: * A general level of complexity far in excess of what's necessary to get the job done. * Lots of expensive SaaS, often multiple pieces of it chained together in complex work flows. E.g. git commit to Github triggers build at service X and deployment to service Y authenticated by service Z and fronted by yet another thing and with logs sent to Datadog and... and... and... and... * Despite the use of expensive SaaS the system still requires a lot of babysitting and manual administration, negating the point of using SaaS. Using expensive SaaS makes zero sense, full stop, unless it is saving you enough time and cognitive load to more than pay for itself. Any static web site that costs more than $5/month kinda falls in this category for me. I picked on Vercel because JAMstack often fits these criteria. I've seen companies spending thousands or even tens of thousands of dollars a month hosting static web sites. These could have been built on one workstation using a container or a VM and deployed at any static hosting service, but instead you have this complicated gitops workflow with multiple interlocking expensive services. The whole thing has dizzying complexity, tons of moving parts, breaks all the time, and costs a fortune. The goal guiding these designs seems to be a desire to avoid doing things in house. In-house things are complicated and ad-hoc and expensive. So instead of doing things in-house you jam together a bunch of services... which ends up being complicated and ad-hoc and even more expensive. When it comes to complexity you've just moved the peas around on the plate, and you're spending more. I call it zero interest rate architecture because the absurd cost of this stuff wasn't a big deal when VC money was basically free. "Just grow as fast as possible. You can optimize later."
- stachudotnet 3y agoBasically I'm an idiot. I pay for ghost, which costs money. I have some stuff on AWS to manage SSL (which imo shouldn't cost as much as it does and maybe I'm doing something dumb). I pay for fireside, which is _basically_ a static site. I also have a site that _should_ be static, but I tried to be fancy and do server-side rendering, which is costing me, because again, I'm an idiot who was once ambitious.
- pests 3y agoIf the last one is built with React look into the new React Server Components. Pretty much everything that's not strictly dynamic can not only be rendered server-side, but you can also prerender entire component hierarchies into static HTML assets.
- oldpersonintx 3y ago[dead]
- jerf 3y agoAn HN-classic-esque review of the pitch: I don't know what Darklang is. I click through to the Darklang link, and I get: "no cruft: no build systems, no null, no exception handling, no ORMs, no OOP, no inheritence hierarchies, no async/await, no compilation, no dev environments, no dependency hell, no packaging, no git, no github, no devops: no yaml, no config files, no docker, no containers, no kubernetes, no ci/cd pipelines, no terraform, no orchestrating, no infrastructure: no sql, no nosql, no connection poolers, no sharding, no indexes, no servers, no serverless, no networking, no load balancers, no 200 cloud services, no kafka, no memcached, no unix, no OSes" May I feed back that using your valuable first impressions time to hit me with a large list of what your language isn't is completely useless to me. I never assumed that "Darklang" would be "sharding" or "containers" in the first place. (Yes, I get the point, but I hope you get mine too.) I don't even know how to suggest an improvement. I see that Darklang seems to be excited about some FP buzzwords, but for example citing "Option" types as your number two feature is actually very unappealing, not because it's a bad feature, but because a compelling language pitch ought to have a dozen things more unique to stick in front of that. I can get Option types all over the place and adjoin them to even more languages reasonably. I recommend using that valuable space to demonstrate what is most unique about the language. To give you more concrete guidance and elaborate on that, you're looking for things that are true of as few other languages as possible. Option types, for instance, don't score terribly well on that metric. I get the sense that "easy deployment to the cloud" may score well, though. I'm not sure what "Copilot integration" is but there's a hint of something unique there you might want to bring out. "Self-updating exe" supported at the language level would definitely be unusual. (I've seen libraries for it but if you don't have an OTP-like sense of restarting services gracefully updating is generally violent; language-level built-on-day-1 support for graceful updates would be legitimately unique.) "Has record types" is not. Not a good first feature. To give you something else to pitch, as well as any other burgeoning language designers, another important aspect to a language is what I was alluding to with the self-updating exe point, which is that even if your language itself isn't very unique, you can build features into your standard library and set the pattern for the rest of the community to build things that other languages can do, but don't, because the pattern was missing and the community diverged too far, too quickly. I've written before about how Go's io.Reader/io.Writer is very nice to use, but it isn't about the language features at all: https://news.ycombinator.com/item?id=28368080 https://news.ycombinator.com/item?id=28368080 It's not just about langauge features, you can also pitch the patterns you want to establish early. The Erlang community is another good example; many langauges could theoretically have "applications" like it does and run multiple applications in a single process, but the Erlang community expects people to package applications up that way and be able to start as many as they like in one OS process with "application:start". There's a rich vein of unique value propositions to pitch in the standard library of a new language that is underutilized by other language pitches right now. And it's a strong pitch; generally this stuff gets nearly set in store in the first 5-10 years of a language and the opportunity to fix it diminishes rapidly, to the point that it is literally easier to bring up a new language than fix the old one.
- metabagel 3y agoTLDR, please
- verdverm 3y agoBespoke language for building full stack apps
- romafirst3 3y agoLanguage plus infrastructure for revolutionizing how backends are built. By making the language aware and responsible for the infrastructure it’s possible to proactively solve a lot of accidental complexity.
- shubhamjain 3y agoI happen to know when exactly this project was launched. And it was quite surprising to hear about it again, since it fell completely off the radar. Darklang came about the time when the backend was being seen as the bottleneck. The writing endpoints, server administration, deployments—"too many things to do commit simple operations on a database." Many products were launched to solve the issue, like Graph.cool (backends using GraphQL). Few other startups were about creating backends using drag-and-drop components (don't recall the names). Things have changed now. People have started realizing the problems with such approaches. As soon as you grow beyond the experimental stage, you start running into more issues than what these solutions claim to solve. It's cool to create a simple backend without writing code/less-code, but what if you want to incorporate an integration? caching? mail-server? background jobs? I am old enough to remember Meteor.js, too. A JS framework that raises millions and it was about writing real-time applications with a single codebase. It met the same fate. Felt into oblivion in a few years after the initial hype. Pardon my pessimistic take, but I see no future for a different language taking off, no matter how high-level primitives it offers. The network effects are too hard to overcome. And honestly, a language, even if mediocre, can implement the same thing via libraries.
- sergiotapia 3y agoBy the gods do I miss Meteor in it's prime. All promise, all optimism, and it worked! Until it didn't. :( Will lament it's fall forever!
- egeozcan 3y agoI never got it to scale, but perhaps it got better? See: https://news.ycombinator.com/item?id=38508147 https://news.ycombinator.com/item?id=38508147
- sergiotapia 3y agoDon't do that. Don't give me hope.
- 3y ago
- monero-xmr 3y agoThis darklang project has been going on 5 years now. From my memory everyone quit or was laid off except the founder, who has been working on it as a one man band. But since the Israeli conflict he has publicly called out the VC industry and has become a sort of political warrior: https://blog.paulbiggar.com/i-cant-sleep/ https://blog.paulbiggar.com/i-cant-sleep/ Overall I would stick to a normal language like Python over what this project is. It’s too ambitious for one person and it has all this other hair on it.
- PretzelPirate 3y agoAccording to the article: "At this point, the Darklang team is composed of Paul (the founder), myself (Stachu), and Feriel. As of the start of the year, Paul has stepped away to focus on Tech for Palestine. While focused on TFP, he continues to act as an advisor for Darklang as much as he has the capacity for."
- krainboltgreene 3y agoHonestly Paul is one of the last remaining people I look up to in this industry after 16 years (jesus). I've always had a soft spot for the work they're doing at darklang, but to also know the people behind it are kindred spirits is really warming.
- deleted 3y ago[deleted]
- ignoramous 3y ago> he has publicly called out the VC industry and has become a sort of political warrior These violent warriors challenging status quo and established norms: Only if they were obedient decent appropriate conformists, my world would be so much nicer.
- krainboltgreene 3y agoI don't know if posting to social media and making websites about the realities of a conflict make Paul a "violent warrior", but I guess that's what passes for OK commentary on HN now?
- swah 3y agoMy eyes just went directly to "File.entension path" on the sample code
- ivanjermakov 3y agoSeems like their all-in-one tool doesn't ship with a spell checker.
- stachudotnet 3y agoyeah whoops - fixed
- okeuro49 3y ago"#FreePalestine" banner on the front page is probably not advisable, unless you are deliberately interested in polarising or completely losing a section of your user base.
- spencerflem 3y agoI think they are. Read this article, that the banner links to: https://blog.paulbiggar.com/i-cant-sleep/ https://blog.paulbiggar.com/i-cant-sleep/
- stachudotnet 3y agoI wouldn't say we're deliberately interested in losing some portion of our userbase. Rather, we wouldn't mind if folks pissed about that banner don't use Darklang. I stand by Paul's post and the banner being on the site.
- spencerflem 3y agoThank you, and darklang for doing this. Its really lovely and meaningful to see someone in tech willing to stand by their moral principles, even at personal expense
- jackcviers3 3y agoSeems a lot like https://www.unison-lang.org/ https://www.unison-lang.org/ especially the versioned functions as the package manager. Can anyone expand on the differences between the projects (beyond the license)?
- MatthiasPortzel 3y agoCongrats on the promotion (if that’s what it is), Stachu. I was a big fan of Darklang at one point. It really is 10x easier to use for simple stuff. Reading their recent update, it sounds like they’re aware of the issues. I’m still skeptical that it needs to be a new language. https://blog.darklang.com/an-overdue-status-update/ https://blog.darklang.com/an-overdue-status-update/
- stachudotnet 3y agoThanks! I wouldn't say the posts were meant as promotion -- the one on the main blog were a "hey we owe a status update" and the one on my personal blog was "gosh I just need to talk about this thing"
- ecmascript 3y ago[flagged]
- xinuc 3y agoIt's not even leftist, let alone extreme. It's our industy that's so zionist centric, that even a neutral and humane point of view seems leftist.
- ecmascript 3y ago[flagged]
- xinuc 3y ago[flagged]
- ecmascript 3y ago[flagged]
- xinuc 3y agoOf course it's easier to call people with different opinion "retarded" than to really think. Btw, did you happen to also watch countless videos where israel bombed the whole city, hospitals, schools and all, and kills tens of thousands of people? Did you watch videos about countless crimes israeli soldiers and settlers do before and after 7 Oct? Did you read somewhere that today millions of people starving and israeli soldiers are actively blocking aids for them?
- ecmascript 3y agoDude, you kind of do the same thing but with fancier words. You claim that I am uneducated about the topic, you claim that I only view "zionist" media whatever that means and you claim that I live in a bubble. It's funny to me because the Western part of the world, at least where I live, the media is clearly biased towards the Palestinians. You have no idea how much I know about the topic or not but you act in writing like you are so much more knowledgeable than me and try to set the underlying topics such as what is humane and what is indirectly not humane. That is a very frustrating way to have a conversation. If you would talk to me like that IRL I would definitely keep calling you bad words. So don't you act like I am the only one making the conversation harder to have in a normal sense. Just look at these responses. It's not me who cannot accept others opinions it's people who think like you do cannot accept other opinions. All my posts are flagged, and only mine even if it was really the last one that was a bit of nasty even if you deserved it. But to answer your questions, yes I watched war content of the conflict and I cannot fathom how people are on the side of the terror organization when you have access to media from both sides. It's rather unbelievable and you sir have a very horrible moral compass.
- deleted 3y ago[deleted]
- pomatic 3y agoMy interest is piqued, it could be a killer tool... but I'm still not sure what the status of this project is, even after spending 15 minutes perusing documentation etc. Can I really use it in anger? Is there a tutorial that explains how the current (not 'classic') stuff works? Is there an example of a non-trivial web-app built in Darklang in the real-world, ideally with source available? Or is it all too early-days for that stuff?
- pomatic 3y agoI'll take the fact that stachudotnet has interacted with other posts but ignored this as a resounding "it's not ready". :-(
- stachudotnet 3y agoHi there! Sorry, I've been busy. I only saw that someone posted this post to HN about an hour ago, and I've been scrambling a bit to catch up. I'd say that Darklang-classic is ready enough for small projects, esp any web APIs. I've used it successfully for a good chunk of projects. That said, it's an imperfect solution, as outlined by the post on the main Darklang blog. Darklang-next definitely isn't ready yet. I think I'll be porting the vast majority of _my_ code to Darklang by the end of the year, if not months earlier, but you know, software estimates. I'll do my best to keep in touch writing more posts with status updates.
- anonzzzies 3y agoLicense changed? I remember when it was on here before and the license was an immediate nope for such a vital thing.
- stachudotnet 3y agoit's not yet changed, but we're working on it. You can skip here to the bit in the main post where that's discussed: https://blog.darklang.com/an-overdue-status-update/#licensing-and-sustainability https://blog.darklang.com/an-overdue-status-update/#licensin...
- ssernikk 3y agoIt's nice to see another functional language. This one seems to be inspired by F#.
- scns 3y agoBefore Darklang it's founder worked on Tablecloth, a standard library for ReasonML/Bucklescript. Contributed to it back then. > This one seems to be inspired by F#. Inspired by OCaml, to be pedantically correct.
- stachudotnet 3y agomaybe I'm wrong, but I think Tablecloth was developed as part of Darklang. Our old editor was written in ReScript (or whatever names it had before) and OCaml. Tablecloth offered a 'common' lib for rescript and ocaml. Then when we ported the F# backend, we added an F# lib too. We killed our usage a few months ago, though
- scns 3y ago> Contributed to it back then. It was pitched as an alternative standard library with the same API on Frontend (Reason or Bucklescript) and Backend (OCaml). That was before ReScript and before Darklang.
- stachudotnet 3y agoah cool!
- stachudotnet 3y agoInspired by OCaml, written previously in OCaml, currently written in F#. My interest was definitely inspired by my time with F#.
- ivanjermakov 3y agoI'm really not a fan of "all-in-one" software. It works as long as you solve mainstream problems. In niche situations you would have to depend on lang developers to support the thing you need.
- verdverm 3y agoBespoke languages are always a hard sell for this reason. You really have to support SDKs in the main languages people use. I will never understand why something like this cannot be just a library. They'll make their claims and pleas, but general purpose languages are general purpose languages and can do anything
- LispSporks22 3y agoDoes this one have a good REPL experience? Like interactive as well as “eval top-level/region/etc” features
- zogrodea 3y agoThey seem to have a debugger, and a REPL too, although I can't give any more information except "they exist".
- refulgentis 3y agoI highly recommend taking a week and doing a charitable-but-honest review of public-facing material. I read the blog, went to the site, and I only get more puzzled. More specific example: It's good to tone down vision statements in places people are spending their first 10 seconds with you. The home page has the leading pitch as 37 no statements, and the "no's" are frequently scary/puzzling ex. one of many of this class: no git? Uhhh, I'm guessing you don't mean 'no version control'. I assume I have to edit _something_ at _some_ point. And I would like it under version control...and I think anyone would...so what's going on?
- stachudotnet 3y agoappreciate the feedback here. as noted in some other comments, we spent all of 2023 on code, and only sprung up the new website at the end of the year. it needs a few iterations, and this feedback is useful. cheers. By no git we definitely don't mean no version control.
- worksonmine 3y ago> By no git we definitely don't mean no version control So what does it mean?
- stachudotnet 3y agoDarklang classic had version control built into the project. We'll build version control into the new version of Darklang as well. If you need something to reference, Unison's mechanism for version control is an inspiration.
- worksonmine 3y agoWhat's the reasoning behind that choice? Wouldn't it be more useful to have some kind of integration with git if it really has to be a part of the platform? Seems like it would be very isolating and hinder adoption. Is the goal as much lock-in as possible or do you see benefits that I'm missing? I prefer the unix philosophy and like to setup my own toolbox so I'm not the target audience, I'm just curious.
- samatman 3y agoIn addition to going all-in as partisans in a war, darklang is going "all in on AI": https://blog.darklang.com/gpt/ https://blog.darklang.com/gpt/ The project is doomed.
- ignoramous 3y ago> darklang is going "all in on AI": https://blog.darklang.com/gpt/ https://blog.darklang.com/gpt/ This is absolutely the right move. SoTA LLMs are so good at code that for a devtool startup to be leveraging anything else is lunacy.
- stachudotnet 3y agoYeah I have no regret about pursuing AI + Dark. Personally, I think the title of the mentioned post was a bit much, and caught us some flack, but the intention and how it's panning out, I'm totally happy with.
- brushfoot 3y agoEllen Chisa describing Dark when she was with them: https://youtu.be/FHC_ipuIbmk https://youtu.be/FHC_ipuIbmk The vision seemed to be something like Render.com (abstracted infra) plus a new language plus a new IDE.
- injuly 3y agoEven though I don't share the same excitement about darklang, I love it when people are psyched about the projects they pour their lives into. I skimmed through the post, and it was fun to read. All the best to you!
- stachudotnet 3y agoThanks, I appreciate it!
- ed_elliott_asc 3y agoThe biggest shock from this article is that anyone has ever got a role via Arc
- stachudotnet 3y agolol
- 0172 3y agoStill doesn't seem to support non-chrome browsers yet.
- cglong 3y agoI really appreciated the author's candor about his father's passing and its impact on his relationship with software. My mom unexpectedly passed 14 months ago and I've similarly been feeling less excited about this industry since. I've been slowing crawling out of this mindset but it's been a long journey.
- stachudotnet 3y ago<3. So often, I wish I could still talk to him, about anything, incl Dark. I wish you the best in recovering from and processing your mother's passing - it's been over five years now since my dad's death. It's not easy, but it gets easier. Maybe it's OK that software / the industry means less. Maybe death just puts things into perspective? At least, that feels like a component to me. Maybe I should have spent less time coding and more time calling him.
- cglong 3y agoThank you, I really appreciate that :) Yes, I'm starting to realize that it's a wound that never heals but instead one you just have to live with. Not sure if this applies to you, but at least for me: One thought that's helped is remembering it was my mom who pushed me to pursue computer science. I think she'd want me to rediscover the passion I used to have, even though, like you're alluding to, I've learned that it has to be done in moderation.