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

mudasobwa
I am seeing a lot of aplications of Argumentum ad Vericundiam in software discussions. They do link some piece of writing and point us to...
New
bartblast
Hey folks, I just published a post about Hologram’s funding and where the project goes next - the short version: Curiosum as Main Spons...
New
pckrishnadas88
A while back, I had to process millions of database updates in a legacy system that was already hitting its 64 GB RAM limit, so scaling t...
New
rhcarvalho
At the heart of every Phoenix application is the often “invisible” HTTP server layer. For over a decade Cowboy has served the community ...
New
smaller_infinity
I recently figured out how to the the Rust hotpath profiling crate running in an elixir benchmark script (for profiling NIFs). I had some...
New
rhcarvalho
The Phoenix framework is notorious for its long term stability and dependability. Unlike most comparable projects, the Phoenix team activ...
New
pckrishnadas88
I’ve published Part 3 of my Elixir distributed systems learning series. This part explores process monitoring using the low-level primit...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews