lawik

lawik

Nerves Core Team

We all have varying degrees of exposure to Big Tech. Some of it seems fine, stable and can be relied on. Some of it feels like shifting sand under your feet. React seems to move a lot on whims, I don’t envy tracking that. Go seems like it might be fairly stable? With the current geo-political climate I don’t find massive corporations to be a guarantee for stability. People may be getting fired even though they chose IBM. The world is wild right now.

Showing Posts 1 to 10

D4no0

D4no0

I personally think that golang falls more or less in the same category as typescript. Google has a track record of not addressing any community feedback and pushing their agenda, that can be seen clearly about them not addressing a critical issue of polluting types with nullable values, something that even old languages like c# managed to address.

Another case was when I stumbled upon the period when they were making an active effort of maximally constricting running embedded binaries in an android application. There was no logical reason anyone but google would benefit from such a limitation.

sodapopcan

sodapopcan

I notice this has been submitted to HN. If people want to upvote it then we can participate in such discussions as “What’s wrong with implementing ‘not being owned by big tech’ on the JVM?” :grin:

garrison

garrison

Just want to say for the record that this is something that matters to me a lot, and it’s one of the reasons I write Elixir every day. Thanks for keeping it real everyone :slight_smile:

11
Post #3
Asd

Asd

Elixir is small, Rust is big, Go is much bigger.

In terms of how often these languages used, Elixir has much smaller share than Go which is one of “default” languages for server-side web software. That’s a fact, I think no one here would argue it.

Why is it like this?

I think that two biggest things that Google did for Go were

  1. Created a brand of the language which is “made and used in Google”, “created by ex-Unix devs”. Those who want to be as successful as Google now rewrite their projects in Bigtable and Go (lets put aside the fact that it doesn’t work like it, because important thing is that people think that it does) and those who want to work in Google now learn Go.
  2. Provided top-level engineers core team with top-level salaries. I am not saying that Elixir/Erlang core team is not top-level, I am saying that they lack the Go budgets. They can’t just hunt the MIT students to implement the preemprive concurrency on unix signal handlers. They can’t just provide support for the Google-scale projects. If you open the OTP team blog on new JIT, they say that they chose asmjit as a backend because it was small enough to support and extend. At the same time Google supports LLVM and Go compiler which is written from scratch.

It is important to note that Go language itself is not a breakthrough and most of the feature it offers are pretty simple and well-known in the industry.

How it affects the industry?

Well, Go has broader share, more projects using it, more developers using it, thus more opensource, wider ecosystem. Important thing is that Go was born in Google, but it is now everywhere and even if Google disappears, the language will continue to live. And it all boils down to the key situation: when someone is making a decision about the language for their backend and compares Go vs Elixir it is seen as “default” vs “exotic” where Go is perceived as a less risky, “default” one language

garrison

garrison

If you are a huge company with an infinite firehose of cash it is not difficult to will a new programming language into existence. I think the first company to really do this was Sun, which spent hundreds of millions advertising Java back in the day. Twenty years later it totally worked - people still use it!

For the record, I think the biggest thing Go did was easy cross compilation. This is something we still really struggle with, and for the most part it relegates BEAM languages to docker containers on the server. There are tools like Burrito, which help, but it would be nice if we could natively bundle to an actual static binary. I am veering off-topic here, though :slight_smile:

Asd

Asd

99.9999999% of Go is running on Linux servers. Most of it is x86_64 too.
I don’t know the real number, to be honest, but that’s my assumption xdd)

lawik

lawik OP

Nerves Core Team

I don’t know if you are aware but direct linking to Hacker News submissions actually tend to mean incoming upvotes from that source gets ignored, and it might factor into whether a post gets blocked for vote manipulation/botting.

HN is weird and particular to avoid being too heavily gamed. I would prefer not linking the thread if you don’t mind. The site and the commenters is how it is but the spread is good and useful in promoting Elixir.

I suppose Oracle is slowly fading into no longer being a proper megacorp. Java will become indie eventually :wink:

sodapopcan

sodapopcan

Oh man, I did not know that. TIL and I’m sorry.

D4no0

D4no0

I think it’s very important to specify in the detail what is the actual issue. BEAM files are architecture agnostic, you could simply change the runtime for the right architecture and everything would work as expected. The problem comes from using native binaries, which are all the result of NIFs to c/c++/rust etc. All ecosystems that “cheat” in this way will suffer from this, python being a prime example. The easiest way to solve this is to have precompiled binaries for the right architecture and this is what a lot of projects that rely on NIFs are doing.

LostKobrakai

LostKobrakai

Even go itself suffers from this, just like rust. Once they try integrating with e.g. C they also need to fiddle around trying to handle the layers for cross compilation – the reason for people opting for zig to deal at that point to enable true cross compilation.

Where Next? Top

Trending in Blog Posts Top

New
fuelen
I finally found time to write down my journey away from ExMachina, including the workaround I tried first and the API experiments that fo...
New
lawik
The words are insufficient to describe what transpired. What we tried to do met what the people wanted it to be. It became beautiful. Th...
New
davejs
Hi everyone, I’ve been building BetterTyping (https://bettertyping.org) on and off since 2021. It’s a free typing game: practice alone, ...
New
funboy
Turns out a 1ms network hiccup is enough to silently lose broadcasts for a node and that node is just quietly wrong forever Wrote it up ...
New
AstonJ
If you’ve found an interesting or cool Elixir related blog post and think it’s worth sharing please add it to this thread :icon_biggrin: ...
New
videsnelson
The code in this post is Erlang, but it all applies to Elixir binaries just the same: how appends, match contexts and sub-binaries behave...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews