View Full Version : [F#]
Lo getto qui, non ne so nulla.
Ho un collega matematico che e' appassionato di Phyton e di Lisp.
E' un paio di settimane che sta guardando il linguaggio F#, che sarebbe uno dei tanti nuovi linguaggi che possono essere compilati per il .NET
Mi ha detto che e' abbastanza simile al Phyton, ed e' anche abbastanza "matematico" per i suoi gusti.
E' perfettamente integrato con Visual Studio.
Che e' interessato puo' darci un'occhiata.
http://www.visualstudiogallery.com/ExtensionDetails.aspx?ExtensionId=c70bfddf-b6a1-407c-b010-3409e334bb00
Io sono decisamente interessato e lo seguo da un po' a spizzichi e bocconi.
cdimauro
15-03-2008, 12:17
Lo getto qui, non ne so nulla.
Ho un collega matematico che e' appassionato di Phyton e di Lisp.
E' un paio di settimane che sta guardando il linguaggio F#, che sarebbe uno dei tanti nuovi linguaggi che possono essere compilati per il .NET
Mi ha detto che e' abbastanza simile al Phyton, ed e' anche abbastanza "matematico" per i suoi gusti.
E' perfettamente integrato con Visual Studio.
Che e' interessato puo' darci un'occhiata.
http://www.visualstudiogallery.com/ExtensionDetails.aspx?ExtensionId=c70bfddf-b6a1-407c-b010-3409e334bb00
Simile a Python no, eh! :p Ma è un linguaggio MOOOOLTO interessante.
Tra l'altro con Python sto riscoprendo il piacere della programmazione funzionale, che avevo assaporato all'università con LISP & Scheme, e debbo dire che il matematico sopito che alberga in me se ne compiace non poco... :D
Ecco perché, tutto sommato, F# come linguaggio m'è piaciuto molto, rispetto a tanti "nuovi" linguaggi che escono fuori come funghi ormai. Mi sembra molto ben strutturato e noto una profonda ricerca del suo creatore in ogni suo dettaglio.
Comunque qui si va spesso a gusti: se piace la sintassi e l'approccio di F# alla risoluzione dei problemi, allora può diventare il linguaggio prediletto.
Personalmente continuo a preferire la Python, perché mi piace molto la filosofia che ci sta dietro e la semplicità (e leggibilità) della sua sintassi.
kernel::panic
15-03-2008, 15:11
Premetto che quelle poche volte che ho cercato di capire del codice scritto in Python, ed ora in F#, mi è venuto mal di testa dopo pochi minuti :D (forse è la mia abitudine ai linguaggi "graffa-based", in quanto ho sempre lavorato con quelli)... quindi potete immaginare il mio livello di conoscenza di questi linguaggi! :D
Vorrei chiedere a chi conosce e usa questi linguaggi, in quali ambiti vengono pricipalmente usati e, in questi ambiti, che cosa hanno di meglio rispetto ad un C++ o C#?
Inoltre ha senso imparare questi linguaggi a scopo lavorativo? Sono diffusi? Perchè in nessuna delle aziende in cui ho lavorato in consulenza li utilizzavano.
Grazie e ciao :)
PS: per chi fosse interessato è nato anche Cobra un altro linguaggio che compila in IL:
Cobra is a general purpose programming language with:
* a clean, high-level syntax
* static and dynamic binding
* first class support for unit tests and contracts
* compiled performance with scripting conveniences
* ...and more
http://cobra-language.com/
cdimauro
15-03-2008, 15:45
Con Python riesco a risolvere problemi anche in 1/10 del tempo rispetto a quanto farei con linguaggi come C/C++, Java, et similia.
Inoltre ha una sintassi molto semplice e leggibile (al codice Python è stata data la definizione di "pseudocodice eseguibile").
In azienda ormai da 3 anni e mezzo lavoro quasi esclusivamente con Python, e aziende come Google (dove lavora il creatore del linguaggio), Yahoo, IBM, ecc. lo usano parecchio.
Per Cobra, appena ho tempo gli do un'occhiata, grazie. :)
F# con python non c'entra niente.
F# deriva fortemente da OCaml, a sua volta una derivazione di ML, solo che è integrato con .net e quindi può far uso di tutto il relativo framework.
Detto questo, la sintassi non mi piace ma sono in molti a lodarlo. Anche se avrei preferito una implementazione di haskell in .net :P
kernel::panic
16-03-2008, 17:51
Con Python riesco a risolvere problemi anche in 1/10 del tempo rispetto a quanto farei con linguaggi come C/C++, Java, et similia.
Inoltre ha una sintassi molto semplice e leggibile (al codice Python è stata data la definizione di "pseudocodice eseguibile").
In azienda ormai da 3 anni e mezzo lavoro quasi esclusivamente con Python, e aziende come Google (dove lavora il creatore del linguaggio), Yahoo, IBM, ecc. lo usano parecchio.
Per Cobra, appena ho tempo gli do un'occhiata, grazie. :)
Ok, grazie, in effetti avevo letto che il Pitone è molto usato in Google... non sapevo di Yahoo e IBM...
Quando avrò un pò di tempo cercherò di studiarlo un pò, se non altro per capirne le potenzialità.
Ciao ;)
F# con python non c'entra niente.
F# deriva fortemente da OCaml, a sua volta una derivazione di ML, solo che è integrato con .net e quindi può far uso di tutto il relativo framework.
Detto questo, la sintassi non mi piace ma sono in molti a lodarlo. Anche se avrei preferito una implementazione di haskell in .net :P
Concordo... tra l'altro tra i linguaggi della famiglia ML hanno scelto proprio quello con la sintassi peggiore :p.
Adesso che mi è venuto in mente...
Se volete usare un linguaggio con una sintassi stile ocaml/f# ma più decente, date un'occhiata a Scala.
http://www.scala-lang.org/
http://en.wikipedia.org/wiki/Scala_%28programming_language%29
E' un linguaggio multi-paradigma che compila su jvm/.net
E' la nuova moda poi...tutti i cool kids lo stanno scoprendo :)
^TiGeRShArK^
16-03-2008, 21:29
Lo getto qui, non ne so nulla.
Ho un collega matematico che e' appassionato di Phyton e di Lisp.
E' un paio di settimane che sta guardando il linguaggio F#, che sarebbe uno dei tanti nuovi linguaggi che possono essere compilati per il .NET
Mi ha detto che e' abbastanza simile al Phyton, ed e' anche abbastanza "matematico" per i suoi gusti.
E' perfettamente integrato con Visual Studio.
Che e' interessato puo' darci un'occhiata.
http://www.visualstudiogallery.com/ExtensionDetails.aspx?ExtensionId=c70bfddf-b6a1-407c-b010-3409e334bb00
..ma stai cercando un nuovo linguaggio da studiarti? :D
..ma stai cercando un nuovo linguaggio da studiarti? :D
Eheh. Per ora no, e' che non mi sono mai ritenuto monotematico.
Se lo fossi stato a ques'ora stare ancora programmando l'assembler del 6502 e del 8502. E forse starei facendo la fame...
Se qualcuno mi dimostra/mi rendo conto che per un determinato problema un linguaggio o paradigma e' decisamente piu' efficiente di quello che uso, allora lo abbraccio molto volentieri.
Il continuare a guardarsi intorno e' una condizione necessaria per il nostro lavoro, altrimenti basta sedersi per 3-4 anni e sei tagliato fuori.
Quelli che non riescono piu' a starci dietro finiscono per fare i PM puri, e la cosa mi spiacerebbe.
^TiGeRShArK^
16-03-2008, 21:54
Eheh. Per ora no, e' che non mi sono mai ritenuto monotematico.
Se lo fossi stato a ques'ora stare ancora programmando l'assembler del 6502 e del 8502. E forse starei facendo la fame...
Se qualcuno mi dimostra/mi rendo conto che per un determinato problema un linguaggio o paradigma e' decisamente piu' efficiente di quello che uso, allora lo abbraccio molto volentieri.
Il continuare a guardarsi intorno e' una condizione necessaria per il nostro lavoro, altrimenti basta sedersi per 3-4 anni e sei tagliato fuori.
Quelli che non riescono piu' a starci dietro finiscono per fare i PM puri, e la cosa mi spiacerebbe.
quoto in toto..
anche se mi sfugge chi sono i PM :asd:
quoto in toto..
anche se mi sfugge chi sono i PM :asd:
Sono i Project Manager.
In pratica il responsabile di progetto, colui che pianifica le tempistiche e assegna i micro-lavori ai componenti del gruppo.
A differenza del Project Engineer, un PM non e' tenuto a saper fare il lavoro dei componenti del gruppo. Anche avendo a disposizione tutto il tempo che vuole non e' tenuto a saper fare il lavoro. Un po' come uno schedulatore umano, che viene cazziato da una parte e cazzia dall'altra.
La figura piu' completa e' quella del Project Engineer, o anche Technical Architect.
Lui riceve le specifiche, studia la soluzione e disegna l'applicazione e poi non e' raro che si trasformi in PM. Ne e' responsabile in tutto e per tutto.
Ma avendo 2 anni a disposizione potrebbe fare anche tutto da solo.
^TiGeRShArK^
16-03-2008, 22:10
Sono i Project Manager.
In pratica il responsabile di progetto, colui che pianifica le tempistiche e assegna i micro-lavori ai componenti del gruppo.
A differenza del Project Engineer, un PM non e' tenuto a saper fare il lavoro dei componenti del gruppo. Anche avendo a disposizione tutto il tempo che vuole non e' tenuto a saper fare il lavoro. Un po' come uno schedulatore umano, che viene cazziato da una parte e cazzia dall'altra.
La figura piu' completa e' quella del Project Engineer, o anche Technical Architect.
Lui riceve le specifiche, studia la soluzione e disegna l'applicazione e poi non e' raro che si trasformi in PM. Ne e' responsabile in tutto e per tutto.
Ma avendo 2 anni a disposizione potrebbe fare anche tutto da solo.
Ah..
e si che lo so che cosa fa un project manager :asd:
è che non l'avevo mai sentito chiamare PM mi pare..:p
Le cose che ho associato nell'ordine a PM sono state:
1) Private Message
2) Pubblico Ministero
3) AM/PM
:fagiano:
Lui riceve le specifiche, studia la soluzione e disegna l'applicazione
ARGH
ARGH
Beh chiaramente dipende dalla dimensione del progetto.
Non per tutti i progetti c'e' una sola figura, e comunque non prende quasi mai tutte le scelte da solo.
Oppure ho solo sbagliato a scrivere in Italiano? Boh?
cdimauro
17-03-2008, 07:59
Eheh. Per ora no, e' che non mi sono mai ritenuto monotematico.
Se lo fossi stato a ques'ora stare ancora programmando l'assembler del 6502 e del 8502. E forse starei facendo la fame...
Se qualcuno mi dimostra/mi rendo conto che per un determinato problema un linguaggio o paradigma e' decisamente piu' efficiente di quello che uso, allora lo abbraccio molto volentieri.
Il continuare a guardarsi intorno e' una condizione necessaria per il nostro lavoro, altrimenti basta sedersi per 3-4 anni e sei tagliato fuori.
Quelli che non riescono piu' a starci dietro finiscono per fare i PM puri, e la cosa mi spiacerebbe.
Prima di guardare all'efficienza dovresti pensare a scrivere codice funzionante, e soltanto se le prestazioni non risultassero adeguate andare a caccia delle sezioni "critiche" e cercando una soluzione algoritmica.
Visto che la prima cosa che devi fare è trovare la soluzione al problema, per un programmatore è fondamentale farlo nel più breve tempo possibile, e quindi guardare alla PRODUTTIVITA' che un linguaggio ti permette di ottenere.
Oltre alla produttività, poi, considera il fattore della manutenibilità, visto che capiterà di doverci rimettere mano. ;)
Prima di guardare all'efficienza dovresti pensare a scrivere codice funzionante, e soltanto se le prestazioni non risultassero adeguate andare a caccia delle sezioni "critiche" e cercando una soluzione algoritmica.
Visto che la prima cosa che devi fare è trovare la soluzione al problema, per un programmatore è fondamentale farlo nel più breve tempo possibile, e quindi guardare alla PRODUTTIVITA' che un linguaggio ti permette di ottenere.
Oltre alla produttività, poi, considera il fattore della manutenibilità, visto che capiterà di doverci rimettere mano. ;)
Sono perfettamente d'accordo.
Per me "efficienza" significa solo questo, essendo che non sono in ambito real time, ne matematico ne dove occorre spremere l'ultimo Hertz.
Senza togliere nulla al fatto che si deve quanto piu' possibile cercare soluzioni snelle. Ma molte volte le cose vanno a braccetto.
Ei per quello che ho scritto in altri post.
Ed e' per quello che ho inziato questo...
http://www.hwupgrade.it/forum/showthread.php?t=1702051
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.