Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese di utilizzo intensivo e l'analisi di oltre 50 scatti, l'articolo offre una panoramica approfondita di Nintendo Switch 2. Vengono esaminate le caratteristiche che la definiscono, con un focus sulle nuove funzionalità e un riepilogo dettagliato delle specifiche tecniche che ne determinano le prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-03-2008, 07:31   #181
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da fek Guarda i messaggi
Non credo finche' avro' un po' di senso critico.
Cesare, ormai consigli Python per tutto e questo dovrebbe farti suonare un campanello d'allarme. E' come se consigliassi di usare sempre un martello perche' ti ci trovi bene a piantare chiodi. Ma se provi a tagliartici le unghie dei piedi ti fai male
Non mi sembra d'aver consigliato di scrivere s.o. o driver con Python finora: il dominio applicativo è sempre stato tranquillamente alla portata di questo linguaggio.

Quando comincerò a farlo, siete autorizzati a chiamare la neuro.
Quote:
Originariamente inviato da cionci Guarda i messaggi
Infatti ho consigliato C#
Che non ho mai considerato un pessimo linguaggio mi pare. A me piacciono i linguaggi managed, solo che fra questi prediligo quelli più semplici e produttivi.
Quote:
Originariamente inviato da 71104 Guarda i messaggi
non capisco ora come sia saltata fuori questa cosa dell'ottimo programmatore,
E' una consecutio: non si arriva a scrivere driver dalla mattina alla sera.
Quote:
comunque:

1) non hai la minima idea delle proporzioni dei vari tratti della curva d'apprendimento; se per imparare a programmare in paradigma procedurale basta una settimana, per imparare a scrivere drivers sensati e che non diano schermata blu appena caricati... ma che dico, anche solo per caricare un driver nel kernel di Windows, servono un paio d'anni; se credi che sia un'esagerazione ti sbagli.
Ho già letto diverse volte i tuoi commenti in merito.
Quote:
viste le proporzioni ed ipotizzando un niubbo (cioè uno a digiuno totale) che si ponga come obiettivo la realizzazione di un driver funzionante, consigliare di partire da Python è completamente fuor di luogo, è un allungamento inutile dei tempi; gli stai consigliando di imparare qualcosa che non gli servirà e che si potrebbe forse identificare come ciò che tu definisci l' "essere un ottimo programmatore".
Posto che gli auguro di non sviluppare mai un driver, con Python potrebbe apprendere velocemente a programmare e formarsi senza i tanti sbattimenti che trovi con linguaggi come C, C++ et similia.

Se, una volta maturato come programmatore, dovesse sentire l'esigenza di scendere così a basso livello, nessuno gli impedisce di imparare altri dettagli e altri linguaggi.

Ma al momento, come dici, è a totale digiuno e non sappiamo nemmeno se si fermerà al classico "Hello, world!"...
Quote:
2, 3) embè?
Vedi all'inizio.
Quote:
chiarissimo: non hai mai scritto drivers per Windows.
(e ora mi spara "per Windows no, ma su <esotica architettura anni '70 di un mondo che non c'è più, stile bus dati a 4 bit> programmavo col generatore di segnali digitali: davo in input uni e zeri e costruivo man mano gli opcode del codice macchina ")
No, non ho mai scritto driver per Windows e mi ritengo fortunato.
Quote:
Originariamente inviato da 71104 Guarda i messaggi
un driver è un programma strano: è totamente privo di logica se non per un paio (a dir proprio tanto) d'algoritmi che può capitare di dover implementare in qualche routine e che sono descritti passo passo su MSDN in una maniera a prova di deficiente (praticamente leggi la descrizione del codice in inglese: "chiama questo passandogli questo e quest'altro, chiama quell'altro..."). un driver è solo un sacco di entry points che ti vengono chiamati e all'interno dei quali devi fare determinate cose, dettagliatamente descritte nello stile di cui sopra.
Chiaro. Il concetto di driver mica è cambiato con Windows.
Quote:
stando così le cose i segmentation fault e le doppie delete sono praticamente impossibili, purché al programmatore sia chiaro quale routine di deallocazione vada associata a quale routine di allocazione (e questo Python non te lo insegna).
Lo puoi imparare dopo, quando ti servirà.

Comunque se puoi scrivere un driver con un qualunque linguaggio .NET, sulla carta puoi benissimo farlo anche con IronPython. Poi bisogna vedere se e quanto sarebbe conveniente farlo, ma qui fermo per mancanza di esempi e/o documentazione in materia.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 07:51   #182
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Che non ho mai considerato un pessimo linguaggio mi pare. A me piacciono i linguaggi managed, solo che fra questi prediligo quelli più semplici e produttivi.
cdimauro, penso che tu lo conosca quindi il C#.
Non ho trovato ancora un esempio in cui Python possa essere preso a modello per risolvere un problema piu' velocemente o piu' "elegantemente" del C#.
Mi aiuti a trovare qualcosa?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:00   #183
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non riguarda proprio C#, ma intanto puoi provare a leggere questo http://www.mindviewinc.com/downloads...LovePython.zip documento di Bruce Eckel.

Per quanto riguarda la "misura" della produttività, bisognerebbe fare delle prove. Io sono disponibile, eventualmente non si riescano a trovare in giro.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:19   #184
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
Certo che paragonare un linguaggio nuovo con uno vecchio di 30 anni (il C fra poco spegne 30 candeline) non mi sembra proprio equo.
E ho anche tanto l'impressione che il sig.Eckel il C# non l'abbia mai neppure aperto. (Annoiato perche' il C# ha tolto tutte le cose interessanti del C? E quali sarebbero le cose piu' interessanti del C, quelle che il C# ha tolto e il Phyton ha invece tenuto?)

Penso che il documento che mi hai passato non sia il campo giusto d'indagine. Il messaggio che mi ha passato e' che il Phyton e' un linguaggio adatto a chi non sa fare le cose e vuole farle velocemente.
Non e' pero' lo scopo degli addetti ai lavori. Un addetto ai lavori che "Si dimentica come fare per leggere un file" nel linguaggio di programmazione che usa per scopo professionale, mi sa che ha sbagliato mestiere.

Il C# comunque e'
byte[] eccoli = File.ReadAllBytes("Pippo.dat"); // se vuoi tutti i byte del file
string pippo = File.ReadAllText("Pippo.txt"); // se vuoi che ti venga invece restituita una stringa, supposto il file come file di testo.
Senza aprire, chiudere, dichiarare o fare alcunche'.
Se non se lo ricorda gli consiglio prima un corso di inglese, e poi di informatica.

Davvero, questo x10 nei confronti del C# non lo vedo proprio.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 27-03-2008 alle 08:22.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:27   #185
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quella presentazione è del 2001.

Gli esempi che hai fatto, ma in Python:

eccoli = open('Pippo.dat').read()
pippo = open('Pippo.Txt').readline()

Basta scriverli così come sono, e... funziona tutto.

Mi faresti vedere il sorgente completo in C# per eseguire quanto hai scritto prima?

Comunque sono esempietti. Vogliamo prendere qualcosa un po' complesso della banale lettura di qualche dato? Mettiamoci almeno qualche operazione di filtraggio / manipolazione, no?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:41   #186
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Quella presentazione è del 2001.

Gli esempi che hai fatto, ma in Python:

eccoli = open('Pippo.dat').read()
pippo = open('Pippo.Txt').readline()

Basta scriverli così come sono, e... funziona tutto.

Mi faresti vedere il sorgente completo in C# per eseguire quanto hai scritto prima?

Comunque sono esempietti. Vogliamo prendere qualcosa un po' complesso della banale lettura di qualche dato? Mettiamoci almeno qualche operazione di filtraggio / manipolazione, no?
Chiaro, solo esempietti, comunque e' proprio tutto li'

Codice:
using System;  
using System.Collections.Generic;
using System.Text; 
using System.IO; 

namespace Stampofile
{ 
    class Program
    {
        static void Main(string[] args)
        {
            string pippo = File.ReadAllText("Pippo.txt");
            Console.WriteLine(pippo);
        }
    }
}
Le uniche 2 righe che ho scritto io sono proprio quelle li', dentro la Main.
Il resto e' stato scritto da lui, appena dopo aver creato un nuovo Programma di tipo "Console Application"

Per intenderci, il C# non e' stato studiato per fare Console Application, ovvero programmi su linea di comando. Il contorno sarebbe stato quasi tutto "bypasato" se il C# sapesse fare solo quello e se quindi molte di quelle cose fossero implicite.

Vogliamo provare a fare la stessa cosa scrivendo in una bella Finestra o applicazione grafica il contenuto del testo, in un controllo a piacere, tipo una TextBox? Anche senza alcuna interazione utente. Parte, legge pippo.txt e mette tutto il testo su una zona a piacere di una finestra.

Per condire il tutto, vogliamo poi invece provare a stampare magari, invece del testo, il numero delle 'a' che sono presenti nel testo letto? (Giusto per accogliere la tua proposta di cucinare i dati). Meglio se gli esempi li cerchi tu, io sono piu' bravo a risolvere gli esercizi piuttosto che inventarli.
E comunque per me non e' che "vince" chi scrive meno righe. Non mi interessa.
Secondo me vince chi scrive la cosa che si legge meglio oppure che usa un modo che difficilmente puo' portare ad errori di programmazione (peggio ancora errori che si beccano a RunTime come nel javascript)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:52   #187
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Le uniche 2 righe che ho scritto io sono proprio quelle li', dentro la Main.
Ora Cesare ti dirà che in Python bastano solo due righe senza il contorno perché Python è multiparadigma.
Una delle critiche che muovo a Python è proprio questa: permette di mescolare paradigmi diversi di programmazione, questa cosa cosa creerà problemi a chiunque debba iniziare a programmare con Python. Agli stessi livelli di chi inizia con C++.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 08:56   #188
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Chiaro, solo esempietti, comunque e' proprio tutto li'

Codice:
using System;  
using System.Collections.Generic;
using System.Text; 
using System.IO; 

namespace Stampofile
{ 
    class Program
    {
        static void Main(string[] args)
        {
            string pippo = File.ReadAllText("Pippo.txt");
            Console.WriteLine(pippo);
        }
    }
}
Le uniche 2 righe che ho scritto io sono proprio quelle li', dentro la Main.
Il resto e' stato scritto da lui, appena dopo aver creato un nuovo Programma di tipo "Console Application"

Per intenderci, il C# non e' stato studiato per fare Console Application, ovvero programmi su linea di comando. Il contorno sarebbe stato quasi tutto "bypasato" se il C# sapesse fare solo quello e se quindi molte di quelle cose fossero implicite.
C# è un linguaggio non un IDE.
Quote:
Vogliamo provare a fare la stessa cosa scrivendo in una bella Finestra o applicazione grafica il contenuto del testo, in un controllo a piacere, tipo una TextBox? Anche senza alcuna interazione utente. Parte, legge pippo.txt e mette tutto il testo su una zona a piacere di una finestra.
Non ho mai scritto applicazioni dotate di GUI in Python, quindi non potrei proseguire col confronto, a meno che qualcuno che c'abbia già lavorato non mi dia una mano (o sia lui stesso a "raccogliere la sfida").
Quote:
Per condire il tutto, vogliamo poi invece provare a stampare magari, invece del testo, il numero delle 'a' che sono presenti nel testo letto? (Giusto per accogliere la tua proposta di cucinare i dati). Meglio se gli esempi li cerchi tu, io sono piu' bravo a risolvere gli esercizi piuttosto che inventarli.
Ecco qui:

print 'Nel testo letto ci sono %s caratteri a' % len([Ch for Ch in pippo if Ch == 'a'])



Comunque se definisco io i problemi da risolvere poi sarei tacciato d'esser di parte. Che lo faccia qualcun altro, che è meglio.
Quote:
E comunque per me non e' che "vince" chi scrive meno righe. Non mi interessa.
Secondo me vince chi scrive la cosa che si legge meglio oppure che usa un modo che difficilmente puo' portare ad errori di programmazione (peggio ancora errori che si beccano a RunTime come nel javascript)
Qui stai già ponendo altre condizioni. Prima si parlava di produttività in quanto tale.
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ora Cesare ti dirà che in Python bastano solo due righe senza il contorno perché Python è multiparadigma.
Una delle critiche che muovo a Python è proprio questa: permette di mescolare paradigmi diversi di programmazione, questa cosa cosa creerà problemi a chiunque debba iniziare a programmare con Python. Agli stessi livelli di chi inizia con C++.
No, ti dico che Python è un linguaggio a oggetti "puro", dove con ciò intendo che qualunque cosa è un oggetto.

Il poter esprimere dei concetti attraverso dei "paradigmi" è una semplice conseguenza logica delle PROPRIETA' che questi oggetti di Python mettono a disposizione.

Il concetto mi pare decisamente diverso, non trovi?

E problemi, comunque, non ne comporta. Non vedo perché dovrebbe comportarne. Se hai qualche esempio, fallo pure...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys

Ultima modifica di cdimauro : 27-03-2008 alle 09:00.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:01   #189
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
C# è un linguaggio non un IDE.
C# e tutti i linguaggi .Net di MS sono fra i pochi che si possono identificare con l'ide. Chi programmerà in C# su Windows avrà sicuramente Visual Studio o Visual Studio Express.
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
print 'Nel testo letto ci sono %s caratteri a' % len([Ch for Ch in pippo if Ch == 'a'])
Della serie: buttiamo a mare tutta quanto detto sulla leggibilità e sulla manutenibilità del codice.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:04   #190
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da cionci Guarda i messaggi
C# e tutti i linguaggi .Net di MS sono fra i pochi che si possono identificare con l'ide. Chi programmerà in C# su Windows avrà sicuramente Visual Studio o Visual Studio Express.
Python è multipiattaforma. C# pure. Stai limitando volutamente il dominio d'applicazione del linguaggio, e non mi pare giusto.
Quote:
Della serie: buttiamo a mare tutta quanto detto sulla leggibilità e sulla manutenibilità del codice.
Non era l'oggetto del contendere, e comunque per chi ha masticato un po' di insiemistica a scuola la sintassi della list comprehension è facilmente intuibile.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:06   #191
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
E problemi, comunque, non ne comporta. Non vedo perché dovrebbe comportarne. Se hai qualche esempio, fallo pure...
Non a te o a chi è padrone di altri linguaggi, ma a chi inizia Python come primo linguaggio: ho lodato per anni Java perché ti forzava ad esplicitare il paradigma di programmazione ad oggetti anche per un Hello World. Quindi rimango coerente con il mio pensiero: visto Python permette di mescolare programmazione procedurale e programmazione ad oggetti allora non è un bene per chi inizia, mi sembra che sia un ragionamento lineare, no ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:10   #192
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Python è multipiattaforma. C# pure. Stai limitando volutamente il dominio d'applicazione del linguaggio, e non mi pare giusto.
Davvero c'è qualcuno che usa a livello produttivo C# su piattaforme diverse da Windows ? Se c'è qualcuno lo fa solo per la comodità di non doversi imparare un altro linguaggio.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:12   #193
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Non era l'oggetto del contendere, e comunque per chi ha masticato un po' di insiemistica a scuola la sintassi della list comprehension è facilmente intuibile.
Produttività va a braccetto con manutenibilità e leggibilità, imho Posso anche essere 10 volte più veloce in Python a scrivere un programma, ma se dopo un mio collega che lo legge e lo deve modificare è 10 volte più lento ho perso qualsiasi vantaggio di produttività.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:12   #194
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Riccardo, mi riquoto:
Python è un linguaggio a oggetti "puro", dove con ciò intendo che qualunque cosa è un oggetto.

Il poter esprimere dei concetti attraverso dei "paradigmi" è una semplice conseguenza logica delle PROPRIETA' che questi oggetti di Python mettono a disposizione.
In soldoni: con Python lavori sempre e soltanto con OGGETTI, che ti mettono a disposizione delle PROPRIETA'.

In Java quando scrivi

int a = 1;

a NON è un oggetto.

Mentre in Python

a = 1

a contiene un oggetto.

I paradigmi di programmazione vengono fuori esclusivamente da come il programmatore utilizza gli strumenti / costrutti sintattici / oggetti (nel caso di Python, in particolare) che il linguaggio mette a disposizione.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:16   #195
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da cionci Guarda i messaggi
Davvero c'è qualcuno che usa a livello produttivo C# su piattaforme diverse da Windows ? Se c'è qualcuno lo fa solo per la comodità di non doversi imparare un altro linguaggio.
Mono non è per Windows, o sbaglio?

E non esiste soltanto perché qualcuno ha deciso di imparare un altro linguaggio.
Quote:
Originariamente inviato da cionci Guarda i messaggi
Produttività va a braccetto con manutenibilità e leggibilità, imho Posso anche essere 10 volte più veloce in Python a scrivere un programma, ma se dopo un mio collega che lo legge e lo deve modificare è 10 volte più lento ho perso qualsiasi vantaggio di produttività.
Certamente, ma tu stai facendo assunzione su cosa PER TE è leggibile oppure no.

Sei abituato a un approccio procedurale e/o a oggetti, non a uno funzionale / matematico, per cui un qualunque (perché Python non è certo il solo; tutt'altro) linguaggio permette di "operare" con insiemi di dati con costrutti come quello che ho usato ti sarà sempre poco leggibile.

Un matematico o una persona con una certa estrazione non la penserà certamente come te.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:16   #196
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
Comunque questa e' una soluzione "normale" in C#
che ritengo leggibile e di facile scrittura per quasi tutti.

Codice:
string pippo = File.ReadAllText("Pippo.txt");

int t = 0;
foreach (char ch in pippo)            
    if (ch == 'a') t++;
            
Console.WriteLine("Ecco i caratteri 'a': "+t);
Se invece vogliamo fare i fighi, anche in C# si possono fare cose carine.
Restano comunque leggibili, e per chi le sa maneggiare sono anche molto potenti.

Codice:
string pippo = File.ReadAllText("Pippo.txt");
int res=pippo.Where(u => u == 'a').Count();
Console.WriteLine("Ecco qui di nuovo i caratteri 'a': "+ res);
Dove quella u si legge
Prese pippo, estrai tutti i caratteri di pippo. Un carattere u e' da estrarre se e solo se u e' uguale ad 'a'. (E fino a li' abbiamo ancora una stringa).
Poi estrai invece il conteggio. Il conteggio restituisce un intero.

Ovviamente si puo' mettere anche qui tutto sulla stessa riga se vuoi, ma a me non piace proprio per nulla.
Quale e' il vantaggio di farlo? Scrivo piu' in fretta?
Io questa la boccio, e se mi permetti boccio anche la tua che non ha avuto voglia di scrivere almeno 2 righe.
Codice:
Console.WriteLine("Ecco qui di nuovo i caratteri 'a': "+ File.ReadAllText("Pippo.txt").Where(u => u == 'a').Count() );
Io sono della scuola
1 riga = 1 concetto
Se una riga stampa, non la faccio contare.
Se una riga conta, non la faccio leggere da file.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:17   #197
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
[quote=cdimauro;21740061]In Java quando scrivi

int a = 1;

a NON è un oggetto.

[/code]
in C' si'.
Anche a e' un oggetto.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:20   #198
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Codice:
pippo = open('Pippo.txt').read()

t = 0
for ch in pippo:
  if ch == 'a': t += 1

print "Ecco i caratteri 'a': ", t
Così va bene? Mi sembra comunque più semplice e leggibile di quanto hai scritto C#, e a cui manca tutto il "contorno".
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:24   #199
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
I paradigmi di programmazione vengono fuori esclusivamente da come il programmatore utilizza gli strumenti / costrutti sintattici / oggetti (nel caso di Python, in particolare) che il linguaggio mette a disposizione.
Scusa, ma questo mi sembra solo un modo per aggirare il problema. In Python puoi fare solo programmazione procedurale (anzi, anche programmazione senza alcun paradigma esplicito, cioè scrivendo codice direttamente nel "modulo", alla php tanto per intendersi) ? La risposta è sì, in Java puoi ? La risposta è no. Questo crea problemi a chi inizia con Python ? Secondo me la risposta è sì.
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Mono non è per Windows, o sbaglio?
Certo, mi riferivo proprio a Mono. Chi è tanto masochista da usare Mono su linux a livello produttivo ?

Ultima modifica di cionci : 27-03-2008 alle 09:27.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2008, 09:29   #200
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da cionci Guarda i messaggi
Scusa, ma questo mi sembra solo un modo per aggirare il problema. In Python puoi fare solo programmazione procedurale ? La risposta è sì, in Java puoi ? La risposta è no. Questo crea problemi a chi inizia con Python ? Secondo me la risposta è sì.
Anche in Java puoi fare solo programmazione procedurale, ed è inutile che ti mostri in che modo, perché lo puoi immaginare.

In Python hai la possibilità, combinando gli oggetti che ti mette a disposizione, di simulare diversi paradigmi di programmazione.
Quote:
Certo, mi riferivo proprio a Mono. Chi è tanto masochista da usare Mono su linux a livello produttivo ?
Non io, ma a quanto pare qualcuno lo usa: http://www.mono-project.com/Companie...o_uses_Mono.3F
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
vivo X200 FE: il top di gamma si è fatto tascabile? vivo X200 FE: il top di gamma si è fatto ...
2 minuti: il tempo per scorrere le 25 of...
Mini LED TCL: confronto tra le migliori ...
Robot aspirapolvere: questi sono i più a...
Portatile tuttofare Lenovo Core i5/16GB ...
Scende a 99€ il tablet 11" 2,4K con...
Amiga: quali erano i 10 giochi più belli
Driver più sicuri: Microsoft alza...
Ego Power+ ha la giusta accoppiata per l...
Scompiglio nei listini Amazon: prezzi im...
Sotto i 105€ il robot Lefant che lava, a...
Mini proiettori smart in offerta: uno co...
Smartwatch Amazfit in offerta: Balance o...
Windows XP ritorna: ecco come usarlo sub...
Arrow Lake in saldo: Intel taglia i prez...
LG C4 da 55'' a 899€ è il top per...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v