Hello, and sorry for being late to the discussion: Thanks Laura for bringing this up, and thanks everyone else for the interest.
As I wasn't subscribed to this list early, I didn't get a copy of the emails so I cannot answer each one in-line, but I'll do my best trying to reconstruct the thread citing the original messages (and fixing the subject line). Sorry for the very long mail, but I wanted to address all the concerns and topics. On Mon May 4 05:27:44 CEST 2015, Steven D'Aprano wrote: I've just added this comment to the issue on the bug tracker: http://bugs.python.org/issue16344 Thanks, I updated the issue pointing a new CPython clone in GitHub were I'll try to work reorganizing and drafting the PEP https://github.com/reingart/cpython I'll try to clone PyPy too, I think it could be even easier to internationalize, as it is pure python and no C API should be changed, but please correct me if I'm wrong. Anyone can write a PEP and have it sit on their computer's hard drive. > Unless he follows the process for submitting it for discussion, it might > as well not exist. That's not exactly true, I'm working in the PEP publicly since 2010 (it was first uploaded in the local users group): http://python.org.ar/wiki/TracebackInternationalizationProposal It not only was discussed in local and international mailing lists, it also was sent to python-ideas as PEP 1 indicates: https://mail.python.org/pipermail/python-ideas/2012-October/017493.html (seems there aren't responses anyway) Also, the draft PEP was attached to the issue (and was completely ignored by the core dev that closed and rejected the proposal, not even answering other core dev that pointed that the PEP was there) What I didn't do is sending it to PEP editors, my fault (I confess I didn't reached that part of PEP1 that time), as I thought it would be rejected anyway: reception was mixed (I didn't find other core dev willing to strong "champion" it -but re reading the PEP1 maybe I could champion it myself-) and why it would have a better luck, if the issue was rejected without any further discussion?. Looking at the volume of comments on the issue at the tracker link > above, I don't think Mariano has been *ignored*. Possibly the > conservativism of Python-Dev has struck again. There was a lot of > resistance to the idea of allowing non-ASCII identifiers when that was > first proposed too. Well, it depends on the perspective (see above), and if you see at the related blocking issue, it was really ignored (no new comments after my patch trying to fix it): http://bugs.python.org/issue9769 PEP 1 also states "wherever possible, long open-ended discussions on public mailing lists should be avoided", so with the previous facts, I did back off for a better opportunity. The same year in November, I spoke with some core devs that came to PyCon Argentina 2012 (that BTW I was the chair and tried to organize a CPython core sprint to work on this topics), specifically Brett Cannon, but he didn't have experience on internationalization. This year I thought the GSoC was an alternative, but again, I was wrong (at least I didn't received any feedback about why it was not accepted). I could continue but I'll not bother you. Note: I am not blaming anyone, just trying to give a summary of my experience. My own feeling is that CPython should not internationalise error > messages *yet*. But I would like to see a third-party implementation, > possibly something that can be switched on and off at the interactive > interpreter, or in iPython, and see how useful it is. But that's > something which can be discussed in the PEP. Why not yet? Anyway, as far as I remember, a 3rd party implementation is not viable: messages are already formatted when they reach exception hook, and the hook could not always be honored, beside that internal cpython message formatting seems to lack any UTF-8 nor internationalization support (positional parameters reorder, pluralization forms, etc.), just to mention technical issues I remember. And yes, the proposal contemplates turning translation on and off, even at runtime. How would the usefulness be evaluated? (field research, surveys, how many, where, etc.) How was it done in previous PEPs? (for example, what was done for other peps, like pep-3131) I really want to understand the process. I think that if Mariano had a proof of concept, and evidence that it > would be useful in practice as well as theory, then I think the PSF > should be asked to consider funding this as a diversity measure. The proof of concept was already there, you can see the original proposed patch: http://bugs.python.org/file27756/traceback_internationalization_proposal.patch In fact it is a half-backed prototype (the C part was there, translation was implicit, but the python part would need some more work, as translation would have to be more explicit, and messages collection tools needs to be developed). It surely has some other aspect to polish. The problem seems to be the evidence, that's why I proposed this as a GSoC project: to be able to develop a pilot implementation and get more facts after testing it and doing some research, as the effort is not trivial. On Mon May 4 10:00:49 CEST 2015, Armin Rigo arigo at tunes.org wrote: > I'm absolutely +1 on the idea. [snip] Thanks, and I agree with everything you said Even "syntax error!" is fine if your programming language is BASIC but the first difference with BASIC is that we can get commonly > many more error messages. Well, recently I did a little test with my 8 years old kid, starting with the python turtle module. He had difficulties even with the pronunciation of some error messages, and he has always to ask for the translation & help (until he gave up). I have observed the same behavior with even older students. Translation is not the only culprit, but I think it is a start (there are some educational theories that could be used to explain and overcome this, but I don't want to make this any longer). > I think that allowing them to be translated is a good first step. Exactly, I like the PostgreSQL motto: *PostgreSQL programs (server and client) can issue their messages in your favorite language — if the messages have been translated. Creating and maintaining translated message sets needs the help of people who speak their own language well and want to contribute to the PostgreSQL effort. You do not have to be a programmer at all to do this. * *...* *We won't judge your language skills — this section is about software tools.* http://www.postgresql.org/docs/9.4/static/nls-translator.html On Mon May 4 22:21:45 CEST 2015, Yury V. Zaytsev yury at shurup.com wrote: > > > > so I think that the days when all programmers must learn English are > > slowly fading away, just like the days when all mathematicians had to > > learn German. I hope not; we can argue whether this language should be English or > something else (e.g. Esperanto, or Latin, or ancient Greek for that > matter), but IMO for *professional* programmers and mathematicians, > there should be a common natural communication language. > Please define what a professional programmer is... And please define what a "learn English" means... For non native speakers, it would mean formally a "intermediate to proficiency English level" (TOEFL, Cambridge First Certificate FCE, etc.), and we have to take that tests periodically (once each couple of years to not "lose" the skills), with a minimal preparation of around 8 weeks (considering you have a good English background, something that usually takes around 4-7 years of extracurricular courses & practice) As far as I know, at least in Argentina, that "English proficiency" doesn't seems to be a formal requisite to be a "professional" programmer (if that equates to a major degree in computer sciences or similar, not to mention younger students or non-technical users). In fact, nor "English" (nor any other foreign language) is specified in the ministerial resolution that regulates the careers in computer sciences, informatics, system analysis and software engineering (according the core basic curriculum recommendations): http://www.cs.uns.edu.ar/downloads/acreditacion/res786.09.pdf That is indirectly based on the Computing Curricula of ACM-IEEE, this seems a updated version: https://www.acm.org/education/CS2013-final-report.pdf Again, note that English seems not to be a core competency/skill (at least in a first sight). In fact it is only mentioned as an example of a natural language, and it is only required for some courses given in English. Of course, that's doesn't mean that sooner or later students will be exposed to some English courses and materials. In fact, most undergraduate programs will include "starter" English level courses in Argentina, but they could be suspended or taken in parallel to Programming I, our equivalent to CS101 (and no, English is usually not "correlative" to technical courses, just complementary). For example, after a quick search, see this computer information systems engineering degree (from one of the most renowned Universities in Latin America), where English is optional, and you can even choose other foreign languages (including German, French, Italian, Portuguese) http://www.uba.ar/download/academicos/carreras/ingenieriainformatica.pdf This is the updated plan that even states "only it will considered one foreign language" (and BTW, just 4 credits = 4 hours per week per one semester, if you can learn a foreign language in just 64 hours...): http://www.fi.uba.ar/archivos/Actualizacion%202011%20Plan%20de%20Estudios%20Informatica.pdf You can imagine that this only get worse in the elementary and secondary schools (or even in other university degrees not related to IT), although English courses are being included gradually in the last years in all the educational levels. As a personal comment, so far in my academic career, I only faced an intermediate English knowledge (and certification) requirement for applying to a Ph.D. to study in the EU or US. I hold a Bachelor of Computer Analysis, and a Master in Free Software and Open Source (online from Spain), and I'm finishing a Bachelors in Education without any such certification nor requirement (the last ones didn't even have English courses). BTW, for example, if I study for a Computer Science Ph.D. in Argentina, the thesis should be written in Spanish (only exceptionally it is allowed to be written in English): http://postgrado.info.unlp.edu.ar/La_Institucion/Reglamento.pdf The funny thing if that for foreign students, Spanish language examination could be also a requisite, as if I go to Brazil, I could be required to learn Portuguese, etc. As a side note, another point is that we, as teachers, cannot even teach legally English courses if we're not specially certified for that (not only passed a Proficiency/Translator exam, also there are special teacher formation requirements) In summary, assuming English is a requisite to be a *professional* programmer is wrong and impractical IMHO (of course, YMMV). Still, don't get me wrong, I'm +1 on localization. It's going to be > quite some effort, but it's well worth it. Great! And please don't get me wrong too, I only want to Python be more diverse and easy for non English speakers. And yes, it will be a great effort ;-) BTW, the effort is already happening in other areas/aspects, for example, see the upcoming SciPy Latin America, that aims to mix English, Portuguese and Spanish: http://conf.scipyla.org/event/press Other conferences offered live translation to Spanish, for keynote English talks: http://ar.pycon.org/pyconar2014/ I think that proves that knowledge can be communicated in several languages, and I bet you'll have a bigger audience & more feedback if you speak in Portuñol (Portuguese + Spanish), than in English, at least in the Southern Cone. On Mon, 2015-05-04 at 22:24 +0200, Carl Friedrich Bolz wrote: > > Yes, well. It's precisely *not* about professional programmers in this > issue. Sorry to insist, but please this are the exact phrases that are a bit embarrassing to many of us. Are those people (mentioned early) that gave Python talks in Spanish or Portuguese not professional programmers? I even already write programs with identifiers and exceptions in Spanish, what's wrong with that? BTW, we don't have even right English translations for some words in Spanish (and this is just a project for electronic invoices) https://github.com/reingart/pyafipws Forcing to translate every term and write programs exclusively in English not only is harder, many times brings just more confusion, even the official government webservices' documentation (AFIP = Argentina's IRS) uses just Get/Set and very general terms in English, maybe due a Java getter/setter legacy, and almost all the complex data types, methods and messages are Spanish (and no, this is for programmers, not for final users): http://www.afip.gov.ar/fe/documentos/manua_desarrolladorCOMPGv25.pdf And just to clarify, CPython could be still developed in English, no translation will ever touch a source code file. On Mon, May 4, 2015 at 8:55 PM, Leonardo Santagada <santag...@gmail.com> wrote: > As we are transitioning to internationalized messages should/could we also > get more descritive error messages? It could always be just a phrase and a > link, eg: > instead of > TypeError: x() takes no arguments (1 given) > we output: > TypeError: x() takes no arguments (1 given) (maybe you forgot the self > attribute (https://docs.python.org/2/tutorial/classes.html#random-remarks > )) > Yes, this was also discussed, but I think it is a second step, and internationalization can be useful here too due diversity, to clear ambiguities or fix to rewrite complex messages, as different languages has different writing styles, rules, viewpoints, etc. Best regards, Mariano Reingart http://www.sistemasagiles.com.ar http://reingart.blogspot.com
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev