Elixir-lang.org has a new design

(elixir-lang.org)

81 points | by bbg2401 3 hours ago ago

53 comments

  • swingboy 5 minutes ago

    On the first syntax example: there’s something funny to me about using three pipe operator and four different functions to turn “hello world” into “Hello World”.

  • hybridcivic182 an hour ago

    José Valim & team have made such an incredible language and ecosystem. thank you for all the faithful work, especially the run up to 1.20 over this past year

  • loloquwowndueo an hour ago

    There’s no obvious way to switch to normal (aka “light”) mode. Dark mode is very difficult for some people (me included) to read.

    If you must default to dark mode that’s your choice but I’d love to see a light mode toggle somewhere prominent.

    • madibo3156 an hour ago

      Yeah. You'll notice that there's a mix of light and dark. Some segments are light-on-dark, then it switches to dark-on-light. It appears to me like a "design trend" that's at odds with accessibility. https://www.apple.com does this too.

  • 999900000999 an hour ago

    Elixir is such an elegant language.

    I'm hoping to find a reason to use it soon.

  • sph an hour ago

    No mention of AI and LLM in the front page. Life is good.

    • eikenberry 37 minutes ago

      They have a Machine Learning section on the front page. Just have to scroll down a bit, under the "Use Elixir for" section.

    • Onavo an hour ago

      But I bet the landing page was made with AI assistance.

      • sph 39 minutes ago
      • reliablereason an hour ago

        It certainly looks like a Claude design to some extent; not all they way however.

      • bbg2401 an hour ago

        It feels less sloppy than most obviously AI generated landing pages.

        The only sloppy aspects that stand out to me are the needless animations/transitions.

  • grahac 2 hours ago

    This is great! Now waiting for the forum UI update too! :)

    Hoping Elixir continues to thrive. It is such a great language (and such a great language for AI coding too!)

  • alberth 2 hours ago

    Elixir is great.

    OT: I wish more funding & development effort went into BEAM itself on making it more performant.

    Note: I’m not talking concurrency. I’m talking pure raw performance.

    Seems like it’s been a one person show for over a decade on making it faster.

    • josevalim an hour ago

      There are multiple people working on the JIT within the last 5-6 years. The WhatsApp folks also contribute meaningfully.

      I suspect once the Erlang/OTP team squeezes all performance in the JIT, they will look into optimizing across modules, which will probably open up many new possibilities, but it requires rethinking some runtime primitives.

      • alberth 33 minutes ago

        Hi Jose

        You’re an inspiration for many. Thank you.

        I’m curious to know what your top 3 hopes for BEAM itself are for the coming years (in any area that you think would make it better).

        • josevalim 21 minutes ago

          That’s a good question!

          1. The cross module optimizations I mentioned above 2. Have a WASM target for the runtime itself 3. Make it easier to ship single file executables with the whole VM

          But they are really “nice-to-have”s. I have been a happy user for 15+ years!

    • ch4s3 2 hours ago

      It’s pretty hard to make things like math faster for real world use cases in a bytecode interpreter.

      • dmpk2k 2 hours ago

        It's a JIT nowadays. Admittedly an extremely simple one, to minimize compile times and maintenance overhead.

        You can get substantial performance improvements by using guards though. See what Wings3D does with is_float() everywhere in hot numeric-heavy code.

      • dnautics 17 minutes ago

        i ran a quick experiment where instead of doing boxing the way its done in the beam currently, i used a different boxing (NaN strategy and there was a 10x speedup

      • jimbokun 2 hours ago

        Java and Javascript run times do really well at that.

  • allanmacgregor 3 hours ago

    Looks pretty good, I like that they are highlighting the potential uses for elixir.

  • asa400 an hour ago

    Looks great! There are some style quirks with cutoff elements in Firefox 152.0.6: https://imgur.com/a/OtnESi7

  • losvedir 2 hours ago

    To me, it seems one of the killer use cases for Elixir (/Erlang) is its distributed cluster capability. Does anyone have experience with that or case reports to share? I've used Elixir quite a bit professionally, but mostly as just a "nicer Rails" with horizontally scalable but otherwise independent Phoenix apps in your traditional Kubernetes setup, which seems to me to kind of missing out on its main purpose.

    • toast0 32 minutes ago

      It's been a while, but I used to work at WhatsApp and we used Erlang distribution heavily. I understand the clusters have gotten really huge since I left.

      It's super handy. There's no security barrier between nodes. It's a headache if your network is unreliable.

      For a chat app, messaging someone becomes a series of steps:

      a) look up if they're online (send a message to the presence database service)

      b) if you got a process id back, that's the process connected to the user, so send it the message. The process could be on the same machine or not, but the sending api is the same. This is the special part: few other environments make arbitrary messaging between processes/threads/tasks/whathaveyou so pervasive.

      c) if you don't get a process id back, the user is offline; send the message to the offline database.

    • jomcgi an hour ago

      Also interested in hearing about this! I built an elixir k8s control plane recently and kept expecting to reach for it but it never really made sense when it was controlling golang daemonsets.

      My usecase is less independent though, that control plane is orchestrating like Lambda/fly.io style workloads on top of firecracker: https://jomcgi.dev/ember

    • org3 2 hours ago

      I've worked a little bit with distributed Elixir using `Horde.DynamicSupervisor` on Kubernetes. Apparently there's other options like 'swarm' and DynamicSupervisor [1]. It'd be great for clear analysis of the benefits these kinds of abstractions bring vs non-BEAM approaches.

      [1] https://www.youtube.com/watch?v=nZmDEUeHeVI

    • davidw 2 hours ago

      Elixir/Erlang works very well in a semi-embedded environment where you need a higher level command and control component that behaves in a deterministic way and is pretty robust.

      I was involved, years ago, in using Erlang on these devices: https://www.icare-world.com/us/product/icare-eidon/

      It was a lot of fun and there were some very interesting challenges for everyone involved.

  • binaryturtle an hour ago

    Site doesn't work for me (older Firefox). Looks like there's no CSS and some Javascript error (probably makes it bail out loading the CSS?)

    • pwg 12 minutes ago

      It also does not load if Javascript is blocked.

  • jeanlucas 2 hours ago

    Nice! The showcase of companies is really nice

  • arikrahman 2 hours ago

    I prefer https://jank-lang.org/ new re-design, and the approach of a more step-wise refinement.

    • __float 2 hours ago

      How is this language related to Elixir? Or are you just commenting that another language has a website?

      • arikrahman an hour ago

        They had a recent re-design last week.

  • zuzululu an hour ago

    I appreciate Elixir but the problem is the job market/talent pool is tiny compared to other existing languages.

    If you buy into the Elixir stack then you now have constraint you could've avoided entirely by avoiding it.

    Also for devs there seems to be no premium offered for this talent pool scarcity. With LLMs I think language-specialists are redundant in a large scheme of things. ex) at one of my current remote jobs, I shipped an entire telecom infrastructure with barely knowing Elixir and we brought on contractors to audit the code and they found no issues.

    • dnautics 7 minutes ago

      i hired a biologist (for my pharma startup) and she produced feature ideas for our internal stack and was guiding claude to write idiomatic code with feedback from my reviews with no coding experience. realistically if you want to start an elixir company today you need one consciencious senior that likes code review and any number of juniors with minimal competency and sufficient curiosity.

    • toast0 36 minutes ago

      > appreciate Elixir but the problem is the job market/talent pool is tiny compared to other existing languages.

      > I shipped an entire telecom infrastructure with barely knowing Elixir and we brought on contractors to audit the code and they found no issues.

      Erlang/Elixir experience is rare, because it's not widely used and the teams are small. It's not worth trying to hire for it. Hire for people who can figure it out on the go (amd are willing to give it a try).

      You did it, hire other people who seem likely to be able to.

  • Starlevel004 an hour ago

    Why does it have like 0.1s animations?

    • josevalim an hour ago

      Can you clarify which ones? We will be glad to improve them (or feel free to send a PR).

  • bbg2401 3 hours ago
  • ModernMech 2 hours ago

    Ugh, it looks like all the other LLM generated language webpages. It's formulaic at this point. I'd hoped a language like Elixir would be able to hire some people to do it.

    • josevalim 2 hours ago

      The Software Mansion folks designed it and we actually iterated on the designs on Figma, having discussions as humans, and exploring alternatives. They were lovely to work with.

      I also worked on all of the copy myself, collecting feedback from core maintainers as I went. The new tagline was a suggestion from Theo which we iterated on. I did use LLMs as an assistant, but I did not ask it to generate the content.

      Might as well use LLMs for the whole thing next time, since we will be accused of doing so anyway! :D

      • ModernMech an hour ago

        Shame then that despite all that, they landed on the same design used by every "I asked an LLM to make me a language and a website this weekend here's what it spit out" project. I mean, I'm not saying it looks bad or is a bad result. Just it's very similar to other things that have put in much less effort.

        • ia an hour ago

          I’m tried to understand the motivation for this salty comment and the parent comment. I failed. Then I opened the user’s comment history and most of their comments are like this. ModernMech, please, keep in mind we’re all doing our best. Being passive aggressive on the internet is social pollution. No offense intended, I’m just hoping you reflect a bit next time before you post.

        • pests an hour ago

          "Human produces output similar to a machine trained on all human output"

    • Pay08 an hour ago

      This is how every second website has looked for the past 10 years.

    • acedTrex 2 hours ago

      Its pretty snappy/responsive for me at least so thats good. Normally LLM slop sites are pretty at first but sluggish as hell. So some level of skill went into this one.

  • phplovesong an hour ago

    I guess elixir is a nice lang for the niche of erlang. But its dynamic (the "type system" is really meh at best) its not suited for real world use.

    If i go full dynamic, why not use pure erlang instead?

    • dnautics 3 minutes ago

      > not suited for real world use.

      I hope you don't use discord or rely on pagerduty.

    • pluralmonad an hour ago

      Maybe try and build something and see for yourself? Saying elixir is not fit for real world use shows how little experience with it you have.

    • ch4s3 an hour ago

      Have you tried it since the new type system rolled out?