-  [WT]  [Home] [Manage]

[Indietro] [Visualizza tutto] [Ultimi 50 post]
Modalità post: Risposta
Email b i u s sp
Soggetto   (risposta a 2356)
Messaggio
File
URL File
Embed  
Password  (per cancellare post e file)
  • Tipi di file supportati: GIF, JPG, MP3, PNG, SWF
  • Massima dimensione del file 4000 KB.
  • Le immagini più grandi di 250x250 pixel saranno ridimensionate.
  • Ci sono 508 post unici. Vedi catalogo

  • Blotter aggiornato il: 2012-08-26 Vedi/Nascondi Vedi Tutti

File 141975793163.jpg - (123.19KB , 500x375 , 2312382347_50808d72371_jpeg.jpg )
2356 Num. 2356
Se in un futuro non troppo remoto volessi imparare a programmare per interesse personale con quale linguaggio Anon Programmatore consiglia di iniziare e quali sono le risorse (strumenti, libri) a suo parere migliori per addentrarsi nel magico mondo della programmazione?
Molti consigliano di iniziare con Pyhon.
Espandi tutte le immagini
>> Num. 2357 quick reply
File 14197668155.png - (40.48KB , 1620x774 , c_subset_of_cpp.png )
2357
Se vuoi imparare Python fallo tramite questa guida: http://learnpythonthehardway.org/book/

Se lo fai per divertimento io direi anche di dare uno sguardo a Go, è figo, è un pochino immaturo ma sarà lo standard da qui a qualche anno (è già usato in produzione da aziende come Google, Disqus, Bitly, SoundCloud e roba del genere)
https://tour.golang.org/

Tieniti lontano dal C++ (pic relata) e studia il C solo se vuoi sapere effettivamente come funziona il computer
>> Num. 2358 quick reply
File 141977746357.png - (29.49KB , 480x388 , humanio-diagram-small.png )
2358
>>2357
Grazie Anon comunque si, lo farei per diletto, per hobby. La mia idea era di cominciare dal python, pasticciarci per benino (per quanto possa fare un semplice garzone a casa sua) e magari passare ad altro come il C.
Magari un giorno capirò perché il C++ è così odiato ma così diffuso.
>> Num. 2359 quick reply
>>2358
Il c++ non è affatto odiato, anzi. Qualsiasi programmatore serio in fondo lo ama, ti dà molta più flessibilità rispetto ad altri linguaggi più recenti. Ma per padroneggiarlo richiede un sacco di studio. E la flessibilità è un'arma a doppio taglio, è più facile commettere errori. Senza contare che certe meccaniche un po' vetuste rendono difficile fare operazioni che in altri linguaggi sono semplicissime. Anche solo importare una libreria potrebbe portare ad errori di compilazione orribili se il file di include non è fatto a modino e certi simboli non sono definiti altrove.
>> Num. 2360 quick reply
>>2358
C'è la famosa citazione di Linus che può darti qualche idea: http://harmful.cat-v.org/software/c++/linus
>> Num. 2361 quick reply
>>2359
>>2360
Sono tough guys questi guru del mondo IT!
Mi aspetto sempre persone pacate e a modo tra i "professionisti" ma sono umani anche loro.
Comunque non c'ho capito nulla, non so cosa sia la programmazione ad oggetti, non so cosa sia una libreria od il file include.
>> Num. 2362 quick reply
>>2358
? odiato perchè non ha alcun controllo della memoria e se "sbordi" coi dati elaborati il listato si blocca e spesso devi trovare dov'è che sbagli.

Nrel caso del c# per dire non c'è questo problema.
>> Num. 2363 quick reply
>>2360
Risi. Che personaggio incredibile Linus. Grazie anon, per avermi fatto scoprire questa "citazione".
>> Num. 2364 quick reply
La prima cosa che ti serve è un problema. Se no diventa palloso e lo pianti lì subito.
>> Num. 2365 quick reply
File 141987701958.jpg - (248.51KB , 600x400 , 123918623-38933466-e285-4b17-8227-a5e20af22d85.jpg )
2365
>>2364
Segretamente mi piacerebbe creare un client di NC per Android ;_;
? possibile con Python, nevvero?
? molto difficile?
>> Num. 2366 quick reply
>>2365
Teoricamente è possibile, nella pratica è molto più complicato farti un enviroment di sviluppo sensato. Se con Java un principiante saprebbe fare un app molto semplice con 2-3 anni di studio partendo da 0, con Python servirebbe molta più conoscenza per configurare tutto.

Also vai con python, non cagarti cose di nicchia tipo C i cui pregi non sfrutterai mai, non cagarti le robe edgy super settoriali tipo Go e non impelagarti in robe pop ma noiose tipo JS o PHP che sono degli abomini e ti farebbero passare la voglia. Python è perfetto per tutto quello che potrai mai fare, tranne forse appunto il mobile.
>> Num. 2367 quick reply
>>2365
Parti dal presupposto che se non sai ancora nulla è assai difficile a priori.
Comunque il 99% della roba per Android è scritta in Java.

Per Python però ho trovato questo
https://github.com/kivy/python-for-android
ma non so a che punto sia con lo sviluppo e quanto sia usabile 'sta cosa.
>> Num. 2368 quick reply
>>2367
Ah avevo dimenticato kivy. Un anno e mezzo fa era già ragionevolmente maturo: se non devi andare a fare cose strane va benissimo.
>> Num. 2369 quick reply
>>2366
>>2367
>>2368
>2/3 anni di studio per scrivere l'app di NC

Così tanto?!

Non capisco questa cosa per cui Android utilizza solo java.
Perché un porting di python che è già multipiattaforma è così difficile?
>> Num. 2370 quick reply
>>2367
Attenzione che Kivy appesantisce parecchio l'app: sul mio Moto G impiega 3 secondi per visualizzare un semplice "hello word".
Purtroppo per android Java o morte: HTML5 ha performance disastrose e milioni di bug da dispositivo a dispositivo, Kotlin è una figata ma non c'è documentazione e i vari linguaggi che compilano in JVM non funzionano perchè nè Dalvik nè ART sono JVM.
>> Num. 2371 quick reply
>>2369
Beh tendenzialmente per fare un'app con una componente grafica almeno 500-600 ore di studio ti servono. Se poi devi studiarti tutto lo stack android ad un livello decente o un framework come kivy senza averne mai usato nessun altro, almeno altre 100 ore ti servono. Se studi da autodidatta dubito tu possa metterci più di una decina di ore a settimana a voler star larghi. E con 10 ore a settimana ti ci vuole un anno e mezzo. Probabilmente sarai molto più incostante quindi 2-3 anni non mi stupirebbe. Senza contare che uno studente di informatica prima del terzo anno è difficile che riesca ad essere autonomo nello sviluppo da zero di un'applicazione mobile.

>urtroppo per android Java o morte: HTML5 ha performance disastrose e milioni di bug da dispositivo a dispositivo, Kotlin è una figata ma non c'è documentazione e i vari linguaggi che compilano in JVM non funzionano perchè nè Dalvik nè ART sono JVM.

Scala gira su entrambe e penso pure Groovy. Scala ha anche un DSL apposito per android che si chiama ScalaDroid che funziona molto meglio di quella merda di XML.

Kivy come performance non so, ma se è per una roba senza pretese è meglio che impararsi un linguaggio da zero.
>> Num. 2372 quick reply
Kotlin poi è ancora acerbo e inutilizzabile in un contesto reale. Poi vabe', se uno viene da Java può apparire figo e sicuramente è infinitamente meglio di Java, ma è pensato e realizzato per essere usato da codemonkey ritardate. Velocizza e semplifica, ma come Java, castra un sacco i bravi programmatori. Fondamentalmente perché è orientato all'enterprise duro e puro e andrà sempre più in quella direzione. Non è certo un linguaggio in cui spererei di programmare per il resto della mia vita e nemmeno uno di quelli che ha delle trovate da mind=blown.
>> Num. 2373 quick reply
>>2372

> ma come Java, castra un sacco i bravi programmatori

Non esistono bravi programmatori. Non in un'azienda di grandi dimensioni dove sullo stesso codice mettono le mani diverse persone. Per quanto possano essere bravi programmatori singolarmente, in complessivo saranno tutti mediocri. Per questo ben vengano i linguaggi che parano il culo. Roba come il c++ va bene solo se il software uno se lo sviluppa e mantiene da solo.
>> Num. 2374 quick reply
>>2373
>Non esistono bravi programmatori. Non in un'azienda di grandi dimensioni dove sullo stesso codice mettono le mani diverse persone. Per quanto possano essere bravi programmatori singolarmente, in complessivo saranno tutti mediocri. Per questo ben vengano i linguaggi che parano il culo.

Appunto ma c'è gente che in quei contesti non ci lavorerà mai e spera di non lavorarci mai. Per quei contesti Java va bene, ma per tutto il resto quelli che in ambito enterprise sono pregi, sono difetti.
>> Num. 2375 quick reply
Grazie a tutti!
C'è comunque un subreddit dedicato a python
http://www.reddit.com/r/python

Fra 10 anni avrete la vostra app per NC.
>> Num. 2376 quick reply
Per fare un app decente inizia a studiarti il Java e l'XML (Che non devi studiare, lo inizi a utilizzare e conoscere e bona), guardati un sacco di tutorial su Youtube, da Camuso alla gente americana.

Se vuoi studiare il pitone fallo pure, ma non contare di lavorarci su android.
>> Num. 2381 quick reply
>>2376
Prima vado con il Python perché è più semplice e mi dovrebbe aiutare a comprendere e prendere familiarità con i concetti base della programmazione, esatto?
Imparare Java poi mi dovrebbe risultare più semplice, no?
>> Num. 2384 quick reply
>>2381 Sono entrambi due linguaggi OOP quindi che tu parta dal primo o dal secondo è indifferente.
>> Num. 2385 quick reply
>>2384
Turbocazzata.

>>2381
Sicuramente sì, ma per ogni nozione che conoscerai, ne dovrai buttare via 3 che non potrai riutilizzare nel nuovo linguaggio. Non pensare di fare: "studio un anno python, poi studi tre mesi Java e sarà come aver studiato un anno Java". Ci saranno tanti concetti nuovi, ne mancheranno tanti dei vecchi che dovrai sostituire e molti li dovrai riadattare, sopratutto perché sono dei linguaggi molto, molto diversi tra loro. La strada in discesa nell'imparare un linguaggio di programmazione nuovo ce l'hai dal terzo in poi, è la golden rule.
>> Num. 3223 quick reply
Qualcuno ha esperienza con PHP? Viene usato per Wordpress
>> Num. 3224 quick reply
>>3223
Probabilmente è il peggior linguaggio con diffusione commerciale al momento. Se la gioca con Javascript, ma per tante cose è molto peggio.
>> Num. 3225 quick reply
File 146135424469.png - (36.51KB , 640x211 , lisp_cycles.png )
3225
>Ctrl F
>no LISP

Op il LISP è il linguaggio definitivo. Semplice, elegante, potente. Dominalo e dominerai qualsiasi altro linguaggio.
>> Num. 3264 quick reply
>>3224
Paragonando php a javascript dimostri di non saper neppure di cosa parli.
>> Num. 3284 quick reply
>>3225
we zio se non ai studiato il sicp nn 6 1 kz XD luv skeme
>> Num. 3285 quick reply
>>3264
Questo
>>3223
Wordpress è scritto in php (e JS, HTML e usa MySQL, ma la parte più "ovvia" del codice è php), php è un linguaggio abbastanza immediato se conosci il html, ma senza javascript ad abbellirlo e un database, anche MySql, alla base è come avere un cacciavite ma non la vite da svitare.
Un enorme difetto di PHP è che è pesate rispetto a linguaggi più a basso livello, difficile da debuggare e se lo integri con MySql e non hai delle conoscenze sulla sicurezza te lo buca chiunque, va benissimo per fare siti web e puoi arrivare a creare cose anche molto complesse, è molto potente ma ha anche molti difetti.
>> Num. 3286 quick reply
>>3285
E mi sono scordato CSS, assieme a JS, per abbellirlo, poi anche jQuery risulta molto importante in abbinamento al php per non dover refreshare la pagina ogni volta.
>> Num. 3287 quick reply
File 14712207763.jpg - (53.01KB , 600x450 , JavaScript-the-good-parts.jpg )
3287
>>3286
> jQuery
> 2016
kèk

OP se vuoi imparare un linguaggio per fare app semplici e native c'è Javascript.
Impari in Chrome i fondamenti di base, poi prendi React Native e scrivi roba nativa e realmente multi piattaforma.

https://www.codecademy.com/learn/javascript qui c'è un giochino veloce per apprendere i "comandi" base.
http://eloquentjavascript.net/ è utile e parla anche di roba più interessante.

Javascript è presente in ogni singola pagina che visiti, da gmail a niuchan. Il linguaggio è utilizzabile anche sui server (lo fanno aziende come Netflix, PayPal, LinkedIn, Uber) e per creare app desktop e mobile.
Ha sicuramente dei punti deboli (come tutti gli altri), ma ricorda che l'unico linguaggio non odiato è quello che non usa nessuno.
>> Num. 3288 quick reply
>>3264
Sono brutti in modi diversi ma sono egualmente terribili. Ho dovuto usare entrambi.
>> Num. 3289 quick reply
>>3287
Non le definirei proprio native, alla fine sono interpretate dal browser del cellulare, solamente che la GUI non è HTML ma disegnata in runtime sempre dal browser, oltrettutto il 99% delle app che ho visto usare JS sfruttavano HTML, visto che è più facile da implementare, spesso assieme a Cordova.
>> Num. 3290 quick reply
>>3289
> sono interpretate dal browser del cellulare, solamente che la GUI non è HTML ma disegnata in runtime sempre dal browser

No.
La gui è composta da widget nativi, il browser non viene minimamente interpellato. Solo su iOS utilizza l'engine Javascript del sistema, ma tramite api obj-c.
>> Num. 3291 quick reply
Se vuoi imparare davvero:
https://www.edx.org/course/how-code-systematic-program-design-part-ubcx-spd1x
>> Num. 3292 quick reply
>>3285
>php è un linguaggio abbastanza immediato se conosci il html, ma senza javascript ad abbellirlo e un database, anche MySql, alla base è come avere un cacciavite ma non la vite da svitare.
No.
Indovina un po', PHP può essere benissimo utilizzato anche non in ambito web. Io ad esempio lo uso per lavori di sistema schedulati o per script da eseguire al volo.
>> Num. 3399 quick reply
Beh, per quanto riguarda invece Arduino e tecnologia simile, che esperienze avete?
Linguaggio C, C++, e altro?
>> Num. 3400 quick reply
>>3399
Carino, ho giocato qualche secolo fa con un Arduino Uno (ho anche fatto un talk per un Linux Day) ma la fine che ha fatto è stata prendere la polvere in armadio cianfrusaglia elettronica.

A distanza di anni è rimasto nel corrispettivo armadio cianfrusaglia elettronica della nuova casa, tuttavia ultimanente ho seguito e sto seguendo alcuni ragazzi che ci stanno lavorando.

Visto che parli dei linguaggi mi soffermo su questi piuttosto che sui progettini in sé.

Se ti piace programmare e "andare a fondo" alle cose Arduino non è il massimo. Compilare "sketch" al di fuori dell'orribile IDE non è facile come sembrerebbe.

Inoltre se ti piace andare oltre l'integrato ambiente Processing/Wiring teoricamente potresti programmare direttamente in C++ (con enormi tweak e -fops passati al compilatore), ma praticamente i vantaggi suppongo siano solo limitati alla minore dimensione del binario generato e inferiori consumi della memoria (finché non devi reimplementarti tutte le funzioni delle librerie già presenti per Wiring).

Ah, ovviamente non hai MMU, quindi la malloc() non funziona. O meglio, funziona, per un po'. Alloca una quantità di memoria contigua e poi è come se aggiornasse uno stack pointer senza la possibilità di decrementarlo. Se esegui una free() la memoria diventerà inaccessibile sì, ma la successiva malloc() andrà a scrivere in uno spazio che segue quello precedentemente allocato. Finché la poca memoria finisce e inizi a perdere sangue dagli occhi e dal culo.

Se non avessi bisogno di ottenere in modo ignorante valori "analogici" valuterei per progettini embeddedle GPIO di un Raspberry Pi o clone.
>> Num. 3401 quick reply
>>3399
Con arduino ci ho giocherellato un po', va bene per i primi passi, ma poi meglio andare su qualcosa di più serio.
Io sto programmando i chip nrf5 della nordic semiconductor. C'è da studiarsi BENE il C e il suo mini sistema operativo, ma mi ci sto divertendo un sacco.
>> Num. 3548 quick reply
Python va bene per iniziare ed è discretamente potente ma ha una sintassi semiridicola.

Windows è scritto in C
Unix/android è scritto in C
OSX/BSD è scritto in C

Mi sembra di notare un pattern
>> Num. 3549 quick reply
>>3548
Windows non era scritto in C++? Non che sia da prendere come esempio
>> Num. 3551 SABBIA! quick reply
>>3548
> software di basso livello è scritto in C/C++
O DVVR?

perché bumpi thread vecchi di mesi figliuolo?
>> Num. 3553 quick reply
>>3551
La programmazione é la base di questo sito web
[Indietro] [Thread intero] [Ultimi 50 post]


Cancella post []
Password  
Segnala post
Motivo