Question about professional computer programming?

Click For Summary

Discussion Overview

The discussion revolves around the theoretical aspects of programming and computer science, exploring areas that are more abstract and less focused on practical coding. Participants share their insights on various fields within programming that emphasize theory, as well as the relationship between theoretical concepts and practical applications.

Discussion Character

  • Exploratory
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • One participant inquires about areas of programming that are theory-oriented and whether this encompasses all of programming.
  • Another participant suggests that while AI is theoretical, computer science is primarily applied, with programming often used to explore theoretical concepts rather than to establish them.
  • Further contributions highlight specific areas such as non-procedural languages, linguistic applications, optimal classification routines, and cryptography, emphasizing their theoretical underpinnings.
  • Discussion includes the complexities of cryptography, including the study of one-way functions and hash collisions, which have significant implications for various applications.
  • Compiler design is mentioned as a field that involves theoretical considerations beyond just grammar, including optimizations and error checking during compilation.
  • One participant references theoretical computer science, noting that much of it may not involve programming directly, and mentions a previous discussion on Reddit that provided resources on the topic.

Areas of Agreement / Disagreement

Participants express a range of views on the relationship between theory and practical programming, with some emphasizing the theoretical nature of certain fields while others argue that programming is fundamentally applied. The discussion remains unresolved regarding the extent to which programming is theoretical versus practical.

Contextual Notes

Participants acknowledge the complexity of defining theoretical versus practical aspects of programming, and there are references to specific fields that may not be universally recognized as theoretical or applied. The discussion does not resolve the definitions or boundaries of these concepts.

Who May Find This Useful

This discussion may be of interest to individuals exploring the theoretical foundations of computer science, students considering various programming languages, and those curious about the intersection of theory and application in programming.

EntropicLove
Messages
45
Reaction score
1
What are areas of programming that are more theory oriented and deal with more abstract ideas? Is this pretty much all of programming?

I'm learning a few languages (competent in some) and curious.

Thank you!
 
Technology news on Phys.org
I'm thinking AI is pretty theoretical.
Computer Science is an applied science though so everything tends to be brought back to something you can code. Usually the programming part gets used to study something theoretical rather than actually being the theory.

There are related fields like information theory.
 
As Simon Bridge pointed out, things get practical some time or another.

Having said that I would suggest on top of AI, non-procedural languages (in particular ProLog) as well as linguistic stuff (the stuff that googles of the world work on) as well as optimal classification routines for a variety of fields including computer games and graphics (think collision detection, scene representation, object representation) and a tonne of stuff related to cryptography and related areas.

Within cryptography, you have not only study and analysis (crypt-analysis) of ciphers, but also you deal with one-way functions which is really nuts.

The one-way stuff is also used for doing things like checking how a hash-collision works with respect to generating a decent distribution of collisions and this affects a lot of applications that use hash-trees for fast lookups.

You also have the stuff in compiler design (and I don't just mean the grammars: I mean the whole project that deals with a compiler). Optimizations, checking for errors at compile time, re-organizing code for various uses (one would be the target platform) involves a lot of stuff.
 

Similar threads

  • · Replies 102 ·
4
Replies
102
Views
4K
  • · Replies 43 ·
2
Replies
43
Views
7K
Replies
16
Views
3K
Replies
38
Views
4K
  • · Replies 25 ·
Replies
25
Views
1K
Replies
86
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
Replies
7
Views
4K
  • · Replies 11 ·
Replies
11
Views
1K