8,694 reputation
53677
bio website
location
age
visits member for 3 years, 2 months
seen 46 mins ago

0x2B | ~0x2B


Sep
8
reviewed Leave Open With agile, what do when a user story doesn't get completed in an iteration?
Sep
7
reviewed Leave Open Is it fair to patent workarounds?
Sep
7
reviewed Leave Open Are there opportunities working as full-time paid programmer for Non-profit organizations
Sep
7
reviewed Close How do I find fun companies?
Sep
2
awarded  Good Answer
Aug
31
awarded  Guru
Aug
26
comment Is method overloading anything more than syntactic sugar?
@jwenting: Do you know the difference between syntax and semantics? Do you think in terms of processor registers when writing in Python, or do you think in terms of objects, strings, numbers, and so on?
Aug
25
comment Is method overloading anything more than syntactic sugar?
@Doval, kdgregory: In order to define syntactic sugar you have to define it relative to some semantics. If the only semantics you have is "What does this program compute?", then it is clear that everything is just syntactic sugar for a Turing machine. On the other hand, if you have a semantics in which you can speak about objects and certain operations on them, then removing certain syntax will not allow you to express those operation any more, even though the language could still be Turing-complete.
Aug
25
comment Is method overloading anything more than syntactic sugar?
@back2dos: Totally agree with you. I read the sentence "everything is just syntactic sugar for assembler" way too often, and it is clearly wrong. Syntactic sugar is an alternative (possibly nicer) syntax for some existing syntax that does not add any new semantics.
Aug
25
comment What is referential transparency?
@Doval: I recently attended a course on reactive systems and, in that context, the delay of a computation is considered an effect. If you think about it, 4 could be the result of a query to a remote server. Then it makes a difference whether the result comes within 2 seconds or after 30 minutes.
Aug
25
comment What is referential transparency?
Another kind of effect that one might consider in combination with memoization is the delay caused by each call. If you not only look at the return value but also at the duration of each call, then the first call might take much more time than the subsequent calls that use the cache. In certain contexts the delay of each call is considered a relevant side effect and therefore I guess that in such contexts a memoized function would not be considered referentially transparent.
Aug
25
comment Why we need Throw-away Prototyping?
Let us continue this discussion in chat.
Aug
25
revised What is referential transparency?
Added clarification.
Aug
25
comment What is referential transparency?
I meant that (1) all functions are pure (of course, they are pure because the language does not provide any impure ones, even though as far as I know there are some mechanisms to bypass that), and (2) pure functions and impure actions have different types, so they cannot be mixed. BTW, what do you mean by call directly?
Aug
25
comment Why we need Throw-away Prototyping?
So if understand correctly, in Agile you only include in a release those features that are fully functional, whereas in evolutionary prototyping a release can contain some broken features.
Aug
25
comment Why we need Throw-away Prototyping?
But maybe I am wrong because I have interpreted (3) and (4) the wrong way.
Aug
25
comment Why we need Throw-away Prototyping?
Since additional rules apply only to specific Agile methodologies, (4) does not characterize Agile. E.g., pair-programming does not characterize Agile. Furthermore, to me (1) seems to imply (3): if you release something it must be a fully-functional product, or is it possible to release a non-fully functional prototype in evolutionary prototyping? (2) is also important: iterations should be short whereas I guess in evolutionary prototyping there is freedom to choose long or short iterations. So, it seems to me that (1) and (2) characterize Agile (I had forgotten (2) in my previous comment).
Aug
25
comment Why we need Throw-away Prototyping?
So the main difference between agile and evolutionary prototyping is that in agile prototypes follow release cycle with a fixed length?
Aug
25
reviewed Leave Open Why we need Throw-away Prototyping?
Aug
25
revised What is referential transparency?
Improved formulation.