1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

HiUntil very recently, I have what can be called a marginal

  1. Feb 27, 2012 #1

    Until very recently, I have what can be called a marginal interest in computers and even more so in math (mostly because any math I can do is limited to AS Level and despite being able to deal with abstractions in other disciplines, I seem not to have caught on the math front..I was also aversed to the notations < very stupid in retrospect)

    I stumbled across a blogpost below incidentally and was wondering if anybody can suggest reading material that I can work through related to topics the post below encapsulates? Or at least a starting point? With language I can reasonably understand or maybe written in a way that uses a lot examples to illustrate a point?

    AS Level Math = http://tinyurl.com/6jj97c (i remember struggling the most with mechanics and the decision maths. less so on pure maths.. but this was a good 2-3 years ago)

    (disclaimer:) I find that I mostly gain momentum/interest through stumbling across connections made across subject areas.. maybe my brain works kind of weird this way but there have been plenty more instances in the past where I go from 0 interest to desire to understand the relations/overlaps between X & Y & etc

    "Well, I was thinking of something quite a bit more different than a tricked out C processor. I know that great work was done to create the OS(s), etc. And that some tangible, lasting innovation happened in that group. However, my point is that C and friends are designed specifically to control a monolithic, serial instruction pipeline. All else is second-order fluff.

    Math (not Lisp) has less relation to time. We force computation into the time dimension, which is very much against the Truth represented in our statements. The number of cycles it takes to get an answer should not be a function of the algorithm. Your brain does massive “computation” in a single cycle. That’s what I’m getting at.

    We can define a bitmap representation of a cube mathematically, taking positional inputs and maybe some lighting specs. Once the inputs are specified, the answer is simultaneously defined. Reality is defined in less than one cycle. Until our hardware can be configured to do our mathematical dirty work in a single cycle, we are stuck with telling idiotic circuitry to do simplistic things.

    Of course, processing lists is another matter. Counting cycles may be as difficult as count list items. Maybe processor power will be measured in terms of both algorithmic complexity and list length (handled in a single time slice, of course).

    The original premise, that Math is the one true programming language, will only bear fruit when our hardware can handle the truth.

    BTW, even my 8-yr-old daughter scratches her head when I write x=x+1. I resolve to belittle any language that supports such blasphemy."

    Thanks very much in advance
  2. jcsd
  3. Feb 27, 2012 #2
    Re: advice/suggestions

    Can't disagree with you there, but that ship has sailed. In many computer languages, '=' is the assignment operator and '==' stands for equality. Been this way for a really long time. C dates from the early 1970's. Just the way it is.

    But also note that equality in a programming language is not the same as equality in math. In math we say two things are equal as a statement. In programming, setting two things equal tests for equality and results in a value of true or false. So you really can't mix apples and oranges here. I do agree with you that using '=' as the assignment operator was an unfortunate choice. But I've long since gotten used to it.

    I don't think it makes sense to ask our hardware to "handle the truth." My car doesn't know where I want to go. It's a machine. I'm the human. Computers are just machines. They do what they're programmed to do.

    It sounds like you might be interested in checking out the subject of concurrent programming.


    In some ways the Internet is already working this way. Your browser talks to the Physics Forum's web server. The web server talks to the database. The database comes up with some data, the middleware formats it, the web server returns it to your browser, and your browser renders it.

    It's true that programing languages control a single execution pipeline. But our modern software systems are made up of cooperating autonomous programs. Collectively they implement social networking sites, music sites, operating systems, and all the other aspects of the modern software ecosystem. The collective effect is much more than just programming a serial pipeline, even if each individual program is written that way.
    Last edited: Feb 27, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook