« first day (2151 days earlier)      last day (2693 days later) » 

12:00 AM
@quartata uhhh no? Lemme find the quote
 
By purity I mean no side effects
Anyways if your complaint is about access modifiers you're gonna have to take down a lot of other OO languages with Python
 
No I'm not talking about access modifiers
 
No language is truly a pure OO language -- those that are suck.
 
I'd say Java is pretty true OO.
 
Java isn't pure (just close) for instance and it definitely follows under the suck dichotomy for most
 
12:04 AM
Python's classes are just about as much "classes" as C's "struct"s maybe even less. Where are fields? How come super is defined implicitly but not self
Why is self an argument???
 
So that you can call it statically? So that you can refer to it as a funcrion without scoping being annoying? etc
This isn't unique to Python either.
 
@Downgoat abtract base classes, docstrings, static typing, class methods, multiple inheritance
 
Go yell at Perl if it bugs you.
 
99% of the time you do not know how to OO if you're using multiple inheritance imo
 
12:07 AM
giggles
 
@ATaco still has primitives
 
Do you know what a mixin is
 
@Downgoat fields?
 
abstract classes are import... metaclass wat... just... sigh....
 
I said close...
 
12:07 AM
@noɥʇʎPʎzɐɹC case in point
 
@Downgoat do you know a fast way of getting permutations in javascript?
 
@Downgoat ?
 
@Downgoat Or you can just throw an exception in the constructor??
 
@Downgoat It's so OO that you can implement ABCs through native code
 
C++ doesn't have abstract classes in the sense you're describing either
 
12:08 AM
@quartata Yes, and multiple inheritance is not necessarily optimal solution
 
ABCs aren't used all that often
 
Lua technically doesn't have primitives.
 
@Downgoat Multiple inheritance is how mixins work
 
You can even do static typing, with runtime type checking
 
@ConorO'Brien I mean you could use generators, other than that I'm not sure how you could speed up really
 
12:09 AM
Just like in Java, you have to override all abstract methods to make a non-abstract class
 
@quartata You should mixin w/ your base class
 
That's often not possible and/or not a good idea.
 
@Downgoat rip
 
> Explicit is better than implicit - Zen of Python
 
@ConorO'Brien If your algorithm requires looking through all perms, you should probably work speeding up algorithm :P
 
12:10 AM
@Downgoat it's just in general, trying to make it faster
 
@quartata This is why you design code and all, instead of going doing super-procedural code with a class and call it OO
 
even classes are objects! They just have the metaclass of type. Metaclasses are objects too. And they have metaclasses...
 
@Downgoat ...but Python doesn't do that?
 
What message are you responding too?
 
Hover over
I have to say a lot of your assumptions about Python seem to come from looking at small pieces of code.
 
12:13 AM
Python let's you natively 8 == 9!
Yay!
 
Pytek's internals for instance is super super OO
 
Python has a standard library function for destroying the whole universe!**†
 
polymorphism all over the place
 
wait you're writing Pytek in python?
 
Cython. But yes of course.
 
12:14 AM
@quartata super agree
 
We have been for almost a year
 
@quartata idk, I've dug around cpython source code to add braces
 
But that's C
Very bad C I might add
 
no but lots of it is python too
 
12:16 AM
@Downgoat cpython code is like using the C++ STL after a run through the preprocessor and the inliner as a style guide
It's optimized for super speed, tiny tweaks for tiny boosts
 
Wait, so are you disagreeing python is super-procedural?
 
Do you mean cpython or cython? I didn't think cpython was particularly optimised
 
@Downgoat Yes.
 
Actually the standard library code (the only Python in CPython) is fairly decent
 
@trichoplax It is, very.
 
12:17 AM
Python is like the definition of super-procedural language
That isn't even a bad thing....
 
@Downgoat No language is one paradigm
 
no one said that
 
@noɥʇʎPʎzɐɹC I had no idea. It's so much slower than PyPy though
 
check out mypy, it's static typing with type checks in python; and it's a python implemenetation
 
If I had to call Python one paradigm however I would call it OO since all the language primitives and standard library bits are object oriented usually with a few exceptions
 
12:19 AM
@trichoplax that's b/c JIT, and PyPy is written in RPython, a subset where all types can be assumed
 
I'm not saying that's its strength
 
@Downgoat name one OO feature python doesn't have, except for final
 
I would also call JS OO by the same standard even though it sucks at it
 
This is not even opinion, it is objective fact python is procedural
 
@noɥʇʎPʎzɐɹC Ah I see. So cpython is optimised but without sacrificing any of pythons characteristics?
 
12:20 AM
@trichoplax Yes.
 
TIL
 
@noɥʇʎPʎzɐɹC I can name 5. Not the point.
 
@Downgoat Give evidence. #DontBeTrump
 
