|
hackbunny posted:I'm going to be immortalized as a plush rabbit: yessssssss
|
# ? Aug 25, 2014 01:36 |
|
|
# ? May 17, 2024 06:48 |
|
hackbunny posted:I'm going to be immortalized as a plush rabbit again?
|
# ? Aug 25, 2014 03:01 |
|
hackbunny posted:I'm going to be immortalized as a plush rabbit: im the reactos fanfic
|
# ? Aug 25, 2014 03:51 |
|
Bloody posted:im the reactos fanfic seriously what kind of weird poo poo in this
|
# ? Aug 25, 2014 04:37 |
|
who the gently caress even uses reactos
|
# ? Aug 25, 2014 04:37 |
|
Sweeper posted:who the gently caress even uses reactos i didnt even know that was still a thing
|
# ? Aug 25, 2014 05:02 |
|
Sniep posted:i didnt even know that was still a thing same
|
# ? Aug 25, 2014 05:05 |
|
gonna get one
|
# ? Aug 25, 2014 07:29 |
|
Sweeper posted:seriously what kind of weird poo poo in this the reactos project had a pretty... unique culture. I'm far from blameless but at least I'm not writing reactos as an anime girl Sniep posted:i didnt even know that was still a thing bigger than ever apparently. I left them back in 2010, but I still follow the mailing lists. they are now big enough to have a couple paid employees (!) what it is for is a containment zone for windows kernel nerds
|
# ? Aug 25, 2014 08:53 |
|
Hey you know what's better than semantic indentation? Semantic colour!
|
# ? Aug 25, 2014 13:21 |
|
AlsoD posted:Hey you know what's better than semantic indentation? Semantic colour! i worked on a project that had this it was awful the "language" consisted of extentions to Excel's expression language.
|
# ? Aug 25, 2014 13:40 |
|
AlsoD posted:Hey you know what's better than semantic indentation? Semantic colour! i'm an obese tone deaf socially awkward color blind coder and the hits just keep on coming
|
# ? Aug 25, 2014 14:02 |
|
AlsoD posted:Hey you know what's better than semantic indentation? Semantic colour! what the gently caress
|
# ? Aug 25, 2014 16:25 |
|
Bloody posted:what the gently caress the best part is that white is one of the colours, correctly disabling black-on-white people from sullying the language with their code
|
# ? Aug 25, 2014 16:28 |
|
same http://thechive.com/2014/08/25/guy-isnt-taking-any-more-of-your-fedora-hating-sht-video/
|
# ? Aug 25, 2014 17:03 |
|
on reflection, i think i hate ruby more than any other programming language, past or future
|
# ? Aug 25, 2014 23:40 |
|
tef posted:on reflection, i think i hate ruby more than any other programming language, past or future please elaborate, in detail
|
# ? Aug 25, 2014 23:44 |
|
Damiya posted:please elaborate, in detail
|
# ? Aug 25, 2014 23:55 |
|
tef posted:on reflection, i think i hate ruby more than any other programming language, past or future i think i hate java the most when it comes to reflection
|
# ? Aug 26, 2014 00:32 |
|
reading the skiena book and everyone of his non computer related examples just paint him as a giant goon. we should get him an account. actually anyone who does anything related to maintenance or implementation of computers are probably goons until otherwise proven innocent
|
# ? Aug 26, 2014 00:36 |
|
eh, it's hard to hate on it without going through the thousand cuts, but here are the biggies at the moment - there isn't a community design process. peps have worked pretty well for python, but i haven't seen the same sort of process involved with ruby. this might because that drastic changes to the semantics of a ruby program are very easy to obtain in ruby. - the documentation is a work in progress, behind the implementation. this might be because the primary sources are all in japanese and much of the core team communicate in japanese. - much of the ecosystem is dominated by rails and rails accessories. although there are things like sinatra, cuba, sequel, et al, the majority of people i've met who do ruby, do rails. there isn't the same sort of cross pollination going on between domains, and of course, rails is omakase. on a more technical level, ruby encourages the sort of programming that i hate - ruby has procs, blocks, lambdas, and method objects. give me first class functions or give me death. - like java, ruby has two namespaces, so you can have a method 'x' and a variable 'x' without a collision. unlike java, the parenthesis are optional. this lovely ambiguity means that any identifier not assigned to is implicitly a method call, and you better hope that no-one's stuck a method into kernel. - except it happens all the god drat time. either people directly add new methods to built in classes, or they define new top level functions, which in turn become private methods on Object. - which would be ok if this could be contained, and there is some promise of refinements, but you load libraries by include files, and often files won't include their dependencies because they're loaded elsewhere. this again gives a flexibility in language extensions but at a price of maintainability - and little python whiny poo poo like immutable strings that are gc'd, named and default arguments, destructured assignment, generators. then there are just little things like initialize, upcase, downcase, and the fact that the block in a foo.each {...} statement is more accurately an observer, not an iterator. iirc ruby calls what other people call iterators, enumerables. lots of things are just a little different. ruby was influenced by a number of languages, notably perl. like another perl descendent, php, ruby has a laissez-faire attitude to syntax and error handling. "gently caress it and return nil" is the order of the day, although occasionally "just treat the arguments as a hint that might not make sense". i have wasted hours chasing down bugs caused by "fail eventually" error handling. ruby also has the same attitude as php to libraries, often relying on include files for composition. unlike php, ruby suffers from the meta-programming of lisp, encouraging each and every user to change the language to their whim, but not through coarse means as macros, but through operator overloading and a lot of implicit syntax rules. this doesn't mean that composing a large system is impossible, just far harder, and far more fragile. one change in any library can break any other library with ease. i don't like these tradeoffs. although ruby presents a short barrier between having an idea and mashing it in to a language, sometimes that barrier is good for larger scale concerns. i will say i do like the following things about ruby: - numbers can have underscores in them - 0/""/[] are true, not false.
|
# ? Aug 26, 2014 00:45 |
|
tef posted:- ruby has procs, blocks, lambdas, and method objects. give me first class functions or give me death. my theory: it's an interview question and memorizing the list of defects in each type makes folks feel smart. tef posted:ruby was influenced by a number of languages, notably perl. like another perl descendent, php, ruby has a laissez-faire attitude to syntax and error handling. "gently caress it and return nil" is the order of the day, although occasionally "just treat the arguments as a hint that might not make sense". i have wasted hours chasing down bugs caused by "fail eventually" error handling. perl/ruby/python have "type systems" but they fail to do the most basic job of a type system: catch errors. re-usability is secondary at best. i want a type system to express program invariants. any loving code re-use is a happy side effect when your community categorically gives no shits about catching errors in your type system it can hardly be a surprise that the other error-handling features are broken or unused
|
# ? Aug 26, 2014 01:07 |
|
tef posted:- 0/""/[] are true, not false. oh come on
|
# ? Aug 26, 2014 01:08 |
|
Bloody posted:oh come on 0, [], and "" are demonstrably not null references. i do not need more things that can be confused with nil, it is quite confusing enough already. "falsiness" is the dumbest loving idea in computing after the null reference. nulls are a feature of dubious utility and giving me more ways to gently caress it up is worse.
|
# ? Aug 26, 2014 01:09 |
|
Notorious b.s.d. posted:the most basic job of a type system: catch errors. it's safety. hth. an ahead of time type checker is something that catches errors, using a type system. quote:any loving code re-use is a happy side effect the point isn't about code re-use, it's about composability. this is more about open/closed systems than ahead-of-time/runtime type checks.
|
# ? Aug 26, 2014 01:12 |
|
tef posted:the point isn't about code re-use, it's about composability. this is more about open/closed systems than ahead-of-time/runtime type checks. well you don't have to compose anything in ruby just open the other guy's class, rename some of his methods, add your own replacements with new and exciting side effects on the other side of the application
|
# ? Aug 26, 2014 01:15 |
|
the thing i hate the most about ruby atm is that it strongly encourages you to just use a hash as your only argument, and people will call it the options hash, and then the entire method is built out of options that maybe arent actually optional anymore. but good luck looking at the method signature to figure that out because it's just foo(opt={}). then that options hash gets merged and passed to another method which also specifies foo(opt={}) and so now maybe your options are also a requirement of that method. but you'll never know until it breaks 10 calls up that stack. i guess that's more of an indiom because there's nothing stopping people from doing that in other dynamic languages except ruby encourages you to do it by letting you omit the braces entirely ughh
|
# ? Aug 26, 2014 01:15 |
|
Bloody posted:oh come on an aside: there are a number of cases where a function takes None or another value as an argument, and some people will do 'if x' instead of 'if x is None'. now in one recent instance, i had a function filter(ids=[...]) that took a collection of ids and returned instances matching those ids. if you passed in None, it would return all instances. if you passed it an empty list of ids, it would assume you meant every instance. this backfired. yes i'm a bad programmer but it seems such a weird edge case that an empty list of elements would have the same effect of passing the list of every element. the implicit cast to False is not sufficiently useful that it merits the accidents.
|
# ? Aug 26, 2014 01:16 |
|
today my rails application exploded because a dude deleted a ten line method from application_helper.rb after two hours i don't know what those ten lines are actually for
|
# ? Aug 26, 2014 01:16 |
|
MALE SHOEGAZE posted:the thing i hate the most about ruby atm is that it strongly encourages you to just use a hash as your only argument, and people will call it the options hash, and then the entire method is built out of options that maybe arent actually optional anymore. but good luck looking at the method signature to figure that out because it's just foo(opt={}). the best part of this "feature" is that it is a well-known problem with perl. the makers of ruby observed a disaster hurting the perl community and said "yeah we want that in our language" ruby was very much intended to be perl++ but they seem to have learned all the wrong lessons from perl
|
# ? Aug 26, 2014 01:17 |
|
Notorious b.s.d. posted:rubyists will "defend" this distinction. no one has ever been able to explain to me why it's useful. https://github.com/kislyuk/ensure Python code:
code:
|
# ? Aug 26, 2014 01:19 |
|
Notorious b.s.d. posted:today my rails application exploded because a dude deleted a ten line method from application_helper.rb well, put the lines back then!
|
# ? Aug 26, 2014 01:20 |
|
Notorious b.s.d. posted:the best part of this "feature" is that it is a well-known problem with perl. the makers of ruby observed a disaster hurting the perl community and said "yeah we want that in our language" This is what scares me to hell with Erlang adding support for maps in its syntax and I wanted to be first to write a tutorial about it so I could control the message
|
# ? Aug 26, 2014 01:23 |
|
i've spent the last 2 weeks working on a lot of lines of ruby code that deal with monetary transactions and most of it features a lot of really 'clever' metaprogramming also i found a bug in an aggregator method where if you pass in options in a different order it sums up the same thing differently (and proceeds to build a transaction from it)
|
# ? Aug 26, 2014 01:24 |
|
how is that possible unless addition is suddenly not commutative
|
# ? Aug 26, 2014 01:33 |
|
Notorious b.s.d. posted:rubyists will "defend" this distinction. no one has ever been able to explain to me why it's useful. the python community is seriously discussing adopting the mypy type annotation semantics, prompted by guido himself it would be an optional typing system, where the types by default would do nothing at runtime, but would help static error checking tools like linters python 3 already has type annotations, but atm they have no official semantics still pycharm will recognize some simple ones like foo(x: int) -> str:, and you have some runtime check libraries like http://andreacensi.github.io/contracts/
|
# ? Aug 26, 2014 01:37 |
|
i was misremebering slightly. one of the options took an array and it would sum up database fields based upon items in the array. it used a broken loop to parse the array into the sql query and that's what was breaking it. just a normal coding horror.
|
# ? Aug 26, 2014 01:37 |
|
suffix posted:the python community is seriously discussing adopting the mypy type annotation semantics, prompted by guido himself nothing "optional" or "unofficial" will ever really help. if i wanted to fiddle around with annotations and force them on my coworkers, that implies enough freedom of choice that i'm not going to be touching ruby code in the first place. to really fix the core problems with p-langs, the changes have to be essentially global. the stdlib and third parties have to support the type system carefully. also: gently caress rubygems forever tia
|
# ? Aug 26, 2014 01:42 |
|
tef posted:
just curious do you have a favorite language?
|
# ? Aug 26, 2014 01:46 |
|
|
# ? May 17, 2024 06:48 |
|
doesnt tef like prolog?
|
# ? Aug 26, 2014 01:50 |