www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Pondering. Computer Business. How serious this gets will be

reply btiffin <btiffin myopera.com> writes:
Hello,

New old guy.  I'm a programmer by trade, and a COBOL programmer 
by hobby.  Working with the ISO committee on the next COBOL 202x 
Standard.  This pondering will meander a bit.

I'm of the opinion that there are three major branches of 
programming.  Computer Science, Computer Engineering and Computer 
Business.  COBOL (and a rare few others) takes up the entire 
Computer Business slice of the programming language pie.  
Languages like FOCAL slot into a Computer Engineering slice.  All 
the other programming languages are Computer Science languages.

How would the D team feel if someone came by with a module for 
base 10 decimal arithmetic?  Bankers like decimal math, and still 
lean heavily on COBOL for counting up the fractional pennies.

How would the D team feel if someone came up with a module for 
block IO?  Mainframes are block and record IO machines.  Byte 
streams are usually layered on block IO.  This implies a lot of 
"fixed length" fields.  Again, a COBOL strength, and auditors 
seem to appreciate bounded, predictable data.

How would the D team feel if someone pressed for EBCDIC support?  
Perhaps not internal, but as an option.

D is firmly in the Computer Science slice of the pie.  All good.  
A highly competitive market.  I'd put language counts at 1 to 10 
in Computer Business, 10 to 100 in Computer Engineering, and 1000 
to 10,000 in Computer Science.

Would discussing Computer Business features be welcomed by team 
D, ignored, or actively railed against as an unwanted 
distraction?  If the answer is welcomed (or ignored) I might take 
a stab at writing some code.  If it'd be an unwelcome distraction 
at this point in time, then it would be best to just let the 
beast lie.

Not the complete picture, but at the core, Computer Business 
needs/wants Decimal Math, Block IO, EBCDIC, and at least a nod to 
mainframe idioms, and historic input/output mechanisms ala 80 
column Card Punch and fixed 132 column print widths.

*Please note: I am not a lawyer.  This impression is from 
internet rumour and activity, and not from any legally binding 
legal advice*

A nifty thing about modern times, mainframes are not as 
inaccessible as they used to be.  There is a Hercules s/390 
emulator, and s/370 mode.  That s/370 mode runs way old (but 
still relevant) Operating Systems for frames that have been 
deemed Public Domain.  MVS 3.8j and VM/370 R6 from the 1970s and 
early 1980s.  Hobbyists have extended these sources to tackle 
some quality of life issues, and new releases are being worked 
on, as I type this.  Along with GCC v4 C compilation. Much to be 
learned from this. The hobby kits actually put you in charge of a 
frame OS.  System administration lore of mainframes is usually on 
an as-needed basis, but the hobby kits are wide open for 
exploring those pieces of technarcana that most developers would 
never get a chance to be exposed to.

So, would adding features of Computer Business help or hurt D at 
this point?  *As a carrot, and again this is wide eyed pondering, 
not yet based in any realities.  I might be able to convince the 
standards team to open an Appendix in the COBOL Standard for D 
interoperability, much like the Ada Appendix B documentation.  At 
this point in time, the little bits of interoperability in the 
COBOL specs are usually Java centric.  D can do (or should do) 
Enterprise just as well as Java, but can anyone see D with 
Business saddles?

Have good, make well,
Blue
May 25 2021
next sibling parent reply Ola Fosheim Grostad <ola.fosheim.grostad gmail.com> writes:
On Tuesday, 25 May 2021 at 20:04:46 UTC, btiffin wrote:
 How would the D team feel if someone came by with a module for 
 base 10 decimal arithmetic?  Bankers like decimal math, and 
 still lean heavily on COBOL for counting up the fractional 
 pennies.
I am not on the D team, so I cannot speak for them. But you can share you modules using the package system Dub. I believe Intel has a base 10 C library you can bind to.
 How would the D team feel if someone pressed for EBCDIC 
 support?  Perhaps not internal, but as an option.
You can create your own fork and extend the lexer if you need to. Or just do it as a module.
 Would discussing Computer Business features be welcomed by team 
 D, ignored, or actively railed against as an unwanted 
 distraction?  If the answer is welcomed (or ignored) I might 
 take a stab at writing some code.  If it'd be an unwelcome 
 distraction at this point in time, then it would be best to 
 just let the beast lie.
No idea, but I dont think you need language support as D has good enough meta programming capabilities for you to do what you want as a library.
 can anyone see D with Business saddles?
No idea, are they interested in something that does not have IBM approval?
May 25 2021
parent reply btiffin <btiffin myopera.com> writes:
On Tuesday, 25 May 2021 at 20:37:45 UTC, Ola Fosheim Grostad 
wrote:

 can anyone see D with Business saddles?
No idea, are they interested in something that does not have IBM approval?
First up, I'm answering this after assuming the "they" in are they interested, is the COBOL standard folk, not the D team. If the open question is from the point of view of the D team, then this answer is off page. The COBOL Standards people go out of their way to describe it as an industry language, not proprietary or beholden to any particular corporation. Although dropped in the latest ISO docs, this was always (circa 1960) included in the preamble for Standard COBOL:
 COBOL is an industry language and is not the property of any 
 company or group
