Newsgroup: it.lavoro.informatica
Titolo: Linguaggi di programmazione e piattaforme

Buonasera.
 
Sperando di - come ho scritto in uno dei messaggi precedenti - far
tornare a parlare di questioni inerenti all'informatica qui, e non di
personagi con qualche "problema", vorrei porvi una domanda.
 
Qualcuno di voi ha visto girare, sulla piattaforma GNU/Linux (e in
generale, "*X"), progetti non banali sviluppati in uno dei seguenti
linguaggi: F#, D, Objective C, Julia? Inoltre, mi piacerebbe sapere in
quali contesti, che tipo di aziende e in quali tipi di progetti avete
incontrato quei linguaggi. Ripeto, mi interessano soprattutto le
piattaforme *X. Lo so che quei linguaggi sono utilizzati (anche
spesso) sulle piattaforme Microsoft ed Apple, ma a me interessano solo
le piattaforme di codice libero, dato che le due piattaforme
proprietarie esulano dalle mie competenze.
 
La ragione che mi ha portato a porvi questa domanda è che sto
sviluppando (meglio dire: reimplementando e/o aggiungendo) delle
architetture (semifinite, da personalizzare a seconda dei progetti da
implementare; Sono consulente, tra parentesi, e sto cercando di
razionalizzare il mio tempo che dovrò dedicare ai progetti futuri,
data l'obsolescenza implementata in alcune delle mie "vecchie"
architetture; Basta pensare ai "balzi" funzionali dei linguaggi come
Java o C++ negli ultimi anni). Ho completato il lavoro per una
quandicina di linguaggi (compresi anche C# e VB, per i quali anche non
so quanto siano effettivamente utilizzati nel mondo *X. Qualcuno ha
delle informazioni che riguardano questi due?) e stavo valutando se
dedicare del tempo (che in questo momento avrei, data la riduzione
delle attività lavorative "benedetta" dal governo...) anche ai
linguaggi elencati (se qualcuno mi può rassicurare che non sarebbe
tempo perso (averlo è una cosa, perderlo un'altra). In caso contrario
il tempo lo dedicherei ad altri tipi di progetti che ho in mente;
Avrei anche da collegare le architetture nuove ad alcune librerie per
il www, e ho anche tutto il mondo "embedded" da implementare in modo
simile a quello descritto prima).
 
Aggiungo anche che non sono completamente digiuno di conoscenze di
quei linguaggi (altrimenti la domanda non ve l'avrei neanche posta,
avrei abbandonato l'idea, per ora), ma mi piacerebbe sapere se valesse
la pena investire un po' di tempo per approfondire quei linguaggi e se
ci fosse qualche prossibilità/probabilità di capitalizzare quel tempo
nei progetti futuri.
 
Grazie.
 

Il 19/04/21 16:33, 
ma...@daqualcheparte.it
 ha scritto:

Ti risponde il "demente"
Approfondisci i linguaggi che usi o che vorresti usare o che ti 
piacciono per interesse personale
Non chiedere agli altri cosa usano sui generis, in quanto le loro 
esperienze lavorative saranno diverse dalla tue
Ma puoi sempre fare domande tipo  'per una architettura/progetto  tipo X 
  che linguaggi usati di solito ?'
 
 
 
 
 
 
 
-- 
|___|

 delle informazioni che riguardano questi due?)
 
Un mio cliente ha un gestionale (sviluppato da un grosso attore del 
settore) che gira su CentOS ed, almeno in parte, e' basato su Mono, da 
cui deduco sia probabilmente scritto (almeno in parte) in C#.
 
 
 
HTH.

 Non chiedere agli altri cosa usano sui generis
 
Da quando in qua chiedere consigli e` vietato?
 

 linguaggi: F#, D, Objective C, Julia?
 
Non ho esperienza diretta, anche se uso solo piattaforme *nix. D ed 
Objective C li lascerei perdere, mentre F# e Julia assolutamente 
interessanti.

  che linguaggi usati di solito ?'
 
Come già detto (implicitamente), quando al cliente interessa solo che
il lavoro venga fatto, come serve a lui, a prescindere dalle
tecnologie, ho l'imbarazzo di scelta e scelgo lo strumento che ritengo
più appropriato per quel tipo di progetto (dunque - tranne certi casi
molto specifici - non ho bisogno di consigli altrui su cosa
utilizzare). Queste situazioni, però, sono abbastanza rare.  I clienti
così sono abbastanza rari. Di conseguenza devo spesso adeguarmi alle
richieste del cliente.

 Da quando in qua chiedere consigli e` vietato?
 
Su questo punto sono perfettamente d'accordo con te.
 

 cui deduco sia probabilmente scritto (almeno in parte) in C#.
 
Ottimo. Grazie.

 interessanti.
 
E' quello che pensavo anch'io. Ma prima di scartare qualche opzione (o
partire in quarta con le altre) è sempre utile avere delle
informazioni anche da altri. Grazie.

 .NET 
 
Ed e` cosi` anche per altri linguaggi. Io ho visto usare Python in 
contesti dove Java, a mio parere, sarebbe calzato meglio.

 contesti dove Java, a mio parere, sarebbe calzato meglio.
 
Tutto vero. Il mio era solo un esempio. Il problema dei clienti
(meglio dire *con* i clienti) è spesso classificabile in due
categorie:
 
* Sviluppo dettato dalle mode o
* Sviluppo dettato da dio Tutti (perché "così fanno Tutti").
 
Io cerco sempre di dare la mia opinione se mi trovo di fronte a una
scelta che ritengo sbagliata. Ma se il clinete ritiene di sapere
meglio di me, sono contento di accontentarlo, basta che mi dica dove
spedirgli la fattura.

 linguaggi: F#, D, Objective C, Julia? 
 
no. ho fatto qualcosa in rust anche se rientra un po' nel "banale" però ci ho visto ottime potenzialità. 
l'ho messo fra i papabili.
 

 testardaggine. Ma per favore, non infierire. Dagli tempo. Va bene? :-)
 
