23 September 2023, 10:51 | #1361 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Quote:
In addition, even if i limit myself to right-Amiga, many combinations still won't work : F1-F10, Spc, Del, Help, Backspace, etc. |
||
23 September 2023, 11:03 | #1362 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
Quote:
|
|
23 September 2023, 11:06 | #1363 |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 380
|
A cross-platform layer that doesn't abstract the differences in key modifiers so that each platform uses appropriate keys, isn't really very cross-platform at all.
|
23 September 2023, 11:26 | #1364 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Quote:
How could the client code possibly say which keys to use, without really saying it because it's up to the layer to choose ? For example, original program says alt-S for "save" and alt-shift-S for "save as" : what can the client code say to keep that on original platform, and the Amiga cross-platform layer could choose in place of them, especially without triggering conflicts ? Or if some options use function keys ? |
||
23 September 2023, 11:49 | #1365 | |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 380
|
Quote:
|
|
23 September 2023, 11:59 | #1366 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
Quote:
It's a fact that an experienced assembler programmer can beat the output of compiled languages on certain hardware but it's equally a fact that on modern hardware the gaps close and in some cases, the hardware isn't particularly developer friendly and a compiler can produce better code. However, for 68K, you do have the benefit of a fixed goalpost and the lack of investment from compiler vendors in obsolete ISA. So, it's a fact that on Amiga/68K the chances you can beat the compiler are a lot better. Its also a fact that this previous fact may not matter. If your application is IO bound or event driven, it's spending most of it's time sleeping anyway. Opinions are like farts. We all express them and they are rarely appreciated by others. This is probably a fact |
|
23 September 2023, 12:03 | #1367 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Quote:
For now i'll use same keys everywhere (and layout menus myself as gadtools doesn't support that). |
||
23 September 2023, 12:22 | #1368 | ||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Beware, as opinions are often wrongly presented as facts... Quote:
Quote:
Quote:
Quote:
And again, speed isn't the only advantage. It is also quite satisfying to make code shorter. Quote:
Oh sorry, i've just... errhh... never mind. |
||||||
23 September 2023, 13:17 | #1369 | |||
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
Quote:
Quote:
Quote:
Last edited by Karlos; 23 September 2023 at 13:23. |
|||
23 September 2023, 13:48 | #1370 | ||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Or are you attempting a strawman fallacy by going out of the subject that is pure Amiga coding, with me having absolutely never defended using asm on "modern" platforms ? Anyhow, most of this application software has been made on machines where asm isn't a good option, not because asm itself is bad, but because they run on cpus with unfriendly instruction set architectures. Quote:
Quote:
Quote:
|
||||
23 September 2023, 14:05 | #1371 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
It's not a strawman argument, it's an observation on where the prevailing attitudes towards HLL v assembler come from. I personally don't care what you want to write your code in, I have no investment in it whatsoever.
Nevertheless, the fact remains that for application development, HLL are successful, far moreso than assembler. Even on the Amiga, how much productivity software is or was written in HLL versus assembler? Games, libraries, datatypes and small utilities seem to be the primary target there. And yes, some large applications are written in assembler, but are they the rule or the exception? Last edited by Karlos; 23 September 2023 at 14:18. |
23 September 2023, 14:24 | #1372 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
|
|
23 September 2023, 14:42 | #1373 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
Quote:
HLL allow more people to write more code, more quickly and this trend generally becomes stronger the higher up you go. More people writing more code, more quickly means more software being developed. You can argue over the quantity/quality ratio but the fact remains a lot of good software is written in HLL, even on the Amiga, that might not exist at all otherwise. You can set up a Window and deal with IDCMP input in not much imperative C code at all, but when it's as simple as instantiating an object and attaching observers to it in some even higher level language, you might even be doing this in a single line of code. Naturally, there's a price to pay with all of this, your code becomes more and more the glue between components you didn't write, but if your goal is to get something done in a timely fashion, it's a trade-off to be evaluated because it may make the difference between your application ever getting written or not. |
|
23 September 2023, 14:57 | #1374 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Quote:
Quote:
On the Amiga, the fact is that there is a magnitude more software that wouldn't exist if it wasn't written in asm than the other way around. |
|||
23 September 2023, 15:53 | #1375 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,233
|
Quote:
For the workbench, it was probably 10% assembler and 90% C. For P96, it is approximately 20% assembler for the core and 80% C for the rest, for the drivers, it is quite the reverse with the majority of them being in assembler, or mostly in assembler with some minor parts in C. Thus, this seems to give you a fine pattern: The lower you go, the more assembler it becomes, and the higher you go, the less. That is not at all surprising from what I said before. Thus, whoever made a decision which language to pick, the outcome of the decision seemed to be in good agreement with my recommendation. It also shows something else: The console.device is entirely in assembler, and it is not in a maintainable state. The graphics library is probably to 40% in assembler, and not in a maintainable state. Intuition is in C and well-maintained, the con-handler is in C and well maintained, and the shell is in C and well-maintained. The only thing that is in decent shape in assembler is probably exec and expansion, both low-level tools. Well, seek a pattern? |
|
23 September 2023, 16:18 | #1376 | ||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Except that if more parts had been in asm, more modules would have been able to fit in space limited rom. Quote:
You are saying that to people who have not seen the sources and are unable to verify your claims. |
||
23 September 2023, 17:15 | #1377 | |||
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,167
|
Quote:
Quote:
Quote:
|
|||
23 September 2023, 17:30 | #1378 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
|
23 September 2023, 17:43 | #1379 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,233
|
Hopefully your opinion by providing some hard facts.
Quote:
The problem is the "data organization" side, much more than the "opaque code side". C at least provides you with proper tools to structure your data. The console.device is a fine example of where such support was missing. The character map of the console.device is essentially created around two big arrays, one array containing characters, the other containing attributes. Offsets into this array are (in a rather opaque way) kept as pointers pre-divided by 2 into this array (in some way - yes, "pointer over two" as an idea), without proper documentation. Essentially, "the only noteworthy data structure is the array". It "somehow" works, but due to lack of proper indication of the structures and lack of documentation, the whole thing is not in a maintainable state. Of course, one can write bad code in any language if one really insists, but higher programming languages at least provide you with tools to express your ideas in a (even machine-readable) readable way. Data structures you can of course also use in assembler, but you need to be in the "culture" of using them, and whoever wrote or updated the console was not. Thus, again, if I'm against recommending assembler as programming language because the culture of "structuring concepts" you get with training in a higher language you are likely going to miss in assembler. The console and graphics are prime examples of the lack of such thinking. Both are more "piles of code", but not "structured ideas". From the style of Exec, I would believe Carl had some background in higher languages as there is structure, even though assembler does not enforce it. |
|
23 September 2023, 17:49 | #1380 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,233
|
Quote:
No, and that's where I disagree. Higher languages provide you with the toolset to express your ideas properly. Assembler does not. Data structures are one important concept one need to be trained in to write understandable and maintainable programs, but there is nothing in assembler that pushes you in this direction. It is a matter of education you get as "by-product" from learning a higher language - thinking abstractly in concepts rather than thinking of "pushing values around" as you do in assembler. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Chat GPT Amiga Assembly | rcman | Coders. Asm / Hardware | 3 | 26 March 2023 20:24 |
An Amiga coder was banned without a reason - is it ok? | litwr | project.EAB | 1 | 18 June 2021 20:38 |
Beginning Amiga Assembly Tutorial(s) | Curbie | Coders. Asm / Hardware | 15 | 29 May 2020 00:21 |
Beginning Amiga Assembly Programming | Hewitson | Coders. Tutorials | 32 | 09 October 2012 18:25 |
Amiga Assembly sources - Please help! | W4r3DeV1L | Amiga scene | 21 | 16 July 2008 08:13 |
|
|