Discussion:
Visual programming
(too old to reply)
Gareth Evans
2020-04-27 16:17:49 UTC
Permalink
When you consider programming a loop in C, you have
in your mind a single concept but you have to press
a large number of keys to get just the boiler plate
for that construct, eg,

for (=,<>,++){}

.. and mistyping will cause irritating errors, whereas
with visual programming one key press alone would give you
the boiler plate for the loop and a graphical blob to
represent it and no syntax errors.
Johann 'Myrkraverk' Oskarsson
2020-04-27 16:51:30 UTC
Permalink
Post by Gareth Evans
When you consider programming a loop in C, you have
in your mind a single concept but you have to press
a large number of keys to get just the boiler plate
for that construct, eg,
for (=,<>,++){}
.. and mistyping will cause irritating errors, whereas
with visual programming one key press alone would give you
the boiler plate for the loop and a graphical blob to
represent it and no syntax errors.
I've used editor templates for this purpose. A single function,
not necessarily a single keypress, will output something like

#include <stdio.h>

int main( int argc, char *argv[] )
{
_

return 0;
}

and the _ is used to mark where my cursor is at the end of the keypress.

The same can be done with for loops, while, do..while, whatnot.

You don't /need/ a visual language for this; if it helps, good.

What my editor lacks, or I have never figured out how to implement, is
something like

for ( _ ; _ ; _ )
{
_
}

where I can use a single key to jump between the various locations
marked with _.

***

Now you've got me confused, do you mean to write an editor, with
graphical functions for generating code, /or/ a totally visual
programming language? If you go for the latter, are you going for
flowcharts which nobody is using anymore? If you don't, are you
going for some intuitive[*] graphical syntax?


[*] Intuitive is not as intuitive as people think. In modern desktop
environments, there's usually an X that means /close this window/; this
X is not at all intuitive in any way, but people are used to it, and
learn quickly from one another, plus video demonstrations on Youtube and
the like.
--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk
Gareth Evans
2020-04-27 17:41:10 UTC
Permalink
Post by Johann 'Myrkraverk' Oskarsson
and the _ is used to mark where my cursor is at the end of the keypress.
The same can be done with for loops, while, do..while, whatnot.
You don't /need/ a visual language for this; if it helps, good.
... and neither do you /need/ anything such as C, C++,
assembler or even hex machine code. You could do all your
programming in binary :-)
Post by Johann 'Myrkraverk' Oskarsson
Now you've got me confused, do you mean to write an editor, with
graphical functions for generating code, /or/ a totally visual
programming language?
The latter. But not sure that I _MEAN_ to do it, just toying
with ideas (If you can take a 35 year period as "toying" as I
come back to this train of thought from time to time because
of numerous other spare time interests, ham radio,
church bell ringing, model engineering, horology, jump judging
at equestrian events, ac yn dysgu Cymraeg).

But totally visual, yes, so that you'd never encounter another
underlying source language such as C. Now, to store any program
design there needs to be an unambiguous representation of the
source structure, and one unambiguous representation is the
running code itself.
Post by Johann 'Myrkraverk' Oskarsson
  If you go for the latter, are you going for
flowcharts which nobody is using anymore?  If you don't, are you
going for some intuitive[*] graphical syntax?
Let me answer your questions by another. When you see the
representations for Scratch on the screen, how does that
look different from flowcharts?

As to the suggestion that nobody uses flowcharts, this suggests
to me a very unprofessional approach of coding off the top of one's head
?????
Jorgen Grahn
2020-04-28 14:58:38 UTC
Permalink
...
Post by Gareth Evans
Post by Johann 'Myrkraverk' Oskarsson
  If you go for the latter, are you going for
flowcharts which nobody is using anymore?  If you don't, are you
going for some intuitive[*] graphical syntax?
Let me answer your questions by another. When you see the
representations for Scratch on the screen, how does that
look different from flowcharts?
I've used Scratch, and yes it looks like flowcharts. I found it
painful to work with and never really "got" it. But I'm very
text-oriented. I don't know how children (who can/cannot read)
feel about it.

Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests to
me a very unprofessional approach of coding off the top of one's
head ?????
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).

/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Ahem A Rivet's Shot
2020-04-28 15:36:08 UTC
Permalink
On 28 Apr 2020 14:58:38 GMT
Post by Jorgen Grahn
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).
Class diagrams are usually generated from the code and comments to
serve as reference documentation rather than being drawn as design
documents. It's been a while since I had need of an FSM but if I do then a
state chart would certainly be a design document.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Peter Flass
2020-04-28 20:45:26 UTC
Permalink
Post by Ahem A Rivet's Shot
On 28 Apr 2020 14:58:38 GMT
Post by Jorgen Grahn
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).
Class diagrams are usually generated from the code and comments to
serve as reference documentation rather than being drawn as design
documents. It's been a while since I had need of an FSM but if I do then a
state chart would certainly be a design document.
I use FSMs all the time, but they’re not usually complicated enough for a
state chart.
--
Pete
Gareth Evans
2020-04-28 16:23:31 UTC
Permalink
... But I'm very
text-oriented.
Well, I suppose that to some extent one's existing experiences
tend to colour one's approaches.

But were I to have to hand a facility that I'd only have to
press a single key to have a guaranteed working program
(pace that it would not actually do anything at all at first)
then I'd take to it with gusto.
Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
LabView is a different kettle of fish, being an event
driven data flow facility targetted at electronic engineers
who are presumed to be frightened of computer programming.

My experience of LabView is that you need a lot of planning
up front to ensure that you do not end up with a rats' nest
of well-nigh impossible to maintain pictures. Labview is NOT
a graphical facility for imperative programming although ISTR
an HP facility that tried to hijack LabView's marketplace
by providing a structured programming approach.
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).
When you've produced your class diagrams with whatever inheritances and
interfaces, flowcharting is then
appropriate at a lower level to design the algorithms for your
objects' methods.
Ahem A Rivet's Shot
2020-04-28 18:01:32 UTC
Permalink
On Tue, 28 Apr 2020 17:23:31 +0100
Post by Gareth Evans
When you've produced your class diagrams with whatever inheritances and
interfaces, flowcharting is then
appropriate at a lower level to design the algorithms for your
objects' methods.
Object methods should generally be sufficiently simple not to need
flowcharting, complex algorithms should be coming from libraries.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Gareth Evans
2020-04-28 20:27:17 UTC
Permalink
Post by Ahem A Rivet's Shot
Object methods should generally be sufficiently simple not to need
flowcharting,
Perhaps in students' homework tasks
Post by Ahem A Rivet's Shot
complex algorithms should be coming from libraries.
Which libraries?

And with complex algorithms, flow charts are an
excellent graphical way of resolving complexities/
Ahem A Rivet's Shot
2020-04-28 22:14:54 UTC
Permalink
On Tue, 28 Apr 2020 21:27:17 +0100
Post by Gareth Evans
Post by Ahem A Rivet's Shot
Object methods should generally be sufficiently simple not to
need flowcharting,
Perhaps in students' homework tasks
The extreme of this is seen in the Enterprise Java style of
programming where methods are required to be simple and the complexity is
embedded in the object hierarchy, methods longer than 20 lines are frowned
upon in this community. Before you dismiss this as toy programming, it is
the norm in financial institutes these days.
Post by Gareth Evans
Post by Ahem A Rivet's Shot
complex algorithms should be coming from libraries.
Which libraries?
The ones chock full of well implemented, tested (with deep
regression tests), documented and optimised algorithms that accompany every
major and most minor programming languages these days.
Post by Gareth Evans
And with complex algorithms, flow charts are an
excellent graphical way of resolving complexities/
Have you ever seen a flow chart for a B-Tree insert operation, one
that covers all the edge cases and all the error handling ? I have, it was
a lot harder to make sense of than the code.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Charlie Gibbs
2020-04-29 05:40:45 UTC
Permalink
Post by Ahem A Rivet's Shot
On Tue, 28 Apr 2020 21:27:17 +0100
Post by Gareth Evans
Post by Ahem A Rivet's Shot
Object methods should generally be sufficiently simple not to
need flowcharting,
Perhaps in students' homework tasks
The extreme of this is seen in the Enterprise Java style of
programming where methods are required to be simple and the complexity is
embedded in the object hierarchy, methods longer than 20 lines are frowned
upon in this community. Before you dismiss this as toy programming, it is
the norm in financial institutes these days.
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
J. Clarke
2020-04-29 21:04:12 UTC
Permalink
Post by Charlie Gibbs
Post by Ahem A Rivet's Shot
On Tue, 28 Apr 2020 21:27:17 +0100
Post by Gareth Evans
Post by Ahem A Rivet's Shot
Object methods should generally be sufficiently simple not to
need flowcharting,
Perhaps in students' homework tasks
The extreme of this is seen in the Enterprise Java style of
programming where methods are required to be simple and the complexity is
embedded in the object hierarchy, methods longer than 20 lines are frowned
upon in this community. Before you dismiss this as toy programming, it is
the norm in financial institutes these days.
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Scott Lurndal
2020-04-30 01:20:08 UTC
Permalink
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
Peter Flass
2020-04-30 02:58:57 UTC
Permalink
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
--
Pete
Scott Lurndal
2020-04-30 14:03:40 UTC
Permalink
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)

Likewise the Univac/Unisys TIP, which as I understand it, is still
handling airline reservations et alia.
Peter Flass
2020-04-30 17:05:08 UTC
Permalink
Post by Scott Lurndal
Post by Peter Flass
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)
TPF is a stand-alone OS designed for transaction processing.As I understand
it, most credit-card transactions are run on TPF. It used to be Airline
Control Program (ACP), and I think many airline reservation systems also
use it.
Post by Scott Lurndal
Likewise the Univac/Unisys TIP, which as I understand it, is still
handling airline reservations et alia.
--
Pete
Scott Lurndal
2020-04-30 17:50:36 UTC
Permalink
Post by Peter Flass
Post by Scott Lurndal
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)
TPF is a stand-alone OS designed for transaction processing.As I understand
it, most credit-card transactions are run on TPF. It used to be Airline
Control Program (ACP), and I think many airline reservation systems also
use it.
Hm.. I've used MVS, but never TPF. I'd seen this on wikipedia:

"A close cousin of TPF, the transaction monitor ALCS, was
developed by IBM to integrate TPF services into the more
common mainframe operating system MVS, now z/OS."
Dan Espen
2020-04-30 19:39:35 UTC
Permalink
Post by Scott Lurndal
Post by Peter Flass
Post by Scott Lurndal
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)
TPF is a stand-alone OS designed for transaction processing.As I understand
it, most credit-card transactions are run on TPF. It used to be Airline
Control Program (ACP), and I think many airline reservation systems also
use it.
"A close cousin of TPF, the transaction monitor ALCS, was
developed by IBM to integrate TPF services into the more
common mainframe operating system MVS, now z/OS."
Never heard of ALCS but IBM already has CICS and IMS/DC.
I can't imagine why they need another one.

Well, they do need one that's easier to use.
Most of my experience was IMS/DC and it's far from easy to use.
--
Dan Espen
Peter Flass
2020-04-30 20:22:39 UTC
Permalink
Post by Dan Espen
Post by Scott Lurndal
Post by Peter Flass
Post by Scott Lurndal
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)
TPF is a stand-alone OS designed for transaction processing.As I understand
it, most credit-card transactions are run on TPF. It used to be Airline
Control Program (ACP), and I think many airline reservation systems also
use it.
"A close cousin of TPF, the transaction monitor ALCS, was
developed by IBM to integrate TPF services into the more
common mainframe operating system MVS, now z/OS."
Never heard of ALCS but IBM already has CICS and IMS/DC.
I can't imagine why they need another one.
Well, they do need one that's easier to use.
Most of my experience was IMS/DC and it's far from easy to use.
TPF is, or was, harder to use. As I said it was built for high-speed
transaction processing, and everything that gets in the way of that was
eliminated. I think you even need(ed) a zOS system to compile programs for
it. I don’t know the current state of zTPF.

I found CICS complex at first, but CGI now is similar to what CICS was back
in the 70s. Stateless user interaction takes a little getting used to in
the beginning.
--
Pete
John Levine
2020-04-30 21:54:29 UTC
Permalink
Post by Dan Espen
Post by Scott Lurndal
"A close cousin of TPF, the transaction monitor ALCS, was
developed by IBM to integrate TPF services into the more
common mainframe operating system MVS, now z/OS."
Never heard of ALCS but IBM already has CICS and IMS/DC.
I can't imagine why they need another one.
Other way around. TPF is the descendant of the early 1960s SABER
(what it was called before they called it SABRE) system. CICS and IMS
run under OS or DOS or whatever they're called now, TPF is its own
separate thing although I gather it emulates enough of OS to run
background support jobs.

It is reputed to be both fantastically hign performance and
fantastically reliable, one installation having stayed up continuously
for ten years through multiple hardware and software upgrades. What
it is not is easy for inexperienced programmers to use. If you could
imagine a version of node.js written in assembler, that's sort of it.
--
Regards,
John Levine, ***@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly
Gerard Schildberger
2020-04-30 22:38:10 UTC
Permalink
Post by Peter Flass
Post by Scott Lurndal
Post by Peter Flass
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
While it would, perhaps, be interesting, I suspect that it would
also be rather irrelevent, as most users of tomcat wouldn't be
interested in running on MVS :-)
TPF is a stand-alone OS designed for transaction processing.As I understand
it, most credit-card transactions are run on TPF. It used to be Airline
Control Program (ACP), and I think many airline reservation systems also
use it.
Post by Scott Lurndal
Likewise the Univac/Unisys TIP, which as I understand it, is still
handling airline reservations et alia.
--
Pete
TPF is also used in hotel/motel (chain) reservations. I was on the
team that first modified TPF to do hotel/motel reservations (this was
for Holiday Inns, Inc. waaaaaaaay back in 1979 or so). Prior to TPF,
Holiday Inns had a dedicated IBM 360/50 with it's own database that
was used to handle customer calls via a WATS line that was a toll-
free telephone number 1-(800)-xxx-xxxx. I was told that particular
WATS line was over a half-million dollars (back in 1978 !) a month,
with only IBM having a more expensive one.
(WATS= Wide Area Telephone Service).

A hotel room is just an airplane seat that doesn't go anywhere, with
various options --- such as bed size & number of beds, no smoking,
handicapped bathroom and other requirements, which floor the room
is on, which room (some guests liked the same room every year),
seaside or other special views, number of guests, number of days,
yadda, yadda, yadda.

Plus the renaming of "passengers" to "guests", and "seat" to "room".
And, of course, each hotel/motel had special options for some rooms,
such as whirlpools, steambaths, and the like, the room options
seemed to be endless. _________________________ Gerard Schildberger
J. Clarke
2020-04-30 21:36:09 UTC
Permalink
On Wed, 29 Apr 2020 19:58:57 -0700, Peter Flass
Post by Peter Flass
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
I hate to tell Scott, but the code has to run the workload that needs
to be done, not some theoretical workload that makes the code look
good.
Scott Lurndal
2020-05-01 01:14:03 UTC
Permalink
Post by J. Clarke
On Wed, 29 Apr 2020 19:58:57 -0700, Peter Flass
Post by Scott Lurndal
Post by J. Clarke
Post by Charlie Gibbs
It's been the battle cry of Structured Programming zealots since the
late '70s. I refer to the more extreme cases as the Vegematic school
of programming: run your source code through a vegetable chopper,
then paste all the pieces back together with function calls.
I suspect some of these people consider the number of function
calls to be a figure of merit.
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Then they chose the wrong workload. http://tomcat.apache.org/
I’d like to see a comparison to TPF.
I hate to tell Scott, but the code has to run the workload that needs
to be done, not some theoretical workload that makes the code look
good.
Are you normally this obtuse?

Some workloads are appropriate for Java, and some aren't.
Ahem A Rivet's Shot
2020-05-01 07:37:09 UTC
Permalink
On Fri, 01 May 2020 01:14:03 GMT
Post by Scott Lurndal
Some workloads are appropriate for Java, and some aren't.
Wow, that is an astonishing thing to say about a general purpose
programming language. Certainly different languages are suited to different
purposes but application design is usually where the workload is matched
not language.

That being said there's Java the language and Enterprise Java the
culture - the latter is very much more restricted in scope and capability
than the former (by way of example I note that Android apps are typically
written in Java the language and most certainly not in Enterprise Java
the culture).

Don't get me wrong Enterprise Java is not a business thing it is
very computer science based[1] - design patterns dominate and are usually
worn on the shirtsleeves embedded in every variable and class name. It is
the only programming environment in which I have used Aspect Programming
commercially to good effect. I found the style quite easy to write (once you
get used to it) but hard to read and debugging it is a *nightmare*.

[1] OK it's what happened to computer science after most of us left
education.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Scott Lurndal
2020-05-01 14:24:39 UTC
Permalink
Post by Ahem A Rivet's Shot
On Fri, 01 May 2020 01:14:03 GMT
Post by Scott Lurndal
Some workloads are appropriate for Java, and some aren't.
Wow, that is an astonishing thing to say about a general purpose
programming language. Certainly different languages are suited to different
purposes but application design is usually where the workload is matched
not language.
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered. Nor would I consider writing an operating system in Java.
Ahem A Rivet's Shot
2020-05-01 15:01:00 UTC
Permalink
On Fri, 01 May 2020 14:24:39 GMT
Post by Scott Lurndal
Post by Ahem A Rivet's Shot
On Fri, 01 May 2020 01:14:03 GMT
Post by Scott Lurndal
Some workloads are appropriate for Java, and some aren't.
Wow, that is an astonishing thing to say about a general purpose
programming language. Certainly different languages are suited to
different purposes but application design is usually where the workload
is matched not language.
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance mattered.
This is often done quite successfully - although the actual
analysis is performed by libraries written in a compiled (and optimised)
language with the control flow and other application logic happening in the
interpreted language.
Post by Scott Lurndal
Nor would I consider writing an operating system in Java.
Look up the JX operating system.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Peter Flass
2020-05-01 18:19:17 UTC
Permalink
Post by Scott Lurndal
Post by Ahem A Rivet's Shot
On Fri, 01 May 2020 01:14:03 GMT
Post by Scott Lurndal
Some workloads are appropriate for Java, and some aren't.
Wow, that is an astonishing thing to say about a general purpose
programming language. Certainly different languages are suited to different
purposes but application design is usually where the workload is matched
not language.
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered. Nor would I consider writing an operating system in Java.
I’m sure someone has considered it, at least a Java subset.
--
Pete
Scott Lurndal
2020-05-01 19:28:06 UTC
Permalink
Post by Scott Lurndal
Post by Ahem A Rivet's Shot
On Fri, 01 May 2020 01:14:03 GMT
Post by Scott Lurndal
Some workloads are appropriate for Java, and some aren't.
Wow, that is an astonishing thing to say about a general purpose
programming language. Certainly different languages are suited to different
purposes but application design is usually where the workload is matched
not language.
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered. Nor would I consider writing an operating system in Java.
I’m sure someone has considered it, at least a Java subset.
As an exercise, sure. As Steve pointed out, JX. However there aren't
any in actual production.
John Levine
2020-05-01 21:22:49 UTC
Permalink
Post by Scott Lurndal
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered.
Remember that Java is invariably JIT compiled so anything that runs
very long is native code.

Also take a look at the numpy python library, which has a reasoably
high performance python front end to math libraries.
--
Regards,
John Levine, ***@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly
J. Clarke
2020-05-01 22:54:35 UTC
Permalink
Post by John Levine
Post by Scott Lurndal
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered.
Remember that Java is invariably JIT compiled so anything that runs
very long is native code.
Also take a look at the numpy python library, which has a reasoably
high performance python front end to math libraries.
numpy is pretty much an APL workalike written in C. It interprets
one line of code and then runs for two hours doing whatever that line
of code told it to do. Then it interprets the next line of code,
rinse, repeat. The thing you don't want to do, the thing that will
_kill_ its performance, is iterate in python making numpy calls.
Johann 'Myrkraverk' Oskarsson
2020-05-02 22:44:59 UTC
Permalink
Post by John Levine
Post by Scott Lurndal
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered.
Remember that Java is invariably JIT compiled so anything that runs
very long is native code.
Now, yes; maybe. But not historically. There was this neat little
tool called GCJ that compiled Java to native binaries.

https://en.wikipedia.org/wiki/GNU_Compiler_for_Java

As an experiment, I compiled the PostgreSQL Java driver and a
test application with it, but alas the proof of that is gone from
the public web; but might still be available on archive.org.

There may still be other Java compilers that do this.
--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk
Robert Swindells
2020-05-03 12:21:45 UTC
Permalink
Post by Johann 'Myrkraverk' Oskarsson
Post by John Levine
Post by Scott Lurndal
Is it? I would never consider writing a high-performance numerical
analysis app in any interpreted language, myself, if performance
mattered.
Remember that Java is invariably JIT compiled so anything that runs
very long is native code.
Now, yes; maybe. But not historically.
The hooks to add a JIT were in the first released version of Java - 1.0.2,
the first usable ones were available fairly soon afterwards.
Johann 'Myrkraverk' Oskarsson
2020-05-03 14:16:15 UTC
Permalink
Post by Robert Swindells
Post by Johann 'Myrkraverk' Oskarsson
Post by John Levine
Remember that Java is invariably JIT compiled so anything that runs
very long is native code.
Now, yes; maybe. But not historically.
The hooks to add a JIT were in the first released version of Java - 1.0.2,
the first usable ones were available fairly soon afterwards.
Please don't take my words out of context, I meant in cases where Java
is compiled into native binaries; then you don't have JIT.
--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk
Ahem A Rivet's Shot
2020-04-30 05:52:02 UTC
Permalink
On Wed, 29 Apr 2020 17:04:12 -0400
Post by J. Clarke
The financial institute where I work tried Java, were horrified at the
pitiful performance, and gave up on that idea.
Many others just bought more hardware.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Jorgen Grahn
2020-05-01 16:09:38 UTC
Permalink
...
Post by Gareth Evans
Post by Jorgen Grahn
Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
LabView is a different kettle of fish, being an event
driven data flow facility targetted at electronic engineers
who are presumed to be frightened of computer programming.
Ah, I see you are more familiar with it than I am. Yes, I got the
impression its main purpose is to let people design electronics and
put a GUI on it rather than real buttons, knobs and displays.
Post by Gareth Evans
My experience of LabView is that you need a lot of planning
up front to ensure that you do not end up with a rats' nest
of well-nigh impossible to maintain pictures. Labview is NOT
a graphical facility for imperative programming
That's what the project I was in tried to do. Oh well, that's two
decades ago now; the scars have healed.

/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Charlie Gibbs
2020-05-01 23:11:24 UTC
Permalink
Post by Jorgen Grahn
...
Post by Gareth Evans
Post by Jorgen Grahn
Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
LabView is a different kettle of fish, being an event
driven data flow facility targetted at electronic engineers
who are presumed to be frightened of computer programming.
Ah, I see you are more familiar with it than I am. Yes, I got the
impression its main purpose is to let people design electronics and
put a GUI on it rather than real buttons, knobs and displays.
Post by Gareth Evans
My experience of LabView is that you need a lot of planning
up front to ensure that you do not end up with a rats' nest
of well-nigh impossible to maintain pictures. Labview is NOT
a graphical facility for imperative programming
That's what the project I was in tried to do. Oh well, that's two
decades ago now; the scars have healed.
That reminds me of a particularly convoluted piece of RPG code
in a payroll program (the archetypical convoluted system).
Two of us spent several days trying to figure out what it
did, and eventually gave up.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Scott Lurndal
2020-04-28 16:52:03 UTC
Permalink
Post by Jorgen Grahn
...
Post by Gareth Evans
  If you go for the latter, are you going for
