We are developing the social individualist meta-context for the future. From the very serious to the extremely frivolous... lets see what is on the mind of the Samizdata people.

Samizdata, derived from Samizdat /n. - a system of clandestine publication of banned literature in the USSR [Russ.,= self-publishing house]

Samizdata quote of the day

Mainly, I prefer to use Python

– Rob Fisher

60 comments to Samizdata quote of the day

  • I’ll stick with English…

  • Yeah, the choice really is that personal.

    Me? Ruby appeals.

  • I’m with Rob, for my projects just getting seriously underway.

    It is seriously high level (so reduced coding effort), with really good support for GUIs, lots of scientific and other library support and the ability to embed C++ (should compute-bound execution not be supported well enough by the libraries).

    It also runs under LINUX, MS Windows and Mac OS-X.

    Lastly, it’s free.

    Best regards

  • Z80 assembler, anyone?

  • Edward Turner

    Really best to stick to 8080 assembler and not complicate things, I think. The resulting code will run in more places.

  • Alasdair

    Ferranti Solidac Machine Code Rules ! (Mylar punched tape, anyone ?)

  • Midwesterner

    Well, Alasdair, I may be showing my age, but the last time I fed Mylar punched tape into a reader to bootstrap core, there were Hollerith cards with tires tracks on them in a cabinet nearby for when we needed to reload object code.

  • Speak Python? Sir, I am no parselmouth!

    In related matters, the first computer I programmed was the IBM 704. It had vacuum tubes. And since I’ve mainly done scientific computing, my first love is Fortran.

  • I could say ‘Pascal’, but I am not going to.

  • Dale Amon

    I’ve used it for some heavy duty aerodynamics code I worked on for some friends building a space plane :-)

  • Computers are wasted on the young…

  • Schrodinger's Dog

    Ellen,

    Vacuum tubes? You were lucky! The first computer I programmed ran on steam.

    Tell kids this today, and they don’t believe you …

  • Steam? We don’t need no stinking steam! What do you think donkeys are for?

  • 'Nuke' Gray

    Donkeys are for muling problems over, surely? Can we stop horsing around now, or will we make asses of ourselves?

  • Your regular readers include at least one Python core dev. I’ll be speaking at PyCon in Atlanta this year; feel free to send a contingent of Samizdats (Samizdatums?).

  • At this point in my computer science career, I have probably programmed in about 25 different languages, including everything from 6502 machine code to F#.

    Though Linux is the operating system which puts meat on my table, I have to say I prefer to develop in C# and the .NET framework. Happily, I use C# on both Linux and Windohs platforms.

    I never really ‘got’ Python for some reason, though it is ubiquitous in the free software world.

  • On second thought, let’s not go to Camelot. It’s a silly place.

    Oops, wrong Python…

  • At least I tried to stay cryptic in the mood of the original posting.

    8080 assembler? I once hand coded in binary a short 8080 program which was position independent and dynamically movable, which was quite a feet given that the 8080 was absolute addressing in pretty much all its instructions.

    Wrote scrabble in 6502 as well. The official version. Never could play it tho.

    Managed to compress a 27,000 word dictionary into less than 30k.

  • alecm

    Everyone who doesn’t get this, just think: occasionally I get non-geek people talking about SMTP and IMAP and even this Web thing, in the most casual of circumstances nowadays.

    Back when I did that 15 years previously, people just looked at me blankly.

    Roll on 2026.

  • Andrew Duffin

    Turbo Basic, anyone?

  • Sunfish

    I wrote a DOS .bat file once.

  • Couldn’t you wait a sec, officer?

  • For a longish range engagement I’d go Python before I’d reach for IRIS-T or Asraam (oph, er missus!). Obviously this is verging into the territory of Amraam but whatever!

    I am a (sim) gun-fighter. I prefer the slice of 30mm up close and personable.

  • “Turbo Basic, anyone?”

    I started with something called Mallard Basic. It came with one of Alan Sugar’s glorified typewriters. Oddly, the best computer game I ever wrote was done in that language. It was called “Beerwasp”. I still think it would be a hit today. You had to make the wasp drink the beer without drowning it. The more it drank, the more erratic its flight patterns were. Ah, them were the days.

  • I started with Atari BASIC – which is interestingly still easier than C++ in a lot of ways. I use Python to prototype and then translate into C++ for production code.

  • My magnum opus was a ZX81 version of Scramble, in “100% Machine Code!” as was the catchphrase in those days. Well, the first wave of Scramble anyway.

    Ah, the thrill of shooting down those waves of letter As as they rose from the gray block landscape. We won’t see days like them again.

  • Bod

    Ah, the joys of programming ZX81s in Z80 Assembler, where the only reasonable way of learning the language was Rodney Zaks’ ‘Programming the Z80′.

    Rod was a genius though. He brought out one of those books for every processor extant (and there were lots of them) – or so it seemed – and he must have written every bool with a chapter template and a clever search-and-replace algoritm, because I swear, those books seemed to be almost identical.

  • This all started as a conversation over beer about why I originally bought an Android phone instead of an iPhone, back when Android was brand new and nowhere near as slick as it is now. Which is that if I am going to spend time developing apps, I’d rather do it on an open platform than a closed one, as I don’t like solving the same problem more than once. However I don’t enjoy Java programming as much as I enjoy Python programming, but it is at least vastly more fun than C programming (which I have to do all day at work).

    Still Python is my first choice for everything unless there is something stopping me. Maybe it is even possible on Android.

    Why? Largely because Python is goes much farther down the road of taking care of the problems that computers are good at, leaving only the problems computers are not good at and humans are, than other languages.

    And, for some reason that I can’t quite put my finger on, this experience is very common in Python:

    But the size of this code isn’t the real shocker. Brace yourself: this code only took me about ninety minutes to write — and it worked correctly the first time I ran it.

    To say I was astonished would have been positively wallowing in understatement.

    That’s from (our anarcho-capitalist friend) Eric Raymond’s essay on his discovery of Python. Everything just seems easy in Python. Raymond puts it down to “Python’s clarity and elegance of design”.

    There are also probably economic lessons here. The language was largely the invention of one man, and because it was open source, it grew and grew as more people contributed to it and used it, and is now making the lives of countless developers easier, and making gadgetry cheaper and us all wealthier. (Sound familiar?)

    Software, being pure information generated by human ingenuity, is a perfect counter-example to fixed-quantity-of-wealth and limits-of-growth fallacies.

  • JohnK

    I wouldn’t say no to a Colt Python if anyone is offering.

  • Kim du Toit

    Why not go the full Monty?

  • Johnathan Pearce

    Mystifying.

    I think I shall shake things up by blogging about why Land Value Tax is the creation of Satan, or something.

  • chuck

    Your regular readers include at least one Python core dev.

    And a Numpy dev.

  • import WittyComments
    dir(WittyComments)

  • Ah, the joys of programming ZX81s in Z80 Assembler, where the only reasonable way of learning the language was Rodney Zaks’ ‘Programming the Z80′.

    I painstakingly copied most of that book into a notebook, at the municipal library. The whole instruction set, flags, and so on. Because it was “reference only” and the photocopier was way beyond my budget (5p per page!).

    And then kids today talk about how they have a human right to access all the data in the world… they don’t know they’re born.

  • Tanuki

    FORTRAN-77 for me every time; I’ve coded tens of thousands of lines of computational-fluid-dynamics in FORTRAN-77 over the years, and the support-calls for code I wrote 25 years back still provide residual income.

  • Christ, this takes me back.
    Algorithm! Flowchart! Assembly language! Machine code! All these students want to press the buttons but programming isn’t about pressing the buttons!!!

    Bloody hell. My first experiences programming were on college-built 8080 NASCOMs. Some ten years ago. I was quite good too and could have had a shining career I’m sure, but while my brain would have been very happy sitting in front of a desk solving problems my body craved fresh air.

    Ah, life.

  • PersonFromPorlock

    Takes me back: in the late ’80s, two or three percent of the programs published in Commodore 64/128 oriented magazines were by me. BASIC, Assembler, and combinations of the two.

    It’s amazing I’m as humble as I am.

  • Rodney Zaks?

    Rodnay Zaks.

    Ian, it isn’t like you to get it wrong.

  • DuncanS

    C++ coder by trade.. but python *is* slick.

  • Rodnay Zaks.

    Ian, it isn’t like you to get it wrong.

    Cats, I am not responsible for the contents of blockquotes. The spelling and grammar is the responsibility of the original author.

    Talking of which, I just had a slightly surreal copy-editing conversation with Hustler magazine, during which I discovered that to be grammatically correct, the fluid is “cum” but the verb is “to come”. As I said to the editor, “well, I’ve certainly learned something today”. What a strange business this is I’m in.

  • AKM

    I just had a slightly surreal copy-editing conversation with Hustler magazine, during which I discovered that to be grammatically correct, the fluid is “cum” but the verb is “to come”.

    Would anyone actually write in to complain if they got it wrong? :)

  • OMG, I have been wondering about that for years!!!

  • Silly me, should have looked here

    Now, what were we all talking about?

  • I actually find the word strangely unappealing and normally in the strip go for stuff like “spooge”, but I specifically rewrote the dialogue for an audience not used to the normal quirky style. But I certainly feel I’m a more well-rounded person now for knowing the correct grammar.

    Of course, I also now know I should have just asked Alisa ;-)

  • Yes Ian, in fact I now feel much better-rounded as well, in a strangely angular kind of way. Now where’s Jonathan and his LVT thread when you need them?

  • “Ian B- bring down the tone of Samizdata since 2007″.

    *cough*

    Anyone else remember the Jupiter Ace?

  • Sam Duncan

    You know I do, Ian. Never had one, mind you. Always wanted one, though. FORTH looked cool.

    I’ve been meaning to learn Python ever since I saw this, which took me right back to the 8-bit days of just typing stuff in and trying it out. I’m an instant gratification rapid feedback kind of a bloke (I hated photograpy before digital), and that looks right up my street. C does my head in.

  • Bod

    Holy crud. “Rodnay”?

    I guess my excuse is it was a long time ago, and while I’ve met a fair number of Rodneys, (and a few Del-Boys too), I’ve never met a Rodnay.

    ‘scuse me while I fall on my sword.

  • jsallison

    COBOL rulez! C++ droolz! What are these other strange things of which y’all speak?

  • Bod

    Oh yes, IanB. I had an Ace 4000.

    Learning FORTH was quite a change of pace after Algol-68, FORTRAN-44,-77 and BASIC.

    I still have it somewhere, in a box, with Leo Brodie’s (hope I spelled that right) ‘Starting FORTH’.

  • Midwesterner

    Nothing was ever written in Cobol that couldn’t have been said in fewer words by James Michener.

  • Your regular readers include at least one Python core dev.

    And a Numpy dev.

    And a founder of a Python spreadsheet company.

  • Real men use Lisp, of course

  • jdm

    Just to be both hopelessly late as well as hopelessly pedantic, most of what was referenced here as “machine code” isn’t. It’s a second generation language called Assembly that has mnemonics and macros and all sorts of things to make programming easier than writing in actual machine language.

    In actual machine language, each instruction takes one clock cycle. An Assembly language instruction to load or store a value takes at least two cycles, set up the memory and then move the value. I know this (empirically only) because I had to help invent an assembly-like language for an 12-bit machine using 3 AMD-2900 Bit Slice processors stitched together. Machine had no official stack (but 32 registers, I think)… oh, sorry, us old folks (yes, I did the paper tape and front panel booting too) do carry on…

  • Just to be both hopelessly late as well as hopelessly pedantic, most of what was referenced here as “machine code” isn’t. It’s a second generation language called Assembly that has mnemonics and macros and all sorts of things to make programming easier than writing in actual machine language.

    Not in the good old days it wasn’t. Machine code programming a ZX81: first take your notebook and pencil. Write your program in assembler mnemonics, one per line, in a column. Then, go down the program filling in the hexadecimal machine codes in a second column, working out relative jump offsets as you go. Next, use a simple hexloader program on the ZX81 to type the hexadecimal in. Save to cassette. Run program. Go back to notebook to try to figure out what made it crash instantly.

    I’ve still got the notebooks from all those years ago. No assembler programs, just raw machine code. I had the hex for virtually the entire instruction set memorised back then.

  • Laird

    I suspect that explains a lot, Ian.

  • jdm

    Not in the good old days it wasn’t

    Well, of course.

  • I am currently developing a strategy to move all of our products over to Python…

    DK