- Portals
- The Current Year
- ED in the News
- Admins
- Help ED Rebuild
- Archive
- ED Bookmarklet
- Donate Bitcoin
Contact an admin on Discord or EDF if you want an account. Also fuck bots.
Computer science: Difference between revisions
imported>L Ron Hoyabembe No edit summary |
imported>L Ron Hoyabembe No edit summary |
||
Line 20: | Line 20: | ||
* '''Design''' This part of the process involves a lot of scientific-looking doodling which in reality is just a way to stop you and your lazy co-workers from taking shortcuts during development that will end up biting you in the digital ass. In order to write good models, you must assume that your dumbest co-worker has just had a stroke and then consumed 5 units of alcohol, and he is the one responsible for implementing that model. If you hold yourself to that metric, then the development process will be that much easier. Writing well thought out and detailed models will significantly reduce your workload and bug-fixing later in time, so naturally most people don't take it seriously. | * '''Design''' This part of the process involves a lot of scientific-looking doodling which in reality is just a way to stop you and your lazy co-workers from taking shortcuts during development that will end up biting you in the digital ass. In order to write good models, you must assume that your dumbest co-worker has just had a stroke and then consumed 5 units of alcohol, and he is the one responsible for implementing that model. If you hold yourself to that metric, then the development process will be that much easier. Writing well thought out and detailed models will significantly reduce your workload and bug-fixing later in time, so naturally most people don't take it seriously. | ||
* '''Development''' This the actual coding part of the life cycle in which your mental stability will be tested. You must actually turn all of the design models into hard code that will inherently have more bugs than a village in Africa. In order to actually create a working product, you will have to constantly test and debug your code as you write it. Testing is a whole domain on its own but mostly just concerns the fact that if you put a button on your app that says "DO NOT PRESS" someone will press it. So you have to think of every possible way an idiot will break your program, because if they can they will. | * '''Development''' This the actual coding part of the life cycle in which your mental stability will be tested. You must actually turn all of the design models into hard code that will inherently have more bugs than a village in Africa. In order to actually create a working product, you will have to constantly test and debug your code as you write it. Testing is a whole domain on its own but mostly just concerns the fact that if you put a button on your app that says "DO NOT PRESS" someone will press it. So you have to think of every possible way an idiot will break your program, because if they can they will. | ||
* '''Integration Testing''' | * '''Integration Testing''' This is the nightmare stage where you will suddenly find yourself surrounded by many religious people. This is where you attempt to connect all the moving parts. There are so many unforeseen problems and hiccups that you didn't even know were an issue until now that you will begin to question if computers are actually just magical boxes left here by a space wizard. This is where a lot of yelling and blaming happens, and most things start to completely fall apart because no one wants to change what they have already done. | ||
* '''Implementation''' Includes beta testing, mostly involves creating a real world version of what you have ready. This can once again lead to more unpredictable issues and complications but at this point it's too late to change any of the core setup of the product and so it gets sent out anyway. Whoops. That's what Day 1 patches are for | |||
* '''Operations and Maintenance''' This is the follow up of the product, assessing important steps along the way, like did we use the right components, did we bug test this enough, and seriously where is my soup this is getting fucking ridiculous. And any product, much like a bicycle, requires constant patch updates and quality assurance feedback. Thus maintenance teams and support forums are created in order to keep the damn thing afloat. At this point in time, the last step repeats itself until superintellgient AI concumes or the world or the company gets bought out by Google. | |||
== See Also == | == See Also == |
Revision as of 21:37, 6 February 2018
Computer science is a branch of science focusing primarily on pretty much anything that can be done on a computer. It attracts a wide population of neckbeards because everyone thinks just because they play a lot of video games they will be good at programming. The field of Computer Science ranges from using advanced mathematics to precisely determine why your solution is dead wrong even if you knew how to do it, all the way to banging your head against a metaphorical brick wall for an hour because your program won't compile only to discover it was because you added an extra curly bracket.
Requirements
- At least one or more of the follwing: Neckbeard/Fedora/Macbook covered in obscure tech stickers/BMI of 36+
- A Pair of glasses to adjust on your face anytime you say the phrase "Well Actually..."
- A vast and superior knowledge of your favorite language which you will use whenever it is possible, and also when it is not possible
- Complete lack of sex drive, as the three or less females in your major will be not only repulsive, but probably already have a neckbeard boyfriend with a katana
- 4 or more Github accounts because you keep forgetting the password
- A really great idea for a revolutionary new app, it's like an uber for starbucks or something, you'll let the nerds in India figure out to to code it...
- A healthy diet of memes
- Phone to play with in class
Software Development
This is what actual coding is. You will soon discover that it is a tedious, time consuming, head smashing, bureaucratic, black hole of time that is 100% necessary if you don't want to ship a steaming pot of spaghetti code. Fortunately, other people have pinpointed exactly how much this sucks so the whole process is pretty streamlined. This is called the development cycle.
- Initialization The customer approaches the company in hopes that they are desperate enough to make their ludicrous fantasy into a marketable reality. The idea is pitched to a bunch of upper level managers who don't even understand how to close the tabs on their phone, let alone know how to do any of the actual work required. After a large amount of false promises and exaggerations, the general idea of the product is set so that it can be mangled and distorted properly later down the line.
- System Concept Development The least incompetent people working on the project are gathered to discuss the details of how exactly they will go about assembling this shit sandwich. Big questions are answered, such as "What language should we use?", "How should we handle the back-end?", "How should we outsource of this as much as possible?", and "Why does my soup keep disappearing from the break room fridge?".
- Planning This is the stage where deadlines are set so that they can inevitably be missed, and where teams will be divided into subgroups. This stage is mostly so that the people involved can feel like adults and waste more time in board meetings. It's biggest function is to establish more stress in the environment. This part involves a lot of writing stuff down and woefully attempting to hold people accountable for their actions.
- Requirement Analysis Research is done to find out what the hell people who use the program actually want, since programmers have a very loose grasp of daily life and the general behavior of the world population (In the same way that engineers would design everything for engineers if they could). User specification is nailed down to the point where literal interpretation trumps all forms of common sense and established norms.
- Design This part of the process involves a lot of scientific-looking doodling which in reality is just a way to stop you and your lazy co-workers from taking shortcuts during development that will end up biting you in the digital ass. In order to write good models, you must assume that your dumbest co-worker has just had a stroke and then consumed 5 units of alcohol, and he is the one responsible for implementing that model. If you hold yourself to that metric, then the development process will be that much easier. Writing well thought out and detailed models will significantly reduce your workload and bug-fixing later in time, so naturally most people don't take it seriously.
- Development This the actual coding part of the life cycle in which your mental stability will be tested. You must actually turn all of the design models into hard code that will inherently have more bugs than a village in Africa. In order to actually create a working product, you will have to constantly test and debug your code as you write it. Testing is a whole domain on its own but mostly just concerns the fact that if you put a button on your app that says "DO NOT PRESS" someone will press it. So you have to think of every possible way an idiot will break your program, because if they can they will.
- Integration Testing This is the nightmare stage where you will suddenly find yourself surrounded by many religious people. This is where you attempt to connect all the moving parts. There are so many unforeseen problems and hiccups that you didn't even know were an issue until now that you will begin to question if computers are actually just magical boxes left here by a space wizard. This is where a lot of yelling and blaming happens, and most things start to completely fall apart because no one wants to change what they have already done.
- Implementation Includes beta testing, mostly involves creating a real world version of what you have ready. This can once again lead to more unpredictable issues and complications but at this point it's too late to change any of the core setup of the product and so it gets sent out anyway. Whoops. That's what Day 1 patches are for
- Operations and Maintenance This is the follow up of the product, assessing important steps along the way, like did we use the right components, did we bug test this enough, and seriously where is my soup this is getting fucking ridiculous. And any product, much like a bicycle, requires constant patch updates and quality assurance feedback. Thus maintenance teams and support forums are created in order to keep the damn thing afloat. At this point in time, the last step repeats itself until superintellgient AI concumes or the world or the company gets bought out by Google.
See Also
Computer science is part of a series on Aspies. | [Sperg out] |
Computer science is part of a series on Visit the Softwarez Portal for complete coverage. |