Hacker News new | past | comments | ask | show | jobs | submit login

Are you willing to share his reply?



I can't seem to find it; I am actually reaching out to a friend that I forwarded it to to see if he still has it.


I was able to find his reply. The stuff after the `>` is him quoting me. There's another part to this somewhere, but I'll have to keep looking.

> Hello!

> I am learning Erlang and really liking it.

Great

> I am finding myself really liking the immutability in regards to being able to reason about my code, but that leaves me with a probably easy question: why does immutability make concurrency easier?

Tricky I guess it makes parallel execution easier (no locks) - it certainly makes programming easier closures really are closures :-)

> Is it because it's difficult to have something in a thread reach-across and modify the state of another thread?

That's not really immutability - actually I hate threads - the difference between a thread and a process is crucial - threads can modify shared state (horrible) -

In distributed systems there is no real shared state (imagine one machine in the USA another in Sweden) where is the shared state? In the middle of the Atlantic? - shared state breaks laws of physics. State changes are propagated at the speed of light - we always know how things were at a remote site not how they are now. What we know is what they last told us. If you make a software abstraction that ignores this fact you'll be in trouble.

> Does that mean concurrency wouldn't be so bad if you kept state mutations contained within one thread?

Yes - if you use the word process, not thread. Processes were invented to provide protection from other computations and to share resources in a clean way - threads share resources in a messy way.

> If you don't have time to answer right now, a link or some guidance into the right resource would be appreciated! I think what you're interested in is the distinction between message-passing-concurrency and shared-memory-concurrency.

Java/C++/etc uses shared-memory concurrency (evil) - Erlang uses message passing concurrency.

AS Alan-Kay said - the big thing about OO is message passing not all the other stuff ...

> > I love Erlang, and I appreciate you reading my message!

Have fun

/Joe


Ah, found the email he responded to a year later. As before, the stuff after the > is him quoting me.

----------------------------------------

> Hello!

>

> Just under a year ago I send you a message asking you about multi-process computing and the like. You gave me a long, detailed email that not only answered my questions, but also explained in pretty-decent detail. >

> I was so impressed by that email that I actually purchased your "Programming Erlang" book, and enjoyed that just as much, and today I started my first job doing Erlang full-time (well, mostly; there's some JS involved).

Great - thanks a lot for buying the book - these kind of stories make it feel all worth while

> I just wanted to thank you for the help. I know a compsci-celebrity probably gets bombarded with emails,

Actually not - I guess it's a 'being polite' thing - I rather like twitter it lowers the entry barrier for communication between people.

I have in the past mailed several of my CS "heros" - and was always rather reluctant to do so. Then to my great surprise I often got long and helpful replies (from Niklaus Wirth, Alan Kay, Jim Gray)

This kind of fits in with my view of life - 95% of people are basically helpful.

I've always thought that converts were gained "one at a time" - imagine a drip drip drip of water falling into a pan - one day it overflows.

We always think it's fantastic to hear the stories of what you guys do with Erlang. (I say we because the Erlang you're using is the product of many people fantastic work) - I'm just the fall guy who writes the books and happened to start it all :-)

I was sat listening to Brian Acton who founded WhatsApp and made 3.5B$ and thought "I invented this crap" - which is a great feeling - and they gave me a tee-shirt.

So the side effect of what I do is I get to meet loads of interesting people and do what I want.

Anyway thank again, and I hope things go well for you.

> and I think it's really cool that you took a good amount of time responding to some random guy on the internet asking for help.

Well every body is a random guy until you share stories.

My wife was a random woman before we met.

Anyway life would be very boring if it were not for random events.

I never run for busses or trains - it was after I read about a guy who missed a train and had a random conversation with a guy on the platform who had also missed the train - this gave them an idea that they turned in a multi-million dollar business.

I guess the other reason that you get long replies is that I'm an author and I don't do short mails.

> As usual, keep up the great work.

I'm trying - though I've recently retired - gives me more time for hobby programming - though I have to tend my garden and so on

Cheers

/Joe


Please consider sharing this email exchange with lettersofnote.com. I am not affiliated in any way with that site, but I have found it to be a great source of inspiration and a reminder that very successful people are still people, and often very approachable and kind people. Reading this sort of thing can restore one's faith in humanity, and provide impetus to change one's own behavior towards kindness and generosity.


Wow, what a sincere message. That right there is a true encounter. His philosophy – much like Erlang's – is unique and refreshing.


Yeah, I'm glad I was able to dig it up. It has an almost-inspirational sentiment to it.

Also, rereading this line genuinely made me laugh:

> I was sat listening to Brian Acton who founded WhatsApp and made 3.5B$ and thought "I invented this crap" - which is a great feeling - and they gave me a tee-shirt.


> Well every body is a random guy until you share stories.

I absolutely love this quote


Me too; it's an cleverly simple way to say something that seems obvious, but bizarrely isn't. I guess like Erlang itself, Joe was good at expressing the complex tersely.


Humble and gracious. A model for other language creators and community leaders.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: