Announcement

Collapse
No announcement yet.

CLike: A New, "Simple C-Like" Programming Language

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by wizard69 View Post
    It is getting to the point of dismissing returns, most. Of these languages have little to offer over C++ and Python. The world needs a much higher level approach to programming. I'd rather see energy go into the use of AI's to compose apps from high level requests. I just don't see a lot to be gained from yet another conventional language.
    higher level = lower performance
    Moore's law is not anymore, performance will always matter

    people can do any kind of language they want
    it the case of this it might actually be useful to somebody

    check out visual programming languages for something futuristic

    Comment


    • #12
      Originally posted by gens View Post
      check out visual programming languages for something futuristic
      There are many words I would use to describe visual programming languages, but "futuristic" is not one of them. Many of the words I would use are four letters long.

      Comment


      • #13
        Originally posted by wizard69 View Post
        I'd rather see energy go into the use of AI's to compose apps from high level requests.

        Comment


        • #14
          Originally posted by TheBlackCat View Post
          There are many words I would use to describe visual programming languages, but "futuristic" is not one of them. Many of the words I would use are four letters long.
          why
          think replacing if-else with nodes and {} with balloons, add dragging things and linking together

          Comment


          • #15
            Originally posted by gens View Post
            why
            think replacing if-else with nodes and {} with balloons, add dragging things and linking together
            Indeed. It would be great... if all you like to do is look at pretty pictures. It isn't coincidence that visual programming (generally) has failed to gain traction and the systems that (sort of) did, e.g. VisiCalc in the engineering world, are almost universally reviled.

            Understand history lest you end up repeating it.

            Comment


            • #16
              Originally posted by fabdiznec View Post
              Indeed. It would be great... if all you like to do is look at pretty pictures. It isn't coincidence that visual programming (generally) has failed to gain traction and the systems that (sort of) did, e.g. VisiCalc in the engineering world, are almost universally reviled.

              Understand history lest you end up repeating it.
              id argue that humans are more visually orientated then... textual
              for example a if-else in C where you have like: if(something) then this chunk of code, else another chunk of code
              versus an evaluation in a node then true/false named arrows to other nodes/code

              in the end it is still just formatting, and why not mix them
              also graphics on an apple II

              anyway check out ragel
              it is for FSA, but it's amazing
              Last edited by gens; 23 September 2014, 06:56 PM.

              Comment


              • #17
                Originally posted by gens View Post
                id argue that humans are more visually orientated then... textual
                for example a if-else in C where you have like: if(something) then this chunk of code, else another chunk of code
                versus an evaluation in a node then true/false named arrows to other nodes/code
                Or you could, I dunno, wrap C (or some other language) in a visual front-end, since the back-end isn't really important (as long as the semantics fit).

                Being a hands-on learner myself, I can say that habit plays a lot into how I learn. That goes for whether I'm writing obscene blocks of code, or moving bubbles around on a canvas--as long as it does what I expect it to do, and it's not a pain to remember (or figure out/look up), it's a piece of cake. That said, I could see a complex program (like Firefox) getting just as convoluted when written visually as it would using C/C++, especially if you consider the sheer number of functions that are required to write such a program. A simple/well-written zoom function in the visual-programmer would be a necessity.

                Comment


                • #18
                  Originally posted by gens View Post
                  why
                  think replacing if-else with nodes and {} with balloons, add dragging things and linking together
                  I know what a visual programming language is, I am very proficient in three of them. But I only use them when I have no alternative (generally because they are only approach a vendor provides to interface with their proprietary hardware).

                  There are several problems I have with visual programming languages (all of these, of course, are my opinion):

                  1. Keeping track of data flow is much harder. This may seem counter-intuitive, but the key is that with regular programming languages you can give variables meaningful names. With visual programming languages, all you have is generic lines (at best color-coded by type). When you have a function with a bunch of inputs, and the source of the data for the function is far away in the code, having a meaningful name is much more useful than a bundle of indistinguishable lines.

                  2. Badly-written code is MUCH worse in a visual programming language. I have seen a lot of badly-written visual code and a lot of badly-written text code. Bad text code can be deeply nested, have unintuitive variable names, etc. But badly-written visual code is a mess of seemingly random lines and blocks, with lines crossing each other, going behind blocks, taking bizarre routes through the code, etc.

                  3. It is much harder to keep code clean in visual programming languages, and much harder to make it clean. This is a result of working in 2D rather than 1D, and a result of actually having lines connecting functions. It is very easy to get a spaghetti bowl in visual programming languages. I tend to spend more time trying to keep the lines from crossing, going behind boxes, and just generally becoming unreadable than I actually do coding.

                  4. Keeping track of the sequence in visual programming languages is hard. In text-based programming languages, you go top-to-bottom, at worst having to look up functions. In visual programming languages, you don't have that, the next block could be above and to the left of the current block, and in fact all the remotely complex code I have seen ends up with this trying squeeze a lot into a single page because of problem #1.

                  5. Although not a fundamental problem, I have not seen a visual programming language with a good visual metaphor for loops. A very basic loop usually works okay, but when you want to have variables persist across iterations, or you want to break a loop, or you want to build up arrays during loops, or you want to nest loops, it quickly becomes very messy. If/elseif/elseif/.../else tests tend to also be very ugly.

                  I consider myself a very non-linear thinker. I found Momento boring because the plot was so straightforward. So I actually hate visual programming languages less than everyone else I know who uses them. But I still don't think they are good outside of very niche use-cases. There is a reason that the only major area where they have gotten any real traction is hardware control.

                  Comment


                  • #19
                    Here is what happens when you try to write something remotely complex in a visual programming language. Note the scroll bars, this is only a small part. And this is labview, by far the best visual programming languages I have seen. Others I have seen are no where near as clear (many are monochrome, for instance):

                    Last edited by TheBlackCat; 24 September 2014, 04:56 AM.

                    Comment


                    • #20
                      Also, I should add that the above picture, by visual programming languages, is a clean, well-written piece of code. Lines are not crossing more than necessary. The code is well-commented and laid out in a logical manner. There is a clear left-to-write progression without lines going backwards or curving unnecessarily. It makes good use of the available capabilities of the language.

                      Here is an example of a more mid-level piece of code, not great, but also not terrible (compared to what I have seen):

                      Comment

                      Working...
                      X