Coffeehouse Thread

9 posts

New cross-platform, dynamic language - What to call it?

Back to Forum: Coffeehouse
  • User profile image
    IDWMaster

    I'm kind of new to language development, and have wondered how names are usually chosen for different programming languages, like Cs. C, C++, C#, then F#, and even J#. I've been developing a new language which is dynamic and cross-platform, and have been considering either calling it XVAR (since it runs on any platform, including WP7, ZuneHD, Windows, and Linux), or B♭ (for the sake of consistency).

    The syntax of a general program to store the operating system architecture in a variable and print it are as follows:

    callnative RoutedCommands getArchitecture null test
    callnative RoutedCommands print test
    Optional, deletes variable test from system memory. However, it would be deleted anyways, because the virtual machine terminates at the end of the program execution.
    delete test
    

    When I execute the above code, I get the following output: Microsoft Windows NT 6.1.7600.0

     

    The new language is a managed language, similar to Java or .NET, but does NOT have a garbage collector like .NET. When a variable is created, it will not be removed from RAM until delete is called on it. It features different levels of security, such as Trusted, Intermediate, and VirtualOnly. These security levels indicate the following things in a program:

    • The program's ability to call into native libraries
    • The program's level of access to the filesystem. Programs running in a VirtualOnly machine will only have accessed to a 'sandboxed' filesystem, similar to the way the Windows Phone 7 works.
    • Various library capabilities which haven't been determined yet.
    • Objects from outside a virtual machine instance (host machine) can be passed into the virtual environment, overriding any security settings defined by VM access policies. However; if these objects are 'delete'd, these additional priveledges are lost.
    • Native system libraries transferred to a Trusted VM must be passed in at initialization of the VM; not afterwards.
    • Native libraries may NOT be accessed in a Intermediate or VirtualOnly machine. Native calls can only be made if an object is passed into the program from native code at any time.

     

    So my question is; based off of this information, what should the language be called, and WHY?

     

     

  • User profile image
    Richard.Hein

    You should definitely not call it B flat because everyone would have a brutal time typing it out.  C# was bad enough for that.  Also, "flat" just sounds bad.  I also wouldn't name it C anything because it doesn't look anything like C, and using C in the name implies that the syntax looks something like C and is derived from it. 

    As for how names are found ... well, I know C# was picked because it's derived from C++ syntax, C+++ is just too many +'s but # looks like a bunch of pluses put together, 4 of course, and that's close enough to emphasize that C# is an evolution of C++ in a sense, but quite different).

    F# - F obviously F stands for Functional.  They didn't really need the #, but there's already an F - a subset of Fortran, so the # distinguishes it from F and also hints that it's a .NET language, because of C#.  Having a musical connotation in .NET languages kind of ties things together.  I always wondered why they didn't call VB.NET, VB#.  Actually they could drop the V(isual) altogether ... it's kind of lost it's purpose considering that many languages have drag and drop designer based IDEs now.

    I would consider the syntax and inspiration for your language and maybe base it off of that.  XVAR is probably not a bad name.  If you can, maybe you can relate it to another language in http://en.wikipedia.org/wiki/List_of_programming_languages.

    H, N, O, P, U, V, W, and X are the only single-letter names not listed in Wikipedia.  P would be too funny to use in conversation:  "I wrote it in P".  Big Smile  In general I don't think single letter names are a great idea nowadays.

    You should consider what you would find if you tried a Google search ... I heard the creator of Clojure said he picked the name because it sounds like closure and nothing came up in Google when he searched for that.  If you search for XVAR now, you see the domain name is taken and there are some technical references related to Cisco, and other various results.

    I can't believe there's no language called Babbage.

    EDIT:  There is a language called Babbage ... it's not in the Wikipedia list referenced above, but is present in Wikipedia:  here.  (Update:  I've added it to the list of programming languages page.)

  • User profile image
    IDWMaster

    @Richard.Hein:

    Did some further research on Babbage, and am now wondering if it's actually a real language or some kind of joke.

    (http://www.tlc-systems.com/babbage.htm)OR ELSE - Conditional threat, as in: "Add these two numbers OR ELSE!"

    WHY NOT? Executes the code that follows in a devil-may-care fashion.

    MIGHT DO - Depends on how the CPU is feeling. Executed if the CPU is "up," not executed if the CPU is "down" or if its feelings have been hurt.

    DO UNTO OTHERS - Used to write the main loop for timesharing systems so that they will antagonize the users in a uniform manner.

    DO-WAH - Used to write timing loops for computer-generated music (Rag Timing).

    The JUST-IN-CASE Statement - For handling afterthoughts and fudge factors. Allows you to multiply by zero to correct for accidentally dividing by zero.

    The WORST CASE Statement - Takes the path that will do the most damage.

    And the list goes on....

  • User profile image
    Bass

    How about "Cross Platform Dynamic Language"?

  • User profile image
    Sven Groot

    That'd be what Microsoft would call it. Tongue Out

  • User profile image
    Dr Herbie

    No need to be so dry about it -- single letter names come because of C and C came because versions A and B were not deemed good enough.

     

    How about "Geoffrey"?  That's a reassuring name. Big Smile

    Herbie

  • User profile image
    gadget

    The Doctor. Just The Doctor

  • User profile image
    Geoffreyk

    , Dr Herbie wrote

     

     

    How about "Geoffrey"?  That's a reassuring name. Big Smile

     

     

    +1

  • User profile image
    IDWMaster

    I'll consider using CPDL, XVAR, of Geoffrey (if someone can explain where that one came from).

    By the way; I got this to enable Application Streaming on WP7! Re-wrote the bytecode interpreter in C# and it runs nicely. Streams XVAR/Geoffrey/CPDL binaries over the Internet. Lots of 'uggly' .NET reflection involved though.....

     Also; seems I can't edit/post comments on Google Chrome! The browser locks up while I'm typing! Has anyone else had this problem? It's sure annoying. I'm using the Dev channel of Google Chrome, and am now using Internet Explorer 9 instead (which seems to be a LOT faster than older versions of IE, but I don't like the cross-site scripting 'correction' feature that it offers. Some sites might actually WANT cross-site scripting for demonstration purposes/security lectures/really odd bulletin boards/etc).

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.