flowcharts which nobody is using anymore?  If you don't, are you
going for some intuitive[*] graphical syntax?
Let me answer your questions by another. When you see the
representations for Scratch on the screen, how does that
look different from flowcharts?
I've used Scratch, and yes it looks like flowcharts. I found it
painful to work with and never really "got" it. But I'm very
text-oriented. I don't know how children (who can/cannot read)
feel about it.
Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests to
me a very unprofessional approach of coding off the top of one's
head ?????
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).
Back in 2000, I was working for a startup that was building a
software development system for B2B applications; primarily around
XML (W3C, SAML, etc). The development system was a graphical application
that allowed the user to link various elements together to build a
flow. There were ingress elements that received XML documents from
a TCP connnection, elements to process the XML through a XSL stylesheet,
elements that queried a database (JDBC/ODBC) using query keywords
extracted from an XML document, and elements to update the database and
elements to egress the XML document (or translate it to HTML to send to
a browser, for example).

The application builder would simply select from the library of elements,
customize them (i.e. specify the port for the JDBC connection to the back-end
database, create the stylesheets used to transform the XML into HTML or
other XML documents, etc.), perform various crypto operations.

Basically drag-n-drop programming. Very complicated web applications could
be created in minutes.

Verisign bought the company in 2001 for their crypto expertise and
the product was never productized, sadly.
maus
2020-04-28 18:14:38 UTC
Permalink
Post by Jorgen Grahn
...
Post by Gareth Evans
Post by Johann 'Myrkraverk' Oskarsson
  If you go for the latter, are you going for
flowcharts which nobody is using anymore?  If you don't, are you
going for some intuitive[*] graphical syntax?
Let me answer your questions by another. When you see the
representations for Scratch on the screen, how does that
look different from flowcharts?
I've used Scratch, and yes it looks like flowcharts. I found it
painful to work with and never really "got" it. But I'm very
text-oriented. I don't know how children (who can/cannot read)
feel about it.
Then there's LabView ... also a graphical programming language, and in
use in recent years. The original reason I learned Python was so I
could avoid LabView.
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests to
me a very unprofessional approach of coding off the top of one's
head ?????
Flowcharts have been out of fashion since the 1970s. State charts,
class diagrams and such are used today (but I can't say I've seen a
lot of those recently, either).
/Jorgen
What the modern millenials need is something that can be programed in
mobile-phone-speak :)
--
greymaus
Charlie Gibbs
2020-04-28 20:56:29 UTC
Permalink
Post by maus
What the modern millenials need is something that can be programed in
mobile-phone-speak :)
"Build a system that even a fool can use,
and only fools will want to use it."
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Johann 'Myrkraverk' Oskarsson
2020-04-28 15:22:13 UTC
Permalink
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests
to me a very unprofessional approach of coding off the top of one's head
?????
I learned flow charts in school, 25 years ago [1], and ever since, I
have never come across them in the field. Never. In 25 years.

I don't know if they're still taught in school; I would guess not.


[1] I guess that makes me a youngster in this group.
--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk
Jorgen Grahn
2020-04-28 16:21:50 UTC
Permalink
Post by Johann 'Myrkraverk' Oskarsson
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests
to me a very unprofessional approach of coding off the top of one's head
?????
I learned flow charts in school, 25 years ago [1], and ever since, I
have never come across them in the field. Never. In 25 years.
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the
code. So he concluded they were not useful.

This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.

Turns out Brooks is still alive -- he turned 89
earlier this month.

/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Gareth Evans
2020-04-28 16:31:31 UTC
Permalink
Post by Jorgen Grahn
This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.
"Putting more people onto a late project
makes it later" strikes a chord from that book!
Charlie Gibbs
2020-04-28 20:56:29 UTC
Permalink
Post by Gareth Evans
Post by Jorgen Grahn
This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.
"Putting more people onto a late project
makes it later" strikes a chord from that book!
The bearing of a child takes nine months,
no matter how many women are assigned to the task.
-- Ibid.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Gareth Evans
2020-04-28 21:46:25 UTC
Permalink
Post by Charlie Gibbs
Post by Gareth Evans
Post by Jorgen Grahn
This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.
"Putting more people onto a late project
makes it later" strikes a chord from that book!
The bearing of a child takes nine months,
no matter how many women are assigned to the task.
-- Ibid.
Management in public organisations is like the mating of elephants.

It takes place at a high level.

It is accompanied by a great deal of roaring and screaming.

It takes 3 years to produce results.
Paul_news
2020-04-29 13:44:13 UTC
Permalink
Post by Gareth Evans
Post by Gareth Evans
Post by Jorgen Grahn
This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.
"Putting more people onto a late project
makes it later" strikes a chord from that book!
     The bearing of a child takes nine months,
     no matter how many women are assigned to the task.
       -- Ibid.
Management in public organisations is like the mating of elephants.
It takes place at a high level.
It is accompanied by a great deal of roaring and screaming.
It takes 3 years to produce results.
There is a great risk of being trampled underfoot.

You are likely to get dumped on.
Bob Eager
2020-04-28 17:33:52 UTC
Permalink
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!

I had a student once submit a listing of a program (back in the days when
they still had to do that). The comments were all there, written in
pencil.

"I ran out of time to add those".
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Charlie Gibbs
2020-04-28 20:56:29 UTC
Permalink
Post by Bob Eager
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!
I had a student once submit a listing of a program (back in the days when
they still had to do that). The comments were all there, written in
pencil.
"I ran out of time to add those".
At least it's better than an arrogant statement that
one's code is so readable that comments aren't necessary.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Bob Eager
2020-04-28 21:02:35 UTC
Permalink
Post by Bob Eager
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!
I had a student once submit a listing of a program (back in the days
when they still had to do that). The comments were all there, written
in pencil.
"I ran out of time to add those".
At least it's better than an arrogant statement that one's code is so
readable that comments aren't necessary.
They wouldn't have dared.

