1,393 karma · joined August 13, 2010
As of today (2/3/2016), this account is now 2000 days old with 1369 karma. I've decided to celebrate by announcing a switch to a (for better or worse) far-less-anonymous account, "pmarreck".
Dijkstra was correct in saying that you don't even need a computer to do "Computer Science," all you need is a pencil, paper, and a mental model of what you're trying to do given computer constraints.
Dijkstra more theoretical; Kay more hands-on.
I think BOTH are necessary, or at least important.
The older I get the more immune I feel to arrogance; to me it's a symptom of frustration coming from high skill colliding with the rest of the world's lack thereof.
"These aren't the webs you're looking for."
grins
You saying that there's evidence, is not the same as citing even a single instance of said evidence. :P I haven't seen anything that is actual evidence, other than people shouting angrily in text that things simply should be so (which seems to be almost what you're doing). Do you have a chip on your shoulder about this? (i.e., is there someone in your past who you feel took advantage of you via a power differential?) I think full disclosure is necessary.
> We therefore don't treat volition as binary, but as a point on a spectrum, signifying how much duress, influence -- the technical term is "power" -- was involved.
Fair enough, but you're conflating 2 things here, people who are together because of a power differential and people who are together because of an overridden will. I don't think these are the same thing. I think a person can be drawn to another's power even as that power may wrap around them. To an outsider it may look like an overridden will but to the person on the inside it does not look the same, it looks like a form of seduction. And I think this happens, and HAS happened, all the time.
There are millions of stable marriages that are based on a power differential of some sort, whether it's a beautiful woman, a wealthy man, a more intelligent spouse, or some other combination. Usually people are trading one power for another, such as beauty for intelligence. Are you suggesting we mark all of those as invalid?
Seriously though... Unless there is an evidentiary, demonstrable long-term negative/harm to any given voluntary adult human interaction (say, to an institution, or to society at large, or to the educational process)... I think we need to live and let live.
Distaste and offense are not rational arguments against something
I would even go so far as to say that even with a sole developer, this shouldn't be part of a workflow, as 1 developer can become 2 fairly easily.
I think you need to mention this in your homepage/video/marketing somewhere.
You're basically making it easier to mutate Git history, with all the concurrency issues that that creates. The reason why changing history in Git is hard, is because it should be hard.
Editing history (including comments) without a new commit is basically a revert to mutable history, which means shared git history suddenly becomes a problem.
Installing over the internet via digital download is not going to go away, and until someone comes up with a decentralized DRM scheme, centralized DRM is here to stay.
I don't see how it follows that you can't have a functional language controlling an x-ray machine. You can make an appeal to complexity, I suppose, but this can be managed. If Erlang is used to create a 99.999999999% reliable cellphone infrastructure (http://stackoverflow.com/questions/8426897/erlangs-99-999999...), I believe it can handle medical device functions :P I mean seriously, at that level of reliability, even if you have a health-critical device with literally just 10 assembly instructions, a cosmic ray could still flip a bit (http://status.aws.amazon.com/s3-20080720.html) and cause a catastrophe!
And as far as Java (which I'm not necessarily a fan of, I'm just making a counterargument) and medical devices, look here: http://www.oracle.com/us/technologies/embedded/embedded-java...
Actually, what you can do in this case is when you call recursively, pass back an incremented counter variable as part of the state, and if it passes some upper limit, handle it appropriately. You don't need to "avoid recursion" just to get control over the number of times something loops.
> and rely on garbage collection (which is forbidden, too)
Fair enough, but if I work in a language that doesn't even give me much control (if any) over the GC, then how is this relevant to non-C coders, again? Which was my original point.
> Name one professional code analyzer for any func language of your choice.
Erlang (and by association Elixir) has Dialyzer http://www.erlang.org/doc/man/dialyzer.html which is a static code analyzer. Static code analysis has been endorsed by John Carmack (and of course, all the 3 year old links to the blog post are now dead, sigh)
For anyone (like me) who is hooked on Elixir, https://github.com/jeremyjh/dialyxir provides a bit of easier Dialyzer management
Elixir (and I suppose Erlang) has this concept of "specs" which you don't have to use, but which help code analysis if you do... http://elixir-lang.org/docs/v1.0/elixir/Kernel.Typespec.html
If you don't control, then you'll be forced to gasp negotiate! There will be gasp unexpected risks (and possibly unexpected gains)!