Taking the Beat of Cadence
29 January, 2007
Gilad Bracha is a legend in Object Oriented Programming. He is the Co-Author of the Java Language Specification and one of the major contributors to Strongtalk which has just been released by Sun under an Open Source License.
Gilad is forming a team at Cadence and is raising eye brows with his latest hires. Eliot Miranda and Vassili Bykov recently left Cincom to join Gilad at Cadence . Eliot is well-known known as a Master of Smalltalk Development. Vassili Bykov was the lead tool builder of VisualWorks. We can’t help wondering about the team of Gilad, Eliot, and Vassili. I spoke with Gilad about Cadence, Smalltalk, and Open Source.
Ron: Gilad, thank you for taking the time to answer a few questions. I’m sure the question on everyone’s mind is what is Cadence up too? Can you share anything about what you are working on? Are you developing in Java, Smalltalk, Strongtalk or creating something new?
Gilad: Cadence develops tools for EDA – Electronic Design Automation. This is the stuff engineers use to design chips, boards etc. Almost every company developing electronics has some Cadence tools. I can’t say much about our project, except that it is very cool. The project brings together several issues that really interest me. There is a very strong element of language design. Domain specific languages are widely used in EDA. There’s an element of formal methods – EDA is probably the only area where formal methods are really used commercially in a big way. Finally, there are a lot of OO infrastructure issues. Altogether, I’m having a blast.
We’re using Squeak as our development environment at the moment. However, we are not bound to any particular environment or engine. If Strongtalk evolves to the point where it is stable enough, we might use it. Or we might use something else. We’re keeping our options open.
Ron: Can you share with us your feelings about Open Source development in general? I’m interested in your opinion of the future of Open Source, business adoption of Open Source Software and Business Models for Software Development Companies engaging in Open Source projects.
Gilad: Open source is a complex topic and I can’t begin to do it justice here. I favor open source licenses that allow for commercial use, as opposed to the fanatics who want to force everything to be free. I think open source and commercial software should, and necessarily will, continue to coexist.
The quality of a lot of open source work is a big concern. Squeak is a case in point. There are 5 ways to do everything, but none that are truly finished and polished. Documentation is negligible. So I get frustrated with it. However, I’m really glad it exists.
To solve these issues, we need a model where people do pay for software – not for the artifact, but for the service. Subscriptions, where you pay regularly and get bug fixes and new features as long as you pay. This could be coupled with backup, storage, network access etc. I think this will be a while coming, but software as a service is the future.
Ron: Smalltalk has a long history as you know very well. There are a lot of very talented people working with Smalltalk, as well as a number of companies that use Smalltalk. We have a number of very interesting projects written in Smalltalk like: Seaside, Croquet, Sophie, Scratch, and OLPC. Given your vast perspective can you give us your opinion of the future of Smalltalk? What changes, if any, are needed to help ensure its future?
Gilad: I think the Smalltalk community needs to be more focused on issues like security, modularity, deployment and integration with the outside world. The language itself may need to change to support that.
There needs to be a focus on providing valuable solutions. One needs to able to show people how to solve daily programming tasks that they care about. Frankly, there needs to be less focus on educating children. I mean, what does our society pay a teacher? You can see that it doesn’t value educating preschoolers – we just pay lip service to it. It’s a noble goal, but in the end if your language dies, you can’t educate anybody.
I think Avi Bryant’s work is exemplary of what should be done: things like Seaside and DabbleDB. We need lots more of that. Another example of a good way to move forward is Fscript. It needs to be easy to open a native window, or run a script that calls the OS, or drive a web application. Look how much traction Ruby has. There needs to be real source code – the file out format is a disgrace.
Ron: The release of Strongtalk is very exciting for many in the Smalltalk community. Will you be working with or supporting the Open Source development of Strongtalk?
Gilad: Does moral support count? I really hope Strongtalk takes off, but it will certainly take time. When it stabilizes, we may very well use it. An open source community is germinating around Strongtalk. David Griswold is coordinating the effort. I’m happy to answer questions about the type checker, the mirror system etc. But the urgent thing is to stabilize the VM. Alas, it’s hard to get people with the right expertise to work on that for free. There are people who want to learn about advanced VMs and are willing to take the time and effort to do so. So there will be a learning curve, and it will take longer than we’d like. However, ultimately the technology is too good to pass up.
Ron: Are you still forming a team at Cadence? How many more people are you looking to hire? Are you focused mostly on VM and internal language issues, or will you be taking on application development for Cadence? How is the team shaping up, are Eliot and Vassili happy?
Gilad: Yes, we are still looking for people – Smalltalkers or otherwise. At this stage, the project is mainly seeking application programmers. A familiarity with EDA, Modeling, Formal methods is a plus – but the main things we look for are really solid OO design skills, cleverness and above all, good taste. I may also have openings for language types if the right person comes along. We have a great team and I intend to keep it that way, so we are being extremely selective. Eliot and Vassili are terrific, and I think they have every reason to be happy. I know I am.
Gilad Bracha is a Distinguished Engineer at Cadence Design Systems. Previously, he was a Computational Theologist and Distinguished Engineer at Sun Microsystems. He is co-author of the Java Language Specification, and a researcher in the area of object-oriented programming languages. Prior to joining Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He received his B.Sc in Mathematics and Computer Science from Ben Gurion University in Israel and a Ph.D. in Computer Science from the University of Utah.
Ron Teitelbaum is a long time Smalltalk Programmer and is Currently President / Principal Software Engineer at US Medical Record Specialists