Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Time for a new programming language paradigm

Time for a new programming language paradigm

Scheduled Pinned Locked Moved The Lounge
linuxtoolsc++javajavascript
97 Posts 42 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C C Grant Anderson

    I've been working on this for a while. First, you may have noticed that all the innovation in software and languages is just really continuous re-invention of minor variations in existing languages and language paradigms. The "new" language is just another language with a not particularly well thought out hodgepodge of features that the author would like to see together in a language. There is no real innovation taking place in software languages today. I've been looking at PhD programs in CS and there's not really any real good movement towards the next generation software environment. Which is unfortunate. Thus, I am working on it. Why is there no forward movement in software? That I need to explain in my Software Innovation Psychology Theory which I am working on right now to produce first a concise booklet, an eBook, and then a video. In a nutshell, it is cause by people mistaking copycat innovation with true innovation (which is very rare). There are also a number of visualization and cognitive factors as well. And also the type of work in software does not really attract true innovators since most of the work is really grunt code work. So there are reasons why the current stasis exists. Now, on to what a next generation programming language will include/be like/encompass: 1. True Object based instead of just Object "oriented". 2. Combines database, software, and transport protocol into one. There will be no impedance mismatch, no dedicated conventional database servers as such, etc. 3. Definition based rather than procedural based. 4. Smart components instead of dumb controls. 5. Replacement of the conventional function argument passing mechanisms with a definition language based approach. This will eliminate function overloading and re-implement dynamic polymorphism and class overriding in more natural approach. 6. The new definition language will be expressible in both terse and verbose modes. Verbose mode is a very human readable (yeah!) while terse mode can be used to save space and bandwidth when necessary. 7. SQL will no longer be necessary. It will be replaced by a universal data definition language that brings software and data persistence together into one unity. 8. XML will be replaced by a human readable data definition form and format. I've built successful prototypes on this and am converting all of my current code to run with it. Fully human readable and writable. BTXML - Better Than XML! 9. The definition scripting language will not need to b

    R Offline
    R Offline
    rjmoses
    wrote on last edited by
    #69

    Thanks.

    C Grant Anderson wrote:

    People will smile with the software instead of swearing at it every day. We eliminate the current dead end of software that we are now currently in.

    This is the kind of thinking I'm looking for.

    1 Reply Last reply
    0
    • S Steven1218

      I think the crux of the problem is that we need Service Pack 1 on the Human OS, but this runs the risk of breaking 'being human'. The alternative is the embedded artificial intelligence into all machines so they know to do what we 'meant', not what we 'said'.

      S Offline
      S Offline
      Steven1218
      wrote on last edited by
      #70

      ... sorry, being human, meant to say 'is to embed artificial intelligence' ...

      1 Reply Last reply
      0
      • R rjmoses

        Just spent the better part of two weeks trying to find a bug in a Linux bash script (missing ".") and I'm tired of looking for things like a missing equal sign in the middle of an C if statement, missing period in a PHP script, lower case variable name mixed with an upper case variable name, missing brace in a C++ object, undelared function or operator overloading....get my drift?...in other people's code. (Being the perfect programmer, I never make those kinds of mistakes! And I have swamp property if you're interested.) All too many programming errors are occurring because programming languages, like C, C++, java, etc., trace their origins back to the days when terseness was a desirable quality. Printing a program listing on an ASR 33 teletype at 10 CPS on a single threaded machine made using braces in C if statements instead of a clear if-then-else-endif highly desirable. (Remember the origins of C?) Those extra 9 characters took TIME to read in and to print out. And then there's issues of language diversity. C, C++, PHP, Java, Javascript, HTML, CSS, SQL, and other languages--what works where? So, here's a few of my thoughts: (And please don't be too anal about my examples--I really want to hear how programming languages could be advanced so that I can be more productive.) Among other things, a New Programming Language should: 1) Be clear and obvious in describing the functionality of the module. The resulting code should almost be language like. A sentence like "If (A equals 10) then print B as "xx.xx" else B = 0 end". But, that statement might also be written in a more mathematical syntax (like Fortran) as "If (A = 10) then....". Note the "=" in the second statement does NOT have the implied assignment and resulting TRUE logical decision (Spent 6 months chasing THAT bug!). 2) The language should be portable. The language should be executable as an interpreted, compiled, scripted or shell'ed running under most commonly available OS's and browsers. Perhaps Interpreted for testing, Compiled for execution speed, scripted for portability or shell'ed for utility work. Take features from scripting languages like Powershell, bash, incorporate execution speed of C, objectivity of Java or C++ and put them under one roof. Write a module that runs under IE, Firefox, Chrome, Opera, Windows, Linux, BSD, OS X, or anything else. 3) The code should be almost self-documenting. Nothing I hate worse than to have to go looking for the a type declaration, a

        B Offline
        B Offline
        Bob Namenottaken
        wrote on last edited by
        #71

        Whenever I read one of these "desires to fix programming languages", I laugh. I have been programming since the 80's and I too went through that phase right after college. However, I never had to work with all these silly pseudo-languages that come and go. We used ASM and C. Then Byorn Stroustroup (?) comes along and says, "hey, I hate programming, I'll add a bunch of junk to keep myself from making mistakes." I would've suggested he find a new line of work instead. C++ is a mess. It's poorly conceived, coerced and unnatural. It does nothing that a professional programmer can't accomplish in plain old C. As is usually the case, it causes more problems than it fixes, or it fixes one set but creates another set. Considering that most of the world is embedded micro-controllers, those of us who program them don't have gigabytes of memory or gigahertz processors as we need to be more efficient. Over 20 years this has taught me to appreciate C and ASM more. I'm glad I never got my wishes to have a bullet-proof language. I suggest if you're having issue with a particular part of a language, create a preprocessor directive and use it! For example, if your problem is:

        if (x = y)

        this can be fixed by defining:

        #define IS_EQUAL ==

        then used everywhere as:

        if (x IS_EQUAL y)

        No need to suggest the world change, or hope someday this 'gets fixed' for you. The C preprocessor is probably the most overlooked part of C. You can easily invent an entirely new language using the preprocessor. In fact, Linus Torvalds, who is a pretty awful programmer, took to using the preprocessor in ways most professionals would recommend against. But he recognized that it could keep him from repeating certain mistakes he tended to make.

        1 Reply Last reply
        0
        • G Gary Huck

          Something is wrong if you're spending 6 months chasing "==" for "=". With the debuggers/IDEs of today I find chasing them (no, they never go away [someone elses code]) to be fairly efficient. As for the rest, well, it's the same old programmer-preference thing. No one thing or set of things will satisfy everyone. I believe Abe Lincoln said that. Personally, I really like braces vs. BEGIN/END. Any anyone who feels the need for "// end of some-block" has written a block that is too long; just break it out into smaller chunks/methods/functions.

          R Offline
          R Offline
          rjmoses
          wrote on last edited by
          #72

          The bug was embedded deep within an error recovery routine that got invoked maybe once every 2-3 weeks with the result that the system would crash with little evidence as to why. It had been written by a programmer who had moved on to the next project.

          G 1 Reply Last reply
          0
          • R rjmoses

            Just spent the better part of two weeks trying to find a bug in a Linux bash script (missing ".") and I'm tired of looking for things like a missing equal sign in the middle of an C if statement, missing period in a PHP script, lower case variable name mixed with an upper case variable name, missing brace in a C++ object, undelared function or operator overloading....get my drift?...in other people's code. (Being the perfect programmer, I never make those kinds of mistakes! And I have swamp property if you're interested.) All too many programming errors are occurring because programming languages, like C, C++, java, etc., trace their origins back to the days when terseness was a desirable quality. Printing a program listing on an ASR 33 teletype at 10 CPS on a single threaded machine made using braces in C if statements instead of a clear if-then-else-endif highly desirable. (Remember the origins of C?) Those extra 9 characters took TIME to read in and to print out. And then there's issues of language diversity. C, C++, PHP, Java, Javascript, HTML, CSS, SQL, and other languages--what works where? So, here's a few of my thoughts: (And please don't be too anal about my examples--I really want to hear how programming languages could be advanced so that I can be more productive.) Among other things, a New Programming Language should: 1) Be clear and obvious in describing the functionality of the module. The resulting code should almost be language like. A sentence like "If (A equals 10) then print B as "xx.xx" else B = 0 end". But, that statement might also be written in a more mathematical syntax (like Fortran) as "If (A = 10) then....". Note the "=" in the second statement does NOT have the implied assignment and resulting TRUE logical decision (Spent 6 months chasing THAT bug!). 2) The language should be portable. The language should be executable as an interpreted, compiled, scripted or shell'ed running under most commonly available OS's and browsers. Perhaps Interpreted for testing, Compiled for execution speed, scripted for portability or shell'ed for utility work. Take features from scripting languages like Powershell, bash, incorporate execution speed of C, objectivity of Java or C++ and put them under one roof. Write a module that runs under IE, Firefox, Chrome, Opera, Windows, Linux, BSD, OS X, or anything else. 3) The code should be almost self-documenting. Nothing I hate worse than to have to go looking for the a type declaration, a

            D Offline
            D Offline
            David tappers
            wrote on last edited by
            #73

            Smalltalk?

            B 1 Reply Last reply
            0
            • R rjmoses

              The bug was embedded deep within an error recovery routine that got invoked maybe once every 2-3 weeks with the result that the system would crash with little evidence as to why. It had been written by a programmer who had moved on to the next project.

              G Offline
              G Offline
              Gary Huck
              wrote on last edited by
              #74

              Sorry. I was harsh. However, a decent language such as my current favorite, C#, almost always catches such things. Eg,

              int i = 9;
              int j = 10; // or 9, or 8 or whatever
              if (i = j)
              {
              DoSomething();
              }

              ... won't compile. I've been writing code since '81. I cannot find anything to complain about with C#. EVERY other language I've used, not so.

              1 Reply Last reply
              0
              • R rjmoses

                Just spent the better part of two weeks trying to find a bug in a Linux bash script (missing ".") and I'm tired of looking for things like a missing equal sign in the middle of an C if statement, missing period in a PHP script, lower case variable name mixed with an upper case variable name, missing brace in a C++ object, undelared function or operator overloading....get my drift?...in other people's code. (Being the perfect programmer, I never make those kinds of mistakes! And I have swamp property if you're interested.) All too many programming errors are occurring because programming languages, like C, C++, java, etc., trace their origins back to the days when terseness was a desirable quality. Printing a program listing on an ASR 33 teletype at 10 CPS on a single threaded machine made using braces in C if statements instead of a clear if-then-else-endif highly desirable. (Remember the origins of C?) Those extra 9 characters took TIME to read in and to print out. And then there's issues of language diversity. C, C++, PHP, Java, Javascript, HTML, CSS, SQL, and other languages--what works where? So, here's a few of my thoughts: (And please don't be too anal about my examples--I really want to hear how programming languages could be advanced so that I can be more productive.) Among other things, a New Programming Language should: 1) Be clear and obvious in describing the functionality of the module. The resulting code should almost be language like. A sentence like "If (A equals 10) then print B as "xx.xx" else B = 0 end". But, that statement might also be written in a more mathematical syntax (like Fortran) as "If (A = 10) then....". Note the "=" in the second statement does NOT have the implied assignment and resulting TRUE logical decision (Spent 6 months chasing THAT bug!). 2) The language should be portable. The language should be executable as an interpreted, compiled, scripted or shell'ed running under most commonly available OS's and browsers. Perhaps Interpreted for testing, Compiled for execution speed, scripted for portability or shell'ed for utility work. Take features from scripting languages like Powershell, bash, incorporate execution speed of C, objectivity of Java or C++ and put them under one roof. Write a module that runs under IE, Firefox, Chrome, Opera, Windows, Linux, BSD, OS X, or anything else. 3) The code should be almost self-documenting. Nothing I hate worse than to have to go looking for the a type declaration, a

                J Offline
                J Offline
                jschell
                wrote on last edited by
                #75

                rjmoses wrote:

                trace their origins back to the days when terseness was a desirable quality.

                First, compilers (of which interpreters are just a subset) have deterministic requirements that cannot and should not be circumvented. Thus certain language constructs exist to insure that there is no ambiguity. And this is a feature of compilers (specifically compiler theory) and not just some misunderstanding by the author of the language. Second, terseness serves another need in that communications requires one to transfers thoughts to the computer. Increasing the verbosity would decrease the rate at which that can occur. Third one must be aware that no language can be perfect and no user of that language can be perfect either thus the compiler must strive to report errors to the best of its ability. At least in my experience doing that is one of the hardest parts of writing a compiler. Fourth languages are meant to serve different purposes and no one language can meet the needs of all possible uses without adding complexity that circumvents the original desire for simplicity.

                rjmoses wrote:

                Among other things, a New Programming Language should:

                There are a large number new programming languages created every year and presumably many start with the idea that they are going to be 'better' than what already exists. Many, many, fail to achieve that goal. So many that one can bet that not even one language introduced within one year will ever achieve anymore than a very, very small niche (even that is due to promotion by the author rather than acceptance.) But you could venture forth into that realm yourself. However, if you haven't ever done so or haven't done so recently, you might want to learn a little about compiler theory first. It helps.

                B 1 Reply Last reply
                0
                • R rjmoses

                  I just did my 29th update to Firefox the other day. It took me about 3 hours to get it back to where it was. Windows 7 keeps bugging about "New updates are ready to install". And Adobe Acrobat keeps crashing.... My point is: How can the programming process be improved? Such that we don't have 29 versions of FF? Or weekly updates ready to be installed. Or "Should a crash report be sent..."?

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #76

                  rjmoses wrote:

                  How can the programming process be improved?

                  First you identify whether you're attacking the right thing; it's not due to the language that Acrobat behaves the way it does.

                  rjmoses wrote:

                  How can the programming process be improved?

                  Seriously?

                  • Start educating people. No, don't send them to an expensive 5-day course where they learn to parrot the most used words, but educate them.
                  • Kick marketing and sales out of the IT-room.
                  • Drop agile ad hoc methods.
                  • Force the boss to use the product on a daily base just as an end-user would use it.
                  • Care about your product.

                  Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                  1 Reply Last reply
                  0
                  • S Steven1218

                    I think the crux of the problem is that we need Service Pack 1 on the Human OS, but this runs the risk of breaking 'being human'. The alternative is the embedded artificial intelligence into all machines so they know to do what we 'meant', not what we 'said'.

                    F Offline
                    F Offline
                    Fred McGalliard
                    wrote on last edited by
                    #77

                    Sould note that when Programming (talking to) humans is much education between Chemists and physicists. Agree we need a pretty good AI to take over the details of creating a program and avoiding the failures of precision (as in missing commas etc.)but the AI needs to be able to learn how we think. And we write math using integer to real and back quite often and only occasionally blow the wad. Think about translating the gibs free energy - from chemistry - to the conservation of energy as in all else. Confuse those two and the barn goes up in a hot one. One damn smart computer to follow us into our thousands of specialties.:cool:

                    1 Reply Last reply
                    0
                    • R rjmoses

                      Just spent the better part of two weeks trying to find a bug in a Linux bash script (missing ".") and I'm tired of looking for things like a missing equal sign in the middle of an C if statement, missing period in a PHP script, lower case variable name mixed with an upper case variable name, missing brace in a C++ object, undelared function or operator overloading....get my drift?...in other people's code. (Being the perfect programmer, I never make those kinds of mistakes! And I have swamp property if you're interested.) All too many programming errors are occurring because programming languages, like C, C++, java, etc., trace their origins back to the days when terseness was a desirable quality. Printing a program listing on an ASR 33 teletype at 10 CPS on a single threaded machine made using braces in C if statements instead of a clear if-then-else-endif highly desirable. (Remember the origins of C?) Those extra 9 characters took TIME to read in and to print out. And then there's issues of language diversity. C, C++, PHP, Java, Javascript, HTML, CSS, SQL, and other languages--what works where? So, here's a few of my thoughts: (And please don't be too anal about my examples--I really want to hear how programming languages could be advanced so that I can be more productive.) Among other things, a New Programming Language should: 1) Be clear and obvious in describing the functionality of the module. The resulting code should almost be language like. A sentence like "If (A equals 10) then print B as "xx.xx" else B = 0 end". But, that statement might also be written in a more mathematical syntax (like Fortran) as "If (A = 10) then....". Note the "=" in the second statement does NOT have the implied assignment and resulting TRUE logical decision (Spent 6 months chasing THAT bug!). 2) The language should be portable. The language should be executable as an interpreted, compiled, scripted or shell'ed running under most commonly available OS's and browsers. Perhaps Interpreted for testing, Compiled for execution speed, scripted for portability or shell'ed for utility work. Take features from scripting languages like Powershell, bash, incorporate execution speed of C, objectivity of Java or C++ and put them under one roof. Write a module that runs under IE, Firefox, Chrome, Opera, Windows, Linux, BSD, OS X, or anything else. 3) The code should be almost self-documenting. Nothing I hate worse than to have to go looking for the a type declaration, a

                      K Offline
                      K Offline
                      Kosta Cherry
                      wrote on last edited by
                      #78

                      It's time to scratch all other languages and just leave C++ alone. Honestly, I used to write in many diff languages - about 18 of them. And you know what? I got tired. Every few months there is new, "latest and greatest" mumbo-jumbo that employers jump onto - hey, look, new buzzword. And poor programmers have to "learn", i.e. stuff into their heads that "new" APIs, new language things - just to have them to disappear in another few months for another mumbo-jumbo. Enough for me. I don't want to waste my life permanently studing things that will gone few months down the road. And, even if they stay - sorry, no. I chose C++, get great at it, and keep it that way.

                      1 Reply Last reply
                      0
                      • R rjmoses

                        Colborne_Greg wrote:

                        All of my code is self documenting enough that maintenance well never happens because it was written clear and concise to begin with.

                        Okay, here's my challenge: Find the error(s) in your above statement.

                        C Offline
                        C Offline
                        Colborne_Greg
                        wrote on last edited by
                        #79

                        I failed English, I started programming before I started highschool, its like I think in code, then have to translate to English

                        R 1 Reply Last reply
                        0
                        • C Colborne_Greg

                          I failed English, I started programming before I started highschool, its like I think in code, then have to translate to English

                          R Offline
                          R Offline
                          rjmoses
                          wrote on last edited by
                          #80

                          Not to be a smart-a$$, but if you failed English, how can I as a user/buyer/customer/manager of your software be reasonably assured that you understood the requirements well-enough to implement them accurately?

                          D C 2 Replies Last reply
                          0
                          • C Colborne_Greg

                            After two decades of cobol I am ready to chuck it out the window

                            U Offline
                            U Offline
                            User 10443482
                            wrote on last edited by
                            #81

                            After three decades of COBOL and more languages than I have fingers and toes, COBOL still is the language that comes the closest to the ideal that rjmoses described.

                            C 1 Reply Last reply
                            0
                            • T Tim Carmichael

                              So... what you want is a common business oriented language? COBOL it is!

                              U Offline
                              U Offline
                              User 10443482
                              wrote on last edited by
                              #82

                              COBOL was the first thing that came to my mind. After working through all of the fancy toy languages from Lisp to C#, it still remains the most readable and "natural" in my experience.

                              1 Reply Last reply
                              0
                              • R rjmoses

                                Not to be a smart-a$$, but if you failed English, how can I as a user/buyer/customer/manager of your software be reasonably assured that you understood the requirements well-enough to implement them accurately?

                                D Offline
                                D Offline
                                Dar Brett
                                wrote on last edited by
                                #83

                                I've only met one project managers, one client, and two senior developers capable of giving concise requirements. If a client say "this needs to be for each item", when really they mean "this needs to be shared by all items", then no understanding of English will help. Only an understanding on the clients business will help, that way you can understand what they mean even though it's not what they said.

                                1 Reply Last reply
                                0
                                • U User 10443482

                                  After three decades of COBOL and more languages than I have fingers and toes, COBOL still is the language that comes the closest to the ideal that rjmoses described.

                                  C Offline
                                  C Offline
                                  Colborne_Greg
                                  wrote on last edited by
                                  #84

                                  in your opinion

                                  1 Reply Last reply
                                  0
                                  • R rjmoses

                                    Not to be a smart-a$$, but if you failed English, how can I as a user/buyer/customer/manager of your software be reasonably assured that you understood the requirements well-enough to implement them accurately?

                                    C Offline
                                    C Offline
                                    Colborne_Greg
                                    wrote on last edited by
                                    #85

                                    As a owner of two companies I don't see your point, and if I was stupid enough not to have someone go over my work before trying to sell an app well it wont make money will it. Grade 12 math ability in grade 2... English is for communications, it means nothing to the end result, unless English is the only way possible for you to understand something, then I would be worried more about you.

                                    1 Reply Last reply
                                    0
                                    • D David tappers

                                      Smalltalk?

                                      B Offline
                                      B Offline
                                      BillWoodruff
                                      wrote on last edited by
                                      #86

                                      Indeed, SmallTalk ! I suspect many of the newly-minted prophets-with-visions on this thread would gasp if they knew what SmallTalk was capable of in 1968, and what software development tools were like at Xerox PARC at that time. Of course, the expen$ive hardware needed to run SmallTalk was not available to mere mortals.

                                      “I'm an artist: it's self evident that word implies looking for something all the time without ever finding it in full. It is the opposite of saying : ‘I know all about it. I've already found it.’ As far as I'm concerned, the word means: ‘I am looking. I am hunting for it. I am deeply involved.’” Vincent Van Gogh

                                      1 Reply Last reply
                                      0
                                      • J jschell

                                        rjmoses wrote:

                                        trace their origins back to the days when terseness was a desirable quality.

                                        First, compilers (of which interpreters are just a subset) have deterministic requirements that cannot and should not be circumvented. Thus certain language constructs exist to insure that there is no ambiguity. And this is a feature of compilers (specifically compiler theory) and not just some misunderstanding by the author of the language. Second, terseness serves another need in that communications requires one to transfers thoughts to the computer. Increasing the verbosity would decrease the rate at which that can occur. Third one must be aware that no language can be perfect and no user of that language can be perfect either thus the compiler must strive to report errors to the best of its ability. At least in my experience doing that is one of the hardest parts of writing a compiler. Fourth languages are meant to serve different purposes and no one language can meet the needs of all possible uses without adding complexity that circumvents the original desire for simplicity.

                                        rjmoses wrote:

                                        Among other things, a New Programming Language should:

                                        There are a large number new programming languages created every year and presumably many start with the idea that they are going to be 'better' than what already exists. Many, many, fail to achieve that goal. So many that one can bet that not even one language introduced within one year will ever achieve anymore than a very, very small niche (even that is due to promotion by the author rather than acceptance.) But you could venture forth into that realm yourself. However, if you haven't ever done so or haven't done so recently, you might want to learn a little about compiler theory first. It helps.

                                        B Offline
                                        B Offline
                                        BillWoodruff
                                        wrote on last edited by
                                        #87

                                        Very eloquently said, Sir !

                                        “I'm an artist: it's self evident that word implies looking for something all the time without ever finding it in full. It is the opposite of saying : ‘I know all about it. I've already found it.’ As far as I'm concerned, the word means: ‘I am looking. I am hunting for it. I am deeply involved.’” Vincent Van Gogh

                                        1 Reply Last reply
                                        0
                                        • R rjmoses

                                          Just spent the better part of two weeks trying to find a bug in a Linux bash script (missing ".") and I'm tired of looking for things like a missing equal sign in the middle of an C if statement, missing period in a PHP script, lower case variable name mixed with an upper case variable name, missing brace in a C++ object, undelared function or operator overloading....get my drift?...in other people's code. (Being the perfect programmer, I never make those kinds of mistakes! And I have swamp property if you're interested.) All too many programming errors are occurring because programming languages, like C, C++, java, etc., trace their origins back to the days when terseness was a desirable quality. Printing a program listing on an ASR 33 teletype at 10 CPS on a single threaded machine made using braces in C if statements instead of a clear if-then-else-endif highly desirable. (Remember the origins of C?) Those extra 9 characters took TIME to read in and to print out. And then there's issues of language diversity. C, C++, PHP, Java, Javascript, HTML, CSS, SQL, and other languages--what works where? So, here's a few of my thoughts: (And please don't be too anal about my examples--I really want to hear how programming languages could be advanced so that I can be more productive.) Among other things, a New Programming Language should: 1) Be clear and obvious in describing the functionality of the module. The resulting code should almost be language like. A sentence like "If (A equals 10) then print B as "xx.xx" else B = 0 end". But, that statement might also be written in a more mathematical syntax (like Fortran) as "If (A = 10) then....". Note the "=" in the second statement does NOT have the implied assignment and resulting TRUE logical decision (Spent 6 months chasing THAT bug!). 2) The language should be portable. The language should be executable as an interpreted, compiled, scripted or shell'ed running under most commonly available OS's and browsers. Perhaps Interpreted for testing, Compiled for execution speed, scripted for portability or shell'ed for utility work. Take features from scripting languages like Powershell, bash, incorporate execution speed of C, objectivity of Java or C++ and put them under one roof. Write a module that runs under IE, Firefox, Chrome, Opera, Windows, Linux, BSD, OS X, or anything else. 3) The code should be almost self-documenting. Nothing I hate worse than to have to go looking for the a type declaration, a

                                          M Offline
                                          M Offline
                                          Michael Kingsford Gray
                                          wrote on last edited by
                                          #88

                                          I agree wholeheartedly with your sentiment about perversely curt languages. 1) Your 'FORTRAN' = example is highly flawed. It would read: IF (X.EQ.Y) ... No assignment confusion at all. 2) VB.NET is the answer to most of your woes. Not C#, as it suffers far too much from the legacy of the dreadful C & C++ abortions.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups