|
haha someone just saw someone who appeared to be wearing a mongodb shirt unironically
|
# ? Feb 25, 2013 00:03 |
|
|
# ? Jun 11, 2024 11:36 |
|
Pardot posted:haha someone just saw someone who appeared to be wearing a mongodb shirt unironically I have a MongoDB mug, and I wish I had more opportunities to drink kool-aid out of it
|
# ? Feb 25, 2013 00:09 |
|
Vanadium posted:it's a hard sell to people who are used to manual memory management and pointer arithmetic and wtf, and to people who are used to just having the GC keep their leg together or w/e, and also to people who get frustrated quickly when the compiler won't do what they mean. so rust is the compromise that nobody wanted?
|
# ? Feb 25, 2013 00:09 |
|
tef posted:(p.s. Clojure isn't really much like the classical lisps, like scheme or CL imho. it has some syntax and doesn't reject the outside world) clojure has a very similar amount of syntax to CL also CL explicitly sought to uhh, not "reject the world." had what they considered reasonable interop at the time it was conceived. the great goal was to unify programming not between CL and other things on its platform, but between multivendor Lisp machines and Lisp running on UNIX presenting a uniform set of abstractions across operating systems that sometimes lack concepts like "files" or "processes" is a much taller order than clojure<=>jvm interop, and the results were predictably messy
|
# ? Feb 25, 2013 00:10 |
|
ultramiraculous posted:I have a MongoDB mug, and I wish I had more opportunities to drink kool-aid out of it too bad they leak too
|
# ? Feb 25, 2013 00:13 |
|
Pardot posted:
lmao
|
# ? Feb 25, 2013 00:17 |
Pardot posted:
|
|
# ? Feb 25, 2013 00:22 |
|
FamDav posted:so rust is the compromise that nobody wanted? popular appeal is a poor metric, people want lovely things like mongodb mugs Notorious b.s.d. posted:presenting a uniform set of abstractions across operating systems that sometimes lack concepts like "files" or "processes" is a much taller order than clojure<=>jvm interop, and the results were predictably messy CL was an ill-conceived idea that completely failed, but was still a really solid engineering effort. it is really way better than the average present-day lisp idiot ("hey, lets write another blogpost about macro hygiene rather than every writing any useful code ever!") deserves
|
# ? Feb 25, 2013 00:24 |
|
Pardot posted:
loooool
|
# ? Feb 25, 2013 00:28 |
|
Pardot posted:
lol
|
# ? Feb 25, 2013 00:36 |
|
this is it fellas. peak yospos.
|
# ? Feb 25, 2013 00:38 |
|
btw high-performance java code is definitely not idiomatic and involves poo poo like building data structures in byte[]s to avoid per-object overhead, using arrays (especially primitive arrays) whenever reasonable, and avoiding creating new objects. it's probably about the same difference in difficulty as writing slow lisp vs fast lisp but idk bc lisp is stupid
|
# ? Feb 25, 2013 01:35 |
|
Suspicious Dish posted:To reanimate the program, its parse tree must be reconstructed. This phase exists only if code generation occurred and you chose to generate bytecode. Perl must first reconstitute its parse trees from that bytecode sequence before the program can run. Perl does not run directly from the bytecodes; that would be slow. i loving love the camel book [1] peculate: v.i., to swipe the People's Property from the commons in the middle of the night; to embezzle from the public something that is not necessarily money (~L. peculiar, "not common"), cf embrace, extend, GPL.
|
# ? Feb 25, 2013 01:39 |
|
Internaut! posted:ugh, why you can have that inside the vm, and do all the safety in the compiler rather than vm level it's just when you put policy inside the vm, you restrict things.
|
# ? Feb 25, 2013 01:43 |
|
Pardot posted:
tee hee
|
# ? Feb 25, 2013 01:47 |
|
tef posted:you can have that inside the vm, and do all the safety in the compiler rather than vm level or at least make the policy optional. cil/.net gives you ldelem to load from an array index with bounds checking, but you can also fall back to ldind to read from an arbitrary address. java doesn't even give you a choice.
|
# ? Feb 25, 2013 02:13 |
|
Null Pointer posted:or at least make the policy optional. cil/.net gives you ldelem to load from an array index with bounds checking, but you can also fall back to ldind to read from an arbitrary address. java doesn't even give you a choice. Sun eventually decided that PEEK and POKE were essential after all and added them to the JVM in sun.misc.Unsafe but the only way plebs can access that class is by reflection. and it's vendor-specific ofc
|
# ? Feb 25, 2013 02:18 |
|
Nomnom Cookie posted:using arrays (especially primitive arrays) whenever reasonable enjoy your extra runtime checks to compensate for broken (covariant) arrays
|
# ? Feb 25, 2013 02:55 |
|
JewKiller 3000 posted:enjoy your extra runtime checks to compensate for broken (covariant) arrays the funny thing here is that all modern c compilers will optimize out range checks in the cases where they're expensive with no loss in safety. Sufficiently Smart JIT, folks
|
# ? Feb 25, 2013 03:18 |
|
Otto Skorzeny posted:the funny thing here is that all modern c compilers will optimize out range checks in the cases where they're expensive with no loss in safety. Sufficiently Smart JIT, folks i'm not talking about range checks, these are runtime type checks, done because the static typing of arrays in java is unsound with respect to subtyping
|
# ? Feb 25, 2013 03:28 |
|
im working on some email stuff and god drat why does every single email software dev decide that their way of formatting dates is the correct one
|
# ? Feb 25, 2013 03:30 |
|
Pardot posted:
|
# ? Feb 25, 2013 03:32 |
|
ymgve posted:im working on some email stuff and god drat why does every single email software dev decide that their way of formatting dates is the correct one Because every conceivable format is permitted by the RFC
|
# ? Feb 25, 2013 03:34 |
|
there needs to be a required course in all college cs/ce/softeng/whatever degrees, where the entire content of the class is just reading and discussing key internet RFCs and ISO standards. it's easy to test, highly relevant, and would reduce some of this "everyone reinvents the world badly" bullshit
|
# ? Feb 25, 2013 03:34 |
|
nah, they'll just go and write new implementations of those rfcs in whatever fad-lang the school has them on at the time.
|
# ? Feb 25, 2013 03:36 |
|
as long as they're implementing a standard, rather than creating their own without even the knowledge that one already exists, it's a step in the right direction
|
# ? Feb 25, 2013 03:42 |
|
i feel like you could only get through one rfc (if you implemented it and were tested on why all the decisions were made and such)
|
# ? Feb 25, 2013 03:55 |
|
ofc that depends on which rfc you choose
|
# ? Feb 25, 2013 03:56 |
|
Really wish people would quit using "Lisp" by itself to mean some tiny, idealised subset of Common Lisp that doesn't have syntax, CLOS, data structures aside from lists, loop and do, and isn't written anything like modern Common Lisp tends to be written. Maybe it would help if more schools taught Scheme instead of CL for their Lisp and Prolog class. People would still go away thinking that Scheme is a lot purer and smaller than it is, but they'd be closer to being right than they are when they talk about Common Lisp as just recursion and brackets.
|
# ? Feb 25, 2013 04:19 |
|
VanillaKid posted:Really wish people would quit using "Lisp" by itself to mean some tiny, idealised subset of Common Lisp that doesn't have syntax, CLOS, data structures aside from lists, loop and do, and isn't written anything like modern Common Lisp tends to be written. Maybe it would help if more schools taught Scheme instead of CL for their Lisp and Prolog class. People would still go away thinking that Scheme is a lot purer and smaller than it is, but they'd be closer to being right than they are when they talk about Common Lisp as just recursion and brackets. link
|
# ? Feb 25, 2013 04:25 |
|
Sweeper posted:i feel like you could only get through one rfc (if you implemented it and were tested on why all the decisions were made and such) That would be a cool class with the http 1.1 RFC IMO
|
# ? Feb 25, 2013 04:26 |
|
FamDav posted:so rust is the compromise that nobody wanted? I'm convinced they're gonna keep adjusting the system until they're happy with it or until Mozilla stops funding them, they don't look like they're about to halfass it. They've thrown out huge features before that weren't working right, and while like nobody else uses rust (because it's really not nearly there), they have a compiler, the beginnings of a html rendering engine and toy projects like nes emulators for dogfood. But pretty much every day someone drops into the channel, posts a reasonable-looking chunk of code that iterates over a container while accumulating or whatever and is surprised that the compiler isn't having it. It's definitely impacting people's productivity for a while.
|
# ? Feb 25, 2013 04:29 |
|
JewKiller 3000 posted:enjoy your extra runtime checks to compensate for broken (covariant) arrays That's the one where you get arraystoreexception from a statically correct element assignment right? Yeah that doesn't really come up. Primitive arrays aren't affected and also it's a really dumb usage of arrays anyway
|
# ? Feb 25, 2013 04:33 |
|
Vanadium posted:I'm convinced they're gonna keep adjusting the system until they're happy with it or until Mozilla stops funding them, they don't look like they're about to halfass it. They've thrown out huge features before that weren't working right, and while like nobody else uses rust (because it's really not nearly there), they have a compiler, the beginnings of a html rendering engine and toy projects like nes emulators for dogfood. i like to think this is similar to the experience of using ruby and python back in their first iterations, but i was like 6 then so i don't know if im right. rotor?
|
# ? Feb 25, 2013 05:36 |
|
VanillaKid posted:loop and do i think you mean iter
|
# ? Feb 25, 2013 05:56 |
|
Nomnom Cookie posted:btw high-performance java code is definitely not idiomatic and involves poo poo like building data structures in byte[]s to avoid per-object overhead, using arrays (especially primitive arrays) whenever reasonable, and avoiding creating new objects. it's probably about the same difference in difficulty as writing slow lisp vs fast lisp but idk bc lisp is stupid right, but you can get reasonable java performance just by writing garbage. you can write bog-standard java and expect it will run reasonably well. "high-performance" java means rivaling C++ in tight loops. "high-performance" CL means running well enough not to piss off an interactive user. just writing a regular gui app in CL probably means a trip into vector types and nasty optimization land, because otherwise performance is so bad it's noticeable by the user. (CL has genuinely decent open source compilers, but since idiomatic CL means not bothering to tell the compiler anything useful... garbage in, garbage out i guess)
|
# ? Feb 25, 2013 06:08 |
|
VanillaKid posted:Really wish people would quit using "Lisp" by itself to mean some tiny, idealised subset of Common Lisp that doesn't have syntax, CLOS, data structures aside from lists, loop and do, and isn't written anything like modern Common Lisp tends to be written. Maybe it would help if more schools taught Scheme instead of CL for their Lisp and Prolog class. People would still go away thinking that Scheme is a lot purer and smaller than it is, but they'd be closer to being right than they are when they talk about Common Lisp as just recursion and brackets. i am also sick to death of this the reason that CL is worthwhile is that it's not some laboratory toy language. real people had to deal with this thing in production and port legacy systems to it. as a result, CL is perfectly well-suited to writing dumbfuck imperative code filled with mutable state, java-like OO, or any number of other things. it permits functional programming with a lisp syntax but it's not loving handcuffs. diversity is what makes Common Lisp what it is. the summarized standard is 1500 pages, because it supports every (extant at the time) programming paradigm with a standard library that could be useful across radically dissimilar platforms edit: i probably shouldn't have implied CL is worthwhile. it is a cool and fun language but the library/ecosystem situation is seriously lovely, so as soon as you need something outside the core set of libraries provided by your vendor, ugh
|
# ? Feb 25, 2013 06:13 |
|
FamDav posted:i like to think this is similar to the experience of using ruby and python back in their first iterations, but i was like 6 then so i don't know if im right. but ruby and python never got fast/good/finished implementations that could be used for production code? or are you saying that we should just sit and wait for rust to be hip among a new generation of coders who have never heard of garbage collection, kind of the antithesis of the 1990s revolution in programming languages
|
# ? Feb 25, 2013 06:15 |
|
Notorious b.s.d. posted:right, but you can get reasonable java performance just by writing garbage. you can write bog-standard java and expect it will run reasonably well. "high-performance" java means rivaling C++ in tight loops. "high-performance" CL means running well enough not to piss off an interactive user. i'm surprised CL hasn't got a decent JIT implementation...a lot of the profiling stuff that hotspot does seems even more suited to CL than Java. like specializing the generated code based on observed types of actual arguments. Javascript VMs do that to some extent I think?
|
# ? Feb 25, 2013 06:48 |
|
|
# ? Jun 11, 2024 11:36 |
|
i mean type hinting is okay, but it should be documentation for users rather than something the compiler cares about. if the observed type of arguments is always the same then go ahead and assume it will stay that way, with an unlikely branch in the prolog to dump back into the interpreter if expected & actual types don't match.
|
# ? Feb 25, 2013 06:56 |