PDA

Visualizza la versione completa : [OT] Da dove inizio ? C#


themagiciant95
04-01-2013, 19:16
Ciao a tutti , vorrei iniziare a programmare in C# per windows phone ; di base ho solamente un po di pascal fatto a scuola , credo mi abbia dato delle solide basi. Come e cosa dovrei iniziare ?

ps: come rendo lo studio della programmazione un po piu stimolante ? E sopratutto come si possono padroneggiare diversi linguaggi senza confonderli :dhò: ?

MdE2005
04-01-2013, 19:40
Rendere lo studio della programmazione più interessante? In generale, lo studio serve per apprendere un metodo di ragionamento *logico* e orientato al problem solving, oltre alla progettazione e allo sviluppo di software; una volta appresa tale capacità (può richiedere anche anni di studio ed esperienza lavorativa) è possibile imparare le regolette di qualsiasi linguaggio in pochi giorni, tranne rare eccezioni (ossia linguaggi dedicati, con curva di apprendimento nettamente ripida).

Per quanto riguarda la prima richiesta, ti consiglio di leggere questa discussione (http://forum.html.it/forum/showthread/t-1434333.html), in cui consiglio alcuni libri ben fatti per lo studio del C#, linguaggio che subirà sicuramente una diffusione nel futuro prossimo per quanto riguarda la programmazione in ambito mainstream, anche per la programmazione ludica.

themagiciant95
04-01-2013, 19:43
Molto probabilmente faro ingegneria informatica una volta diplomato , ma vorrei gia mettere delle solide basi per quanto riguarda la programmazione

MdE2005
04-01-2013, 19:54
Originariamente inviato da themagiciant95
Molto probabilmente faro ingegneria informatica una volta diplomato , ma vorrei gia mettere delle solide basi per quanto riguarda la programmazione

Il tuo tentativo è sicuramente apprezzabile, anche se può risultare ostico studiare contemporaneamente alle materie della scuola media superiore i fondamenti dei linguaggi di programmazione.
Putroppo (o per fortuna..), gli ambienti RAD ed i vari Visual Basic, Java e altri linguaggi del baraccone .NET et simila sono linguaggi caratterizzati da una curva di apprendimento ben poco ripida e consentono - anche ad un neofita che ignora la matematica booleana ma con un minimo di preparazione - di creare piccole applicazioni (talvolta inutili) per uso strettamente personale.
Al contrario, lo studio del linguaggio C, il più low-level tra gli HLL (high level-languages), è ostico, faticoso, poco intuitivo (almeno all'inizio) senza basi di matematica discreta o di architettura dei calcolatori, e non consente al beginner lo sviluppo di applicazioni
window-based o di altri accrocchi grafici, tuttavia permette al programmatore di iniziare a sviluppare una certa forma mentis fondamentale in molti ambiti dell'IT applicativa.

themagiciant95
04-01-2013, 20:38
Quindi prima C , poi C++ e quindi C# ---> e se riuscissi a capirli sarei gia a cavallo giusto ?

A casa ho un libro pocket dell'apogeo sul C , che dire ... inizio !

moneta173
04-01-2013, 20:43
Io sto studiando il C++ e ho iniziato senza conoscere C. Secondo me imparando il C++ si impara di conseguenza anche il C...

MdE2005
04-01-2013, 21:03
Originariamente inviato da moneta173
Io sto studiando il C++ e ho iniziato senza conoscere C. Secondo me imparando il C++ si impara di conseguenza anche il C...

Opinione personale quindi rispettabile ma non condivisa (attenzione: non ho scritto "non condivisibile") dalla quasi totalità della comunità scientifica informatica: se conoscessi realmente entrambi i linguaggi, ti renderesti conto che esistono numerose differenze tra C++ e C; prova a gestire le stringhe in C come in C++ e guarda la differenza.

MdE2005
04-01-2013, 21:16
Originariamente inviato da MdE2005
Il tuo tentativo è sicuramente apprezzabile, anche se può risultare ostico studiare contemporaneamente alle materie della scuola media superiore i fondamenti dei linguaggi di programmazione.
Putroppo (o per fortuna..), gli ambienti RAD ed i vari Visual Basic, Java e altri linguaggi del baraccone .NET et simila sono linguaggi caratterizzati da una curva di apprendimento ben poco ripida e consentono - anche ad un neofita che ignora la matematica booleana ma con un minimo di preparazione - di creare piccole applicazioni (talvolta inutili) per uso strettamente personale.
Al contrario, lo studio del linguaggio C, il più low-level tra gli HLL (high level-languages), è ostico, faticoso, poco intuitivo (almeno all'inizio) senza basi di matematica discreta o di architettura dei calcolatori, e non consente al beginner lo sviluppo di applicazioni
window-based o di altri accrocchi grafici, tuttavia permette al programmatore di iniziare a sviluppare una certa forma mentis fondamentale in molti ambiti dell'IT applicativa.

Aggiungo inoltre due concetti:

1. non è sufficiente il solo C a diventare un Vero Programmatore; se dai un'occhiata al programma dei singoli corsi di studio universitario di Ingegneria IT/elettronica/TLC o di qualche CdL in SSMMFFNN vedrai che gli argomenti da studiare, capire, approfondire sono numerosissimi, quasi impossibili da elencare in un forum.

2. esistono varie tipologie di programmazione: si va dalla programmazione web (semplice, intuitiva, che richiede conoscenze informatiche non estreme) alla semplice programmazione di gestionali fino alla progettazione e allo sviluppo di kernel, driver et simila ovvero programmazione low-level - esclusivamente con linguaggi come l' Assembly e il C - che richiede uno studio approfondito non solo di informatica ma anche di elettronica e matematica discreta, nonchè degli algoritmi più utilizzati e delle tecniche di ottimizzazione; se poi invece non ti interessa il mondo mainstream puoi dedicare 10-20 anni della tua vita nello studio della progettazione e programmazione di sistemi embedded (hardware, software, firmware) un *mondo* che necessita della massima professionalità e di competenze estremamente diffuse.

moneta173
04-01-2013, 21:28
Conoscerli entrambi permette di apprezzare le loro differenze. Con il C++ possiamo usare la programmazione ad oggetti, con il C no.
Questo significa che chi studia il C e poi vuole orientarsi agli oggetti deve studiare il C++.

L'ideale, ovviamente, sarebbe conoscerli tutti e due, anzi tutti e tre aggiungendo il C#.

MdE2005
04-01-2013, 23:22
Originariamente inviato da moneta173
..e poi vuole orientarsi agli oggetti deve studiare il C++.

Non ci si "orienta" agli oggetti: la OOP (Object Oriented Programming) è una tecnica di programmazione adatta a specifici obiettivi, come spiegato in qualsiasi decente libro di programmazione.

In realtà, il C# sfrutta le potenzialità del framework .NET mantenendo tuttavia le caratteristiche tipiche del C++, per cui può essere anche 'evitato' lo studio del C++ una volta imparato discretamente il linguaggio C, algoritmi compresi.

Loading