Zum Inhalt springen

ACUCOBOL

aus Wikipedia, der freien Enzyklopädie

Vorlage:Hinweisbaustein

{{#if: | {{#if: | {{#if:objektorientiert, strukturiert, prozedural| {{#if:1988| {{#if:| {{#if:Acucorp Corp.| {{#if:extend 8| {{#if:| {{#if:| {{#if:| {{#if:| {{#if:| {{#if:COBOL| {{#if:| {{#if:Windows, AIX, Linux, MPE/iX, OpenVMS, Solaris uvm. (über 600)| {{#if:| {{#if:www.acucorp.com|
{{#if: ACUCOBOL-GT | ACUCOBOL-GT | {{#invoke:WLink|getArticleBase}} }}
colspan="2" class="notheme" style="text-align:center; background-color:#Vorlage:Standardfarbe;" | {{{Logo}}} |
 {{#if: {{#invoke:Wikidata|claim|P154}} |
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}

{{{Screenshot}}}{{#if: A. ist ein Dialekt der Sprache COBOL |
A. ist ein Dialekt der Sprache COBOL }}|

}}

Basisdaten
Paradigmen: objektorientiert, strukturiert, prozedural

}}

Erscheinungsjahr:
 {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr: claim|P571|references=ja}}
 }}

}}

Designer:
 {{#if: {{#invoke:Wikidata|claim|P287}} | 
Designer: claim|P287|parameter=link|references=ja|list=, }}
 }}

}}

Entwickler:
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler: claim|P178|parameter=link|references=ja|list=, }}
 }}

}}

Aktuelle Version: extend 8  (26.09.2007) |

{{#if: {{#invoke:Wikidata|claim|P348}} |

Aktuelle Version {{#invoke:Wikidata|claim|P348|references=ja}}{{#if: {{#invoke:Wikidata|claim|Version|qualifier=P577}} | ({{#invoke:Wikidata|claim|Version|qualifier=P577}})}}}}

}}

Aktuelle Vorabversion: {{{AktuelleVorabVersion}}}  ({{{AktuelleVorabVersionFreigabeDatum}}})

}}

Typisierung: {{{Typisierung}}}

}}

Wichtige Implementierungen: {{{Implementierung}}}

}}

Dialekte: {{{Dialekte}}}

}}

Standardisierungen: {{{Standardisierungen}}}

}}

Beeinflusst von: COBOL |
 {{#if: {{#invoke:Wikidata|claim|P737}} | 
Beeinflusst von: claim|P737|parameter=link|references=ja|list=, }}
 }}

}}

Beeinflusste: {{{Beeinflusste}}}

}}

Betriebssystem: Windows, AIX, Linux, MPE/iX, OpenVMS, Solaris uvm. (über 600) |
 {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem: claim|P306|parameter=link|references=ja|list=, }}
 }}

}}

Lizenz:
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz: claim|P275|parameter=link|references=ja|list=, }}
 }}

}}

www.acucorp.com |
 {{#if: {{#invoke:Wikidata|claim|P856}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link}}}}
 }}

}}

ACUCOBOL ist ein Dialekt der Programmiersprache COBOL. Die vollständige Bezeichnung lautet ACUCOBOL-GT. Weltweit gibt es laut Angabe des Herstellers etwa 1.000.000 Endbenutzer von ACUCOBOL Software.

Geschichte

Die Firma Acucorp wurde im Jahr 1988 in den USA gegründet. Schon damals wurde der erste Compiler mit den Worten „The Most Portable COBOL in the Universe.“ (Das portabelste COBOL im Universum.) der Öffentlichkeit in San Francisco auf einer UNIX-Veranstaltung vorgestellt.

Am 4. Mai 2007 hat die Firma Micro Focus einer Übernahme von Acucorp zugestimmt und kauft Acucorp für 40,7 Millionen USD.

Der Hersteller ist ständig mit der Weiterentwicklung beschäftigt. Zurzeit liegt die hauptsächliche Arbeit der Entwickler jedoch in der Verschmelzung von ACUCOBOL-GT und Micro Focus COBOL.

Mit Version 8 wird eine lückenlose Einbindung von ACUCOBOL-GT in Java inklusive der Verwendung von Java-GUIs ermöglicht. Außerdem wurde das Runtime-System für Windows x64 portiert und die Datenzugriffe auf Microsoft SQL-Datenbanken direkt realisiert.

Besonderheiten gegenüber COBOL und anderen Dialekten

ACUCOBOL wurde entwickelt, um COBOL plattformunabhängig zu machen. Dabei wurde eine Vorgehensweise gewählt, wie sie heute auch von Java genutzt wird:

Ein Compiler übersetzt den plattformunabhängigen Quellcode in einen speziellen Binärcode, der von einer Runtime auf der Zielplattform ausgeführt werden kann. Somit muss für jede Zielplattform nur eine Runtime erstellt werden, die den Binärcode ausführt und der Quellcode muss nicht auf die Plattform angepasst werden.

Da die Zielplattformen extreme Unterschiede aufweisen, muss zwar der Binärcode teilweise an die Zielplattform angepasst werden, dies ist aber über Compileroptionen problemlos möglich, am Quellcode muss nichts geändert werden.

Acucorp entwickelt ständig neue Ideen, um neue Technologien mit COBOL zu vereinen. Es ist zum Beispiel möglich, ActiveX-Steuerelemente in grafischen Benutzeroberflächen zu nutzen oder XML-Dateien als Datenquellen zu verwenden. Auch ODBC- oder JDBC-Schnittstellen sind verfügbar.

Editoren

Der Dialekt ACUCOBOL-GT kann mit eigentlich jedem Texteditor geschrieben werden. Die Übergabe an den Compiler kann manuell per Kommandozeile erfolgen. Acucorp führt selbst eine eigene IDE mit Namen AcuBench.

Der Hersteller führt ebenso ein Plugin für Eclipse, das allerdings nicht so ausgereift ist wie Eclipse-Plugins für andere Sprachen.

ACUCOBOL-GT-Compiler

Der Compiler wird von der Firma Acucorp entwickelt, gepflegt und auch auf noch nicht unterstützte Plattformen portiert.

Das Entwickeln und Kompilieren ist aufgrund der Verwendung eines transportablen Binärcodes nicht auf die Zielplattform beschränkt. Ein Projekt kann unter Windows entwickelt und getestet werden, dann mit den für die Plattform nötigen Compileroptionen versehen für die Zielplattform kompiliert und auf die Zielplattform kopiert werden.

Weblinks

  • Initiative COBOL
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20080421085636
      | {{#ifeq: 20080421085636 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080421085636}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080421085636}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Website des Herstellers | {{#invoke:WLink|getEscapedTitle|Website des Herstellers}} | {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080421085636|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.acucorp.com/}}
    || {{#if:  || }}
  }}{{#if: Website des Herstellers
    | {{#if: {{#invoke:WLink|isBracketedLink|Website des Herstellers}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.acucorp.com/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.acucorp.com/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.acucorp.com/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}