* Posts by Richard Plinston

2608 publicly visible posts • joined 27 Apr 2009

Happy birthday, Python, you're 30 years old this week: Easy to learn, and the right tool at the right time

Richard Plinston

Re: Why do some people not like python's indentation=code block container

> Some text editors and IDE's are set by default to ignore a programmers's clear and explicit key presses and interpret the [tab] key as what it thinks is the right number of spaces. Some people think that kind of blatant disobedience is tolerable.

'Tab' is short for Tabulate or 'make into a tabular form (a table)'. Program source code is not generally in the form of a table (OK some are, like Assembly or RPG). On typewriters the Tab key causes the platen to move along several _spaces_ until the next 'tab stop'. Having the Tab key move several spaces to the next 'stop' is the correct thing to do.

If you like to have tab characters in your source code and space characters, then don't use Python. Nobody wants to force you to use it.

Richard Plinston

Re: not so easy to learn

> PLAN?

I do have a 'PLAN Reference Manual, Student Edition' in 2 volumes here if anyone would like to learn it.

Also 'a date with JEAN'.

Richard Plinston

Re: Dumb design decisions

> but I will not use it until

That's OK. No one will care if you don't use it. It is not a cult.

Your opinion about what white space is for does not change my language choice.

Richard Plinston

Re: Dumb design decisions

> As the information is only encoded by one mechanism

And there is the problem - it isn't. There are two mechanisms available: spaces and tabs.

If one of these is eliminated entirely then there is no problem but, unfortunately, some programmers have editors which carelessly allow these to be mixed in arbitrary ways. Having a suitable editor configured appropriately*, and there are many available, that deals with this issue makes the language far more usable.

It seems that all these complaints are from programmers with unsuitable editors or configurations and then complain about the language.

* eliminate tab characters entirely, tab key generates spaces, tab characters made visible, block indent and outdent feature, ...

Raspberry Pi Foundation moves into microcontrollers with the $4 Pi Pico using homegrown silicon

Richard Plinston

Re: Annoyingly low on RAM

> display memory for code

Shades of 'Williams tubes'.

Richard Plinston

Re: No WiFi?

> At which point the power sipping stops.

Yeah, but if they did 'Power Over Wifi' ...

Python swallows Java to become second-most popular programming language... according to this index

Richard Plinston

Re: Sin tax

> non-backward-compatible changes from 2.x to 3.x

I've not had any trouble at all writing code that runs identically in Python 2 and 3.

Richard Plinston

Re: I've never understood what people have against braces (or semicolons)

> the result often ends up being machine readable at the expense of being human readable

You have that entirely the wrong way around. Python, as long as the source code use space characters and not tab characters, is read the same by the machine and the human reader. Braces and braced indent can be misused to confuse the human reader.

Richard Plinston

Re: BASIC for the 21st Century

> Microsoft's fault for Porting Dartmouth BASIC,

BASIC is not one language but is a collection of many diverse languages with vague similarities. Some of these were quite usable and maintainable, for example BBC BASIC.

Actually, Microsoft ported a DEC BASIC for the Altos, and later for several other machines. This was an open source interpreter on DEC. As 8080 development was done using cross compilers on DEC machines this was relatively easy to port the major part of it but a completely new maths module was required.

Richard Plinston

Re: Popular?

> I can't think of a single large project that's written in Python.

Your inability to think is not a constraint on the use of Python.

Richard Plinston

Re: Sin tax

> WTF will Python not let me use this?

Maybe your computer just hates you because Python lets me do that.

filename = 'this-is-a-file-of-mine.txt'

fd = open(filename)

print(fd.read())

Richard Plinston

Re: Python is not turned for speed

> I find illogical and stupid

I find your argument to be illogical and stupid. Your argument is simply: "This language isn't C++".

Richard Plinston

Re: Sin tax

> an editor that doesn't preserve whitespace properly

Get better tools, or configure the ones that you have to suit.

Richard Plinston

Re: Sin tax

> *I* will decide,

That's fine. No one cares if you don't use Python.

Richard Plinston

Re: Sin tax

> Fucking. White. Space.

Get better tools, or learn to configure your tools.

'white space' is only a problem when your tools deal with this inconsistently.

Apple now Arm'd to the teeth: MacBook Air and Pro, Mac mini to be powered by custom M1 chips rather than Intel

Richard Plinston

Re: Confusing much?

> Is that eleven or the roman numeral two?

Roman numbers do not use the digit '1', they use the letter capital 'I' to represent one.

How is Trump's anti-Chinese rhetoric playing out? 70% of smartphones sold in the US are – surprise – made in China

Richard Plinston

Re: Then let him do something about it

> Yet, you want him to pump public money into financially nonviable industries?

Corporate Socialism is a Republican thing. They are pumping subsidies into coal, oil and fracking. The Federal Reserve has pumped 7 Trillion into corporate bonds by just printing money in the last year or two to support the stock market.

ALGOL 60 at 60: The greatest computer language you've never used and grandaddy of the programming family tree

Richard Plinston

Re: .. never used .. ?

> a batch system called George

GEORGE (GEneral ORGanization Environment) was an ICL 1900 batch operating system with various versions from 1S to 4. I doubt that it had anything to do with Elliott machines.

(I actually joined I.C.T., one of the companies that formed ICL).

Richard Plinston

> So do you remember the significance of 7036875 ?

No, but 8,388,608 still haunts me!

Hint: PIC S1(23) SYNC RIGHT.

First it became Middle Earth, now New Zealand will transform into Azure region number 60

Richard Plinston

> Another related problem is time difference.

That can be an advantage rather than a problem. A few years ago I was developing a fairly large system for a UK based company while residing in NZ. I would develop and code during the day and early evening and then send the new code to the UK agent (using 56k modems) and they would test and I would have the results and comments by breakfast. We got a lot done in a very short time.

If you're writing code in Python, JavaScript, Java and PHP, relax. The hot trendy languages are still miles behind, this survey says

Richard Plinston

Re: Python and the minus in a filename

> this-is-a-file-name.txt ... Yet I've never been able to get Python to allow me to do this. Is it really forbidden?

You are talking nonsense. A filename in Python must be in a string, such as in quotes or apostrophes, and thus almost any character is allowed, including hyphens.

fd = open("this-is-a-file-name.txt", mode)

is perfectly valid.

Richard Plinston

Re: Java tied for #2

> #2 for so long is generally followed eventually by being #3 and then #4, etc

The ranking is based on the number of people asking questions. To bring a language back to number one just put out a new release with lots of new features that programmers will want to try to use.

Richard Plinston

Re: COBOL

> You don't implement the Quicksort algorithm in COBOL.

I have done that, in CIS COBOL on 64Kb CP/M. While COBOL does have a SORT verb, at the time it only worked on files and the program needed an array sorted. Since the mid 80s SORT has worked on arrays.

> but that's not its problem space so just don't.

Sorting is very much part of COBOL's problem space.

Flat Earther and wannabe astronaut killed in homemade rocket

Richard Plinston

> [most likely an oral account penned to papyrus by Moses or one of his scribes]

it is unlikely that _anything_ in the bible was written down before 'fist temple' around 10C BCE. The main reason for this is that before then there was no written form of Hebrew. This is several centuries after the alleged time of Moses. Most of the stories in Genesis are retellings of older stories taken from other tribal groups, and are just stories (and not 'accounts').

Around 3C BCE the various different collections of stories and other writings were combined with some being discarded to arrive at what later became the OT.

Richard Plinston

> let the flat-earth crowd say what they want,

Unfortunately some of these people get into government or on school boards and then try to make their ideas compulsory.

Richard Plinston

> If you want to tst things out for yourself you don't rely on optical instruments when the Mk 1 eyeball suffices.

Mk 1 eyeballs are completely unreliable in so many ways. They are also only backed up by human memory which is even more unreliable. If you have two observers of an event you are likely to get three or more incompatible descriptions of what happened.

Optical instruments can be calibrated and corrections applied. They can also record so that comparisons can be made.

Richard Plinston

Re: I doubt he was bright enough to build a rocket

> anyone that believes it has to be so batshit crazy

Not any more so than your average fundamentalist christian bible believer. Most of those seem to function OK in normal society, most of the time. Geocentralism is the next stage because why would their god create earth in a backwater of a massive galaxy among millions. They want to feel that they personally are the centre of the universe and the reason for everything.

Yea, OK, they are batshit crazy.

Richard Plinston

> Why not 3 parachutes

Because once you have increased the weight of the craft to greater than the thrust of the rocket the parachutes will no longer be required.

Richard Plinston

Re: Don't underestimate steam

> partly there to make sure you come out alive and uninjured every time

A good landing is where you can walk out. A great landing is where the vehicle can be used again after landing.

Richard Plinston

> your flat earther friend does not exist.

He didn't say he was a friend. Flat earthers do exist but are best avoided.

Richard Plinston

Re: Stupid is as Stupid does

> Powered using a steam engine. Not sure that counts as a rocket.

Stephenson thought it counted.

https://en.wikipedia.org/wiki/Stephenson%27s_Rocket

Richard Plinston

> a religious belief connected to biblical literalism.

As one flat earther put it: "If we are monkeys on a spinning ball then there is no god."

They want to have been created as the centre of the universe. Being on an insignificant rock around a mediocre sun on the edge of one of millions of galaxies just doesn't make them feel important enough to overcome the failure that they were told they were all through school.

Oracle tells Supremes: Fair use? Pah! There's nothing fair about 'Google's copying'

Richard Plinston

Re: A plague on both of them

> original creators of the APIs (AT&T?).

AT&T -> Unix System Labs -> Novell -> Santa Cruz Operation (SCO) -> The SCO Group?

Microsoft boffin inadvertently highlights .NET image woes by running C# on Windows 3.11

Richard Plinston

Re: "Visual Studio is a paid-for product"

> those Brits who see that as a version of a weight-describing Pound symbol!

You are confused. The 'Brits' do not use 'hash' as pound weight. It happens that on a US keyboard the 'hash' is shift-3 while on a UK keyboard that is where the pound money symbol (stylized L) is. The use of hash as a form of 'lb' (pound weight), according to Wikipedia, is chiefly in the US.

https://en.wikipedia.org/wiki/Pound_(mass)

Richard Plinston

Re: VisualBasic developers are daft enough to fail to realize this

> in the cloud ... real money in your pocket.

No. That translates to 'money in Microsoft's pocket'.

Richard Plinston

Re: 32 bit processors were common from 1985

