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?
I was hoping it would lead to comments such as, "$lang1's OO implementation is good, except that it's missing $feature_X and $feature_Y, which means I can't do $technique_Z", or "$lang2's OO impl is more useful to me than $lang3's because it allows me to do $U and $V which I can't do in $lang3".
The OP asked about what you are currently learning. Many folks may actually be required to learn it for their job, rather than for professional enrichment.
Possibly of interest: Here's a regularly-updated plot by Georg Brandl showing the number of Python 3 packages in the PyPI: http://dev.pocoo.org/~gbrandl/py3pkgs.png
The Perl folk are being very bold, IMO. With Parrot and Rakudo, they're saying that you can write code in Perl 6 and utilize libs in other languages (including the CPAN in Perl 5), or you write code in other languages and still have access to all those libraries.
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.)
> It's sad. All of the teachers that are forced to teach to the status quo do so because money is on the line.
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).
> The problem isn't the time spent in school, the problem is the school itself.
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.
I disagree. Python regexen are a royal pain compared to how they work in Perl. You know what would be pretty funny is if a rogue group of guerilla programmers hacked Perl style regex match and replace syntax into Python.
Heheheh, boy would that get some bees in some bonnets on the Python dev ML. :)
There are a number of Parrot languages at various stages of development. As soon as they mature a bit, you might find people taking them pretty seriously. :)
The reason I asked was because it's difficult to believe someone would be such ass when letting an employee go. Especially in the way that he seemed to psyche himself up and get angrier and louder as he went.
It's not a matter of gaming the system. The teacher is the system. Just about anything the kids learn (except for honors classes, where the kids will sometimes learn some things on their own) is due to strenuous effort from the teacher.
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).
Not only that (parents complaining to teachers), it gets worse. Some problem parents actually go straight to the principal to complain about the teacher -- based only on what their child told them ("But mom, Mrs. So-and-so picks on me! She told us X wouldn't be on the test, but it was! And she's unfair!"). This is without ever even contacting the teacher (this tactic is often coupled with "but I tried to contact Mr. So-and-so but he never got back to me").
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.
Yes, great teachers should be paid well. But there's another side to this coin.
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.
Edit: Ok. Just had another look at http://www.paulgraham.com/arc0.html , specifically the part about changing stuff without even keeping track of the changes. So, I rescind my suggestion for the ChangeLog.
You also say, "full of hacks and note-to-self comments about fixing them.", so there goes the possible TODO file too. :)
I don't know much about the Shootout, but my guess is that, if someone wants Arc there, they need to go and write whatever programs the Shootout requires you to write in order to participate in the Shootout.
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