Visual Studio Code: Is there a distribution available for Intel debian ? The one available for debian is for amd64 - visual-studio-code

https://code.visualstudio.com/
It lists deb and rpm but the deb is for amd64

The reason it's called amd64 is simply that AMD beat Intel to market with the first 64-bit x86-compatible CPU, and therefore their version (which actually just extended the old x86 instruction set with new 64-bit variants) became the standard. You can most certainly use that version no matter what vendor your CPU is from as long as it supports x86 with 64-bit extensions.
Intel also tried with their own new architecture called Itanium (IA64), but that never really got enough traction (I don't think they ever made more than one generation of those chips?).
EDIT I see you're running 32-bit Linux, so you should get the 32-bit .deb version

Related

is arm64 better at compatibility than armhf?

I have raspberrypi4.
Current official Raspberry OS is 32-bit a.k.a armhf(armv7l).
I have some issues installing packages or using docker images and I think it is related to 32-bit system.
It seems like ARM architecture has less binaries compatible than x86. And 32-bit armhf is even worse.
So, what I'm curious about is...
would installing 64-bit version of OS help some compatibility issues with packages? I mean like there are few apt PPAs supports 32-bit. Will I be able to use more PPAs and install latest packages with 64-bit OS?
Any suggestion or guess is welcome.
Yes, arm64 is a better choice for wider compatibility with available docker images. arm64 images are also able to use more than 4GB process memory.
As of 22 February 2022 on hub.docker.com:
123,643 ARM64 images
69,567 ARM images
Update December 2022: With increased adoption of ARM64 in the Cloud (AWS Graviton, Azure Dpsv5, GCloud T2A) I expect ARM64 usage to continue to grow faster.

How to compile c/cpp code for target Solaris 64bit SPARC from linux/windows

I want to compile a customized Apache module for OHS on Solaris 64bit SPARC machine. It is a Apache C code. But what I have is only Windows machine and Linux VMs. Can this achieved using Oracle developer studio IDE. Or is there any other way? Please help
You can use QEMU and run a SPARC virtual machine under emulation:
Status
The table below gives the status of the SPARC machines available in
QEMU and is correct as of the latest release:
Machine Status
sun4m Complete, supported
sun4u Beta, supported
sun4v Incomplete, unsupported
niagara Complete, supported
Pay particular attention to the exact architecture you need to compile for. You should be able to run Oracle Developer Studio on the emulated system. You may have to use an older SPARC architecture to generate binaries runnable on your target systems. For example, you might want to use something like -xarch=sparcv9.
Note that the emulated system will be S-L-O-W. Large compiles can take hours or even days. You should probably develop your Solaris-specific code on an x86 VM, and only do the final SPARC compile on the emulated system. Just be aware that you can get away with strict aliasing and alignment violations on x86 systems that will throw a SIGBUS on SPARC systems.

Why is "amd" written in many installers?

I have seen many installers like that of Python and Ubuntu which has "amd" on them. Why is that so? Can I run those programs on my laptop having intel cpu? Please explain to me in detail. Thanks :)
It's not just AMD, it's AMD64.
Linux/gcc's names for x86 architectures are: i386 for 32bit, and amd64 for 64bit.
AMD designed x86-64, and amd64 existed as a name for it before Intel's first ia-32e CPUs were released. (Yes, Intel made up their own name for it. Also note that ia-64 is Itanium, not x86-64.)
(See the x86 tag wiki for vendor manuals and assembly-language info).
You get your answer from the following excerpt from wikipedia.
x86-64 (also known as x64, x86_64 and AMD64) is the 64-bit version of
the x86 instruction set. It supports vastly larger amounts
(theoretically, 264 bytes or 16 exbibytes) of virtual memory and
physical memory than is possible on its 32-bit predecessors, allowing
programs to store larger amounts of data in memory.

What do x86_64, i386, ia64 and other such jargons stand for?

I frequently encounter these terms and am confused about them. Are they specific to the Processor, or the Operating System, or both?
I have Ubuntu 12.04 running on Intel i7 machine. So which one of them would apply for my case?
They are processor instruction set names:
i386 is the name of the 32-bit instruction set first implemented by Intel in the 386 processor. It became dominant thanks to dirt-cheap PC hardware.
x86-64 is the name of the AMD extension added to i386 to make it capable of executing 64-bit code. This is the one you have. It is highly compatible with i386 and will execute a 32-bit program as fast as an i386 processor.
ia64 is the name of the instruction set used in Itanium processors. The other 64-bit architecture that nobody uses anymore.
Those are cpu instruction sets. Apps installers are compiled to some subset of them. Here most difference is between 32bit(i386) and 64bits(x86_64 and ia64). You can not run app for 64bit on 32bit cpu but in reverse usually yes.
x86_64 (AMD64) cpu is most common instruction set as comes to 64bit cpu on desktop computer. It is from AMD which was few years earlier with their cpu which worked fine with x86(32-bits) instructions also.
ia64 (itanium) is from intel. Itanium works fast only with 64bits and is still used in industry.
Intel now uses x86_64 instructions from AMD due to its popularity in industry.
Sometimes key "amd" at installer package name is present and it is what you need for 64bit intel cpu.
i386 is quite old (Pentium times, pentium III has i686). To determine 32bits architecture(on desktop computers) also is used term x86 (aliases: IA-32, x86-32). There are also other architectures 32/64bit like ARM from smartphones.
Other cpu instruction sets can make compression, video coding/decoding, virtualization, random generators, security etc. to be faster and better. Windows 8 require PAE, NX, SSE2 (some of those are not present in ARM cpus so you have other version of Windows 8RT for them).
In hardware, x86_64 is a type of processor that can run both 32bit and 64bit applications just fine where ia64 runs 32bit applications SLOWER than any other CPU, as it is meant for 64bit only applications.
Moving on to the software side. I'm not sure about Ubuntu, but generally a 64bit Windows OS will allow you to use more than 3.3GBs of memory as well as the advantage of using your 64bit hardware to address memory better and have bigger than 2GB processes running. Usually on a 32bit, once an application reaches the 2GB limit, you'll get a OutOfMemory error from your application.
For a full article, refer to: http://en.wikipedia.org/wiki/64-bit_computing

Are "ia64" and "amd64" interchangeable in clickonce manifests?

I'm working on a tool which modifies clickonce manifests. I found an ambiguity in the MSDN documents around the clickonce application manifest. It says:
Specifies the processor. The valid values are msil for all processors,
x86 for 32-bit Windows, IA64 for 64-bit Windows, and Itanium for Intel
64-bit Itanium processors.
But yet, this doesn't cover all values. If I compile a clickonce application for a 64-bit only executable, I'll get a manifest with the value amd64. Is this interchangeable with ia64?
amd64 and ia64 are completely different plaforms. They are not interchangeable. The comment from microsoft is indeed misleading.
IA64 refers to Intel's Itanium CPU (developed in partnership with HP) which is 64-bit but which is NOT compatible with the widely used Intel x86 architecture (386,486,Pentium,CORE i3/i5/i7,various AMD,etc). The IA64 CPU uses a completely different instruction set than x86, and the IA64 instruction set implements a design known as VLIW (Very Long Instruction Word).
HP was apparently the main vendor of IA64 systems and they had developed the CPU (with Intel) as a replacement for their own RISC CPU, the HP PA-RISC. HP used Itanium 2 CPUs in their Integrity line of servers, with the high-end model of that line featuring up to 64 Itanium 2 CPUs. HP offered their Unix variant HP-UX as the OS for these IA64 systems, but there was also the option of running a version of Linux for IA64.
Although there were Windows XP and Windows Server releases for Itanium-based systems, I'm not aware of any Windows desktop PC model having much sales success with IA64 CPUs. There were also Linux releases for IA64 including Red Hat.