hat is *terrible*
practice in a modern high-level language. Use the library functions. They
will take proper account of the character set being used (which you
shouldn't even have to know for a task like this, let alone make unsafe
assumptions about).
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
l the best people I've ever known have had experience
> with quite a lot of languages.
I know 10 languages. But I'm not telling you what base that number is :)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
eful to be sure that something can't change.
In particular, efficient dictionary implementations need the keys to
be immutable, because it you change a key it /really/ fouls up the
look-up.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
nsultant, I'm quite interested about where in ATM you plan to use
Python code, and how you will be meeting the applicable safety
standards in the relevant administration.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/1/16 has :
> http://www.alice.org/
Ooh, "JavaLikeSyntax.py" indeed! Why not "PythonLikeSyntax", since
that's apparently what they used!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
smatch.
I was actually at the European Space Agency's Toulouse site the week
after the Ariane 5 incident. I've been at jollier funerals. I can't
help thinking that thinking that the team would have benefited from
reading David Parnas's work on the specification of the A-7E avionics.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
although I've always
wondered how much of that is because of language differences and how
much is because Ada tends to be used on critical projects that also
tend to get a lot more attention to development standards.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
Turing-complete. Specifically, all
loops that are required to terminate require a loop variant to be
defined. Typically the loop variant is a finite non-negative integer
that provably decreases on every pass of the loop, which makes halting
decidable.
--
Tim Rowe
--
http://mail.python.org/mailman/li
the maximum response
time is tolerable. The loop variant can help with that, too.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/1/23 Kay Schluehr :
> Whatever sufficiently sophisticated topic was the initially discussed
> it ends all up in a request for removing reference counting and the
> GIL.
Well, maybe, but it seems to me that the real issue here is that we
need to remove reference counting and the GIL.
urely know about Schluehr's
Law? ;-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/1/23 Martin P. Hellwig :
> Or you can argue that even when an argument is repeated indefinitely it
> doesn't make it suddenly right.
No, but it makes for a confirmation of Schluehr's law :-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
o go through a proper
specification change procedure if the team (not the organisation) is
more than a few people.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
erating
system that treats '\n' as a terminator (eg, Linux) rather than as a
separator (eg, MS DOS/Windows).
Perhaps what you don't /really/ want to be reminded of is the
existence of operating systems other than your preffered one?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
so Hungarian /can/ be useful. At this level I don't recognise a
difference between System and Applications Hungarian, by the way --
the difference is eliminated if you declare types corresponding to the
"meanings", which is commonplace in, for example, Ada.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
is part of what being a grown-up programmer is about. One size does
not fit all, one language is not ideal for all applications.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
de to conform to an
object oriented design (Python doesn't). So the answer to "Is Python
Object-Oriented" is either "yes" or "no", depending on what you're
/really/ asking.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
bit of extra insurance against false positives.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/1/30 Scott David Daniels :
> Be careful with your assertion that a regex is faster, it is certainly
> not always true.
I was careful *not* to assert that a regex would be faster, merely
that it was *likely* to be in this case.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/
hilosophy what would be the point of different
languages? Is it worth mentioning (again) that Python is not Java?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
e how it would be any different to any other
language. Admittedly I use the IDE because I like IDE's, but I don't
see why it wouldn't work with a text editor and make -- the command
line compiler is there.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/2/2 Russ P. :
> On Feb 2, 2:46 pm, Tim Rowe wrote:
>> No, we're supposed to believe that the designers of C++, Java, Ada,
>> and Scala are all designers of languages that are not Python. If all
>> languages had the same philosophy what would be the point of dif
2009/2/3 Jervis Whitley :
> real programmers use ed.
Ed? Eee, tha' were lucky. We had to make holes in Hollerith cards wi'
our bare teeth...
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
e
value less than sys.float_value.epsilon other than 0.0 (which I think
all representations can represent exactly). What am I missing here?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ppily do sys.float_info.max/(2*sys.float_info.epsilon) and will
give me the answer "inf") so presumably he's trying to protect against
divide by zero. So my next question is whether there is any x that can
be returned by float() such that x != 0 but some_number / (2 * x)
raises a
2009/2/4 Scott David Daniels :
Thanks for that. It makes me feel guilty to point out that:
> addition is not associative in real numbers
should presumably be "addition is not associative in floating point numbers".
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
have to use exception handling and catch
the Windows case?
That's the trouble with using anything in os, of course -- it's os
dependent, which is why it's there! :-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
when I'm trying to get to grips with the differences
between versions..
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/2/5 Scott David Daniels :
> And, of course he is right (and didn't even whomp on my typo of "makes"
> as "mes in the first line quoted above).
A typo for "makes" didn't bother me. Non-associativity of the real
numbers under addition risked making my
2009/2/5 :
> On Feb 5, 11:14 am, Tim Rowe wrote:
>
> ...
>
>> On an MS Windows system, os.uname()[0] raises an AttributeError -- sys
>> doesn't seem to contain uname. Is that a Linux thing? Would os.name
>> work on Linux? Or would one have to use exception han
r in the string -- there's
your loop -- and if (there's your if) it's a "1" change the truth
value of even:
even = !even.
If it is a number rather than a string, you want to do much the same
thing but you'll need the >> and & operators.
Chris has already
on
2.6 yet, never mind 3.0). Unless all you want is in the standard
library, I think it's worth the general user holding back for a while
whilst the tool providers catch up.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ht like to think
about what should happen if a user enters a negative value, but the
present behaviour -- when fixed -- may be what you need.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
member a programming exercise when I was an undergraduate and anyone
> who *didn't* use that trick got marked down for writing inefficient code.
Is adding and a modulus *really^ more efficient than flipping a bool
as I suggested? I think I'd want to see measurements!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
or the
bit shifting because I think it's clearer. And I'd want a word with a
tutor who insisted on premature optimisation ("The root of all evil",
according to C A R Hoare), especially in a scripting language!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/2/5 mk :
>
> (duck)
>
> 542 comp.lang.python rtfm
>
> 467 comp.lang.python shut+up
>
> 263 comp.lang.perl rtfm
>
> 45 comp.lang.perl shut+up
Yes, but is there any real traffic on comp.lang.perl nowadays?
Sorry, cheap shot ;-)
--
Tim Rowe
--
http://mail.pyth
ging in a position that
could modify the "unfriendly" text?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
stay clear of the os module :-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
backwards.
What's awful about it? Except in the sense of inspiring awe, of
course. No, Steven's example isn't broken, it works as the epydoc
authors intended.
> (it's still in 3).
Good.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
w how
to do it without using a while loop, but to help you we need to know
what *you* know). Like: do you understand what a while loop does? And
so on.
We're a pretty friendly bunch in here, but most of us believe in
"tough love" (http://en.wikipedia.org/wiki/Tough_love).
--
2009/2/12 km :
> Hi,
>
> you could do it this way also :
>
> if i in [3,5]:
> do something...
True, you could do it, but it would be wrong. The original is true for
i = 6, 9, 10, 12 and so on, but yours doesn't seem to be...
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ded. For those few cases where threading is a genuine advantage,
Python is not ideal. But in the real world I doubt they're enough to
make a significant dent in Python's popularity.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
es, defined in
an XML script, was a dream in Python when I'd probably still be coding
it today in C++. Horses for courses. It's almost always wrong to say
that language A is better than language B; the most you can say is
that language A is better than language B for some specific task.
-
language. I
think it will be a long search.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ty will depend on the project.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
on. Not speed of /execution/ that is.
Different languages have different trade-offs. Python's trade-offs
suit us. If they don't suit you, use a language with trade-offs that
do.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
rovide threads and processes and
> programmer choose the way. I really believe that GIL is a design
> error.
It's only an error if it gets in the way. It's the experience of a lot
of programmers that it doesn't, so it's not an error.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
lar kernel.
What would you expect the output to be if the data set were
[10,30,20,20,11,12,13] and the tolerance were 2?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
't have an expectation, why
are you interpreting it as a Boolean?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
l Python be introducing strong type checking and early binding,
so we can catch more bius earlier (compile rather than run time?) ;-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
choice and work out
whether Python actually /would/ be better. If you can do that, in the
process you will have gathered the evidence you need. If you can't do
that, why are you assuming that Python will be better?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2008/11/27 fel <[EMAIL PROTECTED]>:
> that's a lot of bytes for "do your own homework"
> but thanks, I'll do it.
It also included "You haven't defined the issue precisely enough" :-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
hing computer science, so that the students
will be able to cope with whatever they meet once they graduate, or
are we teaching computer programming, in a couple of specific
languages, so that the students will be completely unprepared if they
meet anything else?"
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
n
adopt the new language. That way you won't have to think of it in
terms of breaking any sort of backwards compatibility because there is
no backwards ;-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
had no
chance, but I was impressed with how close-run I could make it with
Python. Fun, yes, but no way anything I would consider for code that
is actually going to be /used/ in any way whatsoever!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2008/12/12 Filip Gruszczyński :
> I don't mean memory, but space in code ;-)
Trying to save printer paper for your listings, then?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
y!\n")
else:
interest = 0
year = 0
while interest < target:
rate = get_rate(balance)
interest = balance * rate
balance += interest
year += 1
print("Year %s, at %s rate: %s paid, %s in bank." % (year,
rate, interest, balance))
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
gt;if balance > threshold:
>return rate
>return .0
Yes, once it's changed from a dictionary to tuples it becomes easier,
doesn't it? D'oh!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ogram, there'd be no need for it to know about overdraft limits
because it's not making actual transactions. Why would they increase
coupling unneccesarily?
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
;s never too early to start
thinking about what you would /want/ it to do. What do you think it
will do for invalid or no command line arguments at the moment? Try
it!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
Unfortunately,
>>>> bool('Ruby totally pwn3s Python!')
> True
Using Python is not total protection against buggy programs ;-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
to use an exception for a normal case.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
gle
thing I liked (and I certainly didn't find it "elegant", as the
original poster described it). What do you see in it that you think
would be good in Python? Remember, put in too many shortcuts and
you'll end up with code that's as unmaintainable as Perl!
--
Tim Rowe
language can
be wrapped in a Python library, of course, as is the case with regexp
support). Logic languages still seem to have the edge over imperative
in some AI and theorem proving applications (although I suppose one
/could/ implement Prolog in Python, if Prolog is what you need it's
probably be
he difficulty isn't with the language, it's with lack of
documentation on Office Automation access to document properties. If
Gita can find that, Python should be at least as good for the job as
VB (and I think I'm being unduly kind to VB in putting it like that!)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2008/10/21 Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]>:
> Ever noticed that computer freaks often start counting at 0? ;-)
We grow to be like our pets
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
t with a dictionary.
- Extension methods: Python already has.
- Lambda expressions: Python already has.
- Auto-Implemented properties: No, but that's just syntactic sugar to
make declarations more compact.
So all of the language elements that are needed for LINQ are already
in Python; a libra
hon list type to be named list instead of
> array, despite it supports more or less all the functions you expect
> from an abstract list type.
They're not different data structures from the client point of view.
"More or less" all the functions wouldn't be enough.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
or implementation problem, so rather than
recoding it it might be worth looking at various approaches to
requirements capture and specification.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
likely) to find the bridge than find a chorus.. By the way, some of
the papers referenced seem confused between refrains (which form part
of the verses) and choruses (which are separate musical units).
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
nts capture methodologies too, so
rapid prototyping is up there with the rest of them.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
cks like a duck then all you
need to know is that
hasattr(foo, "quack")
and (if so)
callable(foo.quack)
If you need to know that it walks like a duck, mates like a duck and
tastes like a duck when roasted, you probably want it to really /be/ a
duck and should go back to inheritance.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
longer
compliant with the the factory class (which doesn't support the new
"form_pun_relating_to_avoiding_a_high_hazard()" method) . Fine. If you
checked for all the members of the class that your code uses, it makes
no difference. ABCs give you a way of doing this, but in their absence
it's a long
2008/11/13 Ben Finney <[EMAIL PROTECTED]>:
> That is not duck typing.
Oh, I'm pretty sure it is. It just isn't /using/ the duck typing in
the way you'd like.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
; they would get much the same answer for the first question
(immutability is handled differently, I think, but it's there) but a
totally different answer to the second.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
p it simple, the way you have been so far.
4. If you want to be a wise guy, ask your tutor why he/she got you to
convert the whole phrase to upper case, wasting a whole pile of
character conversion operations under the hood, because it's only the
acronym that needs to be converted :-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
son will
> ask an enlightening question; but, sometimes they just make
> unhelpfull wisecracks. It's a tough choice.
I used to use a baby, which avoids the embarrassment but can be just
as problematic to order on the internet.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
rations and so is
likely to be faster still. I think there are a couple that Python
works well with, but I've never looked into that -- others will no
doubt be along with recommendations now I've raised the subject.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ords,
and it won't all fit into memory. So your observation is pertinent.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
hashes are not collisions but
genuine duplicates you can throw them away as soon as they're checked,
so with some clever buffering you can stop them from clogging up the
buffer. The worst case is if there are a lot of genuine collisions, in
which case it's probably not a very good hash.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
hon (and probably in Ruby too) is to get
the code working, then if there are any *measured* bottlenecks to
optimise them in C++. That means that in practice there won't be a
perceptible speed difference for the user.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
not necessary (but still legal). That seems
to me to work pretty cleanly.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
low learning curve -- a reasonable programmer
can become productive in Python very quickly. For one programmer's
experience of learning Python have a look at
http://www.python.org/about/success/esr/ (although I grant that Eric
Raymond might count slightly higher than just a /reasona
t
fractions that can be expressed exactly in decimal can end up as
recurring decimals in binary. 0.8 looks nice and tidy, but in binary
(if I get this right) it's 0.1100110011001100..., recurring ad
infinitum. The computer has to truncate it somewhere.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/3/8 Tim Roberts :
> Tim Rowe wrote:
>>
>>I don't think the article is right that "it's silly to have some
>>expression/statement groupings indentation based and some grouped by
>>enclosing tokens" -- provided it's done right. The OCAML-bas
nate) problems caused by dot and comma
confusion..
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ness in
presenting those numbers. If "Finance users and non-professional
programmers find the locale approach to be frustrating, arcane and
non-obvious" then by all means propose a way of making it simpler and
clearer, but not a bodge that will increase the amount of bad software
in the w
ou worry about
> the format that you want to display it in.
Nothing in the proposal being considered addresses any of that.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
optimum for all possible applications, each one has
different compromises. You've just discovered one of Python's.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/3/20 Hendrik van Rooyen :
> A joke based on the Monty Python series is BY DEFINITION not stupid!
But may get /too/ silly.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/4/1 Carl Banks :
> I am also an engineer, and I can tell your idea of intuitive is not
> universal, even among engineers. I certainly do not lean toward one-
> based indexing.
Another engineer here who finds 0-based indexing more intuitive than
1-based indexing.
--
Tim Row
of the resulting classes will be too trivial, and it won't
give you the derived classes you need, but it's a good first step to
breaking a problem down, and might help break your one big class
habit.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
2009/4/9 Miles :
> Clearly, any comparison with a boolean literal should be illegal. ;)
Hey, we could have strict type checking at compile time of /all/
operations, couldn't we? Anybody care to join me over at the Ada list?
;-)
--
Tim Rowe
--
http://mail.python.org/mailman/listinf
tions (and for specific development processes), or you
could find yourself either with an application you can't use or a very
big lawsuit and possibly jail if it goes wrong.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
ithout actually having done anything wrong. Check
> first.
Quite -- but I'd add that if you haven't identified the safety
significance of the software, or haven't kept an audit trail to show
that you have applied techniques appropriate to the safety
significance, then you /have
2009/4/17 Michael Torrie :
> Spaghetti code can be written in *any* language.
I challenge you to write spahgetti code in SPARK!
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
which case there would be
no reason for him not to cut his Python teeth (fangs?) on it.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
y evidence for that? There's a lot of typing in Ada (it shows
its Pascal roots) but in all the studies I've seen Ada production code
has consistently shown fewer errors than the more concise C/C++ family
of languages.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
27;ll see that it pretty much *is* Modula2". So whether Modula2 was a
direct influence or not, it seems to have found its way in.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
umps are bad.
And then by showing the conclusion is false, you believe you have
shown a contradiction? Try looking up "Affirming the consequent"!
GOTO is an /unstructured/ jump. Raise, break, continue, if, for and so
an are all /structured/ jumps.
--
Tim Rowe
--
http://mail.python.org/mailman/listinfo/python-list
1 - 100 of 152 matches
Mail list logo