Интервью /

Interview with Susanne Schmidt (May 2015)

How and when did you learn to program?

Hmm.. I started trying to learn to program when I was already 26 and almost done with graduating university as a political scientist.. :)

But I got hooked on computers and Linux in 1994, when a friend told me about Open Source and the internet so I basically abandoned political science and switched to "computers".

In Berlin, it was really special, because Internet, Web AND Linux took off at the same time and I tried to get into it.

And I knew absolutely nothing about computers but writing my essays on Word for DOS. But I got a computer and installed - completely clueless - Linux on it with lots of help from the german IRC Linux channel back in the day. But I wanted to learn to program.

So I tried to find programming books I could understand and of course everybody told me something different what I should learn first. "Pascal! It's for teaching!" "C! It's Unix!" "Lisp! Because the one true language!" and so on and so on.. ;)

But at this time, books were mostly for computer scientists so I really wasn't able to actually learn from it and programming was so alien that I also didn't manage for example K&R's C book - I just didn't understand it.

Considering that the Web just had started - I actually know Internet still from using gopher and such :) - I made a homepage. In HTML. And then I found the Perl 4 book by O'Reilly and shortly after came "Programming Perl" and THAT was a book what talked about "oh and then you have a list of things" and "well there's context" (I'm a political scientist OF COURSE THINGS ARE IN CONTEXT WHAT ELSE WOULD THEY BE? ;) and suddenly I managed.

When and how have you been introduced to Perl?

So Perl was my very first language and really, thanks to the writing style of the book I managed to cobble together a while loop with a regex to reformat newlines of a large document.. so I learned Perl and Regex before anything else.

Then the web took off and I basically got my first jobs as administrator (the Linux stuff) and as a web developer (HTML and Perl) and worked my way up, like so many of this generation.

What editor do you use?

Vi right from the beginning with a little pico because of elm. ;) I used emacs for a while as well but I went back to vi/vim at some point and never looked back. (And yes, I couldn't quit it either, I just pulled the modem cable and re-dialed so the vi was gone.. ;)

What are other programming languages you enjoy working with?

I noticed at some point that I'm doing rather well with for example SQL and I really like regex so I took a look into Prolog as well for example (See the wikipedia article about declarative languages..). I love shell stuff, I like the minimalism of C and assembler, I like the productivity of R and I very much enjoy the prettiness of Ruby. In the end I like the small languages, the minimalist ones though - Scheme for example is really pretty.

What do you think is the strongest Perl advantage?

It doesn't get in my way like some other languages in comparison do. I notice that rather often that Perl has a certain smoothness how things are connected with each other. I like that you can do Perl in many styles - OO (and I'm talking the Alan Kay definition of OO - sending messages..) or more functional - whatever you like. CPAN was a strong advantage until recently, but these days everybody has something like it and other languages were quite busy as well.

What do you think is the most important feature of the languages of the future?

How easy they are to extend, how well they play with others and their surroundings. How mallable they are. Possibly: how well they do functional programming. It looks very much to me like this is the upcoming fashion.

What are you thoughts on Perl 6?

I'm very sad about Perl 6. I was so excited in .. 200* already and wrote passionate articles about the awesome future of Perl 6.. but it's so completely overdone and a very complex, difficult language. I just wanted a nicer Perl, really. And of course, it's coming way too late to be really anything important - these days you can choose from many nice and interesting languages, why even look at Perl 6? I tried half a dozen times, but it's just not for me, really. I stick with the modern minimalist Perl 5 style I enjoy very much (e.g. Mojolicious or LeoNerd's modules) and otherwise take a look at other languages.

What is a programming community for you? Do you consider yourself as a part of Perl community?

Usally it's a group of like-minded developers and associated folk - like writers or if it's something which has a large user base (like R for example), then of course those people as well. These people are living a specific culture and that's what usally makes up "a community".

I'm considering myself with one leg part of the Perl community, but I go at great length to NOT be "the Perl chick" and do lots of different things. I don't want to look back at some point and only had Perl jobs and nothing else.

Where do you work right now, how much time do you spend writing Perl code?

Half of the time it's Postgres, half of the time it's Perl because I'm doing backend stuff :) Plus some shell, make, JavaScript here and there.

What are the pros and cons of working from home?

Lemme answer that with the single best cartoon ever on the subject:

http://theoatmeal.com/comics/working_home ;)

  • Pros: the focus and quietness, the flexibility
  • Cons: the focus and quietness, the flexibility (distractions :)

Should we encourage young people to learn Perl nowadays?

Yes! By now I would count Perl as one of the "classics" and I think everybody has to do the classics - Unix, C, Smalltalk, Lisp, Perl and so on.

Questions from our readers

It's been three months since you've joined PAUSE, where are the uploads? :)

Too busy with life, honestly. :) And CPAN is rather complete so there's no hurry to add something.

Do you think cat posting is important for the modern internet era?

YES. How else are people supposed to slack off properly?! Also, everybody should have a daily cute. ♥ ;)

Interviewed by Viacheslav Tykhanovskyi (vti)