Aug 29, 2024 21:26
@LeoB. A multidimensional array can be represented in any way you like in some languages, but C is not one of them. C has multidimensional arrays but the language specification defines their representation in memory. In C, a multidimensional array is defined as using an array of arrays for its implementation.
 
Jan 8, 2024 16:38
The PET Computer User Manual that you linked uses a proportional font for its examples. Look at the word PRINT in any example that contains it and it is clear that it is using a proportional font. It's PRINT not PRINT
 
Dec 12, 2023 18:44
Of course none of it really matters, because, even at the time of Next, most programming was done in high level languages, so 99% or programmers didn't care about the processor architecture.
Dec 12, 2023 18:44
@supercat 68030 is a 32 bit processor so incrementing a 32 bit pointer is one write. Also, 16 bit offsets are signed, so you can address 64kB with a 16 bit offset relative to an address register. Not to mention you can do this off all eight address registers and the PC instead of just four segment registers.
 
May 8, 2023 07:42
@Raffzahn Your example - which has 8 lines whereas the C example only has 4 lines of actual code - is manufactured to make your example look good. Imagine if you wanted to do something a little more complex like call two functions and add the results together. One line of code in C. How's it looking for your assembler? What if you want the addition expression in the if? In C, one line. How many in your assembler example.
May 8, 2023 07:42
@Raffzahn Having strong typing - even C levels of "strong" typing - catches many errors that cannot be detected by an assembler.
May 8, 2023 07:42
This answer is just wrong. Programming in high level languages is much more productive than programming in assembler. So much so, that nobody uses assembler anymore except for niche applications. HLL's can express ideas more concisely with less chance of making a mistake. The compilers can often catch whole classes of errors meaning you are likely to have fewer bugs which means less testing time. Other people are more likely to be able to read your code meaning maintenance is less time consuming.
 
Mar 7, 2023 17:29
@Raffzahn Virtualisation does not have to use the same ISA. This is especially true of the zSeries architecture where the ISA can be changed. Trying to separate emulation and virtualisation into two completely distinct categories is a fool's game. There's always some overlap.
Mar 7, 2023 17:29
@Raffzahn "it's a run time environment free of hardware assumptions" The definition of a virtual environment. The original system/360 may not have been capable of virtualisation, but the modern zSeries absolutely is. In fact, I think it's required. I only ever worked on one once, and then the OS on the virtual environment I used was Linux, but it ws very much exactly the same experience as working on any other virtual machine.
 
Feb 4, 2023 13:49
I would argue that, for general purpose operating systems, program isolation is not useful. Typically, you want to be able to access the same data with multiple programs e.g. both the compiler and the text editor need to be able to access your source code.
 
Feb 1, 2023 09:35
@user3840170 that would mean installing gcc.
Feb 1, 2023 09:35
I should say that my C compiler (clang) does not emit any errors or warnings for the algorithm even with -Wall.
Feb 1, 2023 09:35
There isn't any pointer arithmetic in the fast inverse square root algorithm. The pointer casts are only there so the algorithm can access the bits of a float directly.
 
May 24, 2022 06:22
You can argue that the 68K does have a directly accessible PC lea (0,pc),a0 will do it. I'm pretty sure I used it back in the 80's but I can't for the life of me remember why.
 
Jul 3, 2021 17:39
I sometimes think that, if somebody patches make to accept leading spaces, millions of make files around the world with intractable bugs will suddenly and inexplicably start working.
 
Oct 4, 2020 10:18
I always thought that the Nova was released as a response to the PDP-11. You learn something new every day.
 
May 12, 2020 17:06
@Mast "graph colouring" doesn't refer to actually colouring in real graphs. It's a particular class of mathematical problems. You don't have to use colours at all, you could use names or letters or numbers. The famous four colour theorem is an example of a graph colouring problem.
May 12, 2020 17:06
The use of auto and static is interesting, since the only other place I've seen them is in C and its descendants. I previously thought they were introduced by the inventors of C.
 
Aug 9, 2019 14:49
@Holger can win+l be spoofed?
Aug 9, 2019 14:49
@supercat That is true but it is kind of irrelevant with respect to the question and the answer.
 
Jul 5, 2019 14:27
@Raffzahn "kilo" has a fixed definition when it comes to metric units (except under SI where for mass only, it means x 1 - the SI unit of mass is the kilogram). That does not mean it has to have the same definition in other contexts. There's no law that says in Systéme jeremyp I can't have kilo mean "x 3.14159..." if I so choose.
Jul 5, 2019 14:27
@Raffzahn Oh, I missed this: "The base unit [in SI] is g not kg". No. The base unit of mass in SI is the kilogram. So, thinking about it, the word "kilo" in SI units of mass has no meaning at all.
Jul 5, 2019 14:27
@Raffzahn the point is that "kilo" doesn't always mean "times 1000". Sometimes it means "the letter K". Sometimes it means "times 1024". "kilo" only means "times 1000" in the context of metric measurement systems like SI and cgs. In fact, in the context of mass in the SI system, kilo means "times 1".
 
Jul 9, 2018 11:08
@Raffzahn The PDP-11 was not a segmented architecture. It had a flat 64K byte address space. Some models used segmentation to extend the physical memory but that was invisible to user space programs.
 
Apr 26, 2018 17:39
"Because in an animal the male sperm provides life and the mother provides the fleshly body". This is false. The sperm doesn't supply anything except some DNA to add variety. The life and "fleshy body" all come from the mother. However, I don't think "father" in the title is particularly problematic, any more than "gave birth to" - it's a metaphor. Nobody seriously believes actual reproduction occurred.
Apr 26, 2018 17:39
@jwzumwalt You used Dennis Ritchie as an example in the preamble to a question about who invented assembly language. The natural interpretation is you are trying to give an analogy of the person who invented the high level language.
Apr 26, 2018 17:39
Dennis Ritchie didn't invent high level programming languages. If you want the high level language person analogous to the person who invented assembler, you need to look much further back to possibly Grace Hopper or the original Fortran team.
 
Apr 12, 2018 14:50
@RadovanGarabík Yes. My thoughts exactly. 2^32 is not twice as big as 2^16. If you imagine the whole 16 bit address space as a 256 x 256 grid of words but then replace each word by an entire 256 x 256 grid of words, it becomes fairly obvious this is never going to work.
 
Oct 26, 2017 08:28
@RossRidge Yes you did. You said they were able to test the BASIC interpreter on real hardware. Perhaps you are not familiar with the software industry, but we normally test things before we sell them (although it sometimes doesn't seem that way). A sales demo is not testing.
Oct 26, 2017 08:28
@RossRidge so no testing on real hardware and no access to real hardware before they took it to Altair which is what I have been saying all along.
Oct 26, 2017 08:28
@RossRidge if the first time you run the software on real hardware is when you take it to the customer to sell it, you haven't done any testing on real hardware.
Oct 26, 2017 08:28
@RossRidge "My guess is that they used a real Altair 8800 to test it." Implies they had access to real hardware for testing. They didn't.
Oct 26, 2017 08:28
@RossRidge They didn't have access to an Altair 8800 at all. The first time they ran the BASIC interpreter on real hardware was when they took it to Altair to sell it to them.
 
Jun 27, 2017 20:31
My keyboard has an unbroken bar above the `` and when pressed gives an unbroken bar.