of companies, or of any organization or group of organizations. That was on purpose, to avoid the impression of Yet Another IBM monopoly. Cheers, Blue
May 25 2021
parent Ola Fosheim Grostad <ola.fosheim.grostad gmail.com> writes:
On Tuesday, 25 May 2021 at 20:53:43 UTC, btiffin wrote:
 First up, I'm answering this after assuming the "they" in are 
 they interested, is the COBOL standard folk, not the D team.  
 If the open question is from the point of view of the D team, 
 then this answer is off page.
I was thinking maybe the Business mainframe people would have problems with something without IBM approval? On the other hand I think there was someone in this forum that used COBOL for some kind of automation, or is my memory playing tricks with me? Maybe if you search the forums you will find D users that are interested in COBOL, but currently inactive in the forums?
 That was on purpose, to avoid the impression of Yet Another IBM 
 monopoly.
Got it! :-) If you find that you want to create yor own version of D for this purpose then I am sure taht you won't be ignored. As long as you have a library that can convert to utf-8, it should not be too difficult to make some modifications. Just ask. I for one wont ignore you :-D sounds fun!
May 25 2021
prev sibling next sibling parent reply tsbockman <thomas.bockman gmail.com> writes:
I am not any kind of decision maker or gatekeeper here, but I 
have been active in the forums here for years, and made some 
small contributions to the compiler, standard library, and 
runtime, so I have some understanding of the process.

On Tuesday, 25 May 2021 at 20:04:46 UTC, btiffin wrote:
 How would the D team feel if someone came by with a module for 
 base 10 decimal arithmetic?
There is definitely interest in this. Many people have asked for it on the forums before, and various members of the community have created [Dub packages](https://code.dlang.org/search?q=decimal). At a glance, [Razvan Stefanescu's "decimal"](https://code.dlang.org/packages/decimal) appears to be the most complete. If one of those appears suitable to you, you could participate in its development and maintenance, or advocate for its inclusion in the D standard library.
 How would the D team feel if someone came up with a module for 
 block IO?  Mainframes are block and record IO machines.  Byte 
 streams are usually layered on block IO.  This implies a lot of 
 "fixed length" fields.  Again, a COBOL strength, and auditors 
 seem to appreciate bounded, predictable data.
I believe this can also be done as a Dub package to start. If you think someone would like to use it, just go write it. Again, it can be added to the standard library later, after the code has proven itself, if needed.
 How would the D team feel if someone pressed for EBCDIC 
 support?  Perhaps not internal, but as an option.
This can also be done as a library, and added to Phobos later if that seems wise.
 I'd put language counts at 1 to 10 in Computer Business,
Out of curiosity, what else do you consider to be a "Computer Business" language? Java?
 Would discussing Computer Business features be welcomed by team 
 D, ignored, or actively railed against as an unwanted 
 distraction?
 ...
 So, would adding features of Computer Business help or hurt D 
 at this point?
Language/compiler changes are very expensive, and D2 has a huge backlog of important work to get through there. Quite a few compiler pull requests rot on the vine due to insufficient review capacity as it is. Library changes and additions scale much better, and good work will generally be welcomed even by people who have no intention of every using it, personally. Just don't try to *start* anything big inside Phobos - the community has learned not to be in a rush to set unproven APIs in stone.
May 25 2021
parent btiffin <btiffin myopera.com> writes:
Aside from a nice thank you for the input...

On Tuesday, 25 May 2021 at 22:01:46 UTC, tsbockman wrote:

 Out of curiosity, what else do you consider to be a "Computer 
 Business" language? Java?
Nope. Java is base-2 math by default. It tries hard to be Enterprise (and does not a bad job), but I don't count it as Business. Rexx is base-10 math, designed by Mike Cowlishaw, who is also responsible for a lot of the base-10 libraries in use and development. But, Rexx is a scripting language, counts as a Computer Science language (in my opinion). I count things like Digital's DIBOL, or maybe (this is stretching things), SAP and PeopleSoft, but I count those as more Enterprise Computer Science applications. SQL might count, but engines are usually implemented with base-2 arithmetic, so it doesn't, really. But it could. Computer Business is a very narrow field, one of the reasons COBOL still rules the roost. No real competition. A lot of the Engineering languages are being left behind now too, FOCAL and the like are not really getting much focused attention (*given my limited view of the vast vast world*). Everyone wants to compete in the general Computer Science arena. All good, but it does make standing out quite a bit harder. Popularity in computer science programming languages is mostly random luck and too much "good enough is good enough". (Or, in the Java land case, a 500 million dollar intro campaign meant to guarantee more eyeballs). Computer Business is rather boring in terms of programming, but an absolute necessity to many behind the scenes. And again, thanks for the insights. I guess the thing I'm looking out for is "Don't!", and if that doesn't happen, then I might try a few things to test waters. A "we don't care" is ok, as long as it isn't a "Don't! it will dilute the goals of the core team at a time the core team can't afford distractions" or "we have no plans to cater to Business" (as in my definition of Computer Business programming, not that D doesn't want to help any businesses, which I'm sure it does (both, want to and already helping)). ;-) Have good, Blue
May 25 2021
prev sibling parent Abdulhaq <alynch4047 gmail.com> writes:
On Tuesday, 25 May 2021 at 20:04:46 UTC, btiffin wrote:
 Hello,

 New old guy.  I'm a programmer by trade, and a COBOL programmer 
 by hobby.  Working with the ISO committee on the next COBOL 
 202x Standard.  This pondering will meander a bit.
LOL https://forum.dlang.org/post/tfwuaregczsbmnexgxyi forum.dlang.org
May 27 2021