Click here to Skip to main content
15,895,667 members

Survey Results

How hard do you find these tasks?

Survey period: 24 Jul 2017 to 31 Jul 2017

1 = Super Easy, 5 = Very Hard. (We all know Cache invalidation is hard)

OptionVotes12345 
Designing a solution that meets all the requirements9717%25%31%24%13%
Dealing with someone else's code9712%9%35%34%20%
Writing unit tests9718%19%36%23%15%
Adding features you don't agree with9715%14%30%28%23%
Dealing with the people directing the project9719%24%33%23%12%
Dealing with users97111%25%34%19%11%
Naming things97124%30%23%12%11%



 
GeneralRe: Someone else's code... Pin
Sander Rossel23-Jul-17 22:56
professionalSander Rossel23-Jul-17 22:56 
GeneralRe: Someone else's code... Pin
CodeWraith23-Jul-17 22:59
CodeWraith23-Jul-17 22:59 
GeneralRe: Someone else's code... Pin
Sander Rossel23-Jul-17 23:13
professionalSander Rossel23-Jul-17 23:13 
GeneralRe: Someone else's code... Pin
CodeWraith24-Jul-17 0:11
CodeWraith24-Jul-17 0:11 
GeneralRe: Someone else's code... Pin
Nathan Minier24-Jul-17 2:21
professionalNathan Minier24-Jul-17 2:21 
GeneralRe: Someone else's code... Pin
CodeWraith24-Jul-17 2:57
CodeWraith24-Jul-17 2:57 
GeneralRe: Someone else's code... Pin
Nathan Minier24-Jul-17 3:13
professionalNathan Minier24-Jul-17 3:13 
GeneralRe: Someone else's code... Pin
CodeWraith24-Jul-17 4:13
CodeWraith24-Jul-17 4:13 
Nathan Minier wrote:
You're mixing technique with technology. I'm just discussing technique, since that's what this particular thread is about. You can implement structured or functional patterns in ASM if you really want to; it's all in how you decompose the design.
That's actually what I was trying to do. Old programs used to be programmed in machine language and tweaked until they performed well enough and at the same time still fit into the available memory.

I wanted to introduce libraries to stop reinventing everything every time and finally have a base for reusing as much code as possible. My first try was still with machine code and had the following results:

1) A function calling convention requires to pass parameters and costs quite a few instructions with every call. On a small processor you quickly have a situation where a good part of your code (30% - 40%) consists of pushing around parameters and calling functions. The result: You have that much less space to actually implement any functions. Also, the stack is used much more than before, even if parameters are passed in registers, this quickly eats up your memory. Recursion is almost out of the question. This gets even worse if a higher language uses the stack to pass the parameters.

2) One word: Math. Doing more complex calculations on a 8 bit processor is a pain. You are more moving bytes into or out of the accumulator than actually calculating something. And it's very hard to read and to maintain. A higher language can help a lot here. Just type what calculation you want to do and leave it to the compiler to make the processor do exactly that.

3) Dynamic memory allocation was something practically unknown in the old days. Practically everything was done in global memory addresses. Global variables, so to say. I'm sure you love them. But where to put the memory block at disposal for allocation? And how much memory? The only place would have been between the end of the code and the end of the stack (which grows down from the highest memory location). How much? Probably nothing, since our code gets longer and longer while the stack grows down further than ever.


So what do you want to do when you have exellent methods which you can't afford because they cost too much memory?
GeneralRe: Someone else's code... Pin
Sander Rossel24-Jul-17 2:46
professionalSander Rossel24-Jul-17 2:46 
GeneralRe: Someone else's code... Pin
CodeWraith24-Jul-17 4:27
CodeWraith24-Jul-17 4:27 
GeneralRe: Someone else's code... Pin
Sander Rossel24-Jul-17 4:37
professionalSander Rossel24-Jul-17 4:37 
GeneralRe: Someone else's code... Pin
CodeWraith24-Jul-17 4:42
CodeWraith24-Jul-17 4:42 
GeneralRe: Someone else's code... Pin
kalberts24-Jul-17 22:23
kalberts24-Jul-17 22:23 
GeneralRe: Someone else's code... Pin
Slacker00723-Jul-17 23:28
professionalSlacker00723-Jul-17 23:28 
GeneralRe: Someone else's code... Pin
KarstenK23-Jul-17 23:21
mveKarstenK23-Jul-17 23:21 
GeneralRe: Someone else's code... Pin
Sander Rossel23-Jul-17 23:35
professionalSander Rossel23-Jul-17 23:35 
GeneralRe: Someone else's code... Pin
kalberts24-Jul-17 21:54
kalberts24-Jul-17 21:54 
GeneralRe: Someone else's code... Pin
Sander Rossel25-Jul-17 1:57
professionalSander Rossel25-Jul-17 1:57 
GeneralRe: Someone else's code... Pin
Leng Vang25-Jul-17 6:04
Leng Vang25-Jul-17 6:04 
GeneralRe: Someone else's code... Pin
Sander Rossel25-Jul-17 21:10
professionalSander Rossel25-Jul-17 21:10 
GeneralDealing with someone else's code Pin
Kornfeld Eliyahu Peter23-Jul-17 20:04
professionalKornfeld Eliyahu Peter23-Jul-17 20:04 
Generaluntil last user ....DEAD ! Pin
koolprasad200323-Jul-17 19:33
professionalkoolprasad200323-Jul-17 19:33 
GeneralRe: Designing a solution that meets ALL the requirements....? Pin
Sander Rossel23-Jul-17 21:08
professionalSander Rossel23-Jul-17 21:08 
GeneralRe: Designing a solution that meets ALL the requirements....? Pin
koolprasad200323-Jul-17 22:40
professionalkoolprasad200323-Jul-17 22:40 
GeneralRe: Designing a solution that meets ALL the requirements....? Pin
Manuele Camilletti28-Jul-17 0:36
professionalManuele Camilletti28-Jul-17 0:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.