Comments on: It’s a real programming language http://compsci.ca/blog/its-a-real-programming-language/ Programming, Education, Computer Science Wed, 30 Sep 2020 08:31:44 -0400 http://wordpress.org/?v=2.8.4 hourly 1 By: hard code | CompSci.ca/blog http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-122892 hard code | CompSci.ca/blog Fri, 30 Jun 2017 02:33:20 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-122892 [...] there are no calculations or logic flow, just unchanging (thus “hard”) output. This shouldn’t count as programming. And even though hard code is appropriate sometimes (such as stubs in test suites), it is most [...] [...] there are no calculations or logic flow, just unchanging (thus “hard”) output. This shouldn’t count as programming. And even though hard code is appropriate sometimes (such as stubs in test suites), it is most [...]

]]>
By: Matthew http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-106273 Matthew Sun, 22 Jun 2008 19:30:21 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-106273 Personally, I consider anything that passes instructions to the computer a programming language. Once you bring semantics into the argument things get a little convoluted. Personally, I consider anything that passes instructions to the computer a programming language. Once you bring semantics into the argument things get a little convoluted.

]]>
By: Wolf http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-105134 Wolf Mon, 09 Jun 2008 22:08:24 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-105134 When I start looking at what a real language is I find the example of malbolge (http://en.wikipedia.org/wiki/Malbolge) somewhat interesting. It's a programming language designed for utter incomprehensibility. The best way to some up how crazy it is? after it was introduced it was *two years* before anyone got a working hello world program. They didn't actually write it. It was generated using a beam search. Eventually, Malbolge was "solved" (some details are on the wikipedia page mentioned above) What Malbolge gave me was a bit of an extremely wide view of a programming language. despite how absolutely messed up Malbolge is/was, it is a system of rules for turning input into output. "My" definition of a programming language turned into "a fixed system of rules that given input, produces output, regardless of our understanding of the intermediate steps". It's a pretty loose definition. it means that I dont consider HTML, XML, or Latex to be "programming languages" it does however mean that I would consider a system of pipes and valves to be a programming language, or, to stretch the point a bit, "gravity" as it takes an input (initial positions) and produces output (final positions) according to it's own system of rules. at least that's my stock answer to what is a "programming language" of course, I define "useful programming language" quite differently. (and purposely leave a few off of that list just to irritate the language zealots) When I start looking at what a real language is I find the example of malbolge (http://en.wikipedia.org/wiki/Malbolge) somewhat interesting.

It’s a programming language designed for utter incomprehensibility. The best way to some up how crazy it is? after it was introduced it was *two years* before anyone got a working hello world program. They didn’t actually write it. It was generated using a beam search.

Eventually, Malbolge was “solved” (some details are on the wikipedia page mentioned above)

What Malbolge gave me was a bit of an extremely wide view of a programming language. despite how absolutely messed up Malbolge is/was, it is a system of rules for turning input into output. “My” definition of a programming language turned into “a fixed system of rules that given input, produces output, regardless of our understanding of the intermediate steps”.

It’s a pretty loose definition.
it means that I dont consider HTML, XML, or Latex to be “programming languages”
it does however mean that I would consider a system of pipes and valves to be a programming language, or, to stretch the point a bit, “gravity” as it takes an input (initial positions) and produces output (final positions) according to it’s own system of rules.

at least that’s my stock answer to what is a “programming language”

of course, I define “useful programming language” quite differently. (and purposely leave a few off of that list just to irritate the language zealots)

]]>
By: Jordan http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-104900 Jordan Thu, 29 May 2008 18:09:02 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-104900 My feeling would be that it's not a programming language if it's not designed to let a programmer solve a problem. By that definition, everything from Asm, B, C( ), Java, Fortran and so on to HTML, JS, and XML are "programming languages", even if some are declarative data-storage while others are procedural (functional? logical?). I think we can probably all agree that Befunge isn't a real programming language. My feeling would be that it’s not a programming language if it’s not designed to let a programmer solve a problem. By that definition, everything from Asm, B, C( ), Java, Fortran and so on to HTML, JS, and XML are “programming languages”, even if some are declarative data-storage while others are procedural (functional? logical?).

I think we can probably all agree that Befunge isn’t a real programming language.

]]>
By: Tony http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103910 Tony Sun, 27 Apr 2008 03:13:47 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103910 @Han -- I think this calls for a new post to be written. It's in my todo list. Also thx for spotting that bug. I've been pretty frustrated with this theme, and Wordpress in general lately. My summer project will be to write my own blogging engine. @Antonio -- because at some point COBOL and Fortran were dominating the industry. I can almost guarantee that <strong>PHP will become obsolete</strong> in our lifetime. @Han — I think this calls for a new post to be written. It’s in my todo list.

Also thx for spotting that bug. I’ve been pretty frustrated with this theme, and Wordpress in general lately. My summer project will be to write my own blogging engine.

@Antonio — because at some point COBOL and Fortran were dominating the industry. I can almost guarantee that PHP will become obsolete in our lifetime.

]]>
By: Antonio http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103877 Antonio Fri, 25 Apr 2008 14:34:48 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103877 This may seem like a ridiculous question, but why the need for so many programming languages in the first place. I am learning php and if that became obsolete I would be pretty preturbed! LOL This may seem like a ridiculous question, but why the need for so many programming languages in the first place. I am learning php and if that became obsolete I would be pretty preturbed! LOL

]]>
By: Han http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103821 Han Wed, 23 Apr 2008 06:15:42 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103821 FYI (off topic): Your website's commenting system has a bug in the JavaScript (well I mean, it could be CSS, but anyways it's not a server-side problem). You know where it says "Welcome back (Change)" just above the comment box if you've commented before? Well in Opera 9.27 (Mac OS X 10.4.11, but that shouldn't make a difference), if you click on Change there's a nice smooth animation of the comment box sliding away and the user info textboxes fading in (Scriptaculous, huh? Nice), and then the comment box snaps back to it's original position and the textboxes are displayed overlaid above the comment box and text inside. Quite unsightly. BTW, if it turns out it isn't your fault, it's Scriptaculous's problem, do consider <a href="http://www.jquery.com" rel="nofollow">jQuery</a>. FYI (off topic): Your website’s commenting system has a bug in the JavaScript (well I mean, it could be CSS, but anyways it’s not a server-side problem). You know where it says “Welcome back (Change)” just above the comment box if you’ve commented before? Well in Opera 9.27 (Mac OS X 10.4.11, but that shouldn’t make a difference), if you click on Change there’s a nice smooth animation of the comment box sliding away and the user info textboxes fading in (Scriptaculous, huh? Nice), and then the comment box snaps back to it’s original position and the textboxes are displayed overlaid above the comment box and text inside. Quite unsightly.

BTW, if it turns out it isn’t your fault, it’s Scriptaculous’s problem, do consider jQuery.

]]>
By: Han http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103820 Han Wed, 23 Apr 2008 06:03:46 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103820 I understand what you're saying, and you're right, of course, but I didn't understand how that relates to my perspective on HTML as a declarative language. To the best of my understanding declarative programming does not involve logic <em>flow</em> like in an algorithm, but is instead about logical <em>relationships</em> like in a mathematical (or scientific, for that matter) theory. OK, HTML documents in general are a tad difficult to compare with mathematical theories, although I can definitely think of quite a few exceptions right off the top of my head. But they both use a very specific, very precise, syntactically watertight, computer-comprehensible language to describe what they are, without giving any at all specific or precise algorithm for implementation. As for what problem theories describe, well apart from how to give students headaches, which they are quite adept at, theories describe the problem of how relationships between various axioms (in math) or fundamental laws of nature (in science) give rise to a certain mathematical results (math) or observable phenomenon (science). It's typically up to the computer or very confused student to figure out how to represent it so that it makes sense to itself, where "making sense" means being able to analyze and draw conclusions from the theory (the computer of course would require very sophisticated imperative programming in order to do so, and the student doesn't stand a chance anyway). "<i>well actually</i>" Round 3: Han's turn <em>Well actually</em>, Roomba's mechanical parts can be seen as just a set of physical I/O API's for whatever imperative programming is built-in to the circuitry. I understand what you’re saying, and you’re right, of course, but I didn’t understand how that relates to my perspective on HTML as a declarative language. To the best of my understanding declarative programming does not involve logic flow like in an algorithm, but is instead about logical relationships like in a mathematical (or scientific, for that matter) theory.

OK, HTML documents in general are a tad difficult to compare with mathematical theories, although I can definitely think of quite a few exceptions right off the top of my head. But they both use a very specific, very precise, syntactically watertight, computer-comprehensible language to describe what they are, without giving any at all specific or precise algorithm for implementation.

As for what problem theories describe, well apart from how to give students headaches, which they are quite adept at, theories describe the problem of how relationships between various axioms (in math) or fundamental laws of nature (in science) give rise to a certain mathematical results (math) or observable phenomenon (science). It’s typically up to the computer or very confused student to figure out how to represent it so that it makes sense to itself, where “making sense” means being able to analyze and draw conclusions from the theory (the computer of course would require very sophisticated imperative programming in order to do so, and the student doesn’t stand a chance anyway).

well actually” Round 3: Han’s turn

Well actually, Roomba’s mechanical parts can be seen as just a set of physical I/O API’s for whatever imperative programming is built-in to the circuitry.

]]>
By: Tony http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103818 Tony Tue, 22 Apr 2008 23:53:27 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103818 You are correct, though my point was to stretch the limitations for the purposes of this discussion. Roomba's hardware is obviously instructed by an imperative language. If it's anything like <a href="http://compsci.ca/blog/irobot-create-programmable-robot-kit/" title="irobot create - programmable robot kit" rel="nofollow">iRobot Create Kit</a>, then the original is also likely to have been made in C or C-plus-plus. Though I was referring to the robot itself, as a unit, not counting as a programming language of its own. It solves a problem (the programming language inside solves the problem of moving the hardware), but I feel that is an entirely different domain. You are correct, though my point was to stretch the limitations for the purposes of this discussion.

Roomba’s hardware is obviously instructed by an imperative language. If it’s anything like iRobot Create Kit, then the original is also likely to have been made in C or C-plus-plus. Though I was referring to the robot itself, as a unit, not counting as a programming language of its own. It solves a problem (the programming language inside solves the problem of moving the hardware), but I feel that is an entirely different domain.

]]>
By: Han http://compsci.ca/blog/its-a-real-programming-language/comment-page-1/#comment-103816 Han Tue, 22 Apr 2008 22:25:59 +0000 http://compsci.ca/blog/its-a-real-programming-language/#comment-103816 Um, as a declarative language, I don't think Turing-completeness even applies to HTML. That's for <em>imperative languages</em>, to the best of my knowledge. Also, although I don't actually know, I would be very surprised if Roomba wasn't programmed in an imperative programming language, probably C though it could easily be Self or something. Um, as a declarative language, I don’t think Turing-completeness even applies to HTML. That’s for imperative languages, to the best of my knowledge.

Also, although I don’t actually know, I would be very surprised if Roomba wasn’t programmed in an imperative programming language, probably C though it could easily be Self or something.

]]>