Post by IanDI'm seeing Powershell grow in significance for automated tasks in the cloud space
DevOps are liking it more and more as well too
Powershell is missing many features that DevOps need. Try installing an
Exchange sever via Powershell. The last time I tried, the install
script tested to see that it is running from the GUI console for one
step. So the powershell works fine for a logged in user. But DevOps
needs unattended lights out installs.
There are quite a few gotchas in using powershell for some tasks. I was
trying to get it to be used instead of Cygwin for test automation and
ran into a lot of interesting features.
In Powershell, an object can be a reference to an in-memory object that
is running like a lightweight subprocess. This is mainly for backward
compatibilty with previous Microsoft efforts. This is mainly needed to
work use stuff that has not yet have a Powershell API, or the Powershell
API is incomplete. And there are dragons there.
Post by IanDIt has object piping under the hood, something that is fairly well
foreign to VMS :-( but enables a lot of goodness if one has the
libraries to back it up with
Object piping has been recommended for a while now for linux as a
way forward towards more robust and fully featured glue between
processes and systems. The desire to move beyond simplistic text
piping is there and Powershell can do it out of the box
As of the last time I worked with it, there was quite a lot that
Powershell could not do out of the box.
Post by IanDI know the x86-64 port and now Alpha support is taking the lions
share of the VSI efforts but I do wonder how much further thought
is being given to what will become the glue language to hold it
all together in the looming future of vms. Surely not DCL or even
DCL++ in whatever form that could take
There's so few people around who know VMS these days that I don't
see the value in enhancing DCL as it's not going to win new
converts. Better to grandfather it and guarantee compatibility
and bring something new and far more capable to the new VMS IMO.
Something at least along the lines of modern scripting languages
What to do and how to implement it and how much cross interaction
does one support between the old and the new?
That can be added to utilities by something similar to
/(out|in)format=(xml|json) or similar, and a set
process/pipe_default=formatted so that when utilities are writing to a
MBX they default to /(out|in).
That does not break compatibility and provides the needed functionality.
Essentially that is what powershell is doing to pass objects. I think
it is serializing them to XML, but do not remember. That is why all the
native powershell commmands have options for XML input / output.
Post by IanDI've been reading about the Bash shell on windows and how they did
it. It's quite separate but there are still ways to share the file
system at least. I expect MS to continue to bring Bash into windows
more fully as time goes on
Does it explain how they are dealing with the lack of a fork? It would
be nice to be able to pull out the massive hack needed to get around
that on VMS.
Post by IanDHow will VMS approach the need to modernise it's scripting language and how?
Could either IRB (Interactive Ruby) or Interactive Python be just used?
Why write a new interpreter if you can use an existing one and just
import modules for it.
Post by IanDI'd love to see things like awk added by default in VMS instead of
resorting to clunky DCL to do stuff for which it is woefully inadequate
for. If we had some of the really useful tools like what's available on
linux, installed by default on vms then people might start to use them
more and be more familiar with them
i.e sum a column of numbers in a file using
awk "-F" "," "{sum+=$1} END{print sum;}" file.csv
is much easier than stepping through a file in DCL even if one has
to quote every dam parameter in vms to get the awk command to work
:-( (why is vms so annoying like this for command execution?)
Because VMS uses a defined syntax that is different than Linux.
GAWK on VMS has a CLD which is included in the GNV kit and can be
installed as a DCL verb. It supports DCL style options. The syntax has
been supported for a long time. The .CLD for the DCL Verb is a GNV
addition to make the kit more complete.
Post by IanDInstalling these sort of helper tools separately is somewhat
annoying in a production environment as there is change control
which can mean sometimes months just to get something in and these
tools seem to be stepping away from single EXE's / a simple directory
The tools are stepping a way from an incomplete implementation that is
installed in a random location where other tools do not know how to find
them to using the Vendor supplied installation tool, PCSI and a standard
directory.
The PCSI tool allows getting a list of what packages are installation.
Post by IanDinstall to full blown GNV integrated offerings which is a step away
from what I want especially when dealing with production environments.
GNV is being broken up into individual packages that can work together
and work separately.
The GNV projects are also being structured so that it takes minimal
effort to keep them up to date with the upstream projects, and even
allow builds against the actual pre-release repository code of the
upstream projects.
If I were doing this full time, the methods that I am using for the new
packages allows releasing kits with in one work day of the upstream
announcing an official release.
Bash 4.4 is being tested now. A more complete bzip2 being tested now.
GAWK on VMS source is not at the GNV site at all, it is only in the GNU
repository. However there is still a lot of functionality in GAWK that
is missing or needs to be improved.
Post by IanDIf only they could distributed as LD files perhaps it might make
things easier or better still, included with the OS...
GNV project is very much short of the number of people needed.
* Needed - Testers, proof readers and such to make the website easier
to use and to catch documentation errors and omissions. Also to make
the documentation and web site easier to use. Make the documentation
for the packages more consistent in the look and feel.
* Needed are also people to look at or even adopt maintenance of the
existing repackaged stuff, and make the porting more efficient, and
start building them against the pre-release branches.
Things are improving slowly.
All updated packages are now being built under Jenkins control. This
has found and required fixing some bugs in the building and kitting
procedure, particularly where files got missed from being checked into
the source repository or included in the source kit.
Some of the packages now are running self tests to validate their
functionality and bug fixes.
Unfortunately my Jenkins is stuck behind a NAT firewall, so you can not
see the graphs plotting the test results or see the current build status
of a project. That would take hosting a "Dashboard" jenkins on an
Intenet facing server that other Jenkins instances can publish job
results to.
Regards,
-John
***@qsl.network