> backwards compatible with earlier ... 8 bit processors. (8080/8085,

No, it wasn't, not with 8 bit stuff.

There was a V20 and V30 that were 8088/8086 compatible and also could run 8080/8085 stuff but the 80386 and later could not.

Don't mention the seam! Microsoft releases Surface Duo Android SDK, more on Windows 10X

Richard Plinston

Re: RE: You ain't Spartacus! I'm Spartacus!

> You really need to take criticism of Android less personally.

But your post wasn't an actual 'criticism of _Android_'.

Python overtakes Java to become second-most popular language on GitHub after JavaScript

Richard Plinston

Re: Hardly representitive!!

> 'the most popular language' = what shows up in 'wanted, experience in ...'

Ahh, the 'empty desk count'. That has been used to claim 'popularity' in some form, as if the lack of people willing to fill the desk that requires working in that language represents it being popular.

Controversies aren't Boeing away for aircraft maker amid claims of faulty oxygen systems and wobbling wings

Richard Plinston

> I think the Airbus issue sounds a bit more concerning.

It would be if flights lasted 150 hours.

First Python feature release under new governance model is here, complete with walrus operator (:=)

Richard Plinston

Re: What was wrong with C's implementation?

> It is more useful in a while statement:

> while(data = strm.get()) != EOF) {

Python doesn't need that assignment, nor test for EOF:

fd = open(filename)

for data in fd:

process data

Nor does it suffer from buffer overflow.

Richard Plinston

> Its an assignment operator in ALGOL

No. Assignment is a statement in Algol (and Pascal), not an operator.

> the great-grandparent of all block structured languages

No. Algol is the ancestor of Pascal like languages. C derives from CPL via BCPL and B, and not from Algol.

Richard Plinston

Re: :=

> Algol 60's assignment operator.

No. In C the equal sign (=) is an _operator_ that causes assignment in an expression. 'x = 0' is an expression. This is why assignment can be done in an if statement evaluation.

In Algol and Pascal the ":=" is part of the syntax of an assignment statement. 'x := 0' is a statement, not an expression, because ':=' is not an expression operator.

This is a fundamental difference between Pascal like languages and C like. Assignment in an 'if' can lead to errors, not only because '=' can be mistakenly written instead of '==' but because of 'short circuiting' evaluations may fail to do the intended assignment.

Fairytale for 2019: GNOME to battle a patent troll in court

Richard Plinston

> Shotwell itself is prior art.

USPTO changed to a 'first to file' system which means that prior art is irrelevant.

https://www.nolo.com/legal-encyclopedia/what-does-the-first-to-file-rule-mean-for-my-patent-application.html

Richard Plinston

Re: Subsequent litigation.

> They make far more income from accepting applications than rejection,

Also, if an agent rejects a patent application, they have to write a report explaining why. If they accept it nothing is required.

If an organization challenges a patent asking for a review, then they get to pay for that too.

As Windows 10 lands on 900m devices, Microsoft shows us the shape of clunk to come (again)

Richard Plinston

restart them after I sign in

Every developer will now be creating UWPs that will have that setting forced on somehow in a rerun of Javascript pop-up heaven.

Are you a Nim-by? C-ish language, gentler than Go, friendlier than Rust, reaches version 1.0

Richard Plinston

> Python does in fact support semicolon termination.

No. You are wromg. Python uses the semicolon as a separator, not a terminator.

"""Python uses the ; as a separator, not a terminator. You can also use them at the end of a line, which makes them look like a statement terminator, but this is legal only because blank statements are legal in Python -- a line that contains a semicolon at the end is two statements, the second one blank."""

German ministry hellbent on taking back control of 'digital sovereignty', cutting dependency on Microsoft

Richard Plinston

> you could use Linux without the GNU stuff, but nobody really does this

except _everyone_ with an Android phone.

All three of the Insiders on Arm64 can now muck about with Windows Subsystem for Linux 2

Richard Plinston

> But why does an unattended device running somewhere on your network need a DESKTOP for chrissakes? IoT FAIL.

Why would an unattended device running somewhere on your network need Windows of any description?

Richard Plinston

> Windows kind of works on Raspberry Pi

There was a version of Windows IoT (Internet of Things) that would run on Pi3 (not 2 or Zero) but it had no desktop and wouldn't run anything but UWPs. Actually it would only run one UWP because there was no launcher - it was boot and run only. It required a full Windows 10 PC to get it to do anything.

Incoming... Trump! Notebook makers ramp production to avoid next tidal wave of US trade tariffs

Richard Plinston

Re: Aren't you forgetting...

> The jobs "lost" in the short term are retail jobs.

"""Trump's trade war with China has reduced U.S. employment by 300,000 jobs through a combination of eliminated jobs by companies struggling with tariffs and jobs that would have been created but weren't because of reduced economic activity. Moody's Analytics forecasts that the job toll from the trade war will hit about 450,000 by the end of the year, if there are no changes in policy. (Yahoo Finance)"""