Enterprise - The New Super Language
Written by Lucy Black   
Saturday, 01 September 2018

Forget Java and Python; the latest in programming languages has it all and it is perfectly tailored to the needs of today's programming environment. You need to learn about Enterprise.

enterprise

Every language needs a rationale, a deep belief in the right way to do the job, or it has no chance of succeeding. So it is with Enterprise, which is designed to deprecate the use of the word "enterprise" by the many non-programmers who seem to surround us like sharks circling a survivor. It also aims to give meaning to the term "Enterprise developer", which will reveal how little the people using it before knew about the situation. It also means I won't be able to write any articles on the best language for Enterprise development - not that I ever did or would.

Enterprise is described as a non-deterministic, unnecessarily statically typed, Turing-complete, programming language - which is all you could wish for, especially the Turing-complete part. One of its most immediately attractive features is the availability of eight different comment types - yes eight, count them! Of course, it supports the familiar line comment too, and this is just as useful as always for its usual purpose of restating what the very next line does, even though it is perfectly clear - how else are we to keep the LOC number up? The deadline and time to market comments are particularly game changing and provide a disruptive undercurrent to the program.

Enterprise classes aren't thing you attend in night school, but they do come with a mandated Enterprisey suffix:

After the prefix, a class name may have any number of Enterprisey™ terms. In Enterprise™, differently from other languages, class names are not open to developers "cre-a-ti-vi-ty". That's because naming is known to be a hard problem, and limiting the alternatives makes it so much more predictable. Also, forcing developers to comply with that list will boost communication, since they'll share a common lingo.

Here's the full list of accepted Enterprisey™ terms:

and for the list you will have to see the GitHub page because:

(these suffixes are copyrighted and any use in other languages may be investigated by our lawyers).

So I'm playing safe.

Classes in Enterprise are either disruptive or unnecessary. For example:

final unnecessary class fucNutFreeUserManager {}

Notice the elegant and powerful use of syntactic redundancy - fuc stands for final unnecessary class and is a mandatory prefix.

And finally I give you an example program:

// inside main of course
var String hello = '';;;
var String helloWor = 'Hello World';;;
var Int i = 0;;;
unnecessary var Int j = 0;;;
var List String hWList = helloWor.split();;;
while(i < 5) {
  hello += hWList[i];;;
  i++;;;
}

To make it absolutely clear, integer variables can have names no longer than one character to formalize a long-standing de facto use. In addition, we only have string split and length functions to make string handling trivial.

Why no "hello world" example?

Simple - it's a built-in statement (or will be in a future version). Just think of the many hours Enterprise programmers will save just because of this one addition to the language? It has also relieved me of the heavy burden of learning enough about the language to provide an example.

I urge you find out more. If nothing else, the design of this remarkable language should make for some good discussions while waiting for the next  project status meeting to begin late.

enterprise

More Information

https://github.com/joaomilho/Enterprise

Related Articles

I am a C programmer

Why We Don't Need Even More Programming Languages

Natural Language as a Code

HeartForth An Emoji Based Language

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]



IBM Opensources AI Agents For GitHub Issues
14/11/2024

IBM is launching a new set of AI software engineering agents designed to autonomously resolve GitHub issues. The agents are being made available in an open-source licensing model.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Saturday, 01 September 2018 )