Newsgroup: it.discussioni.misteri
Titolo: OT : COMPILATORE cobol

Nessuno per caso ha un compilatore cobol per windows (CCBL32.EXE)? 
 
Devo fare un programmino al volo ma non lo trovo piu' (ultima volta l'ho
usato 4 anni fa ma mi sono segato la cartella e non so dove posso avere
un backup) ... help pls.
 
-- 
Federico
 
https://www.facebook.com/fedegatsu
 
https://www.facebook.com/SBItalysrl?ref=hl
 
http://www.sbitaly.it/it/
 
 

 un backup) ... help pls.
 
Se è proprio un programmino magari...
https://sourceforge.net/projects/open-cobol/
 
 
Bye, G. 
 
 


 
Giosto per curiosita` perche' obbligatoriamente cobol?

 ha scritto:

Perche' so programmare solo in Cobol ? :-D


 Perche' so programmare solo in Cobol ? :-D
 
 
Ah, ecco ;)
 
Ci ho avuto a che fare ventisette anni fa ma non ricordo quasi nulla.
 
Oggi per le cose al volo si usa Python (che ha una curva di 
apprendimento leggera per il principiante, una comoda modalita` 
interattiva come il vecchio basic, e tutta la "potenza" della OOP per il 
piu`esperto).

 piu`esperto).
 
Non faccio piu' il programmatore da quasi 15 anni, per quanto leggero non mi
va propio di imparare un altro linguaggio :-) Dovrei averlo a casa da qualche
parte sto benedetto compilatore spero di trovarlo.


 
 
TinyCobol
 
http://tiny-cobol.sourceforge.net/download.php
 
 
 

:

provato or ora con quattro righe in croce su win10
 
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
 
PROCEDURE DIVISION.
    DISPLAY 'Ciao Mondo!'.
    STOP RUN.
 
funziona.
 

 apprendimento leggera per il principiante
 
A proposito di compilatori...
 
Ho provato Go (GoLang di Google). E' un compilatore della madonna.
 
Produce un eseguibile nativo molto grosso (linka tutto staticamente) ma 
davvero performante.
 
Ho provato un crivello di Eratostene ottimizzato.
Su Win10 è più veloce della stessa versione C fatta col cross compiler 
Gnu con le ottimizzazioni abilitate.
 
Installi il compilatore, apri una cmd, imposti la variabile di ambiente 
GOLANG in modo che punti a una dir sensata (tipo la dir in cui si trova 
l'eseguibile e, per fare una prova veloce), compili con:
 
go build gosieve.go
 
Genera un gosieve.exe da 1.7Mb (la stessa versione C è meno di 100k) 
davvero veloce.
 
La versione Go è la traduzione di quella C.
Trovano (contano senza stampare) tutti i numeri primi da 1 a N.
 
Per contare i primi tra 1 e un miliardo:
 
gosieve.exe 1000000000
sieve.exe 1000000000
 
Con win10 la versione go impiega 4 secondi mentre quella C ce ne mette 14.
 
Con linux la versione go è leggermente più lenta (11.2 sec per C contro 
12.8 sec per Go, su una macchina diversa dalla precedente) ma non tanto 
più lenta.
 
 
 
// ======================================
// GoSieve.go
// ======================================
 
package main
 
import "fmt"
import "os"
import "strconv"
 
const Max = int64(100000)
 
func main() {
 
     var count int64
     var max int64
     var err error
 
     // Numero massimo di candidati nella
     // command line o inizializzato a Max
     // se non è stato specificato
     max = Max
     if len(os.Args) > 1 {
         max, err = strconv.ParseInt(os.Args[1], 10, 64)
         if err != nil || max < 4 {
             max = Max
         }
     }
 
     // Alloco l'array dei candidati
     candidates := make([]bool, max)
 
     // Inizializzo l'array dei candidati
     for i := int64(0); i < max / 2; i++ {
         candidates[i] = true;
     }
 
     // Crivello di Eratostene ottimizzato
 
     count = 2; // 2 e 3 non vengono generati dall'algoritmo
     for i, t := int64(5), int64(2); i < max; {
 
         if candidates [i / 3] {
             count++;
             for j, v := i * i, t; j < max; {
                 candidates[j / 3] = false;
                 j += v * i
                 v = 6 - v
             }
         }
 
         i += t
         t = 6 - t
     }
 
     fmt.Printf("Trovati %d primi\n", count);
}
 
 
 
// ======================================
// sieve.c
// ======================================
 
#include <stdio.h>
#include <stdlib.h>
 
#define FALSE   0
#define TRUE    1
 
#define MB      (1<<20)
 
#define MAX     100000
 
typedef         char    bool;
 
int main(int argc, char *argv[])
{
     long long count, max;
     bool *candidates;
 
     // Alloco l'array dei candidati
     max = argc > 1 ? strtol(argv[1], NULL, 10) : MAX;
     if (!max) max = MAX;
     candidates = (bool *) malloc((max / 2 + 1) * sizeof(bool));
	if (!candidates) {
		printf("Impossibile allocare %lld Mb per l'array dei candidati\n", 
(max / 2 + 1) * sizeof(bool) / MB);
		exit(1);
	}
 
     // Inizializzo l'array dei candidati
     for (long long i = 0; i < max / 2; ++i)
         candidates[i] = TRUE;
 
     // Crivello di Eratostene ottimizzato
     count = 2; // 2 e 3 non vengono generati dall'algoritmo
     for (long long i = 5, t = 2; i < max; i += t, t = 6 - t) {
		// printf("%lld, %lld ... ", i, t);
         if (candidates [i / 3]) {
             count++;
             for (long long j = i * i, v = t; j < max; j += v * i, v = 6 
- v)
                 candidates[j / 3] = FALSE;
         }
     }
 
     printf("Trovati %lld primi\n", count);
}
 
 
 
 
 
-- 
Make a backup copy of your soul!
http://fuffologia.blogspot.com/
 

 Trovano (contano senza stampare) tutti i numeri primi da 1 a N.
 
Si, ma per tornare IT...
 
Che cazzo ve ne fate di tutti sti numeri primi, se poi non li rimettete
a posto? Si sciolgono nelle scie chimiche che poi solidificano e cadendo
causano i terremoti? Eh? EH?

 ...
 
Codice C compilato con:
 
gcc -O3 -std=gnu99 -o sieve sieve.c
 
Con -O2 la versione C è appena più veloce di quella Go.
Senza ottimizzazioni la versione C è più lenta del doppio.


un backup) ... help pls.
 
prova a dare una guardata a questo
http://www.opencobol.altervista.org/
 
 
marco C.

 ha scritto:

Grazie, sono per fortuna riuscito a trovarlo giusto ora. La mia era pura
pigrizia, nel senso che se mi serve fare un programmino parto
dall'ambiente di sviluppo che usavo 15 anni fa, tutti le linee di comando
per la compilazione erano gia' fatte cone le opzioni di compilazione che
servivano a me. Con un altro compilatore dovevo vedere tutte ste cose e
non mi passava piu'. Ma ho trovato il CCBL32 e tutto ora si compila alla
perfezione :-) Grazie per l'interessamento. 


perfezione :-) Grazie per l'interessamento. 
 
di nulla. In passato č capitato anche a me di avere la necessitą di
ritrovare qualche compilatore per lingiaggi che usavo anni fa, come il
Fortran, e spesso mi mancava la "parola giusta" per riuscire a
scovarlo con google :-))
 
Marco C.
--
 
https://www.youtube.com/watch?v=y6bfl7hJbMI
 
 
.. non ripete mai :-))