Linus Torvalds, Visual Basic Fan (2006)
codinghorror.comImproved title I used it a few times. You could draw a frontend easily. You could glue together fairly high level components trivially. You could connect window/component/widget clicks and actions to code trivially. Want a thing that sits in the systray, scans a directory for new files, reads lines out of them and spews them out somewhere over the network? Easy. Make a test frontend that calls a bunch of scripts and dumps the results in a grid? Done. It had a bad rep because in a lot of ways it felt like a toy, and because a lot of bad software was written in it by people that didn't really know what they were doing. OTOH that also made it a really accessible first step for some folks. In many ways, Rails is the new VB. A little hyperbolic, perhaps, but I see a similar mindset when people ignore the language Ruby and live only in the world of Rails, eventually leading to shitty code. It doesn't necessarily lead to shitty code. There, it is a question of how good he is a _race car driving_. (For those that don't want to click the link: (turing-unaware) race car drivers are programmers that know a single high-level technology very well, but are unaware of the things that the technology is based on. Somehow like Formula 1-drivers.) https://sites.google.com/site/steveyegge2/age-racecar-driver Interesting link: David Hansson, creator of Rails, is also a professional race car driver. It was an amazing first step into the world of programming for me. Me too!!! Agreed it wasn't the greatest language - but man, you could build standard Windows UI with drag and drop! Wow, a postcard from the past for me. Mirror of the original full interview: http://web.archive.org/web/20080325033938/http://www.stifflo... Another copy here: http://www.dodgycoder.net/2012/09/q-with-nine-great-programm... thanks (for the copy + the original). have to say, i am no great fan of gvr, but he doesn't come across as a jerk to me - strange interpretation from atwood. Well, his answers were quite laconic compared to the other guys, but on the other hand I just sent those guys a short email and they didn't know how it will be published and what other persons were interviewed, I just asked them politely to answer some questions, so I guess he didn't treat it too seriously. By the way, Richard Stallman in response to this email posted me a short lecture on how in English you only use "You" capitalized to refer to deities (I spelled it this way in the email because this is the custom in Poland when referring to the recipient in letters) but ignored the questions and further attempts to get those out of him. A guess: To the question "What do you think makes some programmers 10 or 100 times more productive than others?" Guido van Rossum answers "Genetic differet brain structure." (sic) Tim Bray answers "The surprising variability of the human mind." I think they're basically the same answer, but Tim Bray's is the very American politically correct "hooray to everybody!" version. Given that the title of the blog post refers to "great programmers", Guido's answer could be read as "my brain is super awesome and yours is not". Which, I bet, is not what he meant. The thing to remember as well is that GVR is Dutch. We Dutch tend to be rather direct and straightforward in speaking our opinion without sugar coating it. To some it comes across as being a jerk, when it isn't. There are entire blogs and forums that discuss this, one of the best known has to be this one: http://stuffdutchpeoplelike.com/2011/05/28/dutch-directness/ Dismissing the difference between those 2 answers as political correctness, while not completely inaccurate, misses a larger point imo. It almost seems to me there is a different attitude toward other people and the world contained in them. i dismiss the difference as culture. If you really directly translate 'the way people say things' to 'the way people think about others' then I doubt you've been much in contact with people from other cultures than your own. > "Tim Bray's is the very American ..." Tim Bray is Canadian. So? Making stuff easier for more people is tremendously important for programming languages. I hate - really hate - working with it, but I have to acknowledge that PHP has made a lot of things possible that otherwise might not have been because it made it much easier for people to start doing web stuff. In what you might loosely term the golden age of the Windows Desktop - lets say 1995 to 2005, - "custom business application", especially within a large company, was generally done on one of these platforms: For the company who is modernising their IT, perhaps "moving to the cloud", they have to replace a lot of the functionality that was built on these platforms (especially if the vendor doesn't support them any more, or wants to charge an unviable amount to do so). What is the modern web equivalent to the "drag and drop programming" paradigm for simple form applications? There are the scaffolding frameworks for proper programming languages (Rails, etc), but they just simplify the process, rather than allowing non-programmers people to design their forms, and then having a little bit of workflow which either they, or their technical colleagues, add on? Or these things an antique from a time before multiple front-ends were necessary, and when they were safely run on a trusted network alone, and there will never be a place for their return? CLIPPER applications running inside a MS-DOS virtual window, because workers still needed to access Office from their Windows 3.11 for Workgroups environment. Delphi and C++ Builder, the simplicity of VB for laying out forms, with the performance of native code. These still exist by the way. I think Oracle APEX would be a modern web equivalent. I think the title is a bit leading calling him a "fan" of VB. I have the exact same views as Linus in that it was a great language to learn programming than teaching OOP to beginners with silly real world examples (Cars, anyone?) I think what Linus wanted to highlight was that VB was a great environment to quickly get results in the real world, something which I think he highly regards. It might not be the most elegant language to program in but it had an incredible IDE, tons of prebuilt components and looked exactly as it was developed after it was deployed. VB did an incredible amount for the industry, and version 6 is still in use (as are versions of Delphi which I consider very comparable.) Simple interface building, easily comprehensible connections and events, along with an easy build/deployment process. I owned both and they definitely played a role in my personal evolution. And it was Visual Basic that turned me on to Linux. I purchased VB 1.0 for an app I had to build. I paid $120 for it which was a lot of money for me at the time. The app was right in the sweet spot for VB, but being a 1.0 it was unusable. VB 1.1 fixed all the bugs I needed, but they charged $60 for the upgrade. Charging $60 for bug fixes turned me into a Microsoft hater. The next semester I downloaded 386BSD and started my transition away from Microsoft. And yet no one is building another Visual Basic today anymore. Purely, In terms of ease of programming. We have't had single improvement since the days of VB6. Xojo (formerly REALbasic) fits the bill: http://xojo.com/ Another thing that Linus says is: > I have a soft spot for Andrew Tanenbaum’s "Operating Systems: Design and Implementation". I too liked VB6/VBA. Actually a really productive language and development environment. Joel Spolsky describes his part in designing the language: http://www.joelonsoftware.com/items/2006/06/16.html Hey, it is a good book. (And I don't think Tanenbaum/Linus have much problems with each others, anyway.) On the subject: The problem with tools like VB is that they are hard to grow up in; something which both support the first steps ("baby language") and serious development. Today Linus might argue that the scripting languages (Ruby, Perl, PHP, etc) fill this niche in the FOSS world. But with the web as GUI. Well, Tannenbaum actually talks about the development of Linux and how it relates to Minix on his other book on operating systems. Linus disagreed on the microkernel stuff of Minix and decided to build its on. So, he surely likes the Tannenbaum book on Minix, otherwise he would not have used it as a forking point. I was always jealous of the component catalogs of prebuilt VBX / OCX components. It was amazing how much functionality (aka solving the business problem) you could do by just getting a load of components and writing some glue code / UI. CPAN comes closest for me or the old NeXTSTEP object catalog, but VB was amazing for it. My first computer program was in VB. I picked up a book (forgot the name) to learn programming as a hobby.
This book had a project based approach to teach. Step by step it helped me write a tic-tac-toe program using Visual Basics.
It was easy, it was fun, it was hands on. It helped me quickly relate to basic programming constructs like conditional statements, loops and branching. It turned out not only a wise choice for someone who was experimenting with programming, but also a natural choice because, as soon as i looked at the books content and illustrations, i knew what i would be able to get out of this exercise and it seemed both interesting and achievable. VB was actually a pretty decent language (not as nice as Python, but better than, well, BASIC). We used it for doing quick user interfaces and "shell" applications for servers. It was well suited for this; you could use much of the Windows API surface, and VB could host DLLs for doing heavy lifting. Once you got over the "Ewww, I'm using VB" sensation and turned off the obvious brain damage (ON ERROR NEXT, for instance) it was fine. There have been many absolutely brain-dead and horrible languages in the world, but VB is not automatically one of them. Doesn't mean I'd use it today though. On Error Next is particularly nasty because somehow it behaves differently in the windows 8 runtime than the windows 7 runtime: some errors inside DLLs escalate into a runtime exception in win8 when they were trapped OK in win7. I wish I didn't know this. Would be nice to add (2006) to the title. Thanks, done. and yet VB hasn't really done much in over a decade. doing what VB did for desktop apps to web/mobile apps is a huge opportunity that nobody has managed to nail. Microsoft effectively killed VB with .NET and replaced it with an alternate syntax for C#. Being familiar with VB6 was more of a hindrance than a help to writing any code in VB.NET, and every VB program had to be ported. I thought Jeff was active again when I saw this :/ Jeff is active a little bit in blogging but not on codinghorror.com,
see http://blog.discourse.org/ From the mid 90's to ~2001 for windows development your alternative was complex windows frameworks like MFC, which took hundreds of lines of boilerplate code to get a simple app going. VB by comparison had a reasonable amount of speed, no boilerplate and could still call C/C++ libraries. I was very surprised and fairly dissapointed to see the comment about Guido: "Guido Van Rossum, for example, comes across as kind of a jerk." This was an unnecessary comment and having read the original interview I don't really agree with it either. It's interesting that Ruby was the name of VB before Microsoft bought it. I needed to track some IP addresses once. Visual Basic came in very useful. Appreciating a system for it's strengths is somewhat different to being a fan. Rather, I would say that using the right tool for the job denotes maturity and breadth of experience. Commas are relevant. Even in the English language. Yeah, have improved the title now. :) Oh no. Don't bring back that "Guido Van Rossum, for example, comes across as kind of a jerk" again! Sad Comment :/ I've seen several reactions like yours, but after reading the interview i've got to say it gave me the same feeling about Guido Van Rossum. Most of his answers are slightly-off one-liners, like he doesn't care about the interview at all.
Now I guess his main point is, like he says in its answer to the first question (which must have been swapped btw no?) : "Your questions are rather general and hard to answer. :-) I guess being able to cook an egg for breakfast is invaluable", which i would agree with.
So I wouldn't say that he is a jerk but compared with the good-will of the other interviewees, I see how he can come across as one. original link to the series of questions is dead.
(Your list may vary depending on where you are in the world, etc) - Excel
- Visual Basic
- Lotus Notes
- Microsoft Access
- Foxpro