|
of course since your build system is deterministic/pure you can just reuse the cached results of previous builds right
|
# ? Jul 16, 2014 06:56 |
|
|
# ? May 10, 2024 12:59 |
|
uncurable mlady posted:oh my god I loving hate JavaScript you don't like good languages.
|
# ? Jul 16, 2014 06:59 |
|
whoever posted this guys blog http://duartes.org/gustavo/blog/archives/ thanks. i'm slightly less bad
|
# ? Jul 16, 2014 07:55 |
|
more like dICK posted:I think I'll just bite the bullet and build / install the apps on the server. RPMs are insane. this is the worst of all possible worlds. If you thought RPM builds were hairy, you're in for a lot of fun when you start building from source on every target server this is the problem set rpm was built to solve
|
# ? Jul 16, 2014 11:14 |
|
Tiny Bug Child posted:you don't like good languages. you're right, I like PHP even less
|
# ? Jul 16, 2014 12:41 |
|
Shinku ABOOKEN posted:thanks ugh, here comes another dump there are two big models when it comes to OO: PURE OO, APPROVED 100% BY ALAN KAY, and the not alan kay OO. they key difference is the former is objects recieve messages, and the other one is that objects are structures. with smalltalk esque languages, like Obj-C and ruby, each object has a number of methods attached to it, and when you do obj.foo(args), you're really doing obj.send(:foo, args). objects are lightweight actors which can synchronously send messages to each other and get replies. in ruby, if you want to capture a method to invoke later, you can something like m = obj.method(:foo), and then m.call(). ruby doesn't have functions. what it has is top-level methods on objects. print isn't a function, it's shorthand for self.print, and all objects inherit from the top level object, so print can be found. (blocks are a little weird and sorta live on the call stack until wrapped up in a proc or lambda, or bound to a name. they aren't really functions. let's just ignore that ruby 'iterators' are closer to observers in reality) these sorts of languages are "message based OO", the ones alan kay declared "true OO" (now, if you have asynchronous actors and messages you get someting close to erlang, which is why people say it's OO, but that's a total aside) meanwhile in python, it's o = obj.foo; o(). when you call a method, you're looking up a value in an object. when you do obj.foo, you get back a function to call. methods are defined using functions that take an extra argument, self.when you look up a method o.foo, and foo is a function in a parent class, you partially apply o to foo as the first argument. (lua doesn't have this class magic, it uses two syntaxes foo.bar and foo:bar(..)) instances are just containers for functions. methods are just functions that take another variable. this is the heretical OO which is vaguely popular. so instead of saying 'message based' and 'struct based' OO, we can also see it as 'OO from methods', and 'OO with functions'. judging by which feature came first. yes, in python, functions are objects too. o() the same as o.__call__() ?!. sure, yep, but calling a method involves binding a function and calling it. not sending a message. (this gets confusing when you have languages like java which use methods, but see objects as structures. whatever) so: let's go back to the question about implicit this, explicit this, lexical this and runtime this. the choices between these make more sense when you understand the method/function divide. ruby uses implicit this, but doesn't run afoul of javascript's issues, as blocks act as a weird pancea - they're lightweight closures that are linked to the containing object. you don't have to do this=that, which is why you have to lift them up to make them full objects, anyway. since methods are the main way of specifying code, having this be implicit is nice. meanwhile python went the opposite way. functions are the main way, so making self an explicit argument was an easy way to transform functions into methods. it means you can do things like ClassA.foo = ClassB.foo to reassign methods, and 'self' is lexically scoped. if you want to use it in a closure, you don't have to bind or do that=this. so, what is javascript? instead of functions built from methods, or methods built from functions, javascript has methods which can be called as functions. foo(x) is if you called window.foo(x). javascript uses structure based OO too, so ClassA.foo = ClassB.foo too. javascript binds 'this' at method call time, rather than method lookup time in python. with python, it knows if it's an instance attribute or a class attribute, and only does method binding to the latter. with javascript, it's all prototypes, so there isn't that nice and easy option available. so what have we learned? x = obj.foo; x(blah); does completely different things. in python it's obj.foo(), in ruby it's self.x(blah), in javascript it's window.x(blah). python's choice of explicit this roots from using fns+structures, ruby's implicit self from using methods+messages. javascript chose methods too, but going for structural OO.
|
# ? Jul 16, 2014 14:29 |
I don't have much of an urge to write or learn any more Scala than I have to which is probably bad since it's the main language my company uses. (Disclaimer: I'm a terrible programmer)
|
|
# ? Jul 16, 2014 14:29 |
|
(if you can't guess my favourite thing is to have message passing OO at a higher level between components, erlang style, built from structural like OO parts underneath built from functions. i really like explicit self. if you're hating on explicit self in python, you're probably writing too many methods.)
|
# ? Jul 16, 2014 14:32 |
|
tef posted:ugh, here comes another dump gross
|
# ? Jul 16, 2014 14:34 |
|
tef posted:ugh, here comes another dump thanks
|
# ? Jul 16, 2014 14:38 |
|
if there's anything I like about tef it's how polarizing he is. the responses to that post characterize the posters utterly. the problem is, tef's views on programming are like the recent articles about US millenials' political views.
|
# ? Jul 16, 2014 14:57 |
|
Stringent posted:if there's anything I like about tef it's how polarizing he is. the responses to that post characterize the posters utterly. are you saying that millenials are terrible? i'm okay with that
|
# ? Jul 16, 2014 14:58 |
|
prefect posted:are you saying that millenials are terrible? i'm okay with that way more depressing. i'm saying they're young.
|
# ? Jul 16, 2014 15:05 |
|
Stringent posted:if there's anything I like about tef it's how polarizing he is. the responses to that post characterize the posters utterly. i have no idea what this metaphor means. i'm trying to explain the mechanics of a programming language design through it's interaction with other pieces, without going too far into detail.
|
# ? Jul 16, 2014 15:12 |
|
Stringent posted:if there's anything I like about tef it's how polarizing he is. the responses to that post characterize the posters utterly.
|
# ? Jul 16, 2014 15:24 |
|
for the first time in 9 years I'm working with a team of programmers that don't spend the majority of their time whining and yelling about someone else's bad code. They just hang out, write code and don't yell. which either means theyre all really good or all really bad.
|
# ? Jul 16, 2014 15:40 |
|
Ussr posted:which either means theyre all really good or all really bad. that doesnt really matter since they dont seem to be a bunch of whiny assholes which is like a unicorn
|
# ? Jul 16, 2014 15:42 |
|
one thing that I like about lua is how it's very transparent about being "fake oop" with structs (tables). or at least this was a cool thing about the "programming in lua" book.
|
# ? Jul 16, 2014 16:02 |
|
tef posted:i have no idea what this metaphor means. i'm trying to explain the mechanics of a programming language design through it's interaction with other pieces, without going too far into detail. ya its p interesting
|
# ? Jul 16, 2014 16:09 |
|
Shaggar posted:gross shaggar was right
|
# ? Jul 16, 2014 16:28 |
|
had my interview they asked me some c# technical questions and i could answer most of them but a few of them i couldn't asked me if i knew how to use visual studio then showed me their codebase and their devices, which were pretty neat they said the hiring guy wasn't there at the moment (i saw him heading out to lunch before I arrived) and they'd call me back later to set up an interview with him op success i guess
|
# ? Jul 16, 2014 19:14 |
|
Luigi Thirty posted:had my interview what kind of qs?
|
# ? Jul 16, 2014 19:27 |
|
AlsoD posted:what kind of qs? most of it was basic stuff really. what's a reference, what's a value, what's a static, what's managed code, etc, to know that i know what i'm talking about and that i actually wrote the example code i sent them. i got all of those but there were some c# memory questions i didn't know about. he did spend the beginning talking about how they wanted more to know that i have experience and know about object-oriented programming in general than specifics about c# since it's real hard to find local .net developers
|
# ? Jul 16, 2014 20:04 |
|
Luigi Thirty posted:i got all of those but there were some c# memory questions i didn't know about
|
# ? Jul 16, 2014 20:09 |
|
coffeetable posted:what like the different heaps and generations of garbage collection etc etc stuff like that, i haven't used c# for much more than toys and c++ (which i have used) doesn't have fancy things like "garbage collection" because it is "garbage"
|
# ? Jul 16, 2014 20:22 |
|
coffeetable posted:what like the different heaps and generations of garbage collection etc etc i dont know a dang thing about c#, does anybody want to drop some words thuswise?
|
# ? Jul 16, 2014 20:56 |
|
fritz posted:i dont know a dang thing about c#, does anybody want to drop some words thuswise?
|
# ? Jul 16, 2014 22:25 |
|
tef posted:(this gets confusing when you have languages like java which use methods, but see objects as structures. whatever) lol. I know no-one was asking about java but "whatever" is a great way to explain it yup
|
# ? Jul 17, 2014 00:38 |
|
Stringent posted:if there's anything I like about tef it's how polarizing he is. the responses to that post characterize the posters utterly. you can tell who the "real programmers" are eh eh *wink*
|
# ? Jul 17, 2014 00:39 |
|
t-t-triplepost but I would sure hope thinking about what's "under the hood" of c# memory management isn't necessary day to day.
|
# ? Jul 17, 2014 00:42 |
|
bobbilljim posted:t-t-triplepost but I would sure hope thinking about what's "under the hood" of c# memory management isn't necessary day to day. yeah if you're dealing with mark and sweep day-to-day it better be because you're playing intramural curling
|
# ? Jul 17, 2014 00:44 |
|
yeah i've never worried about gc. memory and connection leaks, sure.
|
# ? Jul 17, 2014 01:15 |
|
tef posted:ugh, here comes another dump i now know why someone would research/study/write PLs for fun thanks
|
# ? Jul 17, 2014 01:29 |
|
Shaggar posted:yeah i've never worried about gc. memory and connection leaks, sure. this happens when you did something wrong, not when you didn't know every nuance of exactly how the gc works for exactly the version you're running on (they could change the implementation completely in the next version)
|
# ? Jul 17, 2014 01:33 |
|
lol if your ORM doesn't handle closing connections properly *unfolds deckchair, sits back and watches*
|
# ? Jul 17, 2014 01:39 |
|
<>
|
# ? Jul 17, 2014 01:55 |
|
So I'm a baddy programmer who is mostly familiar with Java. I have a phone screen for a junior .net position on friday. They are really similar but is there anything c# specific I should be reading up on? LINQ maybe?
|
# ? Jul 17, 2014 01:59 |
|
oh yeah apparently the place just finished porting their application from Delphi 2005 (I asked him if he knew that Delphi 2005 existed when he started working there, he did not) to .net he also asked me if I had mongodb experience
|
# ? Jul 17, 2014 01:59 |
|
bobbilljim posted:lol. I know no-one was asking about java but "whatever" is a great way to explain it yup well it's been a long while since i looked at java, so my memory is hazy, and it was off topic but java didn't have dynamic dispatch originally, so i didn't think it right to lump it with the rubys and the smalltalks. under the scenes the jvm is doing lookup with fully qualified method names, although invoke dynamic confuses things a bit. and method handles. there really isn't a meta object protocol, or a notion of sending a message, or symbols in Java, and in java you can access the attributes of an instance. it's sorta sorta structural, except that java doesn't really have functions yet*, so you don't have the whole x = obj.f; x() thing. whatever. it wasn't really relevant to explaining the accidental? design around javascript's methods that sorta act like functions, and dynamic this. i mean, who knows. the whole everything is bound to window by default was probably some quick hack to make a feature work. or functions were added first before prototypes were. i mean who knows what brendan eich was doing. iirc prototypes were included as a gently caress java. * or whatever project coin and poo poo is happening tef fucked around with this message at 02:13 on Jul 17, 2014 |
# ? Jul 17, 2014 02:07 |
|
|
# ? May 10, 2024 12:59 |
|
Papes posted:So I'm a baddy programmer who is mostly familiar with Java. I have a phone screen for a junior .net position on friday. They are really similar but is there anything c# specific I should be reading up on? LINQ maybe? at a guess. - generics are different, no checked exceptions - linq is hella neat. - delegates are useful, as are extension methods. there is also using/idisposable. - unsigned integers - value types, nullable types it's kinda lina a java with the bits that didn't work well or were used well removed, and some of the things that were missing that could be added because jvm compat wasn't an issue. but unlike another java descendent, scala, c# is for mortals
|
# ? Jul 17, 2014 02:18 |