Any more than they'd have tried to get a coursework extension because of
a disk crash. They were taught about backups.
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
J. Clarke
2020-04-28 23:10:19 UTC
Permalink
Post by Bob Eager
Post by Bob Eager
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!
I had a student once submit a listing of a program (back in the days
when they still had to do that). The comments were all there, written
in pencil.
"I ran out of time to add those".
At least it's better than an arrogant statement that one's code is so
readable that comments aren't necessary.
They wouldn't have dared.
Any more than they'd have tried to get a coursework extension because of
a disk crash. They were taught about backups.
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.

The problem was that there had been a physical head crash on the boot
pack which burred the pack and burred the head. So he destroyed the
backup pack and all the drives. The machine didn't run again until
DEC had sent out a tech, the tech figured out what the problem was,
and replacements were delivered and installed.

I think in that circumstance it would be reasonable for all students
whose work depended on that machine to recieve extensions.
Bob Eager
2020-04-28 23:38:17 UTC
Permalink
Post by Bob Eager
Post by Bob Eager
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a
design tool, his programmers produced the flow charts /after/
writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!
I had a student once submit a listing of a program (back in the days
when they still had to do that). The comments were all there, written
in pencil.
"I ran out of time to add those".
At least it's better than an arrogant statement that one's code is so
readable that comments aren't necessary.
They wouldn't have dared.
Any more than they'd have tried to get a coursework extension because of
a disk crash. They were taught about backups.
I think that would depend on the crash. There was a famous incident at
UCONN where the VAX wouldn't boot. The VAX was owned by the computer
science department and didn't have dedicated staff. So the professor
who needed to run something swapped out the boot pack for the backup,
and it still wouldn't boot. So he put the original boot pack in a
different drive, and it still wouldn't boot, so he kept trying different
combinations of drive and pack until he had run out of options.
The problem was that there had been a physical head crash on the boot
pack which burred the pack and burred the head. So he destroyed the
backup pack and all the drives. The machine didn't run again until DEC
had sent out a tech, the tech figured out what the problem was, and
replacements were delivered and installed.
I think in that circumstance it would be reasonable for all students
whose work depended on that machine to recieve extensions.
That's true. And I have seen similar.

But these days it's usually 'my PC hard disk crashed'. Plenty of backup
options, including the university network (on a SAN).
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
J. Clarke
2020-04-29 00:05:36 UTC
Permalink
Post by Bob Eager
Post by Bob Eager
Post by Bob Eager
Post by Jorgen Grahn
IIRC, Fred Brooks noted that, although they were intended as a
design tool, his programmers produced the flow charts /after/
writing the code.
So he concluded they were not useful.
Rather like students and comments in their code!
I had a student once submit a listing of a program (back in the days
when they still had to do that). The comments were all there, written
in pencil.
"I ran out of time to add those".
At least it's better than an arrogant statement that one's code is so
readable that comments aren't necessary.
They wouldn't have dared.
Any more than they'd have tried to get a coursework extension because of
a disk crash. They were taught about backups.
I think that would depend on the crash. There was a famous incident at
UCONN where the VAX wouldn't boot. The VAX was owned by the computer
science department and didn't have dedicated staff. So the professor
who needed to run something swapped out the boot pack for the backup,
and it still wouldn't boot. So he put the original boot pack in a
different drive, and it still wouldn't boot, so he kept trying different
combinations of drive and pack until he had run out of options.
The problem was that there had been a physical head crash on the boot
pack which burred the pack and burred the head. So he destroyed the
backup pack and all the drives. The machine didn't run again until DEC
had sent out a tech, the tech figured out what the problem was, and
replacements were delivered and installed.
I think in that circumstance it would be reasonable for all students
whose work depended on that machine to recieve extensions.
That's true. And I have seen similar.
But these days it's usually 'my PC hard disk crashed'. Plenty of backup
options, including the university network (on a SAN).
Google and Microsoft both throw cloud storage at you as well.

The last time I experienced an actual storage failure though was on a
Raspberry Pi--the downside on those things is that they run off a
Micro SD that has the MTBF of a fruit fly. Afterr that I reconfigured
it to boot off the MicroSD and run off a real SSD.
Ahem A Rivet's Shot
2020-04-29 06:05:09 UTC
Permalink
On Tue, 28 Apr 2020 20:05:36 -0400
Post by J. Clarke
the MTBF of a fruit fly
Nice.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Bob Eager
2020-04-29 09:40:53 UTC
Permalink
Post by J. Clarke
Post by Bob Eager
But these days it's usually 'my PC hard disk crashed'. Plenty of backup
options, including the university network (on a SAN).
Google and Microsoft both throw cloud storage at you as well.
The last time I experienced an actual storage failure though was on a
Raspberry Pi--the downside on those things is that they run off a Micro
SD that has the MTBF of a fruit fly. Afterr that I reconfigured it to
boot off the MicroSD and run off a real SSD.
Indeed. And I shall remember that simile!

I'm paranoid about backups - goes back to managing various mainframes.

I have on-site copies, off-site copies - and cloud copies (using tarsnap).
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Gareth Evans
2020-04-29 09:30:33 UTC
Permalink
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.

Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
Peter Flass
2020-04-29 14:28:17 UTC
Permalink
Post by Gareth Evans
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.
Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
This story has been told many times about many different companies.
--
Pete
Ahem A Rivet's Shot
2020-04-29 14:31:56 UTC
Permalink
On Wed, 29 Apr 2020 07:28:17 -0700
Post by Peter Flass
This story has been told many times about many different companies.
I rather suspect it was a not entirely uncommon event.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Charlie Gibbs
2020-04-29 16:39:20 UTC
Permalink
Post by Ahem A Rivet's Shot
On Wed, 29 Apr 2020 07:28:17 -0700
Post by Peter Flass
This story has been told many times about many different companies.
I rather suspect it was a not entirely uncommon event.
It had been making the rounds when I encountered a head crash.
One evening I was prepping a new pack, and the drive started
getting noisy. At first I thought it was just the spindle
bearing, which on this drive was a bit noisy anyway. But the
noise kept getting louder, so I killed the job, dismounted the
pack, and took a look at it. It was ugly. One surface was so
chewed up that you could see bare aluminum.

