Tim Berners-Lee: Developers Are Doing “Incredible Things”

This week at the World Economic Forum, Sir Tim Berners-Lee, most widely known for his invention of the World Wide Web, gave a talk ranging from topics such as social networking all the way to HTML5. Berners-Lee made a few points that are especially relevant to developers, including the need to code and why we need to enable more logical thinking education in schools in order to raise up the next generation of developers.

Who is Tim Berners-Lee?

Tim Berners-Lee is best known as the creator of the World Wide Web, having originated the idea of sharing and organizing information from any computer system in any geographical location by using a system of hyperlinks, i.e., simple textual connections that "link" one piece of content to the next, and Hypertext Transfer Protocol (HTTP), a way that computers could receive and retrieve Web pages. To supplement this revolutionary idea, Berners-Lee also created HTML (Hypertext Markup Language), the standard framework behind most every Web page, as well as URLs (Uniform Resource Locator) system that give every Web page its unique location/designation.

Berners-Lee got his start at CERN, and while there, grew increasingly frustrated with how information was being shared and organized. Every computer at CERN stored different information which required unique log-ins to that machine, and access was somewhat frustrating. This state of affairs inspired Berners-Lee to come up with a simple proposal for information management, which eventually came to be known as the World Wide Web. According to the official Tim Berners-Lee FAQ, the phrase "World Wide Web" was chosen not only for its alliterative quality, but also because it best described the Web's global, decentralized format (i.e., a web).

You can find Sir Tim Berners-Lee nowadays in his work as the Founder and Director of the World Wide Web Consortium, an organization aimed at developing workable Web standards. He also works as the director of the World Wide Web Foundation, is a co-director of the Web Science Trust, and is a professor at the University of Southampton's Computer Science Department. A more detailed look at all of Tim Berners-Lee's most recent involvements and awards can be found at his official biography page.

The World Economic Forum talk

In the last week of January, Tim Berners-Lee gave a talk to the World Economic Forum intended to address the problems inherent with the state of social networking as we know it today. While that is certainly an important topic, he also shared his thoughts on the state of development today, along with his thoughts on how coders are important change agents.

Users

One of the potentially controversial moments in this WEF talk was this: the idea that users should have full administrative access to apps on their devices; i.e., root access:

"The right to have root on your machine is the right to store things which operate on your behalf," he said.

Would this introduce a possible security risk? Yes, but it’s worth moving forward with anyway:

"In the situation that we have apps working on someone else's behalf, then we need to work on the security models. The JavaScript security models, the containment of cross-site access, are the best we can do at the moment...If you've got ideas about how we can make it more manageable and more powerful...I'd like to hear."

Cross-platform development

One of the most pressing problems for developers these days is that of having to develop separate apps for separate platforms. Instead of making one app and porting it to several different platforms, precious resources have to be dedicated to the same app developed several different ways. Tim Berners-Lee believes that having to write native applications for every platform out there makes for unnecessary duplication and time-wasting – it’s “boring for developers” to have to write and test the same code for different devices and platforms.

Apps, HTML5, and the connected Web

Apps as we know them today are not part of the Web; they provide doorways into the Web, but they’re not part of it:

"There's no URL in the top bar, so I can't bookmark it. I can't tweet it. I can't like it. I can't dislike it. It's not part of the discourse," Berners-Lee said.

To solve the problem of cross-platform development and open standards, Berners-Lee points to HTML5, citing the Financial Times’ mobile app as a particularly good example of how this could work:

"Once you load the page, it pulls in all the pages of today's paper and sticks them on your device...just as though you're running an app," he said.

"Use the fact that, more and more, you can do [in HTML5] the things that a native app can do."

Teaching people to code

One of the things that Berners-Lee seemed the most passionate about in his talk was his belief that all students should be exposed to coding; hands-on lessons that will help raise up another generation of coders and logical thinkers. Right now, there is a shortage of competent developers and the education system could help mitigate this growing problem.

An education grounded in programming and logical thinking principles could also serve to help people to see that the computer is not just another box performing a fixed task, like a microwave or a refrigerator; instead, it’s something that will do anything its owner programs it to do:

"...understanding the philosophy and the mathematics of computing and learning to really build stuff, it is very different from the IT class and I think that making that distinction very clear and maybe early on in schools is very important."

In Berners-Lee opinion, all students should be given hands-on experience in coding, not only so we can begin to address the shortage of qualified developers, but also so people can start gaining a better understanding of what the computer can actually accomplish, potentially sparking even more progress and futuristic developments:

"I'm not talking about a course to tell them what buttons to press, “he said. “To be a hacker — when I use the term — is somebody who is creative and does wonderful things,” Berners-Lee added. “We need more coders; we need more people who understand how to put data online.”

Two kinds of digital divides

Most of us are familiar with the term “digital divide”; this usually refers to the divide between those who are connected to the Internet and those who are not. Berners-Lee speaks to another kind of digital divide: the one between those who know how to code and those who have run of the mill computing skills, like word processing:

“There's two digital divides,” he said. “Only a quarter of the planet actually uses the web. Then within this quarter, there's a fairly small set of people who code. They have the ability to make a computer do whatever you can imagine.” The rest, however, treat a computer more like a refrigerator, he argued. “When it breaks, they shout, ‘Mum!’

 

When you don’t know how much your computer can do – you don’t know the code behind what you’re using – that you are potentially at the mercy of “"a bunch of companies who would love to be able to lock it down, so you can only run the applications that they allow; the ones you can get from their app-store,". The general tendency is if something stops working, for whatever reason, to just replace the whole thing rather than investigating if it can be fixed via software or a little bit of tinkering under the hood:

Developers are “people who do incredible things”

Hearing from a visionary such as Tim Berners-Lee on the current state of coding and where it could potentially go is absolutely fascinating, especially with statements like this:

"When you're told how to program a computer, you're taking a leap into an area, joining a group of people who do incredible things."

Developers are definitely doing some “incredible things”, in fact; here are just a few of the amazing projects we’ve seen coders up to lately:

What’s something incredible you’re doing right now, or that you’ve seen a fellow coder up to? Let us know in the comments section below.

 

 

 

 

 

 

Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.