Ask HN: Please rank programming languages by how well they provide OOP support.
Is Smalltalk the best? Is Perl's Moose better than Python's built-in OO? How does CLOS measure up? Where do C++ and Java land on the scale?
As someone replying to the discussion topic, you may choose any interpretation of "best" that you wish. In fact, that would be preferred, as it would probably produce more interesting discussion than me attempting to rigidly define "best" in order to allow someone to post "given your definition of 'best', language Y is 'the best'".
How about this: which language's OO implementation do you like the best, and why?
Is Smalltalk the best? Is Perl's Moose better than Python's built-in OO? How does CLOS measure up? Where do C++ and Java land on the scale?
That is, they must be quite confident that Perl 6 is a winner, and that most users won't just write, say, Python, run it on Parrot, and make use of the CPAN from there.
(Please tell me if I'm totally missing the point, but my understanding is that any Parrot-hosted lang can access any other Parrot-hosted lang's libs.)
There's more to it than just that, actually. What happens when a teacher demands excellence? Well: grades drop, students (mostly the mediocre ones) complain, parents complain, teachers must do far more grading (and be forced to back it up -- every single point), other faculty members can get disgruntled, administration wants to know how this will impact standardized test scores (because they have to answer to the superintendent who insists that the scores go up every year or else you're doing something wrong).
Actually, that's not enough detail. "School" is a complex system consisting of many parts -- all of which have their issues. Parents play a big role, in so far as what they expect from their children, their local board of ed, and their superintendent.
> We teach people to be the status quo, we don't encourage them to excel.
You'd be amazed at the forces in place that so strongly coerce teachers to stick to the status quo.
What does "script" mean in this context? What is the "script" of a language?
Heheheh, boy would that get some bees in some bonnets on the Python dev ML. :)
All teachers "teach to the test" to some degree. The good ones try to get the kids to use higher-order thinking skills, and their quizzes and tests bear this out. If you want the kids to get better grades though, you could just heavily cover the material that's on the test, then make sure you use exactly the same wording on the test as was on the homeworks and quizzes (as opposed to mixing it up a bit to get the kids to think about things a little more).
Other parents think they'll go "straight to the top" and complain directly to the superintendent of schools in their town. When time comes to renew jobs for non-tenured teachers, I've heard tales of non-renewal (for the next school year) just because of a couple noisy parents.
Teaching is a brutal job.
Parents complaining about grades and/or teachers. Student behaviour worse than its ever been (with administrators that do very little about it -- partly because of outside pressures). Every bit of interaction with parents, and observed problem behaviours with students, must be documented. Dates, times, what was discussed, what actions are to be taken.
Far too regular class interruptions for all sorts of things (ex. sporting events, pep rallys, dances, early dismissals, awards ceremonies, field trips, plays). Teaching gets much more difficult when a non-trivial percentage of students are out every day, and/or class time is cut short (or gone) for other activities.
Rubrics required for everything (a teacher can't just say, "this is C work" -- everything must be documented, and this makes the amount of grading work go through the roof).
Unending meetings, data collection requirements (you'd be amazed at how badly administrators want to put a number on your kids). State curriculum requirements. Standardized testing. Paperwork up the wazoo.
And I don't even need to mention that you better not need to go to the bathroom during class, because you can't leave students unattended. And between classes, well, you've got 4 minutes between bells. Better make it quick. And hope another teacher's not using the same bathroom you're heading for.
Higher pay for teachers would be nice, but that ain't the problem.
You also say, "full of hacks and note-to-self comments about fixing them.", so there goes the possible TODO file too. :)
I'd try it, but I don't know Arc (or Lisp yet, for that matter). If someone here knows Arc and wants to see it in the Shootout, I suggest they look into the faq: http://shootout.alioth.debian.org/u32q/faq.php
> Well, arc's running on top of MzScheme, so it's likely to be a bit slower.
I'd be interested to see how Arc fares on the code-size axis.
* README: what it is and why
* ChangeLog
* LICENSE
* HACKING: instructions for users who might like to contribute to Arc
* FAQ: answers to questions that users keep asking about
* TODO: what you plan on working on next
No, "Why" is the Ruby guy. Regular Why (not any newer or improved Why) is releasing matter. And at an alarming rate! :)
Still a pretty spartan distribution. Still no docs dir or even a README, which seems a bit strange.
With Perl, there's a dozen solutions on CPAN for every problem, and you can pick and choose to find the best one. In Python, there's usually one that's had the blessing from above, and like-it-or-lump-it, that's the one everyone's using.
But the end result is, with Perl, in the long run, even though it's more work, the community ends up eventually filtering through the choices and homes in on the nearst-optimal solution. With Python, the higher-ups make the decision and you get what you get.
What's striking is that even with all its faults, Perl still can often win. Python fans look down at the playing field and they say, "How can this be? How is Perl still scoring goals? Python's got more equipment, a more detailed playbook, fancier training facilities, bigger crowds of fans, even snazzier jerseys. Perl's team is scruffy, scarred, and unkempt; they train on old equipment, and half the time they don't even seem to be taking the game seriously. Yet they still manage to score!"
As an aside: I like how even though Zed said he's done with the over-the-top persona, the real Zed is still showing through like always. :)
It would seem to me that doing so would seriously interfere with workflow.