2,737 reputation
11327
bio website andreaferretti.it
location Milano, Italy
age
visits member for 4 years, 2 months
seen yesterday

Postdoc student in Lille


Feb
27
comment OCaml criticism: is it still valid?
Thank you, great answer!
Feb
26
comment OCaml criticism: is it still valid?
Thank you, I will have a look at the links, but I am not really asking whether those opinions are justified. I am asking whether the facts still hold. For instance: is there a way to print out any algebraic data type? Is it still accurate that integers overflow without warnings? Is there today a way to operate on file and dispose them without having to write every time the boilerplate to deal with closing files on errors?
Feb
26
comment OCaml criticism: is it still valid?
Are you really suggesting that I ask a dozen separate questions?
Feb
26
comment OCaml criticism: is it still valid?
Well, they do not look like this to me. Integer overflow checks, object printing, module immutablity, warnings on name shadowing... They all seem pretty general points to me, nothing related to Lisp. (And neither Python, Haskell nor Factor have integer overflows, and they are not Lisps either)
Feb
26
comment OCaml criticism: is it still valid?
And, by the way, I think people should be given the benefit of doubt when asking sensible questions. Maybe ask for clarification or better wording, rather than closing the question in a few minutes
Feb
26
comment OCaml criticism: is it still valid?
Well, I am not asking whether the opinion is valid, or sensible. I am asking this literally: are the bullet points still true in OCaml today, or have things changed since then. I think this has not much to do with discussion, I am looking for factual information, such as - say - "in version 4, one can print any object for debug"
Feb
18
comment Is jQuery an example of “god object” antipattern?
Yes (12 more characters to go...)
Dec
9
comment Why isn't software abstract on a grander scale?
@Rawing The point is that no, there is no limit to abstraction, certainly not at this point. In trying to make the example more abstract, you missed some opportunities of abstraction because you were thinking that somehow one has to explain the task with counters. This is not the case; in fact I see manual iteration over counters as a rather low level detail. And this is exactly the answer to your question: software is not always abstracted at the right scale because people miss opportunities to abstract, being used to tell things in low level detail
Nov
11
comment Is there any mechanism to make programming language more stable(compatible) for changes?
Yes, but not necessarily. For instance, the compiler of Scala happens to be written in Scala, but when you set the Scala version in sbt, it is just fetched as a Jar and used to compile your sources. Even if it was an opaque binary, that would do as well. Now, there are reasons to define as much of the language as possible should be defined in importable packages, but those are covered in amon's answer
Oct
8
comment JVM memory and zero-copy (de)serialization
Thank you! It turns out that Javolution also has partial support for references to other objects, by using DirectBuffers and reading their address.
Sep
17
comment Front end written in languages used for back end!
Given your last sentence, you may enjoy code.google.com/p/php-to-js :-P
Aug
12
comment Where should an object in CQRS+ES be fully initialized: in the constructor, or when applying the first event?
I understand better the question. So, I would say, the correct answer should be the third one. I think your entities should always be in a valid state. If this requires that a shopping cart has a customer id, then this should be provided at creation time, hence the need of a constructor that accepts a customer id. I am more accustomed to CQRS in Scala, where domain objects would be represented by case classes, which are immutable and have constructors for all possible combinations of parameters, so I was giving this for granted
May
30
comment Do input template languages exist?
He is not looking for a recommendation, he is asking if a library like this even exists, or if the concept has a name. Please, please, do not be so rush in closing questions. This site is becoming unusable
May
21
comment Why don't we completely de-couple frontend JS frameworks and backend APIs?
I am not sure why you wouldn't do it, but I do it all the time :-)
Apr
24
comment Is test coverage an adequate measure of code quality?
I was maybe a little rushed when I wrote - I was on a phone - but I still think there is a point. I do not want to bash on PHP, but I think that saying that in comparison Haskell gives a much greater degree of reliability is an objective statement
Apr
24
comment Is test coverage an adequate measure of code quality?
@gnat this is of course my opinion. Still, it says what is says. I took Haskell as an example of language whose compiler is very strict and gives many guarantees about the well-formedness of input, the types, the side effects, the mutation of data. I took PHP as an example of a language whose interpreter is very lenient and which does not even have a specification. Even in the absence of tests, the presence of all the guarantees from the types and effects system usually yields a decent degree of reliability. To compensate that with tests, one would need to have a very comprehensive suite
Apr
24
comment Is test coverage an adequate measure of code quality?
Then I am left to wonder what testing is
Mar
10
comment How to avoid duplicating the domain model in a multi-language distributed application?
If you only need to share data classes and not application logic, you may want ti have a look at avro or protobuf
Oct
17
comment What will be correct answer to “why is NoSQL faster than SQL” on interview?
As I have said in the answer, one can do the same in SQL; it is just that when this becomes the rule instead of the exception, NoSQL databases are usually faster and more natural to use. In theory, SQL is the best model one can use, but when data grows over a certain size, it just cannot accomodate some models, and data duplication becomes faster and easier to reason about.
Oct
15
comment Is there a need for garbage collection in a stack-based language?
Actually factor is garbage collected