Zed A. Shaw - The Web Will Die When OOP Dies
-
0:04 - 0:06All right.
-
0:07 - 0:08All right!
-
0:08 - 0:11So, how is everybody doing?
-
0:11 - 0:14I am Zed Shaun, as you know.
-
0:14 - 0:17And those are 2 primary websites
I am campaigning. -
0:17 - 0:20So you you will see that
the entire time I am talking. -
0:20 - 0:22But that is not why I am actually here to talk about.
-
0:22 - 0:25I am going to talk about, basically, bullshit.
-
0:25 - 0:28I am gonna tell you, how I think the web sucks,
-
0:29 - 0:32despite the amazing amount of stuff
you guys put together. -
0:32 - 0:37I was ford like some of the crap you
guys are making are just amazing! -
0:37 - 0:40Reverse engeneer in flash!
-
0:40 - 0:43Wow! That's like resurecting a mastodonte.
That's just amazing! -
0:43 - 0:46It was amazing!
Very cool technology. -
0:46 - 0:47But you're basing it on some really awful stuff.
-
0:47 - 0:53Not basing it, but... but you have it built on
this pile of crap, in my opinion. -
0:54 - 0:55So let's begin.
-
0:55 - 0:58I think the W3C as Voludeville Act.
-
0:58 - 1:00So you might not know at Vouldeville is,
-
1:00 - 1:05but is the old 1930's tcha, tcha, tcha, that kind of like... corny, like comedy
-
1:05 - 1:09Basically, they are like that guy with a horn hat, throwing banana peels on the ground
-
1:09 - 1:14And everybody else on the internet was walking by and swiping on them and laughing "ha, ha, ha"
-
1:14 - 1:17Basically, most of their technology is kind of crap
-
1:17 - 1:23So like SVG - barlely works is weird XML, its definition of how Candes should actually work
-
1:23 - 1:27XML - they don't really use XML
in the sementic web anymore. -
1:27 - 1:31They just keep it around just to not have to admit that XML was a super bad idea
-
1:31 - 1:34RDF - anyone actually uses RDF?
-
1:34 - 1:36Yes, cause its sucks.
-
1:36 - 1:40XHTML [laughs].
Right, that was brilliant right?! -
1:40 - 1:43The Semantic Web - that's my favorite.
-
1:43 - 1:46It seems that every other boom bust cycle
in technology scene, -
1:46 - 1:50someone is trying to do some semantic web thing
and it falls flat and then go off... -
1:50 - 1:53in a picture sharing frame, or something like that.
-
1:54 - 1:58So, the rest of the stuff, despite all the failures,
sort of barely works. -
1:58 - 2:01So, you can get stuff done.
You guys do amazing stuff. -
2:01 - 2:05But, it's kind of janky underneath it, right?!
-
2:05 - 2:06Like, I hate HTML.
-
2:06 - 2:12CSS is seriously the weirdest piece of technology ever invented. It's so bizarre.
-
2:13 - 2:15Video that's never gonna happen.
-
2:15 - 2:19There is so much bullshit, business crap and licensing... It just ain't...
-
2:19 - 2:23Sound - I mean, I do music,
I wanna make sound stuff, -
2:23 - 2:27I try to make it like sound synced with some transitions... Just forget it.
-
2:27 - 2:29Someone came out of the library and they will try.
-
2:29 - 2:34Uploads - how many people know
that there is a new upload app? -
2:34 - 2:38What? 10%? There is a new app.
You don't even use Flash anymore to do upload. -
2:38 - 2:42Nobody knows that there is a new upload app that solves all the stuff you hate about uploads.
-
2:42 - 2:45Because they never told you about it!
Stupid!! -
2:45 - 2:51And Java Script. I am sorry,
but Java Script fucking sucks. -
2:51 - 2:52I fucking hate Java Script.
-
2:52 - 3:00Any languange that can't do real math and store an image in a binary BLOB, is a broke ass language.
-
3:01 - 3:07So, anyone seen Popcorn.js? Is 2000 lines of code that lets you do like sound transition.
-
3:07 - 3:10Something that should just be simple, basic, right?!
-
3:11 - 3:15How about Candes? You can't make circles. Everyone goes: "oh yeah, you can"
-
3:15 - 3:21Yeah, you're right... with art defining the radius and doing your own pi calculation.
-
3:21 - 3:26When I see this, I think that some dude who wrote this was trying to teach his kid about pi.
-
3:26 - 3:29He was like: "oh, I know, I am just gonna make the Candes do nothing but arc and no circles.
-
3:31 - 3:37I want Sugar. This is the thing that bugs me the most about the whole W3C and all that stuff.
-
3:37 - 3:40Is, you guys make the sugar I like to us.
-
3:40 - 3:42You make the awesome things I want to use
-
3:42 - 3:47Why isn't the stuff that you make
the actual crap I use in the browser? -
3:47 - 3:53Instead of making this janky broke ass as standard, make stuff that I can actually use.
-
3:53 - 4:00So, what it turns out is it seems that
W3C exists or it benefits instead -
4:00 - 4:05There are a lot of good money in writing code
that makes this shit suck less. -
4:06 - 4:09But we shouldn't have to do this.
-
4:09 - 4:10So let's pick on HTML.
-
4:10 - 4:16You get 5 versions of HTML,
yeah 5 version before HTML file, -
4:16 - 4:19and there is even a few otheres,
before I get actual sementic tags. -
4:19 - 4:23And, no, div is not a fucking semantic tag.
-
4:23 - 4:26I don't care what anyone says.
Div is not semantic! It's DIV! -
4:26 - 4:32It doesn't say like "header", those are semantic.
Now you can actually give name tags. -
4:32 - 4:37Why do I have to have a < p > tag on everything? Just assume it's a fucking paraghaph!
-
4:37 - 4:41That's what LaTeX does. LaTex does this!
Markdown does this. -
4:41 - 4:44Everything that you do
for document preparation does this. -
4:44 - 4:46But I have to tag everything on HTML.
-
4:46 - 4:54Oh, except I don't have to always end all the tags, cause you have XHTML, but... whatever
-
4:54 - 4:56Horrendous visual crafting tools.
-
4:56 - 5:02The visual crafting tool work to actually craft the video, like DreamWeaver and thigs like that.
-
5:02 - 5:06But, the problem I always had with those tools is they didn't make anything programers could consume.
-
5:06 - 5:11Why can't these tools crap out like tamplates
that are actually usefull for programers. -
5:11 - 5:14Why can't you give them little packages
that produce it. -
5:14 - 5:19And they are barely Rich Media. Like now you can make awesome Rich Media apps,
-
5:19 - 5:21but the actual base stuff just barely is Rich Media.
-
5:21 - 5:26Like, being able to have solid transition.
This is why people use Flash. -
5:26 - 5:28But wait! 3D works?
-
5:28 - 5:32Like, the most advance graphic system you can do works, but none of the other crap works.
-
5:32 - 5:38I have to do bizarre mingling... I mean...
fire bug, screwing around with CSS -
5:38 - 5:40just to get a fricking Div to center.
-
5:40 - 5:44But, I can have a dude run around...
-
5:44 - 5:46Right?! It's fucking bizarre.
-
5:46 - 5:52All right. I've always had this weird dream
that is only useable if you generate stuff Server Side -
5:52 - 5:53which sort of fits the point,
-
5:53 - 5:58cause everyone's laptop is actually
more powerfull than most of the servers I run. -
5:58 - 6:01So why can I leverage your laptop's power
to do the majority of the handwrite? -
6:01 - 6:05Instead, everyone has this janky framework
just to produce this HTML. -
6:05 - 6:09And the you say: "oh, but there is a mustache
on all this tamplates" -
6:09 - 6:11Do you ever debugged those things?
-
6:11 - 6:13Like they generate Java Script
and than it blows up -
6:13 - 6:17and now you are trying to figure out
how it generates the tamplate Java Script -
6:17 - 6:19that figures out where that thing is...
-
6:19 - 6:21And Java script is awesome with errors, isn't it?
-
6:21 - 6:24Yeah, that stuff is really fun!
-
6:24 - 6:26So, fuck you HTML!
-
6:26 - 6:28Can I get a good visual tool?
-
6:28 - 6:30Can I get a Real-in Browser Tamplate?
-
6:30 - 6:35One that I can have the actual tamplates in another file and then apply them in the other things?
-
6:35 - 6:38Can I get some decent free universal video?
-
6:38 - 6:40Can I get some Synchronized Sound?
-
6:40 - 6:42Can I get a motherfucking < markdown> tag?
-
6:42 - 6:44Wouldn't that be awesome?
-
6:44 - 6:45Like, you wouldn't have to actually
render the markdown? -
6:45 - 6:48You could actually even make it work
between the markdown tags? -
6:48 - 6:52Disable all the HTML features
so it was totally safe? -
6:52 - 6:56And since markdown doesn't have HTML on it,
you could just render and you would be done. -
6:56 - 6:59And it doesn't have to do markdown,
it can give you wiki or whatever you want. -
6:59 - 7:03But, that's standard, is going around forever.
Why can I have? -
7:03 - 7:05Can I get tags as components?
-
7:05 - 7:10Why can I say "define a tag", when it gets
put into the down, by a Java Script? -
7:10 - 7:19I've already got semantic tags, why can I have
bonus tags? Just use these files... -
7:20 - 7:24Can I get disconected uploads?
This is one that bugs the hell out of me! -
7:24 - 7:28Bitorn, one of the main reasons people
shavel a lot of crap through bitorn -
7:28 - 7:30it's because it lets you do it disconected uploads
-
7:30 - 7:34Is doing the peer-to-peer thing, but, really,
you can do this nice disconected uploads. -
7:34 - 7:36It's a big feature for it.
-
7:36 - 7:38So, you upload this video.
-
7:38 - 7:39I upload a lot of video.
-
7:39 - 7:47I get a megabyte 499 and that's when
the Internet decide to kill my fucking upload -
7:47 - 7:50and I had to start the whole one hour upload again.
-
7:50 - 7:54I don't even bother to upload videos
when I am in Norway, on a travel. It's so bad. -
7:54 - 8:01And the thing is: Yes, you can do
most of this stuff if you pile tons of JS. -
8:01 - 8:08But, I shouldn't have to do tons of JS just to get a useable development and user interface.
-
8:09 - 8:11So, let's pick on CSS.
-
8:11 - 8:17I want a fucking Grid! My God.
Do I fucking hate not having a Grid. -
8:17 - 8:20People love grids.
Grids are in almost everything. -
8:20 - 8:24Basic design is on Grids. You read these books about design and they talk about grids.
-
8:24 - 8:25That's how they do layout.
-
8:25 - 8:28I am doing clear... and float!
-
8:31 - 8:31Fuck you!
-
8:31 - 8:34I wanna be able to define and
I don't want to do it with a tree. -
8:34 - 8:38I want to be able to say: "this is the grid and this is the shit that goes in the grid. Figure it out!"
-
8:38 - 8:41I don't want to have put that goes here
and that goes here... -
8:41 - 8:44I just want: grid, crap that goes in it.
You do it! -
8:44 - 8:47But, instead I have to give instructions and...
-
8:47 - 8:50Why can't I center shit?
-
8:51 - 8:55Fuck you. If I fucking say center,
fucking center it! -
8:55 - 8:58Don't make me do: margin, auto, left, zero...
-
8:58 - 9:02Fuck you!! Center!
It's a word. -
9:02 - 9:08It has a usefull application in design and in most of your publication, they like to center things.
-
9:08 - 9:15But for wherever reason, the dushbags making CSS decided that I was gona do margin, auto, left, clear...
-
9:15 - 9:18No, I can't even get it right.
I have to look it up every single time. -
9:18 - 9:20Oh, and then it doesn't work all the time:
-
9:20 - 9:25if you define some parts as table elements style,
then it wont center those. -
9:25 - 9:28You have to use a center tag
or some other definition. It's bizarre. -
9:28 - 9:31So, fuck you CSS.
-
9:31 - 9:32Can I get a fucking grid?
-
9:32 - 9:34Can I get a variable?
-
9:34 - 9:40I love hunting trough my CSS looking for that one x-code, that I'm gonna change.
-
9:40 - 9:44But it's the same x-code as others,
but I have to do janky searches. -
9:44 - 9:45Can I get a loop?
-
9:45 - 9:48Wouldn't be awesome if you could have
a turn complete language, -
9:48 - 9:53if you wanted to and you can deep into it?
Or something like that. -
9:54 - 9:55How about components?
-
9:55 - 10:00Can I make it so I can say: "import this,
and this desing that guys has..." -
10:00 - 10:03and then I'm gonna based all my stuff on it
and they don't clash. -
10:03 - 10:04I've actually got names spaces.
-
10:04 - 10:07Do you ever tried to combined
2 design elements? -
10:07 - 10:10No, you use one or the other
and then you hack them together... -
10:10 - 10:14and you have this mountain of CSS and
it's totally uneficient. I want components. -
10:15 - 10:17Without SASS and Compass.
-
10:17 - 10:22Again, you can make all this stuff work, but you have to use technologies outside of the W3C.
-
10:22 - 10:25Why aren't they going to where
other people are doing the work and saying: -
10:25 - 10:27"why we don't make it like SASS and Compass?
-
10:28 - 10:30That's the way it should be.
-
10:30 - 10:37CSS is what happens when a cat hoarder with Schizophrenia tries to do a programmig language.
-
10:37 - 10:41It's fucking bizarre. It's like you walk into their house you are like why are all these cats here?
-
10:41 - 10:45This is strange. Is bacause pizza has
lots of squeeze on it. -
10:45 - 10:49That's what is like working with CSS.
-
10:50 - 10:51Let's pick on JavaScript.
-
10:53 - 11:01Fuck you. There is no way a 4 element array
is equal to a stream with 3 commas on it. -
11:01 - 11:07Any language that makes you think this,
that has this kind of quality is fucking broke ass. -
11:07 - 11:11It should go: Error. That is what they should be doing when you do this.
-
11:11 - 11:15That's fucking bizarre.
This kind of crap is all over JS. -
11:17 - 11:17Floats?
-
11:18 - 11:19And no binary types.
-
11:19 - 11:23Do you know how hard it is to do cripto
when you don't really have math capabilities? -
11:23 - 11:29It's fucking bizarre. I get it.
They want UTF-8 to be everywhere. -
11:29 - 11:35But, UTF-8 is basically a binary image transform,
like a image storage format. That's what it is. -
11:35 - 11:40Like unicode is just a way of describing it.
This is like Postscript or PDF or all those things. -
11:40 - 11:45But making that so I can't actually store that data and transmited binary. I can't store images and things.
-
11:45 - 11:48You can do it on NoteGS,
because they added it. -
11:48 - 11:52But in JS? No! There is no binary BLOB type.
"Oh, wherever, screw you". -
11:52 - 11:58And that infected web sockets. So, web sockets was this web protcol for doing sockets in the browser,
-
11:58 - 12:03that at 1st has this janky weird, everything was UTF-8, it was bizarre.
-
12:08 - 12:12The other thing is:
why only JS? -
12:12 - 12:16All those other things, people have being using broken languages forever.
-
12:16 - 12:21Every language is screwed up in some uniquly, indiossincratic, stupid ass way.
-
12:21 - 12:25But, on the browser,
I don't know why I'm using only JS. -
12:25 - 12:28Usually, you are given this bullshit thing
about the OpenWeb, -
12:28 - 12:33but everyone just minifies their crap,
which is basically a JS bi-code. -
12:33 - 12:38Everyone uses like CoffeeScript
or some other generator. It's gone. -
12:38 - 12:41The ideia that I can open a page
and figure out how to do it is broken. -
12:41 - 12:47And if you want to have that capability you can have decompilation. Make that part of the standard.
-
12:47 - 12:54It's a fucking virtual machine. Why can I hand bi-code to it? That's what I want to know.
-
12:54 - 12:58Why can I take bi-code
and use some kind of compiler -
12:58 - 13:00to make like Lua or Rubi
or something like that -
13:00 - 13:03and I just hand you bi-code.
That's a way better specification. -
13:03 - 13:08Instead of I'm compiling to JS.
JS is the assembling language of the web. -
13:08 - 13:12If that's your assembling language of the web,
that's the shit on top, -
13:12 - 13:15you got a broke ass computer
you are basing your stuff on. -
13:16 - 13:18What the fuck!
-
13:19 - 13:23Basically, Coffeescript should be making bi-code.
-
13:24 - 13:30So fuck you JS! Why not a bi-code specification? That's what I want.
-
13:30 - 13:35Now, the guys who make virtual machines
have all these stupid reasons. -
13:35 - 13:38But every other virtual machine does this just fine.
-
13:38 - 13:40There are some other reasons.
-
13:40 - 13:43I always imagine there is
some deep dark room in Google, -
13:43 - 13:47where all the web guys come and drink and
have their ciggars and think: -
13:47 - 13:54what we are going to do to screw programers today? I know! JS! That's how they do it.
-
13:54 - 13:57I wanna run Lua, Python, Ruby.
-
13:57 - 14:02I don't want you to have to worry about
what the hell I am using to run your stuff. -
14:02 - 14:06Instead people use Flash and Java
and SilverLight and all sort of crap. -
14:06 - 14:10And they are already compiling to JS.
So there is no OpenWeb bulshitt anymore. -
14:10 - 14:12Just admited and give me bytes!
-
14:12 - 14:16That's my real major complaint
about the JS part at the web: -
14:16 - 14:22that I shouldn't have to use JS if I don't want to.
That would be an OpenWeb. -
14:23 - 14:28So, I do a lot of web servers and I think HTTP is kind of the only part that is not super janky.
-
14:28 - 14:34Mostly cause its really broke ass stuff can be avoided and it has chaged a lot, right?!.
-
14:34 - 14:36But it's still pretty horrible.
-
14:36 - 14:42I mean, how many people have actually done web servers/ written web servers, anything like that?
-
14:42 - 14:46Trust me. It's awful.
-
14:46 - 14:48It's primary limitation that is not asynchronous.
-
14:48 - 14:52So, SPDY is better.
-
14:52 - 14:55Have you seen SPDY crap
that Google is coming out with. -
14:55 - 14:59Is like a new way to do HTTP.
It's more of a binary protocol. -
14:59 - 15:03Basically is a way for Google to save
about 2% operating cost -
15:03 - 15:06It's better than HTTP anyway.
-
15:06 - 15:07But the Spec is awful.
-
15:07 - 15:10The last time I check this was the Spec,
I am not kidding you. -
15:10 - 15:16It's basically a bunch Google Style, Uber bulshit C++ code and one part of Chrome.
-
15:16 - 15:20Looks like it was clearly written by some kid
who step out of college, -
15:20 - 15:22knew about of algorithm,
but not how to write code. -
15:22 - 15:26So you try to figure out what happens when I get this bi-code and after a while you are just like: forget it.
-
15:26 - 15:31The best Spec I saw what some dude who implemented. That was actually really well done.
-
15:32 - 15:41So, why does all this stuff happen? Why is there this base set of technology that is just awful.
-
15:41 - 15:47How many people basically... Most people I talk to basically agree that it just sucks.
-
15:47 - 15:49But you still do amazing stuff on it.
-
15:49 - 15:53I mean with enough passion and enough work people really work their ass off to make awesome stuff.
-
15:53 - 15:57Like 3D graphics and reverse engineering in Flash
-
15:57 - 15:59and making virtual machines
that are just fast as balls, -
15:59 - 16:03in a language that is just really awful to compile.
-
16:03 - 16:04They do it.
-
16:04 - 16:08And the reason why is we switch from a way of doing it where we wrote code then wrote the standard,
-
16:08 - 16:13to a way of company X pushes a vague standard
in a way to try to dominate it. -
16:13 - 16:14That's been happening since...
-
16:14 - 16:22I wanna say since the HML Microsoft fiasco kind of days, when the W3C got really popular.
-
16:22 - 16:25And I feel that there is just too much money involved and backroom deals,
-
16:25 - 16:28so it's not gonna change from within.
-
16:28 - 16:31You're not gonna see a lot of people
just suddenly going: -
16:31 - 16:34"you know what, we're gonna make a new browser that ain't got that stuff"
-
16:34 - 16:39That's too many network effect, there is too much involved. Too many people...
-
16:39 - 16:44And you wonder why isn't someone like Mozilla who is non-for profit out there making... saying:
-
16:44 - 16:49"we have a lab that just makes an alternative to web, that attempts to fix all this shit, just to see if it works"
-
16:49 - 16:55Ah, because they get most of their money from the companies that fund them and from all the donations.
-
16:56 - 17:00So, it's gonna take a revolution for this to change.
-
17:00 - 17:02Now, here is the crazy bullshit part.
-
17:02 - 17:04The previous part is my opinion.
-
17:04 - 17:08So, it's interesting talking to all of you,
because if I say "all that stuff sucks" -
17:08 - 17:12you sort of know I'm right, but then you always come with the: "yeah, but then you can work around it".
-
17:12 - 17:16And my point is that stuff is broke ass, I shoulnd't have to work around it. It should just go away.
-
17:18 - 17:24So push that on a stack here.
-
17:26 - 17:31So, I've been teaching a lot of programming
and the thing I find, -
17:31 - 17:34and we are talking in metrics:
I'm basically through my books and on-line, -
17:34 - 17:40I'm probably teaching maybe
500.000 people/ month, if you count traffic. -
17:40 - 17:44I'm saying in practical terms, maybe,
through direct interaction and stuff like that, -
17:44 - 17:49we are talking maybe about 10.000-20.000 people online through talking. That's my guess.
-
17:49 - 17:53And the only part that I can't explain is
Object Oriented Programming. -
17:53 - 17:56So I started thinking about this.
It's just fucking bizarre. -
17:57 - 17:58Nobody gets it right.
-
17:58 - 18:01Because there is not really a right.
-
18:01 - 18:03It's difficult to teach
-
18:03 - 18:07and it has no Computational Representation
in a computer. -
18:07 - 18:12Everything else about programming has some part of the computer that is supportive.
-
18:12 - 18:14Except for Object Orientd Programming.
-
18:14 - 18:17Like the math part, the loops... you find those in CPUs all the time.
-
18:17 - 18:23But the Objects? There is no Object Part. It doesn't really fit in Computation. There isn't a theory for it.
-
18:23 - 18:25And it doesn't really have an analog in the real world.
-
18:25 - 18:31You always see people who are really good at Object Oriented struggling with bears and cats in...
-
18:31 - 18:35There are all those blueprints that make houses and then... None of that really fits.
-
18:36 - 18:41It's sort of this weird and illogical Philosophy that everyone just adapts.
-
18:42 - 18:46So, let me show you how I teach the other part of Programming: structure and fuctional.
-
18:46 - 18:51So what I do is start with command stuff. I go like: "hey, there are commands"
-
18:51 - 18:57So most people can get to that. They get the concept of talking to the computer. That's how I teach that.
-
18:57 - 19:01Then I go: "hey, you can make your own commands, so check this out"
-
19:01 - 19:04And I show and make a command that takes arguments.
-
19:04 - 19:08Then I go: "hey, inside those scripts, you can make commands that take arguments"
-
19:08 - 19:11You see the trend here? I am climbing a mountain of stupidity.
-
19:11 - 19:13I'm taking this person and showing them slowly:
-
19:13 - 19:17"hey, these things are all similar, but slightly different, as you go up"
-
19:17 - 19:20And then I say you can make a module with a lot of commands with in.
-
19:20 - 19:27And then I can teach if, else and some looping and some structure stuff.
-
19:27 - 19:32And what happens is they sort of find recursion on their own.
-
19:32 - 19:36I don't necessarily have to tell them exactly how recursion is. I have to make a game.
-
19:36 - 19:38And the rooms of the games are sort of recursive.
-
19:38 - 19:42And they start asking interesting questions, like: what happens if a run a game forever?
-
19:42 - 19:44"Oh, you would run out of stack"
-
19:45 - 19:49People find tale calls. They find the white company.
-
19:52 - 19:54And this all comes from nothing.
-
19:54 - 19:58I don't have to have them understand the basic, weird philosophys or anything like that.
-
20:03 - 20:08But, this almost indescribable from nothing.
-
20:08 - 20:13I think because it actually kind of is nothing. It's sort of weirdly and abstract philosophical idea.
-
20:14 - 20:19It's sort of an antiquated explanation of "Information History".
-
20:19 - 20:23It's a way, it's describing how DNA history travel trough species
-
20:23 - 20:27or a way of describing a blueprint becomes a building.
-
20:27 - 20:29It's kind of an information exchange.
-
20:29 - 20:32And I find the computational side of it.
-
20:32 - 20:35Like you saw the presentation of Virtual Machines. That's pretty standard.
-
20:35 - 20:40Like you start dealing with Objected Languages. Just finding the function in an object is a pain in the ass.
-
20:40 - 20:45And from the language goes crazy lengths to make it stactic so that is less flexible.
-
20:45 - 20:49Or if it's flexible you have to do crazy shit to find functions and stuff.
-
20:49 - 20:52It's just doesn't fit in a computer anymore. You have to make weird shit to make it work.
-
20:53 - 20:56And nobody gets it right when they implemented it.
-
20:56 - 20:58Any new Phyton?
-
20:58 - 21:02Ok, Phyton had this think when they broke the way they implement objects.
-
21:02 - 21:07Ruby did to.
-
21:07 - 21:10So what they came up with is there are old style classes and new style classes.
-
21:10 - 21:14And what you do for a new style classe you say: class Foo (object).
-
21:14 - 21:18You know what happens to a student's brain when I say "classes are objects"
-
21:18 - 21:21I can see they trying to teach: "oh, there is objects and you have these things".
-
21:21 - 21:30Ok, so why do I say classes and objects, since classes are objects? I go like: ERROR, ERROR.
-
21:31 - 21:34That's what I am talking about.
-
21:34 - 21:38Object Oriented Programming is a weird Philosophy that doesn't really fit in the way this work now
-
21:38 - 21:40and doesn't fit in computer.
-
21:40 - 21:44So, all the evidence is pointing to me that Object Oriented Programming is bullshit.
-
21:44 - 21:48And is hard to accept that, cause I've done it for decades.
-
21:49 - 21:53Ok, POP the Stack. Take that HTML idea and bring it back.
-
21:53 - 21:55So, this is the crazy part.
-
21:55 - 21:59Tim Berners Lee sort of created the 1st version prototype of the web
-
21:59 - 22:02on the NextStep Computer, right?!
-
22:02 - 22:06That's means it was an Objective-C. And this is the history that I remember.
-
22:07 - 22:11And if you look at HTML and HTTP and all the things that we see that is kind of broken...
-
22:11 - 22:14they look like Object Oriented Programming problems too, right?!
-
22:14 - 22:17Like, you know in an Object Oriented Programming how it sort of doesn't match the databases,
-
22:17 - 22:20cause you can do some kind of references...
-
22:22 - 22:25And trees are much easier in Object Oriented Programming Languages
-
22:25 - 22:27then tables and relations are
-
22:27 - 22:32Other things, like how HTTP is request response strictly, not really aceing...
-
22:32 - 22:35With Object Oriented Language is like that. The request-response is really strict.
-
22:35 - 22:37There are a lot of similarities.
-
22:37 - 22:41And what I think happened is Object Oriented Programming it had been building up and developing
-
22:41 - 22:45and it finally got accepted and became a viable idea on the NextStep Computer.
-
22:45 - 22:47It became easy to do right?!
-
22:47 - 22:56And that is what make it possible to Tim Berners Lee to go and kind of visualize and construct the web
-
22:56 - 22:58and make a new kind of technology that weren't the way it is.
-
22:58 - 23:00He've may not know that, but that's what was happening.
-
23:00 - 23:05We all know that he learn a language and sort of influenced this type of thing.
-
23:06 - 23:11And you see this Object Oriented Programming Attitude in the way the web sort of works.
-
23:11 - 23:13And also the kind of crazyness too.
-
23:15 - 23:18So, here is my crazy prediction:
-
23:18 - 23:24I think OOP is going to be replace by a useable progamming language paradigm.
-
23:24 - 23:26I'll explain what that is in a little bit.
-
23:26 - 23:29But, just imagine, everything is replace. DUH.
-
23:29 - 23:32But, I'm predicting with a certain type of thing.
-
23:32 - 23:34And one step further is viable.
-
23:34 - 23:39Becames the way people start thinking about code and they are all excited about it.
-
23:39 - 23:41The thing that replaces the web will come out.
-
23:41 - 23:44That's when the revolution will happen.
-
23:45 - 23:48So, what I mean by a useable programming paradigm is this:
-
23:48 - 23:54A way of writing software that is emperically based on usability,
-
23:54 - 23:57not on the design taste of someone else.
-
23:57 - 24:02So they come with an idea and they test wether it is easy to do and to understand.
-
24:02 - 24:04For everyone. Not just begginers, everyone doing programs.
-
24:04 - 24:09And that does not mean duming it down and making stupid graphics as the way we do code.
-
24:09 - 24:13We are talking of real code that real people will use. But useable.
-
24:14 - 24:16And then, easily taught to begginers.
-
24:16 - 24:21The test should be, if I can sit down, and explain this to beginners, with a good lesson plan,
-
24:21 - 24:23that they will get it most of the time.
-
24:23 - 24:29That doens't mean a criple broken thing. But just a thing that is easy to explain.
-
24:29 - 24:34Because, that make it easy for a regular person, a professional programmer to learn.
-
24:35 - 24:37But still powerfull and deep.
-
24:38 - 24:42And fits with computation.
-
24:42 - 24:43That's the counter to it.
-
24:43 - 24:46I can make something really useable for specific domains,
-
24:46 - 24:51but then, I have to make it so that a computer can put together really easily.
-
24:53 - 25:06And has real world analogs. Not some crazy bad shit thing, some dude had at the univeristy...
-
25:06 - 25:08No, actual analogs in the world.
-
25:08 - 25:15I can go to someone and say this is kind of like the signal a guitar has to a bunch of panels.
-
25:17 - 25:24Now, my sort of vague idea of what that might look like is just kind of a structure programming set up
-
25:24 - 25:28cause that's really easy to teach and good for beginners starting with computation.
-
25:28 - 25:32Functional programming that's isn't by dushbags, who think that should be everything.
-
25:32 - 25:36But functional programming that is just there. You don't even know. Is like a zen garden.
-
25:36 - 25:38This things work better. It's so cool!
-
25:38 - 25:41You don't even need to know that is "functional programming".
-
25:41 - 25:44Some kind of courotines and signal flow.
-
25:44 - 25:48And then the idea of signal flow instead of OOP.
-
25:48 - 25:50I have no idea how that looks like.
-
25:50 - 25:53It's very hard when you trying to work in an enviroment and in a world
-
25:53 - 25:56and then imagine another world.
-
25:56 - 25:57But that's kind of what we do.
-
25:57 - 26:00But I'm not gonna get specific into this and also because I don't really have a lot of time.
-
26:02 - 26:06But the premisse of my tought and basically what I'm going on about
-
26:06 - 26:09is that we are stuck with this crap for now.
-
26:09 - 26:12And despite all this stuff, we make amazing things.
-
26:13 - 26:17It's way harder than it should be though.
-
26:17 - 26:19Because in the back of our heads, at least in the back of my head,
-
26:20 - 26:27there is this little voice constantly whispering: "bullshit, bullshit"
-
26:28 - 26:29Lot people have that voice.
-
26:29 - 26:33Every time you're coding and you get this bizarre ass fuck JS there, cause the scope is global...
-
26:37 - 26:39All of you are liars...
-
26:41 - 26:44That is fucking annoying.
-
26:44 - 26:49So the way to invent the future, you have to nurture this "bullshit voice".
-
26:49 - 26:51Anyone knows the joke?
-
26:51 - 26:54What politicians and football coaches have in common?
-
26:55 - 27:00They have to be smart enough to play a game, but stupid enough to care.
-
27:01 - 27:06So, it's the same kind of thing: you have to be smart enough to be able to build this crap
-
27:06 - 27:11and sort of stupid enough, like you have to make yourself dumb, to kind of let go - well, ignore it
-
27:11 - 27:13But you should always be remembering, in the back of your head:
-
27:13 - 27:15this could be better, this could be better, this could be better,
-
27:15 - 27:17how can I do this better, how can I do this better...
-
27:17 - 27:21And not do this better by layering more stuff on to it.
-
27:21 - 27:24But do this better like: why am I having to write all this code to make this work?
-
27:24 - 27:27What if I just went down to the source and just fix it?
-
27:28 - 27:34And then basically you want to imagine the world with different bullshit.
-
27:36 - 27:46Thank you!
-
27:46 - 27:48So, how much time do I have?
-
27:49 - 27:51Yeah, yeah, I think I was pretty good on that.
-
27:52 - 27:57So, I promissed I was gonna go with T-shirts, and I finally gotten sleep
-
27:57 - 28:01despite the bluring sun in my eyes and I forget to bring them.
-
28:01 - 28:08So, at lunch time, when we go to lunch break, I'll be passing out the t-shirts.
-
28:09 - 28:16It's about 4 or 5. So that means you can't take off if you wanna get t-shirts.
-
28:16 - 28:19So, this is a lie. I apolozige
-
28:20 - 28:22Tons of questions. Ask me anything.
-
28:22 - 28:27First of all, really quick question for all of you: how many people like the presentation?
-
28:28 - 28:30Ok, good.
-
28:30 - 28:33And then, how many people think: well, I am just full of shit?
-
28:34 - 28:40I agree. This is the thing, when you are coming up with ideas.
-
28:41 - 28:49How many people think the idea that OOP will die and that we will create... that part is bullshit?
-
28:49 - 28:56How many people think HTML being crap, how many people think that is bullshit?
-
28:56 - 28:59So, that's what I'm talking about: everyone knows!!
-
29:00 - 29:05But you guys are walking around and doing your things, like: "oh, this is real great!"
-
29:08 - 29:14Ok. So, let's do questions! Anything, you can ask me anything.
-
29:15 - 29:20Nothing...
-
29:22 - 29:30Q: Well, you are saying that you would like to restart the web, essentially.
-
29:30 - 29:34But, how likely do you think it's that will happen?
-
29:34 - 29:37Oh, I already said: it is very unlikely.
-
29:37 - 29:43This is the thing - you always see this in technology movements, society, governments, everything.
-
29:43 - 29:48The players never give up. They keep doing what they were doing.
-
29:48 - 29:51And what happens is it's only when someone new come along,
-
29:51 - 29:54basically barbarian coming destroy the city
-
29:54 - 29:55and they build a better city!
-
29:55 - 29:59So, what happens is, part of what I try to do is
-
29:59 - 30:02I try to convice people that they don't have to put up with that crap
-
30:02 - 30:04and they can start making something else.
-
30:04 - 30:09Cause as a technologist, is your job to sort of like invision the future that could be better.
-
30:09 - 30:17And yes, is gonna be a revolutaion. It's basically what the web did to desktop in a lot of ways.
-
30:17 - 30:21Q: One more thing, because the problem, of course with the web in that sense,
-
30:21 - 30:26is that is not some central authority that's the master of everything.
-
30:26 - 30:31The content actually in a sense belongs to the users.
-
30:31 - 30:37So, there is a lot of legacy content that have to be migrated to this new web,
-
30:37 - 30:44so we are actually standing in our own way, we are preventing ourselves from reinventing the web.
-
30:44 - 30:47That's really true, but I think the HTML and the web and all that stuff in content
-
30:47 - 30:52is probably one of the most convertable content formats we've ever had.
-
30:52 - 30:56I think that's the one thing. Like, right now I could convert. Have you ever seen Paddock?
-
30:56 - 30:58That's an example.
-
30:58 - 31:01I had someone helping me with the book and they wrote some weird ass thing.
-
31:01 - 31:04I just used Paddock to convert it to what I needed it.
-
31:04 - 31:10But, you are right. This is why there is just so much network effect, there is just so much...
-
31:10 - 31:12But, it builds on it, it builds on it...
-
31:12 - 31:15And people like keep making stuff, making stuff, making stuff, making stuff...
-
31:15 - 31:17and eventually, one of you goes: "what the fuck?!"
-
31:17 - 31:20And you make something better and just start wipping all that out.
-
31:20 - 31:27And if you ever notice that the people who love the new thing, always think is the future,
-
31:27 - 31:30and the people who like the old thing, always think that's defeat.
-
31:30 - 31:34So, the ones to look out for are not when that happens.
-
31:34 - 31:37The ones to look up for are where
-
31:37 - 31:41the new technology comes out and you just don't remember the old technology.
-
31:41 - 31:45Like how many people dialed in the bulletin board system with Dialog?
-
31:45 - 31:52Do you really remember it? Like I remember I was dialing the bulletin board and the web came out.
-
31:52 - 31:55Now I'm like: oh yeah, bulletin boards.
-
31:55 - 31:58That's the technology!
-
31:58 - 32:01Like cars! Have you ever talked to people who are old
-
32:01 - 32:03and they remember not having cars and then the cars came out?
-
32:03 - 32:06And they have to dredge up their memory what it was like before cars.
-
32:07 - 32:09That's the technology to look for it.
-
32:09 - 32:12The one that comes out and for whatever reason everyone is just like: "this is awesome"
-
32:12 - 32:14and they just forget about the other one.
-
32:14 - 32:18Not the ones that there is boards. Those are just minor changes.
-
32:18 - 32:20Did I answer your question?
-
32:20 - 32:22Q: Yes, thanks.
-
32:22 - 32:24Any other questions?
-
32:24 - 32:33How about questions about the way I am doing my books? Nothing? Ok. Cool.
-
32:37 - 32:41OK. Well. Thank you.
- Title:
- Zed A. Shaw - The Web Will Die When OOP Dies
- Description:
-
Esse vídeo foi filmado durante a conferência "The Web Rebels" (Os Rebeldes da Web), que ocorreu em 24 e 25 de Maio de 2012 em Oslo, Noruega. É uma conferência sem fins lucrativos para todos que amam aplicações e serviços de programação, utilizando tecnologia web.
Nos siga:
http://webrebels.org | https://twitter.com/#!/web_rebels | http://lanyrd.com/2012/webrebelsWeb Rebels 2012 não teria sido possível sem nossos patrocinadores:
http://www.apdm.no | http://www.finn.no | http://arktekk.no | http://www.bekk.no | http://www.kodemaker.no | http://www.skalar.no | http://www.nokia.com | http://www.programutvikling.no | http://www.webstep.no | http://www.microsoft.com | http://www.opera.com | http://www.iterate.no | http://www.knowit.no | http://www.daldata.no | http://www.kantega.no | http://www.rim.com - Video Language:
- English
- Team:
- Captions Requested
remram edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
remram edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
remram edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
remram edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
Vivian Polikar edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
Vivian Polikar edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
Vivian Polikar edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer | ||
Vivian Polikar edited English subtitles for Zed A. Shaw - A Web Morrerá Quando OOP Morrer |