Matthew Huntbach takes a long hard look at the coolest language on the planet and is distinctly under impressed by what he sees…
Friday 16 March 2007
by Matthew Huntbach
Tim Sweeney’s talk The Next Mainstream Programming Language (PowerPoint PPT) is in many ways an antidote to the recent Ruby hype. Tim calls for the use of stronger types to ensure program reliability. He praises the academically-developed Haskell functional programming language. He raises concurrency as a feature which must be tackled in the next big programming language, using a better model than the shared state with threads and mutual exclusion devices used by Java - and by Ruby - (...)
Firstly, this was way to wordy for the content imparted.
This could almost be a poster child for the adage those that do , do and those that can’t teach! 18 years in academia, please come into the trenches, watch your fellow devs step on land mines and try and avoid getting shot in the back by the officers. It’s great fun! In the midst of all this chaos try and write software. When you’ve done that then retreat to your ivory tower to contemplate.
’They have given the impression of being thrown together to meet a need without any strong underlying theoretical basis. This is, however, not entirely fair...’ It is entirely fair, it is why they are successful. The first rule of any language is that it must accomplish it’s task, languages written by devs for devs usually do this well.
Java is the COBOLof the 90s. We’ve done that it sorta works if you have really good management and blub programmers. It is designed to bring all devs to a common level of incompetence.
C++ became dominant thanks to the Microsoft libraries. No other reason.
’I was put off more by the many cutesy introductory tutorials I encountered when trying to get into it. ’ Then don’t read the cutesy tutorials, read something else. It’s a bit like saying that scheme would be great if it wasn’t for the little schemer etc.
I guess your dev training is somewhat different from the C/C++/Java syntax that most devs are used to. Ruby is a simple language to pick up with that sort of background.
The + sign is concatenation, as well as addition.
’My take on some of its "clever" or "elegant" features is "how could I teach this to a bunch of first year undergraduates?". I know from experience, it would be painful.’ If these are compusci under grads then you might as well teach them brick laying. Programming is not about language but abstractions. If you’re having to explain syntax then your wasting your and their time.
Most novices are just that, novices, they do not know how to think in programing terms. 1st year under grads who cannot already program should not be accepted. They need to be given HTDP and packed off for a year.
’But who really uses a variable or argument without some idea of its type? I see types as useful language-supported comments, a guide to clear thinking.’ Duck typing/late binding is the way to go if you want to write reusable code. Gto mis-quote ’Give me your poor and dis-enfranchised and I shall make use of them’ When I write a system I’m not sure of all the paths my users will take. As developer of libraries I do not want to hand cuff my users. Sure pass me any old object as long as it has the methods I need, I’ll use it.
Debugging code in a few years! How about debugging code now! It’s possible to write fortran in any language.
What’s the difference between scripting and other languages? You seem to place certain langugaes in the scripting realm as tho this is a bad or wrong thing. Dev time is expensive, runtime is cheap.
The revolution in computing will ocme when we break free of that bastard von neuman and start to write truly scalable code. It won’t be in any imperative language. But until we have a machine with 64 processors for less than $1000 there will not be a pressing need. We’re all stuck in this mire the difference being some of us realize it’s shit and some of us think it’s and exclusive body lotion.
If you want to get a better understanding of what devs need, get off your academic butt and start writing code to deadlines set by market forces and projects managed by insecure psychopaths with users who have been sold utopia by salesmen with no soul.