Question about professional computer programming?

AI Thread Summary
The discussion centers on the theoretical aspects of programming and computer science, highlighting that while programming is often applied, many areas delve into abstract concepts. Artificial intelligence is identified as a highly theoretical field, alongside non-procedural languages like ProLog and topics related to information theory. Cryptography is emphasized for its theoretical depth, including the study of one-way functions and cryptanalysis. Compiler design is also noted for its theoretical components, such as optimizations and error checking. Overall, while programming is practical, significant theoretical foundations exist in various subfields of computer science, including limits of computability and the theoretical underpinnings of algorithms.
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.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top