Needless to say, I immediately quarantined both the pack and
the drive, and reconfigured the system to run without them.

The fun came the next day when we called the CEs in. Univac
had always made dire threats about using Control Data packs.
Nobody had any choice, since Univac couldn't supply enough.
Eventually we had people from both Univac and CDC on site,
pointing fingers at each other.

There was nothing basically wrong with CDC packs. If they
worked once, they'd work forever. Just be careful the
first time...
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
J. Clarke
2020-04-29 21:06:21 UTC
Permalink
On Wed, 29 Apr 2020 07:28:17 -0700, Peter Flass
Post by Peter Flass
Post by Gareth Evans
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.
Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
This story has been told many times about many different companies.
At UCONN the disk pack was enshrined and shown to students as a
cautionary tale. Whether it still is I have no idea.
Peter Flass
2020-04-29 22:15:30 UTC
Permalink
Post by J. Clarke
On Wed, 29 Apr 2020 07:28:17 -0700, Peter Flass
Post by Peter Flass
Post by Gareth Evans
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.
Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
This story has been told many times about many different companies.
At UCONN the disk pack was enshrined and shown to students as a
cautionary tale. Whether it still is I have no idea.
Do kids still even know what a disk pack is?
--
Pete
J. Clarke
2020-04-29 22:45:56 UTC
Permalink
On Wed, 29 Apr 2020 15:15:30 -0700, Peter Flass
Post by Peter Flass
Post by J. Clarke
On Wed, 29 Apr 2020 07:28:17 -0700, Peter Flass
Post by Peter Flass
Post by Gareth Evans
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.
Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
This story has been told many times about many different companies.
At UCONN the disk pack was enshrined and shown to students as a
cautionary tale. Whether it still is I have no idea.
Do kids still even know what a disk pack is?
Probably not. Good point.
Gareth Evans
2020-04-30 13:27:54 UTC
Permalink
Post by J. Clarke
On Wed, 29 Apr 2020 07:28:17 -0700, Peter Flass
Post by Peter Flass
Post by Gareth Evans
Post by J. Clarke
I think that would depend on the crash. There was a famous incident
at UCONN where the VAX wouldn't boot. The VAX was owned by the
computer science department and didn't have dedicated staff. So the
professor who needed to run something swapped out the boot pack for
the backup, and it still wouldn't boot. So he put the original boot
pack in a different drive, and it still wouldn't boot, so he kept
trying different combinations of drive and pack until he had run out
of options.
Blimey! A similar thing happened to a dual-processor PDP11
project with 4 RK05 drives. Again, it had been a head crash,
and again all drives and disk packs were buggered.
Luckily we were only a week into entering our (MACRO-11) programs so we
could start from zero again.
This story has been told many times about many different companies.
At UCONN the disk pack was enshrined and shown to students as a
cautionary tale. Whether it still is I have no idea.
I used to keep the ploughed up platter from the RK05 disc pack
to teach visiting management about the need for cleanliness,
and in particular not smoking (the computers were just in the
ordinary office and not in an air conditioned room)

It became a reason for my fame within that organisation because
when I moved on to another employer (39 years ago :-( ) the
platter was engraved as my farewell leaving card!

I have it screwed to the bedroom wall to this day!
J. Clarke
2020-04-28 23:04:32 UTC
Permalink
Post by Jorgen Grahn
Post by Johann 'Myrkraverk' Oskarsson
Post by Gareth Evans
As to the suggestion that nobody uses flowcharts, this suggests
to me a very unprofessional approach of coding off the top of one's head
?????
I learned flow charts in school, 25 years ago [1], and ever since, I
have never come across them in the field. Never. In 25 years.
IIRC, Fred Brooks noted that, although they were intended as a design
tool, his programmers produced the flow charts /after/ writing the
code. So he concluded they were not useful.
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
Post by Jorgen Grahn
This was in "The Mythical Man-Month" or related writings, in the 1970s,
but the insight came much earlier, I suppose.
Turns out Brooks is still alive -- he turned 89
earlier this month.
/Jorgen
Johann 'Myrkraverk' Oskarsson
2020-04-29 06:08:02 UTC
Permalink
Many programmers have a tendency to start coding without_any_ plan.
And the result is often a huge mess.
I believe it's because people aren't taught about the difference between
an experiment and production code. And the tendency to "ship"
experiments into production is rampant.

I can only speak for myself, but I have quite a different mindset and
discipline for the two: an expirement to see if something (usually an
unfamiliar API) works the way I expect it to, vs. production code that
builds on the experience I gained from the experiments and includes all
the minute error handling the API expects [1].

[1] Tested as much as I'm able, with fake errors, etc; but real errors
can be really hard to test for, because the components tend not to break
during development.
--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk
Charlie Gibbs
2020-04-29 16:39:19 UTC
Permalink
Post by Johann 'Myrkraverk' Oskarsson
Many programmers have a tendency to start coding without_any_ plan.
And the result is often a huge mess.
I believe it's because people aren't taught about the difference between
an experiment and production code. And the tendency to "ship"
experiments into production is rampant.
"There's never time to do it right, but always time to do it over."
Post by Johann 'Myrkraverk' Oskarsson
I can only speak for myself, but I have quite a different mindset and
discipline for the two: an expirement to see if something (usually an
unfamiliar API) works the way I expect it to, vs. production code that
builds on the experience I gained from the experiments and includes all
the minute error handling the API expects [1].
The hard part is maintaining a barrier between the two. It's easiest
to just not let management know you're doing experiments. (And probably
safer, since your typical PHB will just condemn you for "wasting time".)

