Computing Musings: academia Bjarne Stroustrup industry programming software accreditation software development university
by Rob
2 comments
Why indeed? Stroustrup, new developers and accreditation.
In software development there’s not many times that you can disagree with Bjarne Stroustrup but I’m not sure I agree with his article “What Should We Teach New Software Developers? Why?”
I agree that the teaching in Universities isn’t aimed at industry enough and that some things just aren’t taught enough, well emphasized enough perhaps. At university I was taught Java in what seems to me now an awful way, teaching procedural programming in the Java language is just not sane - especially to extend it four weeks later to full OO and expect everyone to start writing properly structured programs. Code style was never taught, and efficiency wasn’t top of anyone’s priorities. It was all geared to getting the job done - a typical attitude in research.
However I consider myself a reasonable developer, I can write tidy efficient code - even in c++ - so I must have learnt it somewhere, which must be either in my own time or work (I think both have played their part) and it wouldn’t take much to add it to the material covered in the programming courses. However teaching things like Unit testing, effective code review technique and build systems just won’t happen at university, these things have to be learnt on the job, no one is going to take the unit testing course if they can pick robotics are they?
As for his suggestion that there should be some form of accreditation for Software engineers, well he can sit in his tower saying all of that but some of us struggle to make it through University financially - having to take a whole set of accreditation exams after that would exclude many people - me included - from entering the profession. That’s in addition to the extra time that this would require, you’d effectively be making people choose between a research career or a professional one as those that do Masters/Research qualifications would then have to get another accreditation before they can start practising professionally.
What would an accreditation scheme do for the profession anyway? Well I think that software engineering is one of the most innovative jobs out there and a formal qualification structure would halt that in it’s tracks. Every accredited engineer would have to follow a strict set of guidelines that would be agreed on by committees that people like Bjarne Stroustrup would sit on and if they strayed from this they would be struck off. Yes it would mean we inside the circle could earn more money but isn’t this why we all hate lawyers? How many start-ups would employ chartered software developers I wonder?
Maybe I missed his point.
Good Hunting
Is the scourge of developers finally on the way out?
Google announced over the weekend that it’s going to stop supporting IE6 in some of it’s web applications. I bet many developers are hoping that this message will finally get through to those *still* using it that there is better technology out there and the should upgrade.
I know that the majority of these users are probably corperate users where they don’t have a choice but if the figures of 20% are still true that is a lot of ancient browsers out there that cause almighty headaches for anyone developing websites now days. Personally as most of the people who visit this site use firefox >46% and I’ve only had 2 visits with IE6 I don’t do anything special but I know that it’s important for proper sites to keep supporting it while people keep visiting them with it.
Imagine the amount of development effort and money that could have been saved if everyone had upgraded two years ago… Come on people give it up!
Good Hunting
Boost Documentation
Now I like the boost libraries, they let you do almost anything in C++ and make most things an order of magnitude easier, iff you know how the library works.
void rant() {
Some libraries have brilliant documentation but most provide just the wrong level of detail. Enough information to know that you’re almost doing it right but it still won’t compile and/or it segs in the most obscure way. The Interprocess library is my latest target - it has a lot of examples and a lot of hints and seemingly lots of functionality, I’m not saying that I want the authors to leave a breadcrumb trail for every possible way of using the library but if you’re going to give examples, explain them properly! And tell me what the functions do on the same pages that you talk about them. Tell me how memory mapped files differ from shared memory, it doesn’t have to be overly simple - I’m using boost, I probably know what I’m doing!
I’m not even going to mention the python docs (though they have improved massively in the last few versions).
}
Good Hunting
Computing Work: Semantic Web True Knowledge Web Wolfram Alpha Work
by Rob
2 comments
Wolfram Alpha
A while ago wolfram research announced that they were developing Wolfram Alpha, a computational knowledge engine that could answer questions on the internet. As this is exactly what we do at True Knowledge we were quite interested in how this all worked and how well it worked. Wolframs knowledge engine is written in mathmatica, a language that was developed at wolfram research whereas True Knowledge are using more standard languages, our core knowledge engine is written in C++ and runs on reletively tame comodity hardware whereas wolfram uses some serious kit - as can be seen on YouTube.
Wolfram Alpha has been getting a lot of publicity recently - helped in part due to its founder Stephen Wolfram - and most of it has been encouraging for them and the space in general. Their lauch on Friday was hit with a few snags but they seem to have got the system up and running - well I’ve been able to give it a try anyway. From my experience it seems to be pretty good at factual based questions such as how old/what is but it hasn’t been able to ask any questions that involve an extra step of reasoning over working out what was in the question - apart from obvious cases. That happens to be one of the very things that the True Knowledge system is very good at for example try the ‘Who was prime minister when micheal schumacher was a teenager’ question that I had in my True Knowledge API lauch post, the wolfram page for that is still spinning three minutes later. When they do give a response it does tend to have lots of information about the answer rather than a simple answer though. For example try ‘Halstead uk’, you get the population, weather information etc…
One of the main differences is the fact that you can’t add information or knowledge to Wolfram, True Knowledge builds on user generated content, much like wikipedia, this means that when it can’t answer but does understand, it can let you add the required information and then the question can be answered, whoever asks.
Give them both a try and see what you think!
Good Hunting
True Knowledge goes live with its API
True Knowledge unveiled its API last week to anyone who wants to try it out. This means that anybody out there wanting to ask general questions of the web and get direct answers is in luck. The release got a reasonable amount of coverage in the so called ‘blogosphere’ with articles on GigaOm, webworker, ZDNet and Venture Beat which was good for us as almost all the coverage was positive. Recently with the speculation surrounding wolfram alpha we’ve been getting a bit more interest in the area that we’re working in which is also good news for us.
I’ve been working at True Knowledge for 15 months now and we’ve moved the product forward in many different ways but this is quite a milestone as it means we’re open to the public and we’re starting to get real usage through our public API. We still have a lot of work before us but we’re getting there! We’re all hard at work still on the system amongst other things we’re trying to make it faster and improve the APIs capabilities at the same time. True Knowledge is also still one of the few companies out there in the UK still hiring at the moment so if you’re interested get over to the jobs page. At True Knowledge I work on the C++ backend which actually does the knowledge processing, this is the heart of the technology and our team is working hard on parallelisation and scaling at the moment to make the system even faster. We’ve got loads of ideas of how to make the technology better and we’re trying to find the time to get them all done - if you’ve got any ideas of ways to make the system better then get in touch with the True Knowledge community, there’s the forums on the main site at www.trueknowledge.com along with blogs and a facebook group, there’s even a twitter feed if you’re into that so there’s no excuse.
As an example of the types of questions that you can ask of True Knowledge - try these out
Who was prime minister when Micheal Schumacher was a teenager?
Is Fernando Alonso older than Rob Stacey?
To help people out I’ve written a wordpress widget that can be added to any wordpress blog (the current version can be seen on this page) it lets your users ask true knowledge questions. It’s only at version 0.2 at the moment but hopefully I can improve it over the next few weeks, comments welcome!
Good Hunting