We are talking about Erlang without mentioning it, at least not until the very end. Why don't we just improve and work on Erlang/Elixir for those already have good bases and are pretty efficient and, especially, they are mature and have quite huge community?
@aghileslounis Жыл бұрын
exctly what i was thiking. I'm like wait a sec it's Erlang/Elixir
@tantalus_complex Жыл бұрын
It looks to me that he's thinking more _imperative_ and less _declarative?_ But it is a bit odd that he has left out the reason why he isn't suggest we increase adoption for the Erlang VM. From the earlier part of the talk, I suspect he thinks we need something more familiar to most devs, in order to encourage readier adoption. So that means something which inherits more from the Algol/C family than does Erlang and probably means something similar to the language which already dominates the Web (for better or worse, and he's suggesting eliminating the "worse"). If it gets us to broad adoption, I'd be ecstatic. But I'm also quite happy with BEAM languages.
@micknamens86592 ай бұрын
Maybe because Erlang is from Ericsson, whereas the talk is hosted by Nokia.
@wirelessben Жыл бұрын
The announcer had one job: say this famous person's name right.
@bmno.45655 ай бұрын
Cock ford.
@danmihaifilip Жыл бұрын
much of Misty's features are already available in the Erlang language and VM
@MrTutiplengo Жыл бұрын
I was thinking that, too.
@akulanarayana5284 Жыл бұрын
Legendary Douglas Crockford 🙏👍make us all happy and smile. Thankyou so much for your contribution.
@montebont11 ай бұрын
Wonderful lecture - thanks! I've been around since assembly language around the 1970's. . But isn't a try / catch structure at he end of the day not just a GOTO? You just adjust he stack pointer ?
@frankiefuryland Жыл бұрын
Coming from this as a Network Engineer, I find the Actor Model quite elegant from a high level. Although, I have some concerns on the "Bus line" flow of messaging from node-to-node. He did say something about building it out like a topology that could mirror a network. The in design choice is spine and leaf architectures aka Clos, which may fit well in some paradigm, can be useful in security and distrbution of information (IP, Ethernet) I digress.
@andrewrobie620 Жыл бұрын
Check out Erlang and Elixir and how they typically structure applications. I believe Erlang was the first PL to heavily use the actor model that got some level of traction. Interestingly, one of the core libraries, OTP, provides a lot of the same benefits as Kubernetes, like distributing processes among servers, handling crashes by redistributing, hot reloading, etc. Elixir is built on top of Erlang's VM and my understanding is essentially tries to modernize Erlang and provide more familiar syntax.
@tantalus_complex Жыл бұрын
Yes, Elixir is the lovechild of Functional Programming and Ruby but built from the ground-up for the Erlang VM with concurrency in mind. It's beautiful. 🥰
@darnellbrawner3659 Жыл бұрын
The actor model is what got me interested in the Pony Lang
@JonMarkSearle1 Жыл бұрын
Any Actor model will need to sit above any messaging technology, for instance in the AWS ecosystem, we have SNS, SQS, API Gateway, AppSync and EventBridge as native abstract industrial strength scalable services but also you have the managed services such as Rabbit and Active MQ, along with many many other messaging software that you might like to self manage. And that's only on AWS. Other cloud providers have their own systems. Then there's the question of JSON vs protocol buffers. Either way any higher level protocol or paradigm me needs to be sit above - be abstracted away from - any technology.
@davidkoch9123 Жыл бұрын
Nice talk on Erlang.
@aleattorium2 жыл бұрын
At first, actor model looks really like what Erlang did and Elixir is expanding on
@DavidSouthard2 жыл бұрын
this talk should be titled "tell me you love erlang without mentioning erlang"
@aleattorium2 жыл бұрын
@@DavidSouthard I see as an absolutely win
@lorenzo--rossi2 жыл бұрын
@@DavidSouthard he actually speaks about erlang. It’s one of the questions
@NoahNobody2 жыл бұрын
He said in the questions at the end that Erlang nearly got it right. And that they accidentally discovered it. He's working on something called Misty which is experimenting in what a perfect actor model language would look like.
@ernesto8738 Жыл бұрын
that's exactly what it is
@PaulSebastianM Жыл бұрын
Dave Farley also said that he thinks that the actor model will play a huge role in upcoming software architectures, post microservices.
@tantalus_complex Жыл бұрын
He's not the only one. It's been coming for a while. The shockwave of what Erlang proved tangibly with the BEAM virtual machine and OTP, has been rippling through the extended software engineering community for some time. Erlang has proven what these things can do for almost 40 years in niche use-cases, like telephony. It just took the more recent challenges of the Cloud to get the rest of the software development world to the point where major voices are advocating for this shift. Market forces and real pragmatic needs are required to push out of our comfort zones (see also Kuhn's "paradigm shift").
@markramirez3920 Жыл бұрын
I built a GNU Flex alike tool ( tool to make compilers for new P.L. ), in the late 90-s as my CS graduate thesis at the OOP trend. This was before Functional Programming peak. A lot of developers believed no more P.L. will appear. They where wrong ...
@vanarunedottir Жыл бұрын
Ages ago, before IBM made DOS into a 'standard' OS, Unisys sold computers running CTOS. It was a message passing system. It was before the idea of Actors, but enabled better communications and a new way of thinking about connected systems. It didn't become popular enough to survive until today, but that wasn't because of technical issues, and what did succeed caused slower progress on commercial distributed systems.
@micknamens86592 ай бұрын
How to handle the case that an Actor process is killed (as is common in k8s)? Are the entries in the actor's message queue then lost, or are they persisted and resent to another actor? Could we achieve idempotent behavior when sending the same message (with an unique message id) to the same actor twice or to different actors in parallel? What about time-out constrains for messages?
@danieltkach2330 Жыл бұрын
Loved the intro!
@avidrucker Жыл бұрын
I believe I heard a Conor Hoekstra in the Q&A 😁
@JohnDoe-ed7vw Жыл бұрын
I stumbled upon this subject while I have zero coding knowledge, gives me a new perspective because I thought languages are perfect creatures despite hearing about JAVA security problems, I want to learn a language to find a job and I don't have a degree in IT, what language do you recommend? something 20 years future proof for someone who don't like jumping ships, I am not even sure coding is for me, sometimes I wonder what is the language most useful for personal use? that I can use on my PC to help me with personal needs, I mean all those web languages are made to service other people not like windows programs, I mean I don't want a language that I will only use for work. I don't anything about coding, I don't know what I am saying, I mean like learning to code android programs, I can solve my phone problems/needs, etc. Maybe all this is type of thinking is not good for employment wise?
@joesmith4546 Жыл бұрын
No language is 20 years future-proof. The good news is that once you learn one language, the next one is far easier to learn. This effect continues to compound as you learn more languages, and technologies. The reason why this is the case is because you don’t really learn a programming language so much as you learn how to solve puzzles involving the way that data flows and is transformed in order to capture some imagined, idealized behavior with your code. I personally started with Java before picking up C, Python, Javascript, and more, in that order. At this point I can usually pick up a new imperative language in an hour. It takes me far longer to master a new language, but learning one is easy. My personal path through computer science as a pure and applied discipline may not be the same for you, however. Many people start with Python, Java, or Javascript. None of these languages are objectively better than any other. Don’t worry about speed, or what is possible with any individual language. These limits are generally divorced from reality because you probably won’t need to care about speed until you are working on enterprise-size software (at which point you will be a competent enough engineer to pick up any new language or technology with relative ease, so if won’t matter if your first language is “fast”), and all languages have limitations on what is syntactically valid and possible. A fast language is one you can write quickly. An expressive language is a language you can translate your thoughts into easily. Nobody can decide or choose what languages are fast or expressive for you. If you want to learn how to program, don’t be afraid to start multiple times with multiple different languages, don’t worry about whether or not a language is popular or what features it has, and don’t count on a technology having a lifespan of more than five years. It might take some time for it to “click,” but once programming begins to feel intuitive and you can translate your thoughts into programs with some amount of ease, picking up new tools will be easy. That is why in a field where everything changes every five years there are still old masters.
@JohnDoe-ed7vw Жыл бұрын
@@joesmith4546 Thank you for the explanation, would you say entering this field is easier than other fields like accounting for example? everyone is recommending programming as a solution for unemployment, are they just promoting a new business (boot camp business and courses), to be honest after posting this question and thinking about the whole idea, I said to myself, you love PCs but never bothered learned a single language, if you don't love this field don't enter it just for a job and try to find something you really love.
@bulbasaur9291 Жыл бұрын
@@JohnDoe-ed7vw You should pursue programming if you have a taste for it, not merely because there is a meme about learning to code. Learn the concepts underlying the tools so you don't become attached to languages/frameworks. That way YOU are future-proof, not your tools. In the end programming is about building things to solve problems in ways that are (hopefully) better than the old ones. It is about being knowledgeable, logical, and a bit creative.
@JohnDoe-ed7vw Жыл бұрын
@@bulbasaur9291 I like what you said about "Learn the concepts underlying the tools", one of the complaints about a local boot camp was that they teach you how to do more than why, I am a person who wants to know why, which made me feel a boot camp won't be enough, in addition to seeing people with university degree who can't find work, sadly despite loving computers I have never tried to learn coding, I guess there is no passion in me for coding, there is a lot of talented coders out there, doing it for money with no passion I'd probably end up where I am now in my current field. (accounting, I hate it).
@banatibor83 Жыл бұрын
Learn java, no magic stuff in java, wide enterprise adoption and those change slowly, very good language.
@goodluckoriuwa16698 ай бұрын
Could you talk about that neo language and also perhaps do some crash course on neo so we could probably see the difference
@CTimmerman Жыл бұрын
If building languages is so easy, and he already made one to demo new concepts, why isn't Misty real yet? We already have packet/message systems and distributed agents/actors/objects/tasks communicating with messages. Stackless Python for example runs Eve Online pretty well. Distributed debugging could be done over SSL to local-only listen sockets, and task session keys could be tokens only shown on task creation.
@อนรรฆวรรณภาสชัยยง Жыл бұрын
It’s needs to be on VM level.
@tantalus_complex Жыл бұрын
Programming languages are "easy" to invent. But as he said, they require an army to make them successful. And it isn't always a simple "build it and they will come" scenario. The history of innovation is littered with the corpses of first-of-kind products which failed for little or no reason to do with the product. Anyway, in terms of progress, I think we're nearing a turning point - potentially, a true Kuhnian _paradigm shift._ And that is exponentially harder to predict or to cause at any time other than _just_ the right time.
@magne6049 Жыл бұрын
The Misty name is actually a pun on vapor, as in vaporware. According to Crockford himself, in the JS Jabber podcast about Misty.
@jazzochannel2 ай бұрын
I dropped out of CS at uni and I don't know how to make my own programming language :(
@ct-gf8kn7 ай бұрын
Never say If the language gets made just make it . Time waits for no one believe in your light spirit that brought you the idea . That just normally means it should be a scraped or finished product for the future . Its up to the one who has visionary dream its just a future rift follow the stream . One love ! ✌
@strathound Жыл бұрын
We need a language like Javascript (but not) that is optimized for serverless development and serverless environments. Please.
@Meleeman011 Жыл бұрын
cry to bezos corpo cuck
@canardeur8390 Жыл бұрын
YOU could invent it.
@shalokshalom Жыл бұрын
Wasm?
@VolodymyrFrolov Жыл бұрын
When I see all these Liaisons and Minions, what I see is not how beautiful the actor paradigm is. What I see is how to get around various problems in the model I don't even care about. Thanks, but no, thanks. I can leave without Liaisons and Minions.
@avidrucker Жыл бұрын
What are some of these problems that arise?
@noelwalterso28 ай бұрын
Sounds a lot like Erlang?
@erkintek Жыл бұрын
when talking a new lang I'd expect memory management, null values, variable initialization, etc. He discovered microservices
@samfromuk7967 ай бұрын
"... thanks, by the way it's David C-R-ockford"
@eliseulucenabarros3920 Жыл бұрын
Brooks say that will not have a new paradigm on less than 50 years ....
@PaulSebastianM Жыл бұрын
Did he say Cockfurd twice???
@МаксимБаяндин-г8ц Жыл бұрын
Douglas Cockfoot
@seancharles1595 Жыл бұрын
Yeah. Erlang, OTP. Green Arrays too.
@Fitzrovialitter Жыл бұрын
So, the next programming language is "Misty"? I I doubt it.
@TheBuzzSaw Жыл бұрын
Please just keep dec64 as a separate type from binary floats.
@BienestarMutuo Жыл бұрын
Posits could be a better alternative. But as he say, we need a very new platform, starting with the processors.
@reluminopraha5948 Жыл бұрын
I think that the only way to introduce a new language is to MAKE it.
@bjlbernal7 ай бұрын
I'm having a hard time seeing this as a language instead of a design pattern.
@SaudBako5 ай бұрын
Me { ListenToSpeech() => hopeInTheWorld++; ListenToQuestionsAfterSpeech() => hopeInTheWorld--; }
@TimUckun Жыл бұрын
Sounds a lot like Erlang.
@Joshua-dc4un Жыл бұрын
Programmers casually talking about suicide 😂
@xyzzyb2 жыл бұрын
Aww man, so close to getting Erlang/Elixir towards the end but it's clear he's not actually worked with those languages.
@kelownatechkid Жыл бұрын
He specifically mentions erlang in response to a question though...
@GeekProdigyGuy Жыл бұрын
Sounds like he has at least tried Erlang and has some idea of how it works. But Elixir maybe more surface level.
@emstudios14 Жыл бұрын
DC THE LEGEND HIMSELF
@szymonbaranowski8184 Жыл бұрын
How will actor built of actors work? Entities can cooperate in groups accepting partial loss of independence and acting as actors themselves with own independent logic of actions here messaging so you will not predict behaviour of whole system because everything flows various ways without central registration how will you understand whole complexity of this when so many elements will be interconnected messaging randomly i guess this decentralisation is it's bigger plus but all makro guys will hate it 😂 i know what will work best for debugging it sending swarms of malicious botactors and letting natural selection preserve only well adapted safe optimised actors it's literally what happens in nature eventually stabilising system in resilient form
@AndrewTSq Жыл бұрын
Can we stop calling functions in languages so unlogical things? Thats on my wishlist in next language😊
@CTimmerman Жыл бұрын
Common terms are how language works, but in some circles like mathematicians, they like to do things like start counting from 1, confusing others.
@mpcref7 ай бұрын
Announces a new programming language. Proceeds to describe message passing and databus / data mesh architecture. Useless talk.
@o_corisco Жыл бұрын
why u need mutability in distrubuted systems? He makes this wild claim but never supports it with facts... What i find weird about this claim is that you can have state and imutability at the same time, for example, state monads or react reducers. The funny part is that on his entire presentation there are no traces that mutability is really needed.
@S7rul Жыл бұрын
You basically never "need" mutability but if you don't want to pass around state in some way it is useful.
@o_corisco Жыл бұрын
@@S7rul, in functional programming languages you can pass state implicitely with monad transformers. But i've seen his newer talks and he does not claim this anymore.
@GeekProdigyGuy Жыл бұрын
Indeed you can use monad tricks to make mutation look pure in FP. Unfortunately the only semi-usable language where this is actually common is Haskell, and Haskell is a terrible choice for mutation-heavy + high-performance systems.
@o_corisco Жыл бұрын
@GeekProdigyGuy sure m8. I can see how you never used haskell in a highly concurrent and distributed environment, nor understand what you call "trick". But think what you will, everyone is entitled to their own opinion, even if that opinion is founded on wrong and biased assumptions. take care.
@Danizords Жыл бұрын
@o_corisco if my bank account has $0 and I send a "deposit" message to it, then later on I send a "get_balance" message to that ***same*** account, I expect it to respond with a changed balance. If it was immutable, I'd get a new account with the increased balance, but what happens with everyone else that holds the address of the old account? :)
@CarlosRojas-zk1ic Жыл бұрын
Akka ?
@szymonbaranowski8184 Жыл бұрын
Poor countries use old smartfones with big connection lags. Assumptions computers are fast now are very elitist way of thinking also a wasteful type of thinking something what gave us windows spyware instead of easy to use linux to anybody on any machine they by chance have
@xybersurfer Жыл бұрын
i don't understand how you think that the wastefulness of Windows lead to not easy to use Linux. i also wish Linux was easier to use
@palfers1 Жыл бұрын
Anyone remember the Transputer? Occam? InMos? That went well...
@avidrucker Жыл бұрын
What went wrong?
@ericpmoss Жыл бұрын
@@avidruckerI remember them, bought the Occam book, and attended some very neat demos by the Inmos team. It was IMO very specialized, and specialized tools at that time (and probably now) needed a lot of capital to push their way into wide enough acceptance to stay alive. It was different enough that most programmers didn’t want to push their way through to get comfortable with it.
@boot-strapper Жыл бұрын
Seems like a bandaid for microservices
@sofiaknyazeva Жыл бұрын
Honestly, this is also why JavaScript is popular out there. Because it's a crap language and companies like crap to push to its users.
@tuananhdo1870 Жыл бұрын
Its act like scheme, and scheme í a gôd language
@yur3tz2 жыл бұрын
Well, there was a lot to disagree with in this talk, but this indeed is not a proper place to find all the falsy propositions and lay all the arguments out, so we will "leave it as an exercise for a careful listener" 😜
@alessandrob.g.4524 Жыл бұрын
I’d like to know your thoughts. Please, share.
@ximono Жыл бұрын
Well, that's not very helpful is it? Feel free to speak your mind.
@ericpmoss Жыл бұрын
@@ximonoI’ll add my gripe - the speaker pretends that Lisp never existed, and gives credit for a huge number of features to languages that copied it from Lisp, badly. It’s infuriating, and he comes up with convenient excuses for why some languages got popular. He emphasizes language purity when convenient for a particular point he wants to make, and glosses over when convenient. Back to Lispisms - functional; symbols; dynamic and manifest typing, with static typing available as advice; dynamic and lexical scope; REPL; mixed compiled and interpreted code; compiler available at runtime; massive parallelism (Top-Level Lisp, IIRC), multi-paradigm modeling, multiple inheritance, programmable object model through macros; homoiconicity.
@ccgamedes33 Жыл бұрын
@ericpmoss He mentioned Scheme. He has extolled Lisp's merits elsewhere. In JSTGP he says"...[JS] is Lisp in C's clothing. This makes JS a remarkably powerful language".
@daitedve1984 Жыл бұрын
A guy who waste time on "How JavaScript Works", doesn't deserve to listen. Pay attention to Nemerle - THIS is "next language" w/o any egg-head abstractions!
@tantalus_complex Жыл бұрын
_Nemerle?_ I don't think it's going to happen, guys.
@ryancole73712 жыл бұрын
Sooo this is basically Ethereum LOL.
@ximono Жыл бұрын
No, it's basically Elixir/Erlang with a JavaScript flavour. Lol.
@avidrucker Жыл бұрын
What's the diff between actors all the way down and block chain?
@ximono Жыл бұрын
@@avidrucker Can't tell if you're being satirical or sincere, but: A lot?
@Danizords Жыл бұрын
@@avidrucker actors are about information hiding and blockchain is a public ledger? xD
@AndrewCosmos7 Жыл бұрын
He is describing CosmWasm used mainly in the Cosmos Ecosystem. A distributed web assembly language that can work for cross-chain applications. Great one 😁👌
@lanrewaju Жыл бұрын
thats the dumbest name i ever heard.
@avidrucker Жыл бұрын
Is this validatable with actors all the way down, or one of the other 2 paths forward that he describes?
@oso2k Жыл бұрын
Have you considered HATEOAS? en.wikipedia.org/wiki/HATEOAS