beh lo dico anche io a te dagli tempo e soprattutto corda e vedrai.
noi abbiamo già dato. con i suoi thread sui benchmark ha scritto fra le pagine più epiche della storia di questo gruppo.


Si, Rust ce l'ho anch'io sulla lista di linguaggi prioritari. Come
anche un'altra dozzina, e la maggior parte di architetture per questi
linguaggi le ho già completate. Erano i quattro elencati, più altri
due per i quali avevo già fatto il lavoro (C# e VB) per i quali mi
interessavano le vostre esperienze con dei progetti concreti.
 
Rust, per il quale anche posso concordare che è lontano dall'essere un
linguaggio "ideale", lo considero come un migliore (potenziale)
sostituto di C per la programmazione di sistema di quanto lo vedrei Go
in questo ruolo, anche se i circuiti mercatologici di Google
vorrebbero portare l'acqua al proprio mulino. Per intenderci, anche Go
ce l'ho sulla lista, come hai detto tu, dei "papabili", ma è un
linguaggio che ho messo sul conto che me lo possano chiedere i clienti
e che me la guardo bene dall'utilizzare nei miei progetti di una certa
criticità. A parte alcune cose che considero le carenze tecnologiche
di Go, non posso trascurare anche la sua genesi e la sua "ragion
d'essere". Ma meglio che ti rimandi alle parole di Rob Pike stesso,
che puoi ascoltare qui:
 
https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent
 
 
https://talks.golang.org/2012/splash.article
 
 
In sostanza dice questo:
 
"The key point here is our programmers are Googlers, they???re not
researchers. They???re typically, fairly young, fresh out of school,
probably learned Java, maybe learned C or C++, probably learned
Python. They???re not capable of understanding a brilliant language but
we want to use them to build good software. So, the language that we
give them has to be easy for them to understand and easy to adopt."
 
"It must be familiar, roughly C-like. Programmers working at Google
are early in their careers and are most familiar with procedural
languages, particularly from the C family. The need to get programmers
productive quickly in a new language means that the language cannot be
too radical."
 
(NOTA: penso, ma non sono completamente sicuro, che le citazioni io le
abbia preso proprio da questi due video, nel caso di errore - mio -
chiedo scusa)
 
Sostanzialmente, Pike ammette - con altre parole - che il linguaggio è
stato progettato per la bassa manovalanza informatica.
 
Ora, non dico che anche questa non merita di esistere sul mercato di
lavoro, sia chiaro, ma io appertengo all'altra scuola di pensiero (e
di progettazione), la seconda delle due elencate qui:
 
https://people.eecs.berkeley.edu/~bh/ssch0/preface.html
 
 
Ma penso che questo si possa evincere anche da linguaggi che ho
elencato come preferiti nell'altro mio messaggio. :-)
 
Grazie per l'informazione, comunque.

 noi abbiamo già dato. con i suoi thread sui benchmark ha scritto fra le pagine più epiche della storia di questo gruppo.
 
