The Next Programming Language - Douglas Crockford - code::dive 2022

  Рет қаралды 51,313

code::dive conference

code::dive conference

Жыл бұрын

The Next Programming Language
About the speaker - Douglas Crockford
Douglas Crockford is the author of "How JavaScript Works" and "JavaScript: The Good Parts".
He was born in Frostbite Falls, Minnesota, but left when he was only six months old because it was just too damn cold.
He turned his back on a promising career in television when he discovered computers. He has worked in television, learning systems, small business systems, office automation, games, interactive music, multimedia, location-based entertainment, social systems, and programming languages.
He is the inventor of Tilton, the ugliest programming language that was not specifically designed to be an ugly programming language. He is best known for having discovered that there are good parts in JavaScript. That was the first important discovery of the 21st Century. He also discovered the JSON Data Interchange Format, the world’s most loved data format.

Пікірлер: 111
@wirelessben
@wirelessben 10 ай бұрын
The announcer had one job: say this famous person's name right.
@marxhubert
@marxhubert 10 ай бұрын
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
@aghileslounis 9 ай бұрын
exctly what i was thiking. I'm like wait a sec it's Erlang/Elixir
@tantalus_complex
@tantalus_complex 7 ай бұрын
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.
@akulanarayana5284
@akulanarayana5284 Жыл бұрын
Legendary Douglas Crockford 🙏👍make us all happy and smile. Thankyou so much for your contribution.
@danmihaifilip
@danmihaifilip Жыл бұрын
much of Misty's features are already available in the Erlang language and VM
@MrTutiplengo
@MrTutiplengo 11 ай бұрын
I was thinking that, too.
@danieltkach2330
@danieltkach2330 Жыл бұрын
Loved the intro!
@darnellbrawner3659
@darnellbrawner3659 Жыл бұрын
The actor model is what got me interested in the Pony Lang
@frankiefuryland
@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
@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
@tantalus_complex 7 ай бұрын
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. 🥰
@davidkoch9123
@davidkoch9123 8 ай бұрын
Nice talk on Erlang.
@montebont
@montebont 5 ай бұрын
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 ?
@vanarunedottir
@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.
@markramirez3920
@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 ...
@aleattorium
@aleattorium Жыл бұрын
At first, actor model looks really like what Erlang did and Elixir is expanding on
@DavidSouthard
@DavidSouthard Жыл бұрын
this talk should be titled "tell me you love erlang without mentioning erlang"
@aleattorium
@aleattorium Жыл бұрын
@@DavidSouthard I see as an absolutely win
@lorenzo--rossi
@lorenzo--rossi Жыл бұрын
@@DavidSouthard he actually speaks about erlang. It’s one of the questions
@NoahNobody
@NoahNobody Жыл бұрын
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
@ernesto8738 Жыл бұрын
that's exactly what it is
@JonMarkSearle1
@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.
@PaulSebastianM
@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
@tantalus_complex 7 ай бұрын
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").
@avidrucker
@avidrucker Жыл бұрын
I believe I heard a Conor Hoekstra in the Q&A 😁
@JohnDoe-ed7vw
@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
@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
@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
@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
@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
@banatibor83 Жыл бұрын
Learn java, no magic stuff in java, wide enterprise adoption and those change slowly, very good language.
@ct-gf8kn
@ct-gf8kn 2 ай бұрын
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 ! ✌
@goodluckoriuwa1669
@goodluckoriuwa1669 3 ай бұрын
Could you talk about that neo language and also perhaps do some crash course on neo so we could probably see the difference
@CTimmerman
@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.
@user-lq8gg2uv9z
@user-lq8gg2uv9z 8 ай бұрын
It’s needs to be on VM level.
@tantalus_complex
@tantalus_complex 7 ай бұрын
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
@magne6049 6 ай бұрын
The Misty name is actually a pun on vapor, as in vaporware. According to Crockford himself, in the JS Jabber podcast about Misty.
@eliseulucenabarros3920
@eliseulucenabarros3920 Жыл бұрын
Brooks say that will not have a new paradigm on less than 50 years ....
@strathound
@strathound Жыл бұрын
We need a language like Javascript (but not) that is optimized for serverless development and serverless environments. Please.
@Meleeman011
@Meleeman011 Жыл бұрын
cry to bezos corpo cuck
@canardeur8390
@canardeur8390 Жыл бұрын
YOU could invent it.
@matthiasschuster9505
@matthiasschuster9505 Жыл бұрын
Wasm?
@VolodymyrFrolov
@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
@avidrucker Жыл бұрын
What are some of these problems that arise?
@seancharles1595
@seancharles1595 Жыл бұрын
Yeah. Erlang, OTP. Green Arrays too.
@erkintek
@erkintek 7 ай бұрын
when talking a new lang I'd expect memory management, null values, variable initialization, etc. He discovered microservices
@noelwalterso2
@noelwalterso2 2 ай бұрын
Sounds a lot like Erlang?
@samfromuk796
@samfromuk796 2 ай бұрын
"... thanks, by the way it's David C-R-ockford"
@TheBuzzSaw
@TheBuzzSaw Жыл бұрын
Please just keep dec64 as a separate type from binary floats.
@BienestarMutuo
@BienestarMutuo Жыл бұрын
Posits could be a better alternative. But as he say, we need a very new platform, starting with the processors.
@reluminopraha5948
@reluminopraha5948 Жыл бұрын
I think that the only way to introduce a new language is to MAKE it.
@PaulSebastianM
@PaulSebastianM Жыл бұрын
Did he say Cockfurd twice???
@user-sc1yi7ip3h
@user-sc1yi7ip3h 9 ай бұрын
Douglas Cockfoot
@Fitzrovialitter
@Fitzrovialitter 7 ай бұрын
So, the next programming language is "Misty"? I I doubt it.
@emstudios14
@emstudios14 10 ай бұрын
DC THE LEGEND HIMSELF
@szymonbaranowski8184
@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
@TimUckun
@TimUckun Жыл бұрын
Sounds a lot like Erlang.
@Joshua-dc4un
@Joshua-dc4un Жыл бұрын
Programmers casually talking about suicide 😂
@SaudBako
@SaudBako 16 күн бұрын
Me { ListenToSpeech() => hopeInTheWorld++; ListenToQuestionsAfterSpeech() => hopeInTheWorld--; }
@bjlbernal
@bjlbernal 2 ай бұрын
I'm having a hard time seeing this as a language instead of a design pattern.
@AndrewTSq
@AndrewTSq Жыл бұрын
Can we stop calling functions in languages so unlogical things? Thats on my wishlist in next language😊
@CTimmerman
@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.
@xyzzyb
@xyzzyb Жыл бұрын
Aww man, so close to getting Erlang/Elixir towards the end but it's clear he's not actually worked with those languages.
@kelownatechkid
@kelownatechkid Жыл бұрын
He specifically mentions erlang in response to a question though...
@GeekProdigyGuy
@GeekProdigyGuy Жыл бұрын
Sounds like he has at least tried Erlang and has some idea of how it works. But Elixir maybe more surface level.
@CarlosRojas-zk1ic
@CarlosRojas-zk1ic Жыл бұрын
Akka ?
@szymonbaranowski8184
@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
@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
@o_corisco
@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
@S7rul Жыл бұрын
You basically never "need" mutability but if you don't want to pass around state in some way it is useful.
@o_corisco
@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
@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
@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
@Danizords 11 ай бұрын
@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? :)
@boot-strapper
@boot-strapper Жыл бұрын
Seems like a bandaid for microservices
@yur3tz
@yur3tz Жыл бұрын
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
@alessandrob.g.4524 Жыл бұрын
I’d like to know your thoughts. Please, share.
@ximono
@ximono Жыл бұрын
Well, that's not very helpful is it? Feel free to speak your mind.
@ericpmoss
@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
@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".
@mpcref
@mpcref 2 ай бұрын
Announces a new programming language. Proceeds to describe message passing and databus / data mesh architecture. Useless talk.
@sofiaknyazeva
@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
@tuananhdo1870 Жыл бұрын
Its act like scheme, and scheme í a gôd language
@daitedve1984
@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
@tantalus_complex 7 ай бұрын
_Nemerle?_ I don't think it's going to happen, guys.
@ryancole7371
@ryancole7371 Жыл бұрын
Sooo this is basically Ethereum LOL.
@ximono
@ximono Жыл бұрын
No, it's basically Elixir/Erlang with a JavaScript flavour. Lol.
@avidrucker
@avidrucker Жыл бұрын
What's the diff between actors all the way down and block chain?
@ximono
@ximono Жыл бұрын
@@avidrucker Can't tell if you're being satirical or sincere, but: A lot?
@Danizords
@Danizords 11 ай бұрын
​@@avidrucker actors are about information hiding and blockchain is a public ledger? xD
@palfers1
@palfers1 Жыл бұрын
Anyone remember the Transputer? Occam? InMos? That went well...
@avidrucker
@avidrucker Жыл бұрын
What went wrong?
@ericpmoss
@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.
@AndrewCosmos7
@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
@lanrewaju Жыл бұрын
thats the dumbest name i ever heard.
@avidrucker
@avidrucker Жыл бұрын
Is this validatable with actors all the way down, or one of the other 2 paths forward that he describes?
@oso2k
@oso2k Жыл бұрын
Have you considered HATEOAS? en.wikipedia.org/wiki/HATEOAS
The Next Programming Language by Douglas Crockford
31:49
Wey Wey Web
Рет қаралды 14 М.
Twig Include, Embed, and Extends
3:17
Mediacurrent
Рет қаралды 6 М.
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 67 МЛН
Secret Experiment Toothpaste Pt.4 😱 #shorts
00:35
Mr DegrEE
Рет қаралды 39 МЛН
Ouch.. 🤕
00:30
Celine & Michiel
Рет қаралды 28 МЛН
"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)
43:58
Strange Loop Conference
Рет қаралды 121 М.
Why Static Typing Came Back • Richard Feldman • GOTO 2022
52:01
GOTO Conferences
Рет қаралды 151 М.
The Better Parts. Douglas Crockford. JS Fest 2018
55:59
Fest Group
Рет қаралды 25 М.
Douglas Crockford about problems of JavaScript
55:19
Anywhere Club
Рет қаралды 9 М.
how NASA writes space-proof code
6:03
Low Level Learning
Рет қаралды 2,1 МЛН
Intro to the Zig Programming Language • Andrew Kelley • GOTO 2022
50:14
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
How principled coders outperform the competition
11:11
Coderized
Рет қаралды 1,6 МЛН
The Post JavaScript Apocalypse  - Douglas Crockford
54:13
NDC Conferences
Рет қаралды 116 М.
Vision Pro наконец-то доработали! Но не Apple!
0:40
ÉЖИ АКСЁНОВ
Рет қаралды 691 М.
📱магазин техники в 2014 vs 2024
0:41
djetics
Рет қаралды 706 М.
Nokia 3310 top
0:20
YT 𝒯𝒾𝓂𝓉𝒾𝓀
Рет қаралды 4,5 МЛН
Это - iPhone 16!
16:29
Rozetked
Рет қаралды 450 М.
Что делать если в телефон попала вода?
0:17
Лена Тропоцел
Рет қаралды 3,5 МЛН