Also, hi, I'm Peter and we seem to have friends in common.
(07:28:09 PM) jes 5199: I need your reaction. http://rockstarling.livejournal.com/204306.html
(07:31:23 PM) Peter: My reaction is: Why are you working in Perl?
(07:31:31 PM) jes 5199: *sigh*
(07:31:56 PM) jes 5199: because I haven't sat down and done the line-by-line tranlation into a real language, yet
(07:32:55 PM) Peter: Perl is dynamically scoped but will sometimes close over variables and sometimes not and you can't put an array in an array and you can't pass anything but a scalar to a function unless that array or hash is the only thing you pass.
(07:33:13 PM) jes 5199: those things are true
(07:33:19 PM) Peter: Well, tell them that
(07:33:25 PM) jes 5199: there's also two incompatible syntaxes for calling any function
(07:33:38 PM) Peter: That's CS major talk for "it's all fuxored"
(07:33:49 PM) Peter: is there?
(07:33:52 PM) Peter: there are?
(07:33:55 PM) Peter: What are they?
(07:33:57 PM) jes 5199: Package::function()
(07:34:02 PM) jes 5199: Package->method()
(07:34:05 PM) jes 5199: same namespace
(07:34:12 PM) jes 5199: handles parameters differently
(07:34:12 PM) Peter: W00t
(07:34:17 PM) Peter: fuck
(07:34:24 PM) Peter: seriously?
(07:34:28 PM) jes 5199: seriously.
(07:34:40 PM) Peter: how do they differ?
(07:35:10 PM) Peter: How can they handle parameters any worse than the default "call the arrayify operator and pray" approach?
(07:35:37 PM) jes 5199: Package->method() climbs the inheritance tree. and because of that, they thought they'd like the code to know which package you thought you were calling. so "Package" is prepended to the parameters array as a string.
(07:35:53 PM) Peter: Aha!
(07:36:09 PM) Peter: Because that will allow people to hack on metasyntactic badness to make perl look object oriented!
(07:36:14 PM) jes 5199: right!
(07:36:22 PM) Peter: Fuck. that. shit.
(07:36:49 PM) jes 5199: yeah. Today might have pushed me over the edge.
(07:36:58 PM) jes 5199: I've got two files sitting here, blank
(07:37:09 PM) jes 5199: Import.rb and Import.py
(07:37:13 PM) Peter: How many lines need translating?
(07:37:20 PM) Peter: Both are fine languages
(07:37:38 PM) Peter: Ruby will be less painful a transition, I am led to understand
(07:37:46 PM) Peter: But I do dig on the python
(07:38:57 PM) jes 5199: 3,394 lines of general-purpose code
(07:39:01 PM) Peter: Dude
(07:39:15 PM) Peter: That's like 3 weeks of work for a good translator
(07:39:18 PM) Peter: at MOST
(07:39:28 PM) jes 5199: there's some project-specific code that I basically totally rewrite whenever I have to reuse it, anyway
(07:39:33 PM) Peter: Do not forget the first rule of holes here
(07:39:53 PM) jes 5199: the first hole is the hardest?
(07:40:27 PM) Peter: "There is an old military doctrine called the First Rule of Holes: If you find yourself stuck in one, stop digging." --the late Rear Admiral Eugene Carroll, US Navy (Ret.)
...many lines elided due to livejournal's max comment length...
(08:09:57 PM) Peter: I'm posting a transcript of our conversation in her livejournal
(08:10:05 PM) jes 5199: alright