Ah, può darsi. Non lo posso negare e ho poca voglia di andare a
cercare i messaggi in questione per avere le conferme. Però diamogli
tempo e vediamo se persiste nel suo modo di fare. Mi sono sentito di
reagire ad alcune cose scritte da lui che non potevo proprio digerire,
ma penso che qualche lezione lui l'abbia imparata e che cercherà di
moderarsi un po'. Mi dispiacerebbe se tu dovessi avere ragione, ma non
lo posso affatto escludere. Però, vorrei chiedere anche a te e agli
altri - come già scritto - di non dargli corda neanche voi, da parte
vostra. Il pulsante "Ignora" è il vostro amico. Che ci fa vivere tutti
meglio. :-)

 spedirgli la fattura.
 
eh sì, è uno scenario in cui mi riconosco.
ma è anche quello che, alla lunga, mi ha fatto disamorare del lavoro di developer e in particolare di quello prestato in consulenza.
a me è capitato che pretendessero usassi java per un software praticamente di sistema (era una utility a supporto del backup system per i volumi di k8s) questo perché sennò non c'erano competenze per manutenerlo. spiegai che in python c'erano le librerie e veniva fuori un programma di venti fottutissime righe, ma niente da fare. si sono presi il programma fatto come volevano loro e secondo i loro "standard", ma non di meno quando c'è stata da fare manutenzione hanno ovviamente richiamato me, perché ovviamente il bimbominkia che sa solo java quando ha di fronte un problema fuori da quei due o tre concetti in croce non ci leva le gambe.

 spedirgli la fattura.
 
Come mai hai citato quei linguaggi? La mia e` pura curiosita` dal 
momento che anch'io sto valutando Julia.
 

 Si, Rust ce l'ho anch'io sulla lista di linguaggi prioritari. 
 
Rust sembra avere una buona reputazione.
 
Nella mia lista ci sono: Go, Kotlin, Clojure, ReasonML e Julia.
 

 
 
Non e' vietato, ho solo avuto la sensazione che il ragazzo fosse un po 
smarrito
Che non sapesse bene quali strade imboccare e quindi abbia chiesto consigli
Se e' cosi spero di avere consigliato bene,se non e' cosi amici come prima
 
 
 
-- 
|___|

 smarrito
 
LOOOOL :D Lui eh? :D
 

 momento che anch'io sto valutando Julia.
 
Semplice: Come te, lo sto valutando, sto cercando di capire se c'è
qualche sbocco lavorativo (anche) utilizzando quello. Non mi aspetto,
di avere informazioni concrete dal mercato di lavoro italiano,
comunque, qui siamo sempre in ritardo.
 

 Nella mia lista ci sono: Go, Kotlin, Clojure, ReasonML e Julia.
 
Su Go mi sono già espresso nel messaggio a rootkit. Ce l'ho nel
taschino della camicia, non si sa mai, ma non si può dire che io lo
adori. Al contrario...
Di Julia ho anche già scritto.
 
Kotlin e Clojure te li raccomando (soprattutto Clojure) se lavori con
la JVM. Anche nella sua incarnazione chiamata ClojureScript, sembra un
linguaggio decente per produrre codice JS. ClojureCLR mai provato, ma
sembra(va?), a parte il fatto che zoppicasse un po' dietro la versione
per JVM, che funzionasse bene (informazioni datate, comunque, non so
se qualcosa sia cambiato, non mi sono tenuto informato). Su Kotlin
transiplato in JS o in codice nativo non posso esprimermi, non l'ho
mai provato. Ne ho sentito parlare bene ma non so quanto le cose
sentite siano fondate. Comunque sono dell'idea che le ragioni che
hanno portato alla creazionde di Kotlin, invece di "adottare" Scala,
stiano svanendo. Con l'evoluzione di Kotlin, questo sta diventanfo più
pesante di Scala, i tempi di compilazione si allungano parecchio e
rimane sempre più prolisso di Scala. Lo vedo come un nuovo Java,
migliore di Java (con questa intenzione sarebbe stato creato + le
motivazioni dettate dalla battaglia legale tra Oracle e la "G
maiuscola", socio d'affari ("patrono"?) di JetBrains - battaglia
conclusasi proprio questi giorni con la sconfitta di Oracle) ma non lo
vedo all'altezza di Scala. Prendete con le pinze quello che ho
scritto, comunque, non ho ancora provato Scala 3...  Comunque, se tu
dovessi partire za zero, tra Kotlin e Scala ti raccomanderei Scala. Ma
ammetto che si tratti, in gran parte, di gusti personali. Aggiungo
anche che forse non ci è dato sapere tutte le motivazione che hanno
portato alla creazione di Kotlin. Non mi meraviglierei se il futuri ci
riservasse qualche sorpresa, non necessariamente dalle fonti
ufficiali, ma da - ehm - quelle "laterali".
 
Per quanto riguarda ReasonML, avevo dato un'occhiata, senza provarlo
veramente, ma non ero molto contento di due fasi di transpilazione
(passando per BuckleScript) solo per avere una sintassi meno simile a
OCaml (che tutto sommato mi piace) e più a JS. Non ritenevo ne valesse
la pena. Poi, ho letto anche qualche settimana fa che anche
BuckleScript lo hanno fatto morire facendolo confluire in un prodotto
nuovo, ReScript, con un'altra sintassi ancora. E tutto questo sulla
piattaforma Node.js, che aborro. L'ho lasciato perdere. Per
transpilazione a JS mi va più che bene js_of_ocaml (anche se genera
codice più prolisso e incasinato del "vecchio" BuckleScript, ma per
quel poco che lavoro sul lato frontale delle applicazioni web, per me
basta e avanza. Poi, ci sono anche ClojureScript (già menzionato) e
Scala.js, che mi interessano (ma non ho fatto molto in
quelli). TypeScript lo avevo imparato solo per svolgere una docenza
(parte del corso di Angular), è carino, produce il codice pulito, ma è
sempre il solito problema che (mea culpa) faccio fatica a digerire la
piattaforma Node.js.
 


Eh, si, stavo bighellonando un po', "per una selva oscura ché la
diritta via era smarrita". :-)
 

 dovessi partire za zero, tra Kotlin e Scala ti raccomanderei Scala. 
 
L'ho usato, anche se per pochissimo tempo, e devo dire che mi piaceva 
molto piu` di Java. Era un po' una scelta forzata, usando Spark nel 
progetto, ma offriva effettivamente una marcia in piu`. Troppe 
tecnologie da seguire, comunque. C'e` veramente tanto in giro.

 tecnologie da seguire, comunque. C'e` veramente tanto in giro.
 
Concordo. E aggiungo il mio timore che è questione di (pochi) anni o
forse addirittura mesi che il settore sta per implodere. Ragioni?
Stanno metastatizzando gli incompetenti (non solo la bassa manovalanza
informatica menzionata nell'altro messaggio, ma bassa manovalanza
informatica *incompetente*, *molto* *incompetente*) nel settore, come
nel periodo 20-24 anni fa. Quelli che *non* sono in grado di
progettare software e sviluppare architetture, ma prendono dei
framework di dubbia qualità e copiano-incollanco codice da
StackOverflow (con tanto di bug e vulnerabilità). Stanno
metastatizzando i framework fatti a pene di segugio, sviluppati sempre
da incompetenti. Si sta facilitando (e questa cosa, essendo fattibile,
viene, come prevedibile, abbondantemente sfruttata) il recupero
diretto ed inclusione nei programmi in produzione (v. es. Go, già
menzionato) del codice in fase - anche - pre-alpha, con tutte le
proprie dipendenze (da tutti i siti possibili e immaginabili). E
quello che era stato (inizialmente) fatto di buono, sta collassando
sotto il proprio peso:
 
https://yewtu.be/watch?v=VvOsegaN9Wk
 
 
Le università (non solo italiane) stanno sfornando incompetenti. Ne so
qualcosa, dato che faccio - anche - corsi di formazione post-laurea e
lezioni private. Da mettersi le mani nei capelli.
 
Dall'altra parte sempre di più si sta affidando tutte le attività
umane al software. Le frottole che hanno costruito i plutocrati
attorno al coronavirus stanno ulteriormente spingendo tutto in rete,
mentre *non* siamo pronti. E abbiamo ospedali colpiti da "ransomware",
comuni, regioni, stati, anche. I nostri dati che vorremmo riservati
fanno il giro per il mondo non sappiamo dove, non sappiamo come, non
sappiamo perché. L'avidità di grosse aziende, banche, compagnie
assicurative e chi più ne ha, più ne metta, sta schizzando alle
stelle, e grida: "developers, developers, developers" (TM).
 
Ho guardato annunci di lavoro, per sviluppo di programmi nell'ambito
dell'avionica, di un noto produttore di aerei, e mi si sono
raddrizzati i capelli. Mi viene di non salire più su un aereo. I
disastri di questi tipo si sono già verificati, recentemente, ma i
veri botti, con tragiche conseguenze, li vedo dietro l'angolo. Cosa
succedrà poi? L'opinione pubblica chiederà spiegazioni. Chiederà di
essere protetta, tutelata, difesa. E cosa farà il legislatore? L'unica
cosa che *pensa* di saper fare: Leggi, regole, certificazioni,... Ci
saranno vincoli sul tipo di percorso universitario accettabile per
poter lavorare sui progetti, ci sarà strage delle PMI. Assolderanno
per "consulenza" quelli che sono tra i principali colpevoli per il
disastro. Come dal copione, quelli che hanno causato il disastro si
erigerano a salvatori del mondo e proporrano le loro "soluzioni". Ho
paura anche solo di pensare a tutte le (probabili) conseguenze.
 
Mi sto attrezzando per ammortizzare l'urto, ma non mi illudo che sarà
facile...

 StackOverflow (con tanto di bug e vulnerabilità). 
Per favore potresti menzionare alcuni framework che ritieni
di dubbia qualita'?
 
M'interessa molto l'opinione di chi ne sa di piu'.
C'e' sempre da imparare.


No, per piacere, dai... Non so se hai letto altri miei messaggi negli
ultimi giorni, ma cerco sempre di evitare (potenziali) risse
virtuali. Ho agito alcune volte, anche duramente, sperando di porre
fine ad alcune risse, ma invano. Ma dove rischio di produrre risse,
preferisco non scrivere niente. Scusami.
 
Comunque, quello che posso dire è che *tutti* i framework corrono
questo rischio, di divcentare di dubbia qualità. Molti partono con
piede giusto, poi succede quello che ha descritto Adrian vel video del
quale ho riportato il collegamento.

 accadimenti.
 
Coltiva questo pensiero. E rimani lucido. E preparati. Non dico per
cosa, mi hai capito. Fa attenzione solo che la negatività e la bieca
vendetta non diventino la tua forza motrice. Altrimenti rischi il
morso della tarantola di Nietzsche. E cadi nella trappola che ti è
stata preparata. Progettata al tavolino.

 diro' che alle volte la lucidita' va proprio in pallone
 
Si vede.
 


Per piacere, non c'è bisogno di saltare su tutti i palloni che vedi
rotollare in giro. Lui lo ammette (dunque ne è consapevole) e potrebbe
essere il primo passo per risolvere delle situazioni che gli possono
capitare nella vita. Anche la mia va a volte in pallone e quella di
tutte le persone in questo mondo, dato che a tutte le persone capitano
ragioni (di durata e intensità più o meno gravi) del genere qualche
volta nella vita, e sono sicuro, anche a te. O tu ritieni che non sia
così?
 
Dai, per favore, non trasformiamo tutti i messaggi in occasioni per
litigare.
 

 rotollare in giro.
 
Perche`? E` divertentissimo!
 


Eh, va be', getto la spugna...

 quale ho riportato il collegamento.
 
 
Pero' il tuo discorso cosi' generalista lascia il tempo
che trova. Io ero interessato a qualche considerazione
tecnica, anche a titolo di esempio, su qualche Framework
che poi sarebbe degenerato crescendo male con motivazioni
tecniche a supporto di questa tesi.
Altrimenti andiamo pure tutti al bar a parlare a casaccio.
 

 Altrimenti andiamo pure tutti al bar a parlare a casaccio.
 
Ma hai visto il video del quale ho riportato il collegamento? Il
relatore è l'autore originale di Django, uno dei framework per il web
più utilizzati. Ti ho scritto anche le motivazioni per le quali non
voglio essere più esplicito e se non le vuoi capire, pace.


Non ho tempo per vedere il video.
 
Se non sei in grado di esprimere una opinione tecnica
e sostenerla argomentando mi dispiace.
 
Se invece, come sembri intendere, in questo gruppo
i frequentatori non sono in grado di discutere nel merito e
il tutto finisce sempre in litigi, flame, risse, alterchi
personali, OT...allora capisco, ma se e' cosi' tanto vale non
scriverci proprio.
 
Saluti.
 

 Non ho tempo per vedere il video.
 
Ah, si, e il signore vuole essere imboccato?
Quella è testimonianza di prima mano, di una persona autorevole.
Dall'altra parte, io non ho tempo da perdere scrivendo per te cose che
qualcuno ha già formulato in modo chiaro e conciso.


Ma vaffanculo va', sei peggio di chi si azzuffa.
Chiudo.
 
 
 


Ah, però. A una frase sarcastica (del tutto appropriata) rispondere
con un insulto?  Fai bene a "chiudere". CHiudo anch'io per quanto
possa riguardare te. PLONK!