“At the first annual charity event conducted by Puget Sound Programming Python on April 2, four legendary language creators came together to discuss the past and future of language design,” reports PacktPub.
– Guido van Rossum, the creator of Python
– James Gosling, the founder, and lead designer behind the Java programming language
– Anders Hejlsberg, the original author of Turbo Pascal who has also worked on the development of C# and TypeScript
– Larry Wall, the creator of Perl
You can watch the video here — the speaker introductions start about 50 minutes into the video– or read PacktPub’s summary of the event:
Guido van Rossum said designing a programming language is very similar to the way JK Rowling writes her books, the Harry Potter series… He says JK Rowling is a genius in the way that some details that she mentioned in her first Harry Potter book ended up playing an important plot point in part six and seven… When designing a language we start with committing to certain details like the keywords we want to use, the style of coding we want to follow, etc. But, whatever we decide on we are stuck with them and in the future, we need to find new ways to use those details, just like Rowling…
When James Gosling was asked how Java came into existence and what were the design principles he abided by, he simply said, “it didn’t come out of like a personal passion project or something. It was actually from trying to build a prototype…. It started out as kind of doing better C and then it got out of control that the rest of the project really ended up just providing the context.” In the end, the only thing out of that project survived was Java…
Larry Wall wanted to create a language that was more like a natural language. Explaining through an example, he said, “Instead of putting people in a university campus and deciding where they go we’re just gonna see where people want to walk and then put shortcuts in all those places.” A basic principle behind creating Perl was to provide APIs to everything. It was aimed to be both a good text processing language linguistically but also a glue language….
Similar to the views of Guido van Rossum, Anders Hejlsberg adds that any decision that you make when designing a language you have to live with it. When designing a language you need to be very careful about reasoning over what “not” to introduce in the language.
Guido van Rossum acknowledged that TypeScript “is actually incredibly useful and so we’re adding a very similar idea to Python. We are adding it in a slightly different way because we have a different context…. I’ve learned a painful lesson, that for small programs dynamic typing is great. For large programs, you have to have a more disciplined approach. And it helps if the language actually gives you that discipline, rather than telling you, ‘Well, you can do whatever you want.'”
In the video Larry Wall says the Perl 6 team had also noticed the limitations of loose typing, and added a robust type system to Perl 6 to “help with programming in the large.”
This was the first annual benefit for CSforALL, a group promoting high-quality computer science classes at every grade level.
Read more of this story at Slashdot.
Source: Slashdot – Historic ‘Summit’ with the Creators of Python, Java, TypeScript, and Perl