@noɥʇʎPʎzɐɹC fields? Overloading? Static abilities? Enumerations? Interfaces? Etc.
@noɥʇʎPʎzɐɹC lmao your entire argument is based on whether or not my argument insults python
 
I think python has overloading
 
12:21 AM
@Downgoat @staticmethod Overloading is used Enum yes; interface is just an abstract class
Fields?
 
Google "python paradigm"
 
@Downgoat The only one of those you named that Python does not have is overloading. But that is not the point
 
> multi-paradigm: object-oriented, imperative, functional, procedural, reflective
OO before procedural
@quartata Python has overloading
 
@noɥʇʎPʎzɐɹC if you want to go to that extent then JS's functions make it OO
 
Even if you've worked with Python for five minutes you'd know that everything is an object
Same goes for JS
 
12:22 AM
I've sure I've used overloading in Python. Unless there's some other type than operator overloading
 
@noɥʇʎPʎzɐɹC yes and also functional
 
everything in python is an object. no primitives. types are objects.
 
There's no way to tag a language as one paradigm if it's practical
 
@Downgoat Which one is first?
> Multi-paradigm: scripting, object-oriented (prototype-based), imperative, functional, event-driven[1]
^ js
 
Seriously, claiming python is true OO is pointless
 
12:23 AM
JS is not functional in any way
 
where did JS come into this
 
@Downgoat then why does wikipedia as it's first?
 
@quartata sure it is, just not in the pedantic sense
 
@Downgoat Sorry, but I have no idea what you mean. What is optional/implicit here?
 
...
 
12:23 AM
Because both are similar in terms of their OO
 
@noɥʇʎPʎzɐɹC I wouldn't trust wikipedia.
 
Everything in Python is an object. Everything. That's reason enough to call it OO
 
pineapples are quite pleasant
 
@ConorO'Brien Ignore him i have no idea what he's doing
 
@quartata okay if Python is OO, JS is Functional?
 
12:24 AM
cool
 
@Downgoat No. The only sense of the word functional is the pedantic one which JS does not meet
 
Orly
 
OO simply implies that the language uses objects a lot really. It's vague on purpose
 
Super cool idea: babel plugin which adds functional ops to JS
 
@Downgoat Functional means functions with no side effects, period.
With some exceptions
 
12:26 AM
@quartata like never?
 
?
 
@quartata True functional programming, anyway. Functional is often used as a synonym for function-level
 
Function level is a whole different can of worms
But no. Almost all languages are value level
 
I think I used the wrong term one sec
 
I can count function level languages on one hand
 
12:28 AM
It really depends on how struct your interpretation of "side-effects" is
 
Not really.
There's a pretty obvious line.
 
to an extent, yes
 
Play with prolog for an hour and you'll see what I mean
you can't even return values only unify
 
@El'endiaStarman aha! what if I don't have a c.se account? You can't 11 my profile name permentantly now!
 
I tried prolog a while ago but then my head exploded
 
12:30 AM
(Then again Prolog isn't functional but it fits for the example since it's declatative with no side effects)
 
@EᴀsᴛᴇʀʟʏIʀᴋ He could ask me in private.
 
...well shit
 
@ConorO'Brien Prolog is a lot of fun and super powerful when you learn it
 
@quartata actually I thought that functional programming avoided side effects not completely banned it
@quartata I'll have to look into it again
 
The only exception I know of in a functonal language is Scheme's set!
Not counting I/O although haskell handles that with monads
 
12:32 AM
I think the separation of Functional and OO is fairly pointless with the lack of any useful true OO langauge.
 
@quartata Side-effects appear to be a goal not, exactly a strict reauirment
 
@quartata oh yeah did you know that J has classes?
 
@Downgoat Defintely not a goal that JS tries to achieve, at any rate.
@ConorO'Brien I did not. Yikes
 
12:35 AM
OOP in Lua is mostly just abusing functions and the fact that you can really abuse tables.
 
@quartata I mean it may not consiously attempt it but it definetly achieves it
Like every function in JS doesn't do side effects
except mayve object.assign
But those are exception
 
@Downgoat existence of window alone violates side effects
All objects are mutable too
 
there is a thing in my codes that could be solved with a global variable. I'm not sure what to do, because the immediate other option is to iterate through a list of lists, which could be really large, and have bad big-o complexity. What do?
 
Like I said work with haskell or erlang or prolog for a bit and you'll get a sense of what side effects are pretty fast. Tough to get from a Wikipedia article
 
Global variable. They're only bad if you don't pay attention.
 
12:40 AM
@Dennis thanks
specifically, it's a koth, and the game ends when the two teams artifacts are destroyed
and the global variable will hold the number of artifacts left
 
If your board is a class it could just be a field in it
No problem with that
 
As long as decrements are atomic, that shouldn't be a problem.
 
@Dennis wat does mean?
 
