< 1162857687 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1162857687 0 :tokigun!n=tokigun@sparcs45.kaist.ac.kr JOIN :#esoteric < 1162857687 0 :CakeProphet!n=CakeProp@h23.251.213.151.ip.alltel.net JOIN :#esoteric < 1162857687 0 :GregorR-L!n=GregorR-@192.55.60.43 JOIN :#esoteric < 1162857687 0 :pikhq!n=pikhq@67-21-19-37.clspco.adelphia.net JOIN :#esoteric < 1162857687 0 :meatmanek!n=meatmane@cpe-65-29-79-179.indy.res.rr.com JOIN :#esoteric < 1162857687 0 :rt!n=markv@c-67-180-32-90.hsd1.ca.comcast.net JOIN :#esoteric < 1162857687 0 :RodgerTheGreat!n=RodgerTh@wads-5-233-82.resnet.mtu.edu JOIN :#esoteric < 1162857688 0 :fizzie!n=fizban@sesefras.zem.fi JOIN :#esoteric < 1162857688 0 :sp3tt!n=sp3tt@80-162.cust.umeaenergi.com JOIN :#esoteric < 1162857688 0 :SimonRC!i=sc@bylands.dur.ac.uk JOIN :#esoteric < 1162857688 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Well, that's one of Lisp's double-edged swords. < 1162857688 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :The whole point is that, Lisp allows you to create abstractions specific to your problem. Now where that leads you is up to debate. < 1162857688 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Paul Graham, though, will argue for Lisp I'm pretty darn sure :D < 1162866337 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1162866337 0 :clog!n=nef@bespin.org JOIN :#esoteric < 1162866865 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi clog < 1162867212 0 :oerjan!unknown@unknown.invalid QUIT :"Later" < 1162867469 0 :ivan`!i=ivan@wikipedia/ivan JOIN :#esoteric < 1162867497 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162867684 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1162868322 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I've never been to a class about programming. < 1162868332 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :So I don't know how awful/good they are on the whole. < 1162868347 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :They are terrible < 1162868360 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Depends on who you are. < 1162868363 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :hackers are usually free-learners < 1162868366 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :at least I am < 1162868391 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1162868399 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Classes make things more boring on the whole. < 1162868404 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1162868405 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :(For me.) < 1162868512 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Programming is one of those things, IMO, that are learned best in a loose master-apprentice fashion. < 1162868541 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1162868544 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :From chatting with different programmers, the mental devices (especially the ``homegrown'' ones) programmers use to code are so varied, a class just doesen't cut it on its own. < 1162868555 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Then you go to your "master" whenever you have a problem < 1162868567 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :The master guides and challenges through interesting assignments, until the apprentice is strong enough to leave. < 1162868598 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Straight out of star wars ;) < 1162868612 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Really? :P < 1162868624 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Didn't see it until you said that, heh. < 1162868910 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I think that would be an interesting project in general. Create a wiki panel with a bunch of programmers that can program in different languages giving out assignments at different difficulty levels, and whenever one of us has the time, we can look over the wiki submitted entries, so it doesen't force anyone to a schedule. < 1162868969 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1162869063 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :And it's just a shame so few people use BASIC-derivatives nowadays. It's horrible. < 1162869081 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :noooo < 1162869088 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how many of us grew up with a BASIC of some sort on some device (C64 BASIC, QBASIC, Apple BASIC, etc.) < 1162869092 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Why should anyone code in basic? < 1162869105 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :It's... well basic. < 1162869113 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :A basic language that can be pretty powerful too. < 1162869131 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1162869140 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :...but not BASIC < 1162869147 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :BASIC-derivative. < 1162869161 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I'm not talking about 10 PRINT 20 GOTO style either. < 1162869484 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :when i was a younger, everybody said that basic was terrible, and would ruin young programmers. now, we have programmers learning perl and php as first languages. i'm pretty sure that isn't an improvement. < 1162869501 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Perl as a first language? Ugggh. < 1162869510 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :PHP is pretty uggh too. < 1162869517 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Even Python is a sort of a experiment in marriage. < 1162869545 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :i find python to be at least relatively undamaging. < 1162869554 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1162869585 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Young programmers nowadays learn Java like little robots and never learn anything else again, because they make a series of mundane projects that never actually need something powerfully abstractable or something low-level. < 1162869603 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Java is so terrible < 1162869605 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :experiment in marriage? < 1162869612 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I really think BASIC *is* a good beginner's language, if only because it's imperative. < 1162869614 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :your face is an experiment in marriage! < 1162869624 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :That it may be. < 1162869624 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1162869628 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :if there is some reason that might make java the most reasonable choice for a program, i haven't discovered it yet. < 1162869631 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Java, IMO, is alright. < 1162869638 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :C# is better, even if it's Microsoft based. < 1162869639 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: Why not a more moderm imperative language? < 1162869644 0 :GreaseMonkey!n=thematri@222-152-171-190.jetstream.xtra.co.nz JOIN :#esoteric < 1162869661 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :i actually think python makes a good choice for the role that basic used to fill. < 1162869664 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :++++H < 1162869678 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure what's wrong with basic. < 1162869679 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :me = thematrixeatsyou < 1162869684 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Neither am I. < 1162869690 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's a horrible language, but i don't see how it causes brain damage. < 1162869694 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :BASIC has evolved over the years, and I'm not talking about Blitz or VB. < 1162869697 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :weak abstractions. weak data types. < 1162869706 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :C has strong abstractions and strong data types? < 1162869707 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ie, it's horrible but anybody sane will realize that it's horrible and move on. < 1162869708 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :HAH. < 1162869714 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :well, c++ causes brain damage in the way that it makes skiddies think they're 1337 < 1162869720 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :basic isn't going to be usefull < 1162869724 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it has some overhead issues, but DarkBASIC pro kicks ass < 1162869724 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :no, but c at least has the advantage of being reasonably efficient. < 1162869732 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :c++ is of course abominable. < 1162869734 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :FreeBASIC is still good < 1162869737 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :C++. Ewww. < 1162869741 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :about 5 years ago, it was my primary language < 1162869744 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i like C < 1162869750 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I like C too < 1162869756 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :I like C three < 1162869770 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I don't mind C nine. < 1162869791 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :But C ten is RIGHT OUT < 1162869791 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :I like C %i. < 1162869801 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was pushed into ##please_register < 1162869804 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I tried to talk < 1162869805 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Look up the ASCII code yerself, bum. < 1162869807 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Didn't work < 1162869847 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Why is BASIC so ineffecient? < 1162869865 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I mean, any language that has weak data types/abstractions should be easy to optimize. < 1162869888 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :they probably have a delay on them < 1162869893 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :jk < 1162869903 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :maybe you're thinking of QBASIC? < 1162869908 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :well, i must admit, i'm an old timer, and used basic back in the days when relatively trivial interpreters were the norm. < 1162869912 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :QBASIC emulates the BASIC code < 1162869922 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :FreeBASIC is pretty fast though < 1162869930 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it compiles the code < 1162869932 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I'm not so sure how fast more modern BASICs are. < 1162869938 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :But I would think it fast. < 1162869947 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :My first language was QBASIC, and I learned it by purley coding in it < 1162869949 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Since I bet a lot of it can be done as ASM. < 1162869954 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :no syntax help or nothin < 1162869987 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :any language complicated enough to require syntax helpers is just too wrong. < 1162870004 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :*COUGH* C++ *COUGH* < 1162870008 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :What's a syntax helper? < 1162870017 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :most modern BASIC implementations aren't slowed down because they're BASIC, rather because of all the cool features (3D, etc) that are new < 1162870020 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i salute you < 1162870021 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric : *COUGH* C++ *COUGH* < 1162870044 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and because of this, for making things like games, BASIC is plenty fast- all the grunt work is handled by the interpreter < 1162870058 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Why *is* BASIC even interpreted nowadays? < 1162870071 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :Microsoft's endorsement on VB < 1162870078 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1162870090 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :DarkBASIC pro is a compiled language < 1162870108 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and DB proper compiles to bytecode and is tacked onto a runtime module < 1162870129 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Better than interpretation. < 1162870154 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I've done only a little Pascal, and this was years back. How's that on the difficulty curve? It struck me as really similar to C. < 1162870158 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I don't know much about blitzBASIC aside from the fact that it shouldn't be called BASIC at all... < 1162870172 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :BlitzBASIC abstracts *way* too many things. < 1162870228 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :wtf is my 2d game doing using OGL?! < 1162870253 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1162870264 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Hey. Scala doesen't look too bad. < 1162870268 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :BlitzBASIC looks like the bastard child of Java and C- it has nothing in common with BASIC. < 1162870303 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it uses curly brackets, predefined hard-typing, .-notation function chaining... < 1162870308 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it just makes me angry. < 1162870351 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I remember when I was coding in qbasic and I discovered strings < 1162870365 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :It was amazing < 1162870388 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :C- ? < 1162870397 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :? < 1162870407 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it was a C and a dash < 1162870412 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1162870420 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Don't whet our appetites like that :P < 1162870425 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't implying that there's a language called Cminus < 1162870435 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :... but I could spec it... < 1162870457 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1162870543 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :"We use Linux to UP our productivity -- so UP yours!" < 1162870569 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1162870573 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Linux can calculate an infinite loop in 7 seconds < 1162870607 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :!bf +[] < 1162870614 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1162870893 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :One thing before I start homework: < 1162870904 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Paul Graham always makes Lisp seem like the best language in the world. < 1162870918 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1162870923 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :So if you want to know why Lisp is good, read one of his essays, and take that as a fundamentalist's overexaggeration. < 1162873224 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you know what's a good programming language? < 1162873239 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :there aren't any! < 1162873251 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Nobody's happy < 1162873253 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with c then? < 1162873270 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well. < 1162873274 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Each programming language just isn't good for everything < 1162873281 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: pretty much everything. < 1162873289 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: i can think of very very few tasks i would use C for. < 1162873297 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :except everything < 1162873317 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1162873337 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: the main thing is the lack of a good way to build abstractions. < 1162873350 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the other main thing is no bounds checking for arrays. < 1162873378 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :do that yourself < 1162873391 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :well, C has printf(). < 1162873405 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and it's also got a loose syntax, like: < 1162873405 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :arrays in C aren't like a list, they are just a way to access memory < 1162873423 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :you build your own funct if you want arrays < 1162873436 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: sure, this would be fine if you COULD build lists in a sane fashion. < 1162873442 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :You can < 1162873447 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: but as i said, the lack of a good way to build abstractions in the main thing. < 1162873449 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They're a thin abstraction around what amounts to statically allocated memory. < 1162873465 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: no, i'm afraid you can't, not in my experience. < 1162873480 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Just have the first element be the length < 1162873491 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: that's not an "abstraction" < 1162873502 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what you mean by that < 1162873502 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :C would be nice if it had a nicer way to define datatypes. < 1162873506 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: that's an "implementation" but there's no abstraction involved. < 1162873516 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes the C++ way at the moment < 1162873540 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :So "abstraction"==hiding the implementation? < 1162873545 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: pretty much. < 1162873551 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :point taken < 1162873574 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in effect, you want a new language feature, lists. < 1162873589 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in something like Lisp, when you don't have a language feature, you can add it seamlessly. < 1162873597 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in something like Python or Java you can sort of do it with objects. < 1162873610 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in something like C, you can barely do it at all. < 1162873616 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :do it oop style < 1162873633 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :I'm not saying Lisp is the best for programming, but it does have the most powerful abstraction mechanisms (that i'm aware of) < 1162873647 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :There is nothing to add on to in lisp < 1162873658 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, there's always something to add on. < 1162873669 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I mean, of course it's seamless < 1162873699 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :consider math notation < 1162873712 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you have symbols that stand for objects and symbols that stand for operations < 1162873722 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and when you don't have something, you simply define more notation < 1162873735 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1162873743 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :and in lisp, everything is notation < 1162873765 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not sure what you mean by that. "notation" is just a synonym for "syntax" < 1162873786 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in every language, everything is notation < 1162873787 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Lisp has almost no syntax < 1162873792 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that's true. < 1162873802 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :There Is only one operator in lisp < 1162873806 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :well, sorta < 1162873816 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that's not quite true, but it certainly looks that way. < 1162873822 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but you could also say that about math notation: < 1162873830 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"In math notation, there's only one operator, whitespace" < 1162873842 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"everything else is operands" < 1162873880 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lisp comes damned near pre-parsed. < 1162873892 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"1 + 2" -> whitespace is a very smart operator that takes 1,+ and 2 as operands, realizes that the + is an operation applicable to objects 1 and 2, and applies it < 1162873892 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :In lisp you can't extend the language in the way you mean it in C < 1162873911 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, you can < 1162873936 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why can't you? < 1162873953 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :You can't change the only operator, namely, calling a function < 1162873954 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(define function_foo (bar baz qux (quuxy quuux))) Voila. You've extended the language. < 1162873984 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :yes, but you can do that in C too < 1162873987 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: well, that's why i said "extend", not "modify" :) < 1162874002 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: also it's not the only operator, and it doesn't call functions. < 1162874010 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :other than that you're mostly right. < 1162874010 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :C makes abstraction a bitch, though. < 1162874018 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: (define .....) is not a function. < 1162874025 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Close enough < 1162874030 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no, not close at all. < 1162874044 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1162874046 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in C, the analog would be "int foo() {}" < 1162874052 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I only have a weak understanding of lisp < 1162874057 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can't create new things of that kind in C < 1162874091 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :say you wanted C syntax for creating anonymous functions. C doesn't come with that. And you can't add it. < 1162874105 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :In lisp, you could (if it didn't have it to begin with) < 1162874126 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :suppose lisp doesn't have a foreach operator. Then you can add one yourself. < 1162874128 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Say you wanted to add lisp syntax for, say, postfix notation < 1162874150 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :You can do that. < 1162874163 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :You would have something like (postfix (1 2 +)) evaluating to 3 < 1162874177 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I fold < 1162874191 0 :SevenInchBread!unknown@unknown.invalid QUIT :Connection reset by peer < 1162874193 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think CL even has infix notation thingie < 1162874199 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :How do you do that? < 1162874205 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so when you have a complex arithmetic expression, you don't have to suffer using prefix < 1162874209 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1162874232 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i don't even like lisp :) < 1162874248 0 :CakeProphet!n=CakeProp@h23.251.213.151.ip.alltel.net JOIN :#esoteric < 1162874253 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Well what I'm saying is that when it looks like you are changing the language in lisp, you are really just changing functions < 1162874257 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :which you can do in c < 1162874258 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no < 1162874283 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's just that in lisp everything sort of looks similar < 1162874285 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but it isn't < 1162874294 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :for example, it should be fairly clear that (if) is not a function < 1162874299 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :try implementing if as a function in C < 1162874311 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :but if is a function < 1162874320 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not in Lisp or C < 1162874327 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :It just so happens that you can pass blocks of code to a function in lisp < 1162874335 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :if isn't a function, because it doesn't evaluate all its arguments. < 1162874340 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :it's a "special form". < 1162874347 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: you can, but that's not how if works in Lisp. < 1162874364 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the difference being < 1162874380 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you don't go (if a '(code for if) '(code for else)) < 1162874387 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you go (if a (code for if) (code for else)) < 1162874403 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if it were a function, both chunks of code would be immediately evaluated < 1162874439 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, you could argue that you could make it a function and lisp just sucks because syntax for passing blocks of code requires an extra quote which people don't want to type. < 1162874450 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :In fact, in Smalltalk if is a function. < 1162874473 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :if you accessed arrays in c like get(array, index), then you could abstractly redifine arrays < 1162874482 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sure. < 1162874484 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :and access your list in the same way < 1162874487 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sure. < 1162874500 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :except you can't have a polymorphic get < 1162874504 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :and _everything_ in lisp is access like that < 1162874514 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so the _same_ get function would have to work for arrays and lists < 1162874520 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which is already a bit more difficult < 1162874545 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :especially if you want to add more datatypes in the future that should also work with get() < 1162874556 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can do that in C < 1162874564 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's just unnatural and silly and nobody does that. < 1162874575 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in Lisp (or even Python), it's natural and easy < 1162874580 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1162874591 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :C++, Lisp, and other semisane languages make it natural to do it. < 1162874595 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :but c is fast and low level < 1162874601 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :So you can't have everything < 1162874608 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, like i said < 1162874615 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(C++ has this thing called "operator overloading". Rather nice.) < 1162874619 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i can think of very very few tasks i would use C for. < 1162874624 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Extremely < 1162874636 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :but c++ sucks < 1162874638 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :eg., i can think of very very few tasks i would use a "fast low-level language" for. < 1162874643 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :xor_: C++ gives you this benefit, is fast, and is lowlevel. Lisp gives you this benefit and is fast. Try one of them. < 1162874649 0 :rt!unknown@unknown.invalid PRIVMSG #esoteric :c++ overloading isn't "rather nice". it's completely absurd. < 1162874667 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :python's overloading is a bit contrived < 1162874671 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :sadly < 1162874678 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haskell shines as usual :) < 1162874680 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :rt: Code an app using bignums in C++ and C, and tell me that again. < 1162874685 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :It's the same as c++'s ... < 1162874734 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in haskell and smalltalk, there's no difference between something like 1+2 and something like add(1,2), both are just different syntax for functions. < 1162874745 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :any other way of doing operator overloading is less sane, imo < 1162874757 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :If you use macros creatively, it's pretty simple to switch from postfix to prefix, and maybe even implement infix. < 1162874765 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Python is similar a believe < 1162874773 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no, python is worse :( < 1162874788 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in python, + is a shortcut for a function that's actually called __add__ < 1162874790 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: Worst-case scenario, you just go and define a function "infix" to parse infix expressions. < 1162874801 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :1+2 == int.__add__(1, 2) < 1162874809 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yeah but... it's unelegant and not in the spirit of Lisp. < 1162874814 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: exactly < 1162874819 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Razor-X: True. < 1162874820 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :So it's the same < 1162874831 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: it's not the same, because you need to know the shortcuts < 1162874833 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Just with a namespace < 1162874838 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can't just write < 1162874839 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :class foo: < 1162874845 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : def +(self, other): < 1162874856 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In C++: 1+2 == int.operator+(1, 2); < 1162874862 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :class foo: < 1162874871 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric : def __add__(self, other): < 1162874881 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :the syntax is just slightly different < 1162874888 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: like i said. You need to know those shortcuts. < 1162874892 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's weird. < 1162874894 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can use a procedure to modify the postfix notation and eval the prefixed notation. < 1162874902 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Which is a more roundabout way of adding new syntax. < 1162874940 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: in haskell, you would just go a + b = < 1162874969 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :or alternatively, add a b = < 1162875052 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :I think it is more weird to have odd characters in function names < 1162875057 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :That's just confusing < 1162875088 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think there's nothing weird about calling a function that adds two things '+' < 1162875111 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :One must admit; operator overloading of any sort leaves you much more sane than C. ;) < 1162875146 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :C with oop without operator overloading leaves you with prefix notation < 1162875180 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why would you do oop in C? < 1162875188 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament: Ask the GTK devs. < 1162875190 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it seems there're more appropriate languages < 1162875232 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :More specifically, ask whoever designed that bastard conglomeration that is Gobject. < 1162875245 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Because oop is a natural way of describing things? < 1162875266 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :xor_: And C++ is designed to make OOP natural. < 1162875293 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :An object system in C is about as bad as an object system in Brainfuck. < 1162875300 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :not even close < 1162875307 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :xor_: yes, oop is a natural way of describing things, but why do it in C? < 1162875322 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :because C is good < 1162875341 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :also, if I code something in C, every other coder can understand it < 1162875355 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :surely not every coder. < 1162875384 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :more speak C than speak (lisp|c++|python|whatever) < 1162875398 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :questionable < 1162875405 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :certainly questionable in the case of C++ < 1162875417 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :even more so in the case of languages you omitted eg Java < 1162875423 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :C++ is *really* simple for a C coder to figure out. < 1162875429 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :no it's not < 1162875442 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :C++ adds waaaay too much complexity < 1162875460 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think i agree with xor < 1162875502 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :D is probably a better choice, sanity-wise, though. ;) < 1162875536 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :anyways, I have to go < 1162876056 0 :Arrogant!i=Arrogatn@90.orlando-04-05rs.fl.dial-access.att.net JOIN :#esoteric < 1162876116 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :xor_: Wait. < 1162876142 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :I just made a very unelegant hack (because I'm too lazy to lookup the syntax modification rules) to add in postfix notation to Lisp. < 1162876205 0 :Eidolos!n=Sartak@c-66-30-121-142.hsd1.ma.comcast.net JOIN :#esoteric < 1162876246 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Scheme anywho. < 1162876727 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Eidolos: go back to devnull! < 1162876871 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1162877035 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I really love Scheme. Haskell is pretty fun too. < 1162879352 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162879412 0 :CakeProphet!n=CakeProp@h23.251.213.151.ip.alltel.net JOIN :#esoteric < 1162879693 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162879730 0 :CakeProphet!n=CakeProp@h23.251.213.151.ip.alltel.net JOIN :#esoteric < 1162880640 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162881041 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heheh < 1162881056 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I love wikis: "LOCK is a clever acronym if you know what it stands for. (If you do, you might want to add that here.)" < 1162882151 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1162882561 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :AddUselessLanguage(&Tomato,TomatoParser@,{i++;}); < 1162882720 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :EatPies@(PieCount!2)={for({i!2;i=0;},{i < 1162887945 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing a raytrcer 4 fun < 1162887974 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i'm even thinking about giving an esoteric scene description language to it < 1162888597 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Leave@()={Sob("#AWOS");Quit();};" < 1162889267 0 :nooga!unknown@unknown.invalid QUIT : < 1162889954 0 :pgimeno!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162892960 0 :pgimeno!n=pgimeno@124.Red-80-59-211.staticIP.rima-tde.net JOIN :#esoteric < 1162894189 0 :|^Simbad^|!i=ircap@138.pool85-55-129.dynamic.uni2.es JOIN :#esoteric < 1162894200 0 :|^Simbad^|!unknown@unknown.invalid PRIVMSG #esoteric :olaaaaaaaaa < 1162894311 0 :|^Simbad^|!unknown@unknown.invalid QUIT :Client Quit < 1162899682 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1162906754 0 :jix!n=jix@L6258.l.strato-dslnet.de JOIN :#esoteric < 1162908332 0 :jix_!n=jix@L61e2.l.strato-dslnet.de JOIN :#esoteric < 1162908999 0 :CakeProphet!n=CakeProp@h66.251.213.151.ip.alltel.net JOIN :#esoteric < 1162909253 0 :jix!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1162910199 0 :ivan`!i=ivan@wikipedia/ivan JOIN :#esoteric < 1162912342 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :'morning, everyone. < 1162912768 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1162914814 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :What's more mind-numbing than _Big Brother_ and more pointless than _Second Life_? Yes, it's _Big Brother_ set *in* _Second Life_: http://www.theregister.co.uk/2006/11/06/bb_second_life/ < 1162914818 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hehehe < 1162914940 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, god... < 1162914951 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :civilization is doomed. < 1162914993 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :... < 1162914997 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dies. < 1162915049 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1162915076 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :stupid. < 1162915085 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :they should make a reality show about programmers. "Eight coders. 30 days. One product. 90 cases of mountain dew. Who will survive?" < 1162915122 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :first contestant: Paula Bean < 1162915145 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Now, instead of watching people sit around doing nothing useful all day, you can watch people's online avatars sit around doing nothing useful all day! < 1162915432 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and quietly seethe that they're getting paid while you get nothing for a similar amount of work. < 1162916059 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1162918135 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1162919644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1162919764 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Behold! An experiment! < 1162919773 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>>> for x in range(1, 100): < 1162919775 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : lasttime = timetime < 1162919776 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : timetime = time() < 1162919778 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : print timetime - lasttime < 1162919780 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : < 1162919781 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :1162919953.83 < 1162919782 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0309998989105 < 1162919784 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0780000686646 < 1162919786 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0309998989105 < 1162919787 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919789 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.047000169754 < 1162919790 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919792 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0469999313354 < 1162919793 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919795 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0469999313354 < 1162919797 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0160000324249 < 1162919798 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0309998989105 < 1162919799 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.047000169754 < 1162919801 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919802 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0469999313354 < 1162919804 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919806 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.108999967575 < 1162919807 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919809 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0469999313354 < 1162919810 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Um < 1162919811 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0150001049042 < 1162919813 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0320000648499 < 1162919815 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919817 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0149998664856 < 1162919819 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919821 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0160000324249 < 1162919823 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0160000324249 < 1162919824 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You _had_ to do that in channel? < 1162919825 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919827 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0150001049042 < 1162919829 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919831 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0159997940063 < 1162919833 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0150001049042 < 1162919835 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919837 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0160000324249 < 1162919839 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919841 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0160000324249 < 1162919843 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919845 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0149998664856 < 1162919846 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Dear god when will it end? < 1162919847 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0320000648499 < 1162919850 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919851 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0150001049042 < 1162919852 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :100 lines < 1162919852 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, after 100? < 1162919853 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0 < 1162919855 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :0.0159997940063 < 1162919857 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :..... < 1162919858 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, yeah < 1162919859 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dies of flodding. < 1162919861 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :relative time between foreach iterations. < 1162919863 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits to disconnect. < 1162919865 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1162919865 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :!kick CakeProphet < 1162919869 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Nah... I cut it short. < 1162919873 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1162919878 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet, how? < 1162919891 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :By not-copying-and-pasting-the-entire-results. < 1162919932 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I wonder why there was a consistency for iterations to happen within 0.0 seconds of each other. < 1162919997 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION honestly doesn't understand why people get pissed by floods like that. < 1162920001 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :uhhm doing the output in the loop is bad < 1162920009 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :because then speed will depend on your terminal etc... < 1162920039 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but then all speeds will depend on my terminal... thus it'll remain consistent through iterations. < 1162920041 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1162920050 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :it wont < 1162920072 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :buffering of streams can do odd things on timing < 1162920078 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :an hell how slow is that 0.016? < 1162920089 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm... < 1162920104 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: What's your point? < 1162920109 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :the worst thing i can get (with ruby don't know python) is 0.000184 and python is said to be faster < 1162920127 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :and that was 3 out of 100 that arn't like 4.8e-05 < 1162920154 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't have a point. < 1162920165 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Anything I do rarely has a point to it. < 1162920167 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :the funny thing is when i remove the output thing i don't get 0.000xxx at all < 1162920189 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :only ~2.0e-06 < 1162920228 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Weird... < 1162920246 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :When I used a list method for doing it... by appending them to a list in the iteration... it didn't add anything to the list. < 1162920260 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :then your code is wrong < 1162920281 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :timelist = [] < 1162920282 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :timetime = time() < 1162920284 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :for x in range(1, 100): < 1162920285 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : lasttime = timetime < 1162920287 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : timetime = time() < 1162920288 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric : timelist.append(timetime - lasttime) < 1162920290 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>>> timelist < 1162920291 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :[] < 1162920299 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :i don't know python... < 1162920306 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :is append destructive? < 1162920314 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Not sure what that means. < 1162920323 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :It just adds the given value to the end of the list. < 1162920324 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :no < 1162920327 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :does it modify timelist or does it create a new list < 1162920337 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :modifies timelist. < 1162920353 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Python lists are immutable. < 1162920356 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :er.. mutable < 1162920356 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :that would mean it's destructive but xor_ said it isn't < 1162920364 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: yeah but that doesn't make all methods destructive < 1162920379 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :in ruby they are too but they have destructive and nondestructive methods < 1162920391 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :Python is great < 1162920393 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not sure why it would matter... < 1162920400 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :they both append something to a list... < 1162920403 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :which is all I need it to do. < 1162920428 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: yeah but in the one example timelist still remains timelist (eg EMPTY) and a new list with the one element gets created and thrown away because you ignore the return value < 1162920438 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :and in the other way the timelist object itself gets modified < 1162920474 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>>> timelist.append(1) < 1162920475 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>>> timelist < 1162920477 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :[1] < 1162920484 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :so it's destructive < 1162920485 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you don't need to reference the method call. < 1162920491 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so yes... I suppose. < 1162920498 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :i don't need to what? < 1162920510 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :You don't have to do timelist = timelist.append(1) < 1162920518 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :yeah because it's destructive < 1162920518 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :i.e., it doesn't return a value. < 1162920523 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :you would have to do that if it wouldn't be < 1162920554 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :So... I'm wondering why the code isn't working. < 1162920864 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because it's broken. < 1162922822 0 :GregorR-L!n=GregorR-@host-201-144.pubnet.pdx.edu JOIN :#esoteric < 1162922884 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,... < 1162922885 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] < 1162922894 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :That's the results without output printing. < 1162922961 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1162923012 0 :CakeProphet!n=CakeProp@h66.251.213.151.ip.alltel.net JOIN :#esoteric < 1162923107 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :x=[1];x.append(x) < 1162923257 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in haskell: x = 1 : x < 1162923355 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :haskell is odd < 1162923536 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1162923542 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's just very pretty :) < 1162926525 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1162928777 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1162932894 0 :jix_!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1162938084 0 :nooga!i=nooga@ip-50.net-41.rev.inter-c.pl JOIN :#esoteric < 1162938090 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :helloo < 1162938220 0 :GregorR-L!n=GregorR-@host-203-189.pubnet.pdx.edu JOIN :#esoteric < 1162938384 0 :xor_!unknown@unknown.invalid PRIVMSG #esoteric :lament: I've found that it's hard to code anything that doesn't have a simple mathematical translation in haskell < 1162938433 0 :Asztal!unknown@unknown.invalid QUIT :"Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]" < 1162938560 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION coded a disproof of certain conceptions of God in Prolog < 1162938594 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1162938845 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1162938862 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :there is a lack of WAM based esolang < 1162938870 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :oh no, there is one.... Prolog < 1162938885 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :WAM ... < 1162938887 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Weird ... < 1162938889 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Abstractions ... < 1162938893 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :... Maybe < 1162940274 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1162940298 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :Way too Advanced Mess < 1162941799 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :g night < 1162941816 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1162941840 0 :tgwizard!n=tgwizard@c-103fe155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1162941917 0 :nooga!unknown@unknown.invalid QUIT : < 1162942014 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric