Applications of programming in the real world

AI Thread Summary
Programming has a wide range of applications, including web development, artificial intelligence, and numerical programming, with skills in procedural and object-oriented programming being fundamental. The demand for web developers is expected to increase, while specialized roles like differential equation solvers will remain important but niche. The complexity of programming continues to grow, requiring a deep understanding of high-level languages and methodologies for effective application design. Future trends may include a rise in Test Driven Development (TDD) practices, emphasizing the importance of testing in software development. Gaining real-world programming experience is crucial for understanding the field's depth and complexity.
JoAuSc
Messages
197
Reaction score
1
I'm a physics undergrad who's had some experience with Java and Fortran and a little bit with C++. I've only taken one computer science course which taught me the basics of Java, so I've been somewhat shielded from other programmers and from programming as it's done in the "real world". I have two questions.

First, what are the applications of programming in general, and what skills would be useful for these applications? How would you divide the bulk of programming today into general applications? It seems to me like there's numerical programming, and there's GUI/event-driven programming, and there's some other stuff I don't know about. My second question might clarify what I mean:

Second, how do you think the demand for different areas of programming will change in the future? I'm guessing that the ability to solve differential equations will always be important, but knowing how to design an application from the ground up will become less important, though basic principles like information hiding will remain important. Any thoughts?
 
Technology news on Phys.org
I'm not yet a professional, if I ever become one, but the field of programming is very deep. Differential equation solvers are more of a one-niche application. It's one small part of the field of algorithms, which is huge. In terms of types of applications, most anything you can think of is still being developed. Web programming, OS development, artificial intelligence, operations management tools, databases, game development, a huge number of other things. A large corporate project can have a hundred million lines of code--it's not all setting up a few text buttons and menus.
 
Programming has become a very complex thing, it can be viewed as art, science, skill, craft, you name it.

Programming has become soo popular because computers have the ability to be programmed to do almost any task that is possible with the computer input and output mechanisms.

You can programm your computer to play you an mp3 file, make recordings or music via the provided hardware, you can make CAD programs, you can control the beam in a particle accelerator...lots of possibilities.

Therefore the art of programming has become very complex but it all comes down to a sequence of zeros and ones that the computer processes. But writing a sequence of zeros and ones isn't very productive therefore the bulk of todays programming is done in a high level programming language that abstracts the sequence of zeros and ones in some meaniningful way. That abstraction can be done in a few ways, the most famous is the procedural way where you specifiy a finite number of arbitrary steps the computer should take to preferom a specific task, now having a file with a buch of steps isn't very clean therefore there is yet another level of abstraction that is Object Oriented programming which is bottom line just a method of organizing code that is you organize the procedures in some meaningful way. There are some more exotical abstractions but let's just leave it that.

Applications of programming are diverse. General programming skills will always be at the heart of programming(procedural programming principles and OOP principles) and ofcorse a good understanding of the language one programmes in.

In the future I expect that the demand for web-developers will raise, for things such as J2EE, JSF, PHP, HTML, JavaScript, AJAX,...

but there will always be people who will write programs that solve mathematical problems, write drivers, etc.

Programming field is diverse and it will remain soo for a long time.

In the future I also expect the raise of TDD (Testing Driven Development) that is writing test is also important to ensure that the application does what it is supose to do.

Knowing how to design an application is also very important in fact there are different methodologies developed that enable an efficient way of how to make a program - from specificiations to the finished product.

I would say it is difficult to get the felling of real-world programming without any real-world programming experiences. If it is possible try to get a job as an entry level programmer at a small computer company for a summer job.
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
Back
Top