One operation i.e no chance of interruption
 
Do you use multi-threading? If not, don't worry about it.
 
12:42 AM
kk
 
@quartata that is JavaScript not ECMAScript
 
@Downgoat What is the definition of var per ECMAScript then?
If it's global it's bad
 
@quartata define variable in currect scope
It's why clear(this) don't cause segfault
Wait that's not helping
 
So mutable global state
 
Yea kinda sorta
 
12:48 AM
Yeah no -1
 
:(
 
it's frowned upon to have a name that's hard to ping because it's in another language or something?
 
Yes
Well unless your name actually is in that language
if you're doing it because you think it's cool, or something, no.
 
it makes it easier to ping if you have english letters at the start
 
Ello ello
Clojure is annoying in that it doesn't have classes :(
 
12:57 AM
70
Q: Why does Clojure have 5 ways to define a class instead of just one?

SalilClojure has gen-class, reify, proxy and also deftype and defrecord to define new class-like datatypes. For a language that values syntactic simplicity and abhors unnecessary complexity, it seems like an aberration. Could someone explain why it is so? Could Common Lisp-style defclass have sufficed?

 
OMG WINTER BASH IS HERE :D
6
 
@ConorO'Brien Hooray!!!!!!!!
 
Wait what is winter bash
 
1:01 AM
@ConorO'Brien yesyesyesyeyes
 
What is the best way to make a koth controller in python. Is it subprocess.Popen, or is there a way to import bots like java does?
 
winter zsh
 
Winter ksh ftw
Can someone like just send me svg of hats so i can photoshop into avatar
 
*votes on Meta answers* GIMME MY HAT
6
 
refresh please
> post a message in chat within ±12 hours of the UTC New Year’s begin that gets starred
 
1:11 AM
We're so having a star fest at that time.
 
wait wat hats
 
Too lazy to Winterbash this year. I'll probably just get the one I like the best
 
I can't really top last year anyways
 
hats aren't showing on my profile?
 
1:19 AM
@EᴀsᴛᴇʀʟʏIʀᴋ you have to login to winterbash2016.stackexchange.com
 
I did, it just took a loong time
 
woot number one on the site rn
 
@ConorO'Brien w/ 2 hats :P
 
still
 
which ones?
vote by mobile and meta vote?
 
1:22 AM
So did they do equip regions?
 
CLOSE TEH SANDBOX; GIMME MA HAT
 
don't do that
 
@mods sandbox user should wear a hat
so should the other bots
 
@quartata I dont' think so
 
boooooo
@noɥʇʎPʎzɐɹC We'd have to get Phi to draw us some pixel art hats for the feed bots
(they can't actually wear hats since they don't have profiles)
 
1:26 AM
@quartata sandbox can, at least
 
Community can wear hats though.
 
I heard the hat discussion was fierce in these parts
 
13
Q: Should PPCG have an official, objective, list of rules?

ais523This is something that's been bothering me for a while, and is really impairing my use of the site. Any competition needs rules in order to be fair, and this has been established repeatedly in Meta posts (e.g. this post talks about the need for objective winning criteria). It needs to be complet...

's score rose by 6
b/c hats
 
@NᴏᴠɪᴄᴇIɴDɪsɢᴜɪsᴇ not especially
 
but once you're here you're here forever so
 
lol
I've done it now
 
AAAAAA
Just finished reinstalling Win10
Currently using the MS browser
 
The thing won't list my actual monitor resolution as an option
 
MS Edge isn't good
 
1:44 AM
Everything's blurry and stretched out horizontally
 
For the sake of hatzs
 
An image on wikipedia has a cat for scale
 
@EᴀsᴛᴇʀʟʏIʀᴋ thx m8
 
1:46 AM
it actually says in the description "with a cat for scale"
 
wonder if it was a joke
 
page refreshing intensifies
 
@ConorO'Brien heyyy thanks you have immediate-delete privs?
 
@EᴀsᴛᴇʀʟʏIʀᴋ idts, why?
 
1:48 AM
when I voted to delete it said like "6 votes remaining", then was nuked with 3
DJ voted a while ago
 
weird
 
Just got Firefox installed, but the resolution's still borked
 
who cares about FF we have hats man
 
system settings or a bad driver
 
Great, now the resolution option is grayed out
 
Ima try to reboot
 
Rebooted, now it's giving the proper 2048x1152
@EᴀsᴛᴇʀʟʏIʀᴋ Wait, hats?
 
How do I hat the hat hat
 
1:57 AM
by asking the hat nicely if he will hat for you
 
BREAKING NEWS: Programmer productivity & US economy shrinks as Winter Bash starts.
12
 
lol
ps should be BREAKING NEWS:
 
This is a subject of national security! The USSR has more hats than us!
 
how 2 get hat plz
 

« first day (2151 days earlier)      last day (2693 days later) »