On the other hand, if you do produce a one-shot report for them, be
prepared for them to say, "Hey, I like this report! Have a copy on
my desk every Monday morning." Hence my definition of a "one-shot"
program: something that you only need once... this week.
Post by Johann 'Myrkraverk' Oskarsson
[1] Tested as much as I'm able, with fake errors, etc; but real errors
can be really hard to test for, because the components tend not to break
during development.
Sing it, brother. No matter how much you test, something unforeseen
is going to come up the day the program goes into production.
I suspect this is some sort of natural law.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Scott Lurndal
2020-04-29 17:38:55 UTC
Permalink
Post by Charlie Gibbs
Post by Johann 'Myrkraverk' Oskarsson
Many programmers have a tendency to start coding without_any_ plan.
And the result is often a huge mess.
I believe it's because people aren't taught about the difference between
an experiment and production code. And the tendency to "ship"
experiments into production is rampant.
"There's never time to do it right, but always time to do it over."
I suspect that you're all making false generalizations from a small sample
size. What proof have any of you that "many programmers have a tendncy
to start coding without _any_ plan"?

That's not been my experience in the last four decades.
Peter Flass
2020-04-29 18:46:33 UTC
Permalink
Post by Scott Lurndal
Post by Charlie Gibbs
Post by Johann 'Myrkraverk' Oskarsson
Many programmers have a tendency to start coding without_any_ plan.
And the result is often a huge mess.
I believe it's because people aren't taught about the difference between
an experiment and production code. And the tendency to "ship"
experiments into production is rampant.
"There's never time to do it right, but always time to do it over."
I suspect that you're all making false generalizations from a small sample
size. What proof have any of you that "many programmers have a tendncy
to start coding without _any_ plan"?
That's not been my experience in the last four decades.
I think better in code, so a lot of times I start coding with the idea that
I will have to throw it away and start over, sometimes more than once. I
can think about a problem all I want, but nothing shows up the holes in a
design like actually coding it. I guess I still have _some_ plan going in.
Usually maybe 90% is usable no matter what the final design turns out to
be.
--
Pete
Ahem A Rivet's Shot
2020-04-29 18:14:28 UTC
Permalink
On 29 Apr 2020 16:39:19 GMT
Post by Charlie Gibbs
Sing it, brother. No matter how much you test, something unforeseen
is going to come up the day the program goes into production.
I suspect this is some sort of natural law.
The ones that get me are the ones you find in the code while doing
something else that mean the thing couldn't possibly work and yet it's been
working in production for ages ... and then the field reports come in.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Charlie Gibbs
2020-04-29 23:19:55 UTC
Permalink
Post by Ahem A Rivet's Shot
On 29 Apr 2020 16:39:19 GMT
Post by Charlie Gibbs
Sing it, brother. No matter how much you test, something unforeseen
is going to come up the day the program goes into production.
I suspect this is some sort of natural law.
The ones that get me are the ones you find in the code while doing
something else that mean the thing couldn't possibly work and yet it's been
working in production for ages ... and then the field reports come in.
It's called a schrödinbug:

https://en.wikipedia.org/wiki/Heisenbug#Related_terms
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Ahem A Rivet's Shot
2020-04-29 06:08:02 UTC
Permalink
On Tue, 28 Apr 2020 19:04:32 -0400
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
I've had to reverse engineer and rewrite a few of those. Another
mess occurs when they do have a plan but it doesn't fit the problem and so
there's a ton of kludge to make it fit.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Jorgen Grahn
2020-04-29 21:14:13 UTC
Permalink
Post by Ahem A Rivet's Shot
On Tue, 28 Apr 2020 19:04:32 -0400
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
I've had to reverse engineer and rewrite a few of those. Another
mess occurs when they do have a plan but it doesn't fit the problem and so
there's a ton of kludge to make it fit.
Aargh! That's the worst kind. All the clues left for the maintenance
programmer, in the early stages, leading in the wrong direction ...

/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Thomas Koenig
2020-05-02 11:03:28 UTC
Permalink
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
Ahem A Rivet's Shot
2020-05-02 13:22:24 UTC
Permalink
On Sat, 2 May 2020 11:03:28 -0000 (UTC)
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
Ah test driven design.
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
Charlie Gibbs
2020-05-02 19:15:09 UTC
Permalink
Post by Ahem A Rivet's Shot
On Sat, 2 May 2020 11:03:28 -0000 (UTC)
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
Ah test driven design.
It's usually coupled with crisis-driven programming. :-)
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Radey Shouman
2020-05-02 14:32:04 UTC
Permalink
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."

--
J. Clarke
2020-05-02 16:14:05 UTC
Permalink
On Sat, 02 May 2020 10:32:04 -0400, Radey Shouman
Post by Radey Shouman
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."
That actually reflects a plan--this program is pretty close to what I
wanted to do so let me see if I can adjust it to the exact
requirement.
Charlie Gibbs
2020-05-02 19:15:10 UTC
Permalink
Post by J. Clarke
On Sat, 02 May 2020 10:32:04 -0400, Radey Shouman
Post by Radey Shouman
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."
That actually reflects a plan--this program is pretty close to what I
wanted to do so let me see if I can adjust it to the exact
requirement.
...and keep on adjusting it as requirements change
(a.k.a. "chasing specs").

"Frozen specs and the Abominable Snowman have a lot in common:
both are myths, and both melt when enough heat is applied."
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Peter Flass
2020-05-02 16:24:13 UTC
Permalink
Post by Radey Shouman
Post by Thomas Koenig
Post by J. Clarke
Many programmers have a tendency to start coding without _any_ plan.
And the result is often a huge mess.
"Fire up the editor of your choice on an empty file. Start debugging."
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."
I’ve seen a lot of this. Especially from particularly incompetent
programmers - next stop, management!
--
Pete
Dennis Boone
2020-05-02 16:30:52 UTC
Permalink
Post by Radey Shouman
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."
"Real sysprogs don't write code, they steal it."

De
J. Clarke
2020-05-02 19:03:39 UTC
Permalink
Post by Dennis Boone
Post by Radey Shouman
"Fire up the editor of your choice on the source of an existing program.
Change things until it does what you want the new program to do."
"Real sysprogs don't write code, they steal it."
But please to call it . . . research.
Post by Dennis Boone
De
Loading...