|
VMS is still alive and well, thanks. HP is maintaining it.
|
|
|
|
|
I manfully resisted the urge to go full-bore grammar-fascist and insist that "VM's" was the proper plural form.
I am a former VAX/VMS system manager from the VMS 3.x days when men were men, women were women, and disk drives were the size of washing machines.
Software Zen: delete this;
|
|
|
|
|
Surely you mean "VMs" unless you are referring to something they possess.
From 1989 to 2002, along with doing development, I was a system manager for various systems running 5.x, 6.x, and 7.x .
And don't forget to mention 9-track tape reels.
Now I have four small OpenVMS systems purchased via Ebay running versions 7.2 (AlphaServer 800), 7.3 (MicroVAX 3100), 8.3 (AlphaServer DS10L), and 8.4 (Integrity rx1620, Itanium) to keep from getting too rusty.
|
|
|
|
|
PIEBALDconsult wrote: And don't forget to mention 9-track tape reels. That is the modern kind. The ones I have in my archive are 7-track.
Talking about VMS: I need a really good magnifying glass. My VMS source listing is on microfiche cards.
|
|
|
|
|
PIEBALDconsult wrote: Surely you mean "VMs" unless you are referring to something they possess. This is probably one of those cases where I'm showing my age. For me the plural form of an acronym was always ACRONYM's. Hmm.
Applying the "Google is your friend" rule, it seems we're both right/wrong: FAQs on Style - The New York Times[^]
If you write an abbreviation as C.P.A., the plural form is C.P.A.'s. If you write it as CPA, the plural is CPAs.
Learn something new every day.
Software Zen: delete this;
|
|
|
|
|
Well, it's only an acronym if it's pronounced ( e.g. RAM ) otherwise, it's initialization ( e.g. CPU ).
An apostrophe is never used for pluralization.
greengrocer's apostrophe : An incorrectly used apostrophe, especially one mistakenly used to form the plural of a noun,
Similarly, I expect that headline writers have traditionally used such nonsense in order to write plurals in ALL CAP'S
|
|
|
|
|
Quote: days when men were men, women were women I call that a darn good arrangement! (Quoting Bugs Bunny....Or was it Yosemite Sam?)
Get me coffee and no one gets hurt!
|
|
|
|
|
How many grammer nazis does it take to change a lightbulb ? Ans: Too
|
|
|
|
|
Their isn't a hell to hot for you...
Software Zen: delete this;
|
|
|
|
|
Hmm, I have a colleague who is a great believer in containers. However, I have yet to find any use case for them in my work, even though I use VMs extensively and have done for many, many years.
It has been a very long time since any of the true hypervisors have consumed significant amounts of the hosts available resources (certainly the bare metal ones anyway, like ESX) and the sheer hassle of coming up with a working Docker image of my dev environment say, that I can replicate easily between my various workplaces and machines is much greater the just cloning a complete VM and spinning it up, and for on-going development I just use Nextcloud to replicate the work between multiple (virtual and/or physical) machines to make sure they all keep in step, and write occasional updates to my GIT repository by way of additional backup (itself running in a linux VM that is hosted on one of my ESXi hosts - that also hosts my DC, my SQL server, a mail server for some of my clients, a 3CX phone exchange and a Nextcloud instance that I and some of my clients use - all on an old I7 with 32Gb RAM).
I use VMs to replicate the entire working structure of one of my clients, so I can develop in a replica of their production environment without risk to their setup and yet be confident that when I deploy, things will work.
Despite the incredible hype surrounding Docker (and to some extend Kubernetes) I have yet to find any instance when Docker was a better fit for me. My colleague, despite insisting that containers would be much better and more productive, has never been able to explain exactly how it would help me.
So my answer is "No"
8)
|
|
|
|
|
I am talking about the run time virtual machines that .net, java and python languages target .
|
|
|
|
|
But dont containers also do that by allowing us to have whatever OS we want independent of the underlying operating system OS ?
NOT.
Container completely depends from underlying OS. If you made program on Win7, you have to deploy container image on the same OS. Opposite to compiled C# program, which can work ANYWHERE where you installed .NET (what is way smaller than a whole OS).
|
|
|
|
|
.NET doesn't even use a VM. 🤣
|
|
|
|
|
All .net languages, java and Python ( and probably others) target run time virtual machines. App code is compiled to an intermediate form for execution on the run time virtual machine.
|
|
|
|
|
You're kinda hovering on the idea, but it was close but not cigar.
Java and .NET Core (not really C#) are meant to be platform agnostic as they compile themselves to an Intermediate Language (bytecode for Java and CIL for .NET) before being executed by their runtimes. All other hardware is seen through a Hardware Abstraction Layer (HAL) which hides the details and intricacies from the software.
VMWare and EC2, on the other hand, abstract a full PC environment into a virtual solution which also includes the operating system. Is this last component that really makes a differences and the reason this solutions will never go away.
Docker on the other hand is simply a simulation created on Linux to trick software into thinking that they are isolated from the hardware, but actually are just a Linux process shielded with lots of tags and chroots. This does not make the binary portable nor it creates a full operating system, but rather uses the OS from the host. Malware loves this approach and that's the reason it can't be used on dubitable loads.
I guess in the end, Docker will change things and Java (or any equivalent) in the future, will look more like Docker, where you'll both create the Java Virtual Machine and a Docker container to accompany it, with a single command aka
java container start com.example.HelloWorld -baseimage ubuntu:breezy
|
|
|
|
|
The vms I was talking about was the C#, Java and even Python Virtual machines. I can see how my initial question was not clear , but it has been kind of funny reading some of the replys knowing that.
|
|
|
|
|
You're kidding right? First, containers are specialized version of a VM. End of story as it abstracts an operating system. As for the end of C# - the future has never been brighter. We are now for the first time seeing C# penetrating the Linux world. Setting up a project to run in a virtualized environment is super easy today. Between containers and app engines running the language of choice C# has never been easier to scale.
I honestly don't know about Java - but I wouldn't count it out anytime soon.
|
|
|
|
|
I emailed my son a newsletter from the local cultural centre, with some stuff that might entertain his kids for a bit. His reply:
I'm not saying the girls are missing their friends, but I caught [Ms 6] playing multiplayer minecraft earlier. Player #2 was her teddy bear. I'm sure there'll be more...
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
It’s not rare the non-English royal is in brother (8)
Not (6,6)
|
|
|
|
|
In one of the gaming forum that I frequent, they like to post so called "unpopular opinion" thread, and then proceed to say something everybody agrees on...
Anyway, while idly driving to work this morning I got stuck by an idea and I am going to try my own take on the unpopular opinion meme. See whether I am also, mistakenly, posting what is in fact a popular opinion! ^_^
So.. here I go.
Short story:
From a C# dev to another C# dev. I hate interfaces.
Long story:
ok, ok, sorry, I got nothing against interface in principle. They could be quite useful . It's just that in practice I have seen so many projects with zillion of interfaces with zillion of methods which are only implemented once. Worst, sometimes some of those methods implementation can be derived on the other method and if one would implement the interface twice there would be a lot of copy paste :/
But what really take the cake and I unambiguously despise is the argument that it helps "testability" (using mocks! ho god, mocks, I hate thee so).
From what I have seen those people are stickler for "unit test" (as opposed to "integration test") which basically only test the mock that you spend hours writing and make refactoring difficult, but don't really test the application... And it is often white box testing (I know it's implemented this way, that's why I write that test) which contribute to making refactoring a pain.
This is worst than waste of time. It also make future developer also waste time.
modified 7-Apr-20 20:24pm.
|
|
|
|
|
I'd say that many C# developers -- if given a choice -- would rather have multiple-inheritance.
I doubt many C# developers are of the opinion that Interfaces are just the bestest thing ever.
I'd prefer to have both.
What most developers don't understand is that Interfaces enforce the "like a duck" requirement for Duck Typing.
Super Lloyd wrote: only implemented once
I do that.
I'm with you on the rest.
I also write partial Interfaces. Muhahaha!
modified 7-Apr-20 20:35pm.
|
|
|
|
|
Partial interface.. the new thing with default method implementation for interfaces?
Looks good, better than extension method!
Unfortunately can't quite use with .NET 4.7.2 I think (mm... I think there is a project settings to use them with .NET 4.7.2 but I have cold feet on that ^_^ )
|
|
|
|
|
Super Lloyd wrote: I think there is a project settings to use them with .NET 4.7.2
There isn't. You can enable C# 8 features in a .NET Framework project, so long as you're using a recent version of VS2019. But that doesn't mean everything will work.
Default interface members required changes to the runtime, which were not back-ported to .NET Framework. They will only work with .NET Core (including .NET 5 when it arrives).
C# 8.0 and .NET Standard 2.0 - Doing Unsupported Things[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
But hey - Windows forms still hasn't died yet so you should rest easy that staying on the last forward moving version of full framework will carry you until close to retirement.
|
|
|
|
|
I agree that interfaces shouldn't categorically be seen as a best practice. Doing something because it makes mocks easier to implement is putting the cart before the horse. And there's already enough boilerplate that obfuscates the code.
Unit testing is great for libraries: a collection of disparate things. But if you're building a system whose components all cooperate, integration testing should be paramount.
However, (pure) virtual functions are vital in object models where polymorphism and/or inheritance are important. But that's a design abstraction similar to code reuse: if it happens only once, the abstraction isn't needed! If it happens a second time, you start thinking about it. And if it happens a third time, abstraction is called for, just like finding a way to have one instance of the code that would otherwise be copy-pasted into multiple locations.
|
|
|
|