|
|
|
![]() |
|
Strumenti |
![]() |
#241 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non ho mai mancato di fornire argomentazioni, comunque.
Tra l'altro se ti vai a rileggere il thread, non sono intervenuto proponendo Python "a gamba tesa", ignorando il topic: ne ho parlato quando l'utente ha detto di essere completamente a digiuno di programmazione e aveva l'esigenza di IMPARARE A PROGRAMMARE. Cerchiamo di contestualizzare... ![]() Quanto alla possibilità che sviluppi driver, beh, che dire: mi sembra DECISAMENTE PREMATURO. ![]() Ci lamentiamo dei programmatori che "sovraingegnerizzano" il codice, perché "magari in futuro X, Y e Z potranno servire, anche se al momento non ce ne facciamo una mazza", e poi facciamo ipotesi su quello che in futuro (REMOTO, visto che scrivere driver non è certo roba da poco: vedi messaggi di Alberto) potrebbe fare uno che non sa nemmeno cos'è una variabile... ![]()
__________________
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 |
![]() |
![]() |
![]() |
#242 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quindi secondo te uno che inizia dovrebbe automaticamente cominciare con Python sempre e comunque ? Secondo me dipende anche dalle motivazioni per cui inizia a programmare.
Di conseguenza io ho consigliato C# per diminuire il suo percorso di apprendimento, visto che un giorno vorrebbe andare a lavorare a basso livello. Credo che un percorso di apprendimento Python -> C# -> C++ sia ben più lungo di un percorso C# -> C++, nonostante la supposta facilità di apprendimento del Python rispetto al C#, soprattutto considerando la distanza fra questi due linguaggi. |
![]() |
![]() |
![]() |
#243 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Il concetto per me (lo sottolineo: è una mia opinione) è semplice: con Python imparerebbe più velocemente, e una volta acquisita la mentalità del programmatore passare a un altro linguaggio non sarebbe difficile.
E' una mia opinione, e l'ho semplicemente espressa, come fanno altri che propongo C#, Java, C++ (!), C (!!), assembly, ecc. ecc. ![]()
__________________
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 |
![]() |
![]() |
![]() |
#244 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Per usare Python da shell devi scaricare qualcosa? Si'. L'ambiente. Per usare C# da shell devi scaricare qualcosa? Si'. Il programmino che ti fa da shell. Che sia terze parti, prime parti, prodotto dal padre eterno in persona non cambia nulla, C# puo' essere usato da shell esattamente come Python scaricando l'apposito strumento. Con C# neppure ti serve l'SDK, ti basta il programmino. Come volevasi dimostrare.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#245 | |||||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
A me sembra un comportamento normale. E suppongo anche che tu abbia fatto il refactor a diritto, per cui trovandosi con un conflitto di nomi 2 classi uguali nello stesso namespace ha fatto casini. Forse in un caso simile potrebbe avvisare del problema e non eseguire le modifiche. Quote:
Quote:
Personalmente non vorrei mai un comportamento simile. Quote:
E Refactor! effettua il refactoring solo all'interno del file cpp e relativo h, bello strumento di refactoring! M$ prevede di fornire uno strumento di refactoring C++ per il successore del successore di VS2008 ![]() Quote:
Se penso che sotto Linux non c'è un IDE C++ che abbia la possibilità di muovere a piacere l'istruzione attuale durante il debug, nè di visualizzare il contenuto delle classi... A volte mi chiedo come si faccia a sviluppare così. La produttività di un linguaggio, secondo me, è legata anche all'IDE. |
|||||
![]() |
![]() |
![]() |
#246 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Comunque a me basta l'intellisense e un robusto debug e sono contento. Ho scoperto da poco che con VisualStudio posso piazzare breakpoint non solo sul codice C#, ma anche sul javascript e pure sul TSql delle stored procedure di Sql-Server. In questo modo si puo' seguire tutta la catena dei 3 livelli, quando si deve andare a cercare un baco ben nascosto.
__________________
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. |
|
![]() |
![]() |
![]() |
#247 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 1278
|
Riporto un link che ho postato altrove dove ci sono delle considerazioni
interessanti fatte sa Steve Yegge Qui le caratteristiche per un linguaggio mainstream : http://steve-yegge.blogspot.com/2007...-language.html in sintesi riporto : ( Edit: nel link vi sono le motivazioni per ogni Rule ![]()
2. Array slicing and other intelligent collection operators 3. Perl 5 compatible regular expression literals 4. Destructuring bind (e.g. x, y = returnTwoValues()) 5. Function literals and first-class, non-broken closures 6. Standard OOP with classes, instances, interfaces, polymorphism, etc. 7. Visibility quantifiers (public/private/protected) 8. Iterators and generators 9. List comprehensions 10. Namespaces and packages 11. Cross-platform GUI 12. Operator overloading 13. Keyword and rest parameters 14. First-class parser and AST support 15. Static typing and duck typing 16. Type expressions and statically checkable semantics 17. Solid string and collection libraries 18. Strings and streams act like collections
altre considerazioni : I think a truly great language would support Erlang-style concurrency, would have a simpler syntax and a powerful macro system, and would probably have much better support for high-level declarative constructs, e.g. path expressions, structural dispatch (e.g. OCaml's match ... with statement) and query minilanguages. Among other things.The features I've outlined are basically the minimal set of requirements for not sucking. At least off the top of my head; I've probably overlooked a few.
__________________
Non esistono grandi uomini, solo grandi ambizioni , realizzate da qualcuno che si è alzato dalla sedia per realizzarle! |
![]() |
![]() |
![]() |
#248 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#249 | |||||||||
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
Quote:
Ovviamente non poteva avere un nome di file uguale essendoci già il file originale nella stessa directory. Quote:
Invece nel file di destinazione il nome della classe era uguale al nome del file originario. Quote:
Ovviamente me ne sono accorto solo quando sono andato a riaprire il file originale nel designer.... ![]() Quote:
![]() Quote:
![]() Quote:
Ma in effetti fa lo stesso anche se fai un semplice rename di file o se lo sposti di package. Tutto in automatico e finora non mi pare mai di averlo visto creare casini. Quote:
![]() ennesimo motivo per non programmare in c++... come se non ce ne fossero già abbastanza ![]() Quote:
Quote:
l'IDE ti migliora di moltissimo la produttività.
__________________
![]() |
|||||||||
![]() |
![]() |
![]() |
#250 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
Quote:
![]() per fortuna per progetti grandi ho sempre usato Eclipse...altrimenti mi sarei sparato credo ![]() questo qui è un progettino da poche migliaia di LOCs ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#251 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
![]() |
![]() |
![]() |
#252 | ||||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() Avendo copiato il file lui ha preso come riferimento sottostante la stessa partial class (generata automaticamente dall'editor) del file originale. In questo caso è un problema che niente ha a che vedere con il refactoring, questo è proprio un problema intrinseco del funzionamento del C# dal 2.0 in poi. Quote:
Quote:
Quote:
M$ sta spingendo il .NET e tutto il resto è rimasto fermo, quindi chi sviluppa in C++ è un cretino da trascurare. |
||||
![]() |
![]() |
![]() |
#253 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Si'. La preghiera.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
#254 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Della shell possiamo fare a meno, infatti. Il concetto è che io questo: Codice:
pippo = open('Pippo.txt').read() t = 0 for ch in pippo: if ch == 'a': t += 1 print "Ecco i caratteri 'a': ", t Io posso: - aprirmi un prompt dei comandi e digitare python Pippo.py per lanciarlo; - trascinare l'icona di Pippo.py nel file pythonw.exe; - aprirmi un prompt dei comandi, digitare python senza argomenti per lanciare la shell interattiva, e incollare il codice di cui sopra; - usare qualunque IDE che abbia scaricato da qualunque posto e darglielo in pasto. Il sorgente non mi cambia di una virgola: è quello. La scelta di come farlo eseguire, è tutta mia. In C#, oltre al codice "nudo e crudo" che ti fa il lavoro vero e proprio devi inserire il "contorno" di cui parlavo prima: Codice:
using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Stampofile { class Program { static void Main(string[] args) { // Qui ci sta il codice vero e proprio. } } } Per lavorare in C# almeno un compilatore da riga di comando MS te lo dà, Mono su Linux & OS X pure. Non v'è, dunque, alcuna differenza: qualcosa per compilare il codice devi averlo, per poi poterlo eseguire. Questo è il concetto fondamentale e spero che almeno su questo saremo tutti d'accordo. Della shell, infatti, possiamo farne a meno, non c'è problema: tanto la questione che era stata sollevata era un'altra, e cioé che il codice di cui sopra in Python non richiede nessun "contorno", qualunque sia l'ambiente sul quale lo farai girare: command line, shell interattiva, IDE, ecc. Poi ognuno è libero di scaricarsi tutte le utility di questo mondo, non c'è problema. ![]()
__________________
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 |
|
![]() |
![]() |
![]() |
#255 | |||||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Quote:
Quote:
Quote:
Quote:
L'ambiente .NET, inoltre, ti fornisce la flessibilita' di poterlo (non doverlo) scrivere da solo dove necessario. Stai facendo grossa confusione fra l'ambiente che fa da host al linguaggio, e la grammatica del linguaggio. Scrivere o meno quel contorno non e' una caratteristica del linguaggio, ma dell'ambiente nel quale questo linguaggio e' ospitato. Mi sembra di discutere con Criceto :|
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 28-03-2008 alle 12:38. |
|||||
![]() |
![]() |
![]() |
#256 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
OK, quindi puoi scrivere questo:
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); Giusto per capire.
__________________
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 |
![]() |
![]() |
![]() |
#257 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Fortunatamente no
![]() Sono l'unico che on ci vede assolutamente alcun vantaggio nel poterlo fare ? Se ci fate caso è la stessa cosa che permette di fare il "blasonato" PHP ![]() |
![]() |
![]() |
![]() |
#258 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Assolutamente si'. Tutta la parte di Code Generation e CodeDom di C# e' ottima.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
#259 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() La similitudine con PHP finisce qui: in Python ogni file è un modulo, con tutte le conseguenze del caso. PHP, invece, è il degno erede del C: include a manetta. Sono due approcci completamente diversi. ![]() Quote:
Va bene, grazie ![]()
__________________
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 |
||
![]() |
![]() |
![]() |
#260 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:09.