Creating Software for Hardware/Web

f22raptor

Well-Known Member
Joined
Nov 17, 2015
Messages
380
Reaction score
47
Back in high school we were taught how to create program-like data system using Microsoft Office Access. At uni i did BBA in CMIS and changed after failing to understand C and C++ mainly because even the lecturer wasn't confident . Fast forward several years later , i still yearn to be able to code at least 50% fluently. I tried codeacademy courses , passed HTML5 and CSS but dropped out of Javascript. I am thinking of learning to coding "not for the web".

Where i work the building is 6 floors high ,2 lifts exist and they are not synchronized. I am thinking they should behave in such a way that is convenient to the occupants of the building. For example:

1.If they are not in use , Lift A should stay put on the 6th floor and Lift B on the ground floor.
2.If a person on the fourth floor wants to go to the ground, Lift A will move to the 4th floor and proceed as instructed while at the same time Lift B goes up.
3.If a lift is called on the 2nd floor Lift B goes and comes down.

Basically Lift A serves floor 4 ,5 and 6 and Lift B 1 ,2 ,3, G

Or creating software for fighter jets or VW to cheat emissions tests:)

I think its easier to create software for hardware.

What do you think/know ?
 
Back in high school we were taught how to create program-like data system using Microsoft Office Access. At uni i did BBA in CMIS and changed after failing to understand C and C++ mainly because even the lecturer wasn't confident . Fast forward several years later , i still yearn to be able to code at least 50% fluently. I tried codeacademy courses , passed HTML5 and CSS but dropped out of Javascript. I am thinking of learning to coding "not for the web".

Where i work the building is 6 floors high ,2 lifts exist and they are not synchronized. I am thinking they should behave in such a way that is convenient to the occupants of the building. For example:

1.If they are not in use , Lift A should stay put on the 6th floor and Lift B on the ground floor.
2.If a person on the fourth floor wants to go to the ground, Lift A will move to the 4th floor and proceed as instructed while at the same time Lift B goes up.
3.If a lift is called on the 2nd floor Lift B goes and comes down.

Basically Lift A serves floor 4 ,5 and 6 and Lift B 1 ,2 ,3, G

Or creating software for fighter jets or VW to cheat emissions tests:)

I think its easier to create software for hardware.

What do you think/know ?
It's not easier. Often it's harder, especially when it comes to debugging.
Personal experience.
 
the idea of moving lifts to the end positions is impractical and inefficient, the most efficient system is the one already in place, by waiting on the current floor for further instructions.

in your example what happens when lift a or b is already in service and there is a need for it in its service area? also if a lift goes from G to 6 then it must go all the way back down yet the next trip it might have to pick someone up on the 5th floor.

learning to code is easy, having a good logical understanding is a talent.

I think it is easier to create software where the requirement(s) are well understood.
 
Your elevator case is a example of optimization or planning software. It is actually a pretty complex area.

But if you do not like creating user interfaces, there is a still a lot of options around creating server side software, that is not such an extreme shift as moving into hardware programming.
 
It's not easier. Often it's harder, especially when it comes to debugging.
Personal experience.

Harder - and mistakes in your code have real-world, and often times deadly consequences.
 
A plane carrying 150 people departs from Barcelona–El Prat Airport to Düsseldorf Airport. The Captain goes to the toilet and the co-pilot locks the door and begins rapid descent from 38 000ft until the plane crashes into a mountain.

Planes have transponders that are used for navigation. I believe they are also equipped with other devices for the same purpose. The plane should have overrode the co-pilots input because
1) The plane systems don't see anything wrong with the plane.
2) the transponders knows the location of the destination and it isn't a mountain side
3) The left seat is unoccupied.
4)The door is locked

Problem : what if the aircraft needed to descent rapidly because of an outside threat like a SAM test of needed to stay clear of an airplane in jeopardy ?

Simple to write in plain English but a company like Airbus can surely fix this with a thousand lines of code.
 
Unless something is happening on the plane that an automated sensor cannot detect, and getting close to the ground as soon as possible is the best option etc .... And your example can probably easily be defeated by putting something heavy on the other seat. My experience is that writing software that tries to prevent people from doing something stupid, will just mean that they do stupid things in even more innovative ways that are even harder to handle.

Writing software that takes all permutation of things that can happen in the real world into account, as if statements like the ones you effectively have above, will probably have more lines of code than there are electrons in the universe, which is not a realistic option.

As the saying goes, "first walk in a man's shoes ..." before you say something like this is easy. Buy your Arduino kit and build/program something first.
 
Top
Sign up to the MyBroadband newsletter
X