back to index

Will Javascript Take Over the World? | Brian Kernighan and Lex Fridman


Whisper Transcript | Transcript Only Page

00:00:00.000 | So what do you think about another language of JavaScript that's this...
00:00:08.960 | Well let me just sort of comment on what I said.
00:00:10.880 | What I was brought up, sort of JavaScript was seen as the probably like the ugliest
00:00:17.280 | language possible and yet it's quite arguably quite possibly taking over not just the front
00:00:23.680 | end and the back end of the internet but possibly in the future taking over everything because
00:00:28.080 | they've now learned to make it very efficient.
00:00:30.480 | And so what do you think about this?
00:00:32.880 | Yeah well I think you captured it in a lot of ways.
00:00:35.840 | When it first came out JavaScript was deemed to be fairly irregular and an ugly language
00:00:40.240 | and certainly in the academy if you said you were working on JavaScript people would ridicule you.
00:00:44.240 | It was just not fit for academics to work on.
00:00:46.640 | I think a lot of that has evolved.
00:00:49.120 | The language itself has evolved and certainly the technology of compiling it is fantastically
00:00:55.840 | better than it was and so in that sense it's a absolutely a viable solution on back ends
00:01:02.560 | as well as the front ends.
00:01:03.840 | Used well.
00:01:05.760 | I think it's a pretty good language.
00:01:07.200 | I've written a modest amount of it and I've played with JavaScript translators and things
00:01:13.200 | like that.
00:01:14.000 | I'm not a real expert and it's hard to keep up even there with the new things that come
00:01:18.640 | along with it.
00:01:19.200 | So I don't know whether it will ever take over the world.
00:01:24.880 | I think not but it's certainly an important language and worth knowing more about.
00:01:32.480 | Maybe to get your comment on something which JavaScript and actually most languages,
00:01:39.200 | Python, such a big part of the experience of programming with those languages includes
00:01:45.360 | libraries.
00:01:45.920 | Sort of using building on top of the code that other people have built.
00:01:49.760 | I think that's probably different from the experience that we just talked about from
00:01:53.600 | Unix and C days when you're building stuff from scratch.
00:01:56.960 | What do you think about this world of essentially leveraging, building up libraries on top of
00:02:01.680 | each other and leveraging them?
00:02:03.120 | Yeah, that's a very perceptive kind of question.
00:02:06.320 | One of the reasons programming was fun in the old days was that you were really building
00:02:11.840 | it all yourself.
00:02:12.880 | The number of libraries you had to deal with was quite small.
00:02:15.520 | Maybe it was printf or the standard library or something like that and that is not the
00:02:20.720 | case today and if you want to do something in, you mentioned Python and JavaScript and
00:02:26.400 | those are the two fine examples, you have to typically download a boatload of other
00:02:31.360 | stuff and you have no idea what you're getting.
00:02:33.600 | Absolutely nothing.
00:02:34.400 | I've been doing some playing with machine learning over the last couple of days and
00:02:39.920 | gee, something doesn't work.
00:02:42.240 | Well, you pip install this, okay, and down comes another gazillion megabytes of something
00:02:48.080 | and you have no idea what it was.
00:02:50.080 | And if you're lucky, it works and if it doesn't work, you have no recourse.
00:02:54.880 | There's absolutely no way you could figure out which in these thousand different packages
00:02:58.960 | and I think it's worse in the NPM environment for JavaScript.
00:03:04.160 | I think there's less discipline, less control there.
00:03:06.720 | And there's aspects of not just not understanding how it works, but there's security issues,
00:03:11.680 | there's robustness issues, so you don't want to run a nuclear power plant using JavaScript
00:03:16.480 | essentially.
00:03:16.960 | Probably not.
00:03:18.560 | [LAUGHTER]
00:03:21.280 | [BLANK_AUDIO]
00:03:31.280 | [BLANK_AUDIO]