Slashdot Mirror


Colossus Cipher Challenge Winner On Ada

An anonymous reader writes "Colossus Cipher Challenge winner Joachim Schueth talks about why he settled on Ada as his language of choice to unravel a code transmitted from the Heinz Nixdorf Museum in Germany, from a Lorenz SZ42 Cipher machine (used by the German High Command to relay secret messages during the World War II). 'Ada allowed me to concisely express the algorithms I wanted to implement.'"

13 of 168 comments (clear)

  1. Comparison with Allies cypher machine by Anonymous Coward · · Score: 3, Interesting

    I wonder how easy it would be to break the Allies corresponding machine, the SIGABA (http://www.quadibloc.com/crypto/ro0205.htm). It was stated that during WWII, the Lorenz machine was broken, but the SIGABA wasn't. Of course, given 60 years of computer improvements, it might be possible to break the SIGABA, now.

  2. Type Casting by hroo772 · · Score: 3, Interesting

    For those that know the differences in Ada, its a very strongly typed language which makes it harder for a beginning programmer to pickup. It doesn't allow for type conversion and pretty much enforces strict coding rules. It would make sense that he used this since he would have complete control over what his code did exactly. This wouldn't be the case with java or other languages which allow type conversions easily, which is nice for alot of people, but can definitely lead to issues when not accounted for.

    1. Re:Type Casting by Anonymous Coward · · Score: 1, Interesting

      I disagree with the difficulty statement. Of all the languages I studied over the course of my computer science education Ada was by far the most straight foreward (as compared to Fortran [fucking columbs] and C/C++ and all the type casting) the only other language which might be somewhat comparable in ease of picking would be Lisp (fucking braces). Sure Ada might not lend itself to as much trickeration, but I'm not necessarily of the opinion that is a failing. Every Ada program I ever compiled performed perfectly within normal limits of my I guess Algebra. C? Oh hahaha. No, not so much.

      With Ada I found you either understood the problem at hand well enough to express it program logic or not. C invites one to make certain kinds of assumptions which might get your there, but might not always be reliable. But that's just my personal experience.

  3. ADA Resurgence? by Arakageeta · · Score: 5, Interesting

    Has anyone else started to notice an ADA resurgence? I feel like several years ago the general feeling was "ADA is a backwards language used only on old military projects." Now I read a positive story about ADA every few weeks! Was ADA 2005 that good of a language revision?

    1. Re:ADA Resurgence? by Anonymous Coward · · Score: 3, Interesting

      Ada was considered too complex. By now C++ is orders of magnitudes more complex and still does not do half the things (Ada has had a sane integrated threading model that could be used for message passing constructs, namely actual OO programming techniques, pretty much from the start).

      C++ templates, for example, are just a ripoff of Ada's generics _including_ the Ada angle bracket constraint notation which does not fit at all into C.

      Basically it is like the Unix renaissance after Windows tried to offer everything Unix does, except doing it all wrong and contorted and only borderline operative.

  4. Compiler price.. by renoX · · Score: 5, Interesting

    I think that the main reason why Ada has 'lost' to C++ is that some time ago, C++ compiler were either cheap or free whereas Ada compiler were expensive.

    Too bad since Ada is 'by default' a language which is more secure than C++..

  5. hmm. by apodyopsis · · Score: 3, Interesting

    I often wondered at the time if this was a fair test?

    I mean the german fellow was near teh transmitting station and got a very good signal and started right away.

    Bletchley Park on the other hand, because of the atmospheric conditions did not get a signal until late in the day and started late. On the other hand the german SW took only 46 seconds.

    I'm not saying that the german fellow should not of won, he did fair and square - but there seemed to be no mention in much of the news at the time of the receiver issues.

    On the plus side, it was excellent publicity for the park and colossus. If only Churchill had not ordered then scrapped then Britain could of led the technological era.

  6. other factors often dominate language choice by _|()|\| · · Score: 4, Interesting

    Like the author of the article, I have a tendency to dabble with a variety of programming languages. I haven't used Ada seriously, but I am intrigued by it, especially in contrast to the looser languages that are currently popular. A lot of bytes have been spilled on the topic of static and dynamic typing, bondage & discipline vs. unit testing, etc. While these discussions often devolve to religious wars, I do think that language matters. Never mind Sapir-Whorf or Turing, some languages are simply more or less pleasurable or powerful for certain tasks.

    That said, often the language itself is not the dominant factor in choosing the language. As nice as (Ada | Erlang | Haskell | Lisp | Ruby) is, it's not going to be my first choice if another language has a readily available library that will make it easier to write the program. I can write web applications in Lisp, but I probably won't. There is probably a parser generator for Ada, but I'd rather use Flex and Bison, or maybe ANTLR. And when it comes to my first choice, independent of problem domain, I'll usually pick Python, in part because of its extensive library.

  7. Horses for courses by Viol8 · · Score: 4, Interesting

    Its not really surprising that he found ADA nicer to use than C for this sort of project because its not the sort of thing C was created for. People seem to think that C was designed as an all purpose programming language - it wasn't. It was specifically designed as a systems programming language that could substitute for assembler 99% of the time. Its abilities lie in low level manupulation of memory and I/O , not in high level mathematics algorithms (though obviously it can do this too).

    Then of course C++ came along which wanted to have its cake and eat it and the end result was a nasty mishmash of low and high level constructs which is difficult to learn , unintuitive and generally messy to use.

  8. HDL by Anonymous Coward · · Score: 2, Interesting

    I've used both verilog (C based) and VHDL (ADA based) and the latter wins hands down for being maintainable and easy to debug. Nobody had to write a LINT checker for VHDL like they did for verilog. I totally believe this guy.

  9. Churchill didn't order it scrapped... by Anonymous Coward · · Score: 2, Interesting

    He (and his successor, Attlee) kept it classified. Then, during decolonization, they gave lots of captured Enigma machines to former colonies to allow them to keep their communications secure -- and allow the former colonial power to keep an eye on things :)

  10. I wonder ... by kst · · Score: 2, Interesting

    I can't help wondering how many of the people making snide comments about Ada (note: not ADA; it's not an acronym) have actually used it.

  11. Re:Programmer not langauge. by Lodragandraoidh · · Score: 2, Interesting

    If I could type 90 wpm and never make a mistake, I'd be using Ada or Fortran today.

    I can't, so I don't.

    For me it is how fast I can produce what the customer/user desires that matters - and more importantly, how fast I can change it - so I use Python - with the option (as yet unneeded) to build C/C++ modules for that language for slow bits. If a bug pops out of my code, I can easily squash it; more difficult with a compiled language.

    YMMV

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain