I don't get the purpose of programming

In summary, a programmer writes instructions for a computer to follow in order to do something. This can be as simple as baking a cake or even more complicated tasks like running a Large Hadron Collider. Without programmers, computers would be virtually useless.
  • #1
pie
4
0
So I see all of this talk about how you everyone should know how to program, etc. However, I don't get the purpose of it. I have seen people saying that you know how to program so you can tell the computer what to do. But even then what is the benefit of that? Others said that with programming, one would be paid a lot. Again, why would one be paid so much for doing something I think it to be nonsensical? Others even said that one needs programming for software/video games engineering. So, would companies even hire computer programmers then or are they just the broad category (like saying someone is a doctor but which type of doctor)?

Simply, what is programming and why is it so special that people actually learn it? I don't get it.
 
Technology news on Phys.org
  • #2
pie said:
However, I don't get the purpose of it

By posting this message you've used applications that were built by programmers. Isn't that evident enough for the purpose of programming? This capability is not drawn from thin air.

pie said:
Again, why would one be paid so much for doing something I think it to be nonsensical?

Simply, computers need programmers to build applications. Programming can be a highly technical and difficult profession at the highest levels.

pie said:
So, would companies even hire computer programmers then or are they just the broad category

Programming is a broad category. Companies hire programmers with an expertise in a language that compliments some development or technology they use.

pie said:
Simply, what is programming and why is it so special that people actually learn it? I don't get it.

Again, what you've used to post this message has required programmers to build devices and programs that gave you the ability to do so. This isn't magic.
 
  • Like
Likes elusiveshame, Hesch and pie
  • #3
@Greg Bernhardt Thanks for your response.

So, is Physics Forums actually programmed with all of that complicated code?
 
  • #4
pie said:
So, is Physics Forums actually programmed with all of that complicated code?
Yes absolutely. Everything from the design to the functionality has been programmed in explicitly.
 
  • Like
Likes elusiveshame
  • #6
How do you suppose large banks, and insurance companies, and government programs like Social Security (to say nothing of pretty much ever other business in existence) manage all the information that is essential to their operation?

How do you think scientists design things like the Large Hadron Collider?

The list is just endless.
 
  • Like
Likes billy_joule
  • #7
pie said:
So I see all of this talk about how you everyone should know how to program. Simply, what is programming and why is it so special that people actually learn it?
Not everyone needs to know how to program, in the same manner that not everyone needs to know how to ride bicycle or do basic math, it can be helpful, but it isn't required. Programming is writing a set of instructions in a specific language so that a computer can follow those instructions to perform some type of operation. It's similar to writing instructions for how to mix ingredients and bake a cake, or how to assemble something you bought from a store, although a closer analogy would be a set of instructions to perform with a calculator to do something like solve a quadratic equation.
 
  • #8
pie said:
So I see all of this talk about how you everyone should know how to program, etc. However, I don't get the purpose of it. I have seen people saying that you know how to program so you can tell the computer what to do. But even then what is the benefit of that? Others said that with programming, one would be paid a lot. Again, why would one be paid so much for doing something I think it to be nonsensical? Others even said that one needs programming for software/video games engineering. So, would companies even hire computer programmers then or are they just the broad category (like saying someone is a doctor but which type of doctor)?

Simply, what is programming and why is it so special that people actually learn it? I don't get it.
Without even reading ANY of the responses to this first, just be ready to change your mind within one year's time. You simply WILL become more aware and you will change your mind.

Computers are just dumb machines UNTIL a set of instructions is organized into them.

Imagine you have samples of chemical blends, each of them from a different blend from its own tank in a production yard. You need to run the same test on every sample, but each blend requires its own accurate quantity of sample to use to actually make the test measurement; and so you need to calculate how much sample to measure for each individual sample. For example, you have ten samples to check, and you need to know (calculate and then compute) how much of each sample to weigh for running the analysis test. Do you want to do the calculations and computing with pencil on paper, even WITH a hand-held calculator? OR would you rather enter the needed input data into a computer program and have the results of how much sample to weigh in 15 seconds or less?

If you have some skill at computer programming, you can develop your own program to handle relevant data to find various values to use for your analysis test.
 
  • #9
pie said:
I have seen people saying that you know how to program so you can tell the computer what to do.
You say that but the fact that it doesn't affect you means you still don't understand it.
There are things like memory, processing units, etc. for computing and calculating, for finding answers to problems and also things like agility, strength, precision,etc. to do some works well. People don't have arbitrary high amount of these things but they can build machines that have. But the point is, these machines are extremely stupid! They have all these things to do anything you want well but they can do nothing without being told how. So you should tell them and if you tell them accurately, they will do what you want very well. Programmers are people who know how to say computers what to do.
 
  • #10
Everything a computer does is controlled by a computer program. The program uses/controls the hardware (that is the computer).

Say a microprocessor chip had input and output pins and you want to make it turn on a light when you press a switch 2 times.

You have to write a program that monitors an input pin connected to the switch, counting the number of times it is pressed, and then drive a signal to the light through an output pin to cause the light to go on after the 2nd press. That simple logic would be contained in a simple program.

Writing generically (not in a specific language, and not good programming structure)

Start:
if (button pressed) {
increment counter
}
if (counter greater than 1) {
turn_on_light
}
while (button_pressed) { // wait for button to be released
delay 10 milliseconds
}
delay 10 milliseconds //wait a bit before looking again
goto start

Again, that is an oversimplified example of a simple computer program.

In the real world it would be written is a real computer language, deal with real computer IO, deal with real timers, deal with initial conditions, etc etc

It would then be compiled into binary code and loaded into the computer to execute.
 
  • #11
rcgldr said:
Not everyone needs to know how to program, in the same manner that not everyone needs to know how to ride bicycle or do basic math,

A better analogy might be that not everyone who drives a car needs to know how to build one.

If all the software that you need/want has already been written; or if the software that currently exists, allows you to do everything that you need/want to do with a computing device; or if you can always find someone to write any software that you need/want, then you yourself don't have to learn how to program.
 
  • Like
Likes Greg Bernhardt
  • #12
In addition to the previous posts about the applications of programming, there is one unmentioned benefit of proficiency in programming. More than 99% of Americans have little to no programming skills. Adding advanced computer knowledge to a resume increases your value as an employee. With increased demands in technology to support businesses, companies are paying programmers ridiculous amounts for tasks that are fairly simple. Why? Because so little people even take a programming course. Computer science will eventually become a requirement for college graduation, but in the meantime you should take advantage of people's lack of knowledge on the subject.
 
  • #13
JohnPrior3 said:
In addition to the previous posts about the applications of programming, there is one unmentioned benefit of proficiency in programming. More than 99% of Americans have little to no programming skills. Adding advanced computer knowledge to a resume increases your value as an employee. With increased demands in technology to support businesses, companies are paying programmers ridiculous amounts for tasks that are fairly simple. Why? Because so little people even take a programming course. Computer science will eventually become a requirement for college graduation, but in the meantime you should take advantage of people's lack of knowledge on the subject.
Degree programs in sciences and engineering in the past, required (or was this not universal?) at least a beginning programming course. Has this changed? Some people might have taken just the minimum for their undergraduate program requirements, and maybe if only that, these graduates had forgotten their skills. Your "fairly simple" comment is interesting, and I am curious to know just HOW SIMPLE is that? One thing in general I know: If one has several repetitive computations and calculations with decisions to make, designing a fairly simple computer program is a way to manage those calculations and have them done QUICKLY.
 
  • #14
pie said:
@Greg Bernhardt Thanks for your response.

So, is Physics Forums actually programmed with all of that complicated code?
Really? You don't know that? let say this application we are using is not Programmed by a programmer, then what is it ?
 
  • #15
symbolipoint said:
Degree programs in sciences and engineering in the past, required (or was this not universal?) at least a beginning programming course. Has this changed? Some people might have taken just the minimum for their undergraduate program requirements, and maybe if only that, these graduates had forgotten their skills. Your "fairly simple" comment is interesting, and I am curious to know just HOW SIMPLE is that? One thing in general I know: If one has several repetitive computations and calculations with decisions to make, designing a fairly simple computer program is a way to manage those calculations and have them done QUICKLY.

NOTE: I am speaking about business firms that are not IBM, Xerox, Google, Microsoft, etc. I'm talking about companies with a fai

http://techland.time.com/2012/07/16/can-we-fix-computer-science-education-in-america/

This TIME article basically says that is in decline, but the number "19% of high school students are involved with computer science" shouldn't be taken seriously. This includes learning how to make powerpoint and excel. The AP Computer Science exam has gained popularity in recent years though which gives me good hopes for a rise in programming proficiency. I know a lot of people in business as well as people who work as state IT workers and the same response is that:
1. They are typically one of the highest paid employees in their office.
2. They always get the highest starting salary.
3. They have gotten computer programming degrees to fix people's emails and reboot the wifi when it goes down.
(I am speaking salaries north of 100,000 a year which I view as a handsome pay)

Obviously IT workers in big banks, highly secure government jobs, and technology firms are way beyond my capabilities and have very competitive positions.

One thing that blows my mind is that people ACTUALLY put down on their resume "know how to use Microsoft Excel" as a skill who apply for jobs requiring a college degree. Our education system is way behind other countries, especially in computer science which I'm sure you can believe.

Lastly, yes requirements have changed. In my undergraduate physics curriculum, I was initially not required to take a computer programming course (and this is a highly regarded school). Eventually they introduced Computational Physics, but this was just basic Matlab stuff and finished with using Matlab to solve PDEs. I think Computational Physics is on the rise because of the reliance on computers for physics research, but I still do not think it is fully developed. I took it as an elective.
 
  • #16
Joseph Austin said:
Really? You don't know that? let say this application we are using is not Programmed by a programmer, then what is it ?
Magic!
 
  • #17
Even if you don't want to be a programmer it is very useful to have some programming skills. Not because you want to write programs but because you might want to manipulate data.

For example suppose you want to be a hospital manager. You might have to use a spread sheet program like Excel to work out budgets or plot graphs. It's not unusual to want to process data in some conditional way. Suppose you have a huge list of hospital equipment (10,000 items) with the date they were purchased and last used. You might want to extract a new list of those that are over 10 years old and have been used more than 3 times in the past year. It could takes years to go through the whole list by hand. However Excel has functions that can help you solve it very quickly. The skills needed to use these functions are very similar to those needed to write computer programs.
 
  • #18
1) Computers automate tasks that are tedious so that they free your time to do things that are more enjoyable, or beneficial to you in general
2) Computers are much better at certain tasks than humans and viceversa. So it seems like a good idea to assign to computers tasks they are
better at.
How much time would you like to spend, e.g., computing 6324 x 9263 if you are doing an engineering application. Would you like to memorize hundreds/thousands of pieces of information, or write them all in a notebook? And what if you have data you would like to rearrange? And what if you want to correct some data, or update it?

I have also found that programming ( I am a beginner, though) forces you to think more clearly and develops your analytical skills. I think there is research that supports that this is true in general.
 
Last edited:
  • #19
As I sit here, I have a program running that calculates how an airplane will fly through the air. It calculates how the plane will move through the air in time steps of 1/100 second. Each step requires many thousands, probably a million arithmetic operations. Other people programmed that. I wrote a top level program that will keep running example cases of the airplane flyout and record the results. When it is done in about 3 hours, it will have done 420 complete flight simulations. Each simulation represents a couple of minutes of flight. If my friends could not program the airplane flight calculations or if I could not program the top level "script" that does the 420 runs, I could not do my work. As it is, I can take a coffee brake till it is done ;>).
 
Last edited:
  • #20
Programming is very useful in physics and astronomy research (Python is a popular language).

"Only 50 years ago, most physics and astronomy research relied on the analytical skills of the scientist, on the tools of classical mathematics that were taught to them as students, and in some cases on data management and numerical analysis done by hand. Today, cutting edge research often requires high speed computing for simulation and data analysis, interactive tools to enhance extraction of relevant information from multi-parameter databases, access to automated and robotic instrumentation, and management of incomprehensibly large data sets. The issue for the researcher in training is not whether computing skills are needed, but which ones are most critical."

http://prancer.physics.louisville.edu/astrowiki/index.php/Programming_for_Physics_and_Astronomy
http://www.astropython.org/
 
Last edited by a moderator:
  • Like
Likes symbolipoint
  • #21
Ultimately, a great deal from computers is that mentioned above: to generate examples and to help you generate and understand an infinity of scenarios one could hardly understand, or even conceive, without the computer, basically a division of labor beneficial to humans. As programming is deeply-embedded in just-about every aspect of daily life, I would say it is a good idea to understand it, even if at a basic level.
 

Related to I don't get the purpose of programming

What is the purpose of programming?

The purpose of programming is to create instructions for a computer to follow in order to perform a specific task or solve a problem. It allows us to automate processes, manipulate data, and develop new technologies.

Why is programming important?

Programming is important because it is the foundation of modern technology and drives innovation. It allows us to create software, apps, websites, and other tools that make our lives easier and more efficient.

What skills are needed for programming?

Programming requires a combination of logical thinking, problem-solving, attention to detail, and creativity. It also requires knowledge of programming languages, algorithms, data structures, and other technical concepts.

Do I need a degree to learn programming?

No, a degree is not necessary to learn programming. There are many resources available online and in-person that can help you learn programming, including tutorials, classes, and coding bootcamps.

How do I get started with programming?

The best way to get started with programming is to choose a programming language and start practicing by writing simple programs. You can also take online courses, read books, or attend workshops to learn more about programming concepts and best practices.

Similar threads

  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
7
Views
550
  • Programming and Computer Science
Replies
33
Views
2K
  • Programming and Computer Science
Replies
1
Views
736
  • Programming and Computer Science
Replies
28
Views
783
  • Programming and Computer Science
Replies
21
Views
1K
  • Programming and Computer Science
12
Replies
397
Views
14K
  • Programming and Computer Science
2
Replies
54
Views
3K
  • Programming and Computer Science
2
Replies
58
Views
3K
  • Programming and Computer Science
Replies
1
Views
1K
Back
Top