910 karma · joined July 13, 2009
That's not really representative of what it could be.
If anyone were to actually use them, they'd wedge the open source community into a group that can basically treat it as open source, and those who can't. I dread to think about what happens if any wedged licensed program becomes a widely used dependency. In that regard, these types of license should be thought of as a contaminate.
The divisive element is what's driving the visceral reaction, and if anything, I think it's healthy. It shows people care.
id Software serves as a good example of what should be done. They released their no longer profitable previous-generation game engines as plain open source. That's more respectful of community norms.
Of course, C functions can be passed as variables. Or in a wider scope they might be inline, macros, or ifdef'd to different functions. But those cases are _typically_ recognized as undesirable and avoided.
Java's a bit of a different story, which I can't figure out a good way to explain. It's hard to explain problems in large code bases, as a quick example rarely suffices. I've seen more than one bug caused because foo.bar(qux) called a different method of bar than the original programmer intended (both because foo's bar was overwritten and qux was a different type than expected).
Don't get me wrong, I would use operator overloading in a heartbeat if I was writing code for a math-y CS coding assignment. It's fine for code that will have a lifepsan measured in weeks / months with probably only 2 or 3 people ever looking at it.
Saying what you mean, as clearly and directly as possible, has it's perks in certain applications (large code bases, life critical code bases, code bases that will last for decades with dozens of programmers). Otherwise stated, cases where code is going to be read many times more than written.
To answer your question more directly: User definable functions aren't a problem. Re-definable functions are!
Of course, my off-hand comment is just an exercise rather than an objective measurement. It'd only suffice for trivial examples (say, where X is a strict subset of Y).
A CLA should specify that the copyright assigned will always be under a license approved by the FSF and OSI.
The "and" is important, as it's probably possible for one of those organizations to go off the rails, but not both.
In order to get that tough question, you could carefully read the book, read his assignment solutions, and pay close attention to his caveat warnings in lectures... One of the three would typically contain the tough question.
Or, you could just read the book, do the assignments, and accept ~95% on the final exam as a maximum grade.
A ~95% cap, for a lot less work, is a good deal. Taking the deal is probably the right call for most people.
That being said, the thing I wish someone explained well is how amazing lambdas can be. I understood the benefits of list/array/stream processing on first glance, but it took a few years before I really understood the practical application of lambdas.
To extend your metaphor, there's a big difference between doing 10k in a swamp vs. 20k on a track.
Next up from the walrus: An expose of strange comments from the Honourable Member of Parliament for Kicking Horse Pass.
How close to prime time is AR?
It's hard to judge that without hands on experience.
Close or not, unlike the mid-90s, Apple can likely afford to burn money for a while on a big gamble. Trying to open up a new product category that plays to Apple's strengths is probably the correct strategy, so long as there isn't a better viable product.
I doubt this will storm the world the same way the iPhone did, so it'll likely be a while before it can be judged as a success or failure.
"PolyForm is not… Open source or free software."
EDIT: https://archive.org/details/al-music/AL+Music+3.mp4 at 49:51
1. Chretien was much more instrumental to the authorship of the Charter, and is checks CBC as he's kind of old still alive.
2. That "qualification" is meaningless. It's trying to imply Canadian constitutionalism has original intent, which it doesn't (we use a living document philosophy). So a non-applicable appeal to authority.
It's not like an AI making silly mistakes when driving a car.
But a better comparison would be the "election" of a Pope. It's only among Cardinals, who tend to vote for a Cardinal to become Pope. Even though a vote is taking place, we are not talking about a democracy.
As to which is closest to an ideal democracy in practice: America, Vatican City, or China, the contest in my mind is who is in second and third place, not first.
Power sharing agreements between the powerful who are not accountable to the people isn't something I'd classify as "democratic".
I'd consider term limits to be anti-democratic anyway. A functioning democracy has the ability to boot politicians out, and the people within the democracy, not the law should be trusted to make that decision.
I suspect that detecting errors that way will be a part of training non-terrible code generators. But with the added benefit of being useful to human programmers as well.
On an infinite timeline humans will no longer be needed in the generation of code (we hopefully will still study and appreciate it for leisure), but I doubt we're there yet.
No language can prevent a person from allocating a writable buffer, then reusing it without cleaning it. Do that on a server, and you have step 1 to a security vulnerability.
If requests to allocate memory come faster than the garbage can be collected.
Or a data container holding many/large references that will never be used. The difference between that and a lost pointer in C are moot in a practical sense.
All of these _can_ be prevented. But it's programmer care, rather than the language, that prevents them. Hence, the term "memory safe" is inaccurate. "Memory safer" would be more accurate, but far less catchy.
I think they're trying to combine the concepts of languages that have GCs and prevent buffer overflows into a catch-all term, but "memory safe language" isn't a good choice. Non-programmers might take the term at face value.
It's kind of like using the term "safe flame thrower", except no one would be lulled into a false sense of security with that one.
Don't get me wrong, I'd rather use a "safer flame thrower" than a "flame thrower", but I also wouldn't trust anyone selling me a "safe flame thrower".
The above is my best Dijkstra impersonation.
Any organization that holds personal data can be sued if such data is misused or exposed (even if hacked). Further, ensure that people cannot revoke their right to sue. Nor can they agree to any damage reduction in advance.
Otherwise stated, make every CTO committed to collecting / storing the minimum amount of data.
Whatever framework they establish should make it clear that it is not intended to encourage NIH.
ls | cat </dev/stdjson | string_proc_the_json_for_some_reason
With the direct ability to process in line:
ls -a | json.files[0].last_modified
I'd probably want multiple output formats (including s-expressions).