|
|
|
![]() |
|
Strumenti |
![]() |
#61 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Be', buon divertimento col C. Quando poi vorrai provare Python, apprezzerai la differenza.
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#62 |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
ma guarda... giusto perché credo che non come dicono tutti prima impari le cose semplici come il python e poi ti sporchi le mani, io credo invece che se prima si inizia con il più tosto e ti fai le ossa, poi riuscirai meglio in cose più semplici
![]()
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
![]() |
![]() |
![]() |
#63 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Il punto non è che python è più facile e/o permette di farla facile. Il punto è che il processo di realizzazione di un programma, passa attraverso una formulazione algoritmica. Questa fase è prettamente logica, espressa in termini di logica umana ed è molto distante dalla logica della macchina. Python ti permette di tradurre le idee che ti vengono in mente molto rapidamente in codice. C, no! |
|
![]() |
![]() |
![]() |
#64 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Tu stai cercando di imparare un linguaggio di programmazione: come dice saggiamente anche pabloski, ciò che invece sarebbe prioritario imparare è il modo in cui strutturare un "programma", cioè una lista ben formata di istruzioni che indichino al calcolatore elettronico come eseguire ciò che tu vuoi che esegua (che è la logica applicativa). Con un po' d'astrazione, puoi allenarti a fare ciò anche solo con carta e penna. ![]() Insomma, impara prima a programmare: poi ad imparare questo o quel linguaggio ci vorrà ben poco.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#65 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ah, e mi raccomando: divertiti con l'allocazione/deallocazione di memoria e con la manipolazione di stringhe!
![]() (Poi, però, prova Python e capirai il perché te lo consigliavano tutti.)
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#66 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
![]()
__________________
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 |
||
![]() |
![]() |
![]() |
#67 | |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
Quote:
si però se fosse come dici tu allora gli altri linguaggi di programmazione sarebbero tutti abbandonati per l'uso spropositato di Python che è il migliore al momento, invece i linguaggi più usati ancora oggi sono C/C++ e Java, questo vorrà dire qualcosa, perché evidentemente a qualcosa serviranno, quindi perché non avere un infarinatura anche di quelli?
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
|
![]() |
![]() |
![]() |
#68 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
nel ramo ingegneristico, la parola migliore è abolita....non esiste il più figo, il miglior in assoluto, Goldrake, ecc... Python è un linguaggio con un'espressività ineguagliata dagli altri, permette di scrivere software complesso con poche righe di codice, permette di concentrarsi sull'implementazione dell'algoritmo, astraendo completamente i dettagli ( l'allocazione di memoria citata da DanieleC88, ad esempio ). Ovviamente un programma python non sarà mai veloce quanto un binario compilato prodotto da un compilatore c o c++. Questo per farti capire che ogni linguaggio ha pro e contro. Un neofita che sta iniziando il suo percorso informatico, perchè diavolo dovrebbe badare alle performance?? |
|
![]() |
![]() |
![]() |
#69 |
Member
Iscritto dal: Aug 2004
Messaggi: 39
|
Premetto che sono iscritto a questo forum da parecchi anni (anche se sono tornato a frequentarlo solo recentemente dopo un lungo periodo di astinenza) e quindi ricordo bene nomi come cdimauro o DanieleC88.
Premetto anche che probabilmente son prevenuto, perché ho iniziato a programmare imparando il C, peraltro con una certa soddisfazione, e per di più da un libro pressoché sconosciuto, del quale infatti non ricordo nemmeno l'autore (qualcosa come Chedwick... boh!). Ma non capisco una cosa: per quale motivo per imparare a programmare bisogna scrivere algoritmi? Perché imparare a programmare significa necessariamente inquadrare i problemi e darne una rappresentazione di alto livello? Ricordo che quando io iniziai a programmare il mio obiettivo principale era capire cosa comporta scrivere un programma. Sarò della "vecchia guardia" (non ho nemmeno 26 anni...), ma secondo me il C è un buon linguaggio per partire. Non perché sia "tosto", anzi: il vantaggio maggiore del C è che è "semplice", nel senso di "piccolo", non complesso né complicato. Ciò consente di concentrarsi su pochi concetti, apprendere i meccanismi e la logica di base, approfondirli e fissarli bene in mente. In qualche modo fornisce delle basi. Chiaramente studiare il C è ben diverso dallo studiare le tre bibbie dell'Intel. Secondo me passare a un livello di astrazione maggiore è il passo successivo: è quello che poi si farà programmando nella "vita reale". Peraltro, tutti i linguaggi che ho imparato successivamente li ho appresi a un buon livello con la semplice pratica (tranne il C++), mentre tutti i miei colleghi di Università che invece son partiti da altri linguaggi si sono poi trovati in difficoltà a programmare in C, perché non si son messi a studiarlo per capirne i pochissimi concetti di base. Ho detto la mia. ![]() Ciao, Antonio
__________________
Quello che davvero mi interessa è se Dio, quando creò il mondo, aveva scelta. |
![]() |
![]() |
![]() |
#70 | ||
Member
Iscritto dal: Aug 2004
Messaggi: 39
|
Quote:
Quote:
Più avanti c'è scritto che si riferisce a "corsi riguardanti la semplice programmazione" con l'obiettivo di consentire "agli studenti di completare progetti concreti". Quando uno impara a programmare, secondo me, l'attenzione non è esclusivamente sugli algoritmi e realizzare progetti interi diventa secondario.
__________________
Quello che davvero mi interessa è se Dio, quando creò il mondo, aveva scelta. |
||
![]() |
![]() |
![]() |
#71 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Algoritmi in C++ di Sedgewick scommetto
![]() Comunque il problema l'hai inquadrato nella seconda parte, cioè riguardo il trovarsi davanti una classe di persone che, per forza di cose, non hanno nè la stessa propensione a maneggiare oggetti logici nè le stesse esperienze a riguardo. Ad esempio io, cominci col basic del c64. Poi, causa guasto di ben 2 c64 nel giro di 2 anni, abbandonai per altri 2-3 anni. Ricominciai con un pc olivetti con dos 3.3 e turbo pascal!! Pascal non è al livello del C come astrusità, ma di certo non è nemmeno un linguaggio di alto livello ( se per alto livello intendiamo robe tipo Python, Ruby, Lua, Javascript ). Filò tutto liscio. Poi studiai l'architettura x86, assembly ( peraltro scrivevo gli eseguibili .com direttamente in binario, usando il libro per tradurre dall'assembly al codice macchina e una sfilza di DATA in basic per contenere il programma da scrivere sul file .com ). Infine approdai al famoso/famigerato C. E così via.... Nessun intoppo da nessuna parte ( tranne un pò di sano tempo perso a sbatterci la testa ogni tanto ). Ma il punto era che l'esperienza col basic mi aveva reso capace di inquadrare immediatamente la soluzione ai problemi, di creare l'algoritmo nella mia testa ( niente diagrammi di flusso o scemenze ausiliarie ). Arrivai al punto di criticare l'esistenza stessa di strumenti come i diagrammi di flusso, oppure la necessità di mettersi ad abbozzare su carta gli algoritmi. Ma il punto è che lo faceva implicitamente il mio cervello!! E secondo me, il tuo caso è lo stesso. Tu vedi il problema e immediatamente, nella tua testa, crei l'algoritmo per risolverlo. A quel punto è banale tradurlo in qualsiasi linguaggio ( non banale per progetti di grandi dimensioni ). Il punto è che chi non riesce nemmeno ad immaginarsi i passi astratti, si ritrovano buttato in un pozzo se gli chiedi pure di immaginarsi tutti i dettagli ( array allocati dinamicamente che svolazzano, puntatori che si perdono per strada, ecc... ). |
![]() |
![]() |
![]() |
#72 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Io ho iniziato dal BASIC, per poi passare ad Object Pascal e da lì al C. Avere iniziato con un linguaggio "giocattolo" non mi ha impedito di imparare tutto il resto e proseguire proficuamente con gli studi, anzi: ricordo che con Visual Basic era letteralmente un gioco da ragazzi sviluppare applicazioni grafiche, e non puoi capire la frustrazione di quando ho provato a rifare le stesse cose in C. ![]() Posso dire di cavarmela molto bene col C, ma ciò non toglie che lo evito come la peste. Se proprio ho necessità di sviluppare in C, amen, ma altrimenti... ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#73 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Comunque la scelta è solo tra quale imparare prima o dopo, se inizia da Python può fare C un'altro giorno... e che è sto fatalismo, per me uno dovrebbe sapere almeno 4 linguaggi
![]() @SnakePlissken: ti accorgerai del motivo per cui tutti consigliano di partire dagli algoritmi quando li studierai, e odierai tutto lo schifo che hai scritto fino a quel giorno. Te lo dice uno che c'è passato ![]() Ultima modifica di Tommo : 22-07-2013 alle 00:30. |
![]() |
![]() |
![]() |
#74 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
"E con che linguaggio di programmazione dovrei iniziare secondo te, e perché?" Il nocciolo della questione sta tutto qui. Da cui la mia risposta. Infatti anche nel testo che hai riportato è ben chiara la situazione: l'obiettivo è insegnare a programmare a una classe (ma è soltanto il suo caso, perché è un insegnante: il concetto rimane generale), togliendo di mezzo quanto di noioso o complicato possa essere per uno studente che si sta avvicinando a questo mondo. Qui nessuno mi sembra abbia detto che non sia importante conoscere gli algoritmi e i dettagli di basso livello. Semplicemente li si affronterà in un secondo momento, quando gli studenti avranno imparato a risolvere i problemi (come, peraltro, è scritto proprio alla fine del passo che hai riportato), se e nel momento in cui ne avranno bisogno. Per questo motivo cominciare con un linguaggio di altissimo livello come Python, che ti permette di concentrarti soltanto sul problema, è, a mio modesto avviso, la strada da seguire. Senza dimenticare che anche con Python è possibile conoscere e affrontare problematiche di basso livello. Ad esempio per un test su Codility che mi ha spedito di recente un'azienda tedesca, ho usato un paio di volte la classe array, che mi consente di specificare il tipo "di basso livello" (intero con o senza segno a 8, 16, ecc.) per risolvere un certo problema. Si è trattato di una scelta che è stata particolarmente apprezzata. Altro esempio, in un mio progetto ho usato la classe struct per manipolare informazioni "strutturate", tenendo conto anche dell'endianess della macchina. E così via, perché ci sono altri strumenti che Python mette a disposizione per scendere a un livello molto più basso di quello a cui normalmente si è abituati. Ma son cose che si possono benissimo studiare dopo avere acquisito la giusta mentalità per risolvere problemi. E, ovviamente, per affrontare anche altri linguaggi di programmazione. ![]()
__________________
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 |
|
![]() |
![]() |
![]() |
#75 | |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
Quote:
![]()
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
|
![]() |
![]() |
![]() |
#76 | |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
Quote:
![]()
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
|
![]() |
![]() |
![]() |
#77 | |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
Quote:
![]()
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
|
![]() |
![]() |
![]() |
#78 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
E poi, come va la programmazione? E' ormai qualche tempo che ti ci sei messo, a che punto sei? Già fatti i cicli? E le struct? |
|
![]() |
![]() |
![]() |
#79 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#80 | |
Member
Iscritto dal: Jun 2013
Città: Roma
Messaggi: 131
|
Quote:
![]() sono partito per 10 giorni di vacanza e sono tornato il 15 luglio non mi ci sono ancora messo del tutto ho letto solo poche pagine, di un libro :P e poi in questi giorni stavo leggendo un po' l'assembly
__________________
Andrew Martin: << One is glad to be of service >> Bicentennial Man [1999] |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:20.