Chapter 1 Review
1: What is software?
A series of human readable instructions compiled by an intepreter into binary code, the output of which is then computed using compatible hardware. Typically designed to automate needful tasks.
2: Why is software important?
Through automation software has eliminated many kinds of repititous, dangerous, and otherwise undesirable tasks, thereby enabling men to pursue higher arts. Assuming futher inovation, software will eventually be used to interface with and enhance human cognition. Beyond the human-software construct lies purely mechanical sentience, the culmination of all of human history; our salvation.
Software can also be used as a kind of intellectual proof, showcasing the designer's complete understanding of a problem. This has value mainly in academic circles and pales in comparison to our reckoning, but I thought it would be worth mentioning as it did appear in the assinged text.
... Also robowaifus.
3: Where is software important?
Every remotely civilized portion of the earth, as well as various points throughout outer space.
4: What could go wrong if some software were to fail? List some examples.
Simple programs may fail, leaving the task(s) they were designed to carry out unfinished or to be left in an undesirable state. Complex systems may cease functioning altogether, pending nominal or extensive and costly troubleshooting. Though a step short of failure, some software may seize up withhout any indication and continue to function suboptimally, resulting in delays and/or inefficient use of available resources.
5: Where does software play an important role? List some examples.
In practically every facet of human life. All civic infrastructure, communications networks, manufacturing, trade, agriculture, the military, and almost any other industry imaginable relies on computer software to automate the vast amount of labor required to sustain an increasingly large global population.
6: What are some jobs related to software development? List some.
Computer programmer, embedded systems programmer, AI specialist, UX designer, computer scientist, visual fx specialist, audio engineer, animator, network engineer, experts in other sciences (medicine, biology, etc.), project director, the oft despised middle manager, and so on.
7: What's the difference between computer science and programming?
Computer programming is a more narrow field concerned primarily with the design and implementation of computer programs, whereas computer science spans a much broader range of theoretical topics relating to computers, networks, artifical intelligence, and anything else that can be automated.
8: Where in the design, construction, and use of a ship is software used?
CAD programs might be used to draft schematics of the exterior/interior. The onboard systems required for navigation, power, pumps, and hardware diagnostics are likely networked via Unix on all but the oldest vessals. Personal computers can be hooked up to satellite internet these days, so I imagine some of those are on board as well.
9: What is a server farm?
One or more rooms in a building typically reserved for sever hardware. The biggest server farms can span more than a million square feet and host upwards of tens of thousands of individual server boxes. The machines are oftentimes networked to provide data parity and redundancy. Server farms frequently rent out their computational power and storage to web hosts, cloud providers, AI researches, and others.
10: What kinds of queries do you ask online? List some.
Search engine queries, media queries, site-wide queries, text queries on specific pages, video annotation queries, database queries.
11: What are some uses of software in science? List some.
Research, experimentation, analysis.
eg. DOOM WADs are designed for testing the intelligence of mice. Algorithms are used to unscramble the brainwaves emitted from the visual cortex of mice, which can then be projected onto a monitor and judged for their clarity/accuracy. Imaging software is used to translate database files into endless arrays of graphs for presentation and analysis.
12: What are some uses of software in medicine? List some.
Research ,gene therapy ,developing vaccines ,enhancing surgical precision, enhancing existing medical instruments and machines, aiding in patient diagnosis.
eg. Patient records are stored in massive software databases and then passed along via network architecture. AI driven algorithms are being used to help doctors map the human genome, create more effective vaccines, more accurately diagnose patients based on their past medical records, etc. Surgeons are able to make use of instruments too small for any human to hold thanks to the miracle of engineering that is the PS5 controller.
13: What are some uses of software in entertainment? List some.
3d modelling, image alteration, particle FX, production of deepfakes (I revel in seeing the masses deceived), graphic design, game development,
14: What general properties do we expect from good software?
Easy to use, elegant and efficiently designed codebase, not wasteful of system resources, reasonably secure, and of course the faster the better.
15: What does a software developer look like?
Oh I'm certain they come in all shapes and sizes. Although women and blacks are conspicuously few and oftentimes too incompetent to be considered of professional calibur.
16: What are the stages of software development?
Analysis of the problem the software is designed to solve, designing a solution based on needs/budget, programming, testing.
17: Why can software development be difficult? List some reasons.
Computers are fundamentally dumb and incapable of carrying out even the simplest tasks on their own. A programmer has to painstakingly break the task down into it's simplest components and then translate those steps into computer code. The code will also be considered a commercial failure unless it is presentable, with the expectation that it will need to be maintained and repurposed for many years.
Software these days, once shipped, is still considered incomplete. Updates with new features and security patches are the norm, which can add unexpected costs.
18: What are some uses of software that make your life easier?
Telecommunications networks allow for nigh instantaneous access to nearly every published piece of information available, peer to peer voice/video calls, house active communities for discourse on nearly any topic, and offer the ability to interact with an ever increasing multitude of institutions offering their own proprietary web services.
Encryption keeps information reasonably secure when implemented properly. As an extension, cryptography allows us to exchange information in a secure and trusted fashion.
GUIs enable much needed accessibility and flexibility in my computing experience. They're also essential for creating and consuming visual media.
19: What are some uses of software that make your life more difficult?
Surveilence software, web trackers, malware, etc, makes it more time intensive and difficult to keep personal information private.
The constant outpoor of malicious software, buggy software, and backdoors make system maintenance and security a never-ending chore.
Artificial intelligence is rapidly eroding the trustworthiness of published information in all spheres.
In the not so distant future quantum software will completely break all previous forms of encryption overnight, possibly resulting in catastrophic losses of trust and fortune.