Topic: Imparare... o no?  (Letto 8058 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 2.821
  • Punti reputazione: 9
    • Mostra profilo
Re:Imparare... o no?
« Risposta #30 il: Novembre 10, 2017, 11:12 »
Mah, sì... tutto quello che ha già detto Riko, e poi aggiungo:

> ho notato che molto spesso si appoggiano su altre servizi o programmi ...
> scopro che servono altri programmi perchè il tutto funzioni.

Sì beh, hai mai provato l'ecosistema di JavaScript?  :)

>  posso creare l'exe,se poi però ho problemi di compatibilità su altre macchine?

Ecco, qui però il sospetto è che tu stia confondendo due problemi diversi.
Prima sembra che *come programmatore* ti dia fastidio scrivere un programma che si appoggia su librerie e servizi esterni. Non si capisce perché naturalmente, ma insomma, sembra che tu lo veda come un problema.
Poi però sposti il problema sugli *utenti* eventuali del tuo programma, e ti chiedi in sostanza "come fanno a far funzionare il mio programma se hanno bisogno anche di installare altre cento dependencies"?
Ora, capisci che questi sono problemi separati, completamente separati. E il secondo problema naturalmente ha diverse soluzioni.

In generale, credo che tu affronti la cosa con un bel po' di pregiudizi, o comunque di aspettative pregresse e giudizi precoci. Tu entri nell'ecosistema Python, che non conosci, e per qualche motivo ti aspetti di trovare un certo tipo di organizzazione, un certo tipo di strumenti in certi posti, altri strumenti in altri posti. Siccome non trovi niente di tutto questo, allora decidi che Python ti delude.
Il mio consiglio è di rinunciare a capire, per un po' di tempo.
Semplicemente abituati a Python senza chiederti subito se può fare questa specifica cosa in questo specifico modo. Butta nel cestino il tuo programma di riconoscimento vocale, e inizia a imparare Python come se non avessi niente da fare nella vita. Poco per volta, impara dove sono le cose, come è organizzato l'ambiente, come gli sviluppatori Python risolvono certe classi di problemi (librerie esterne, distribuzione del software... bla bla). Poi, quando ti sarai familiarizzato con l'ecosistema di Python, potrai eventualmente decidere che non ti piace (ma allora avrai anche gli strumenti per capire che cosa invece ti piacerebbe) e/o riprendere in mano il tuo programma di riconoscimento vocale.

Offline Trizio

  • python unicellularis
  • *
  • Post: 40
  • Punti reputazione: 1
    • Mostra profilo
Re:Imparare... o no?
« Risposta #31 il: Novembre 10, 2017, 12:03 »
Ah, quando parlava di exe, plurex era tornato al problema delle dipendenze. Pardon, avevo frainteso.

Offline plurex

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re:Imparare... o no?
« Risposta #32 il: Novembre 11, 2017, 01:20 »
per togliervi ogni dubbio non sono un troll XD.non ho modo di darvene la prova,ma non saprei come.sono semplicemente inesperto.
in ogni caso grazie per gli interventi,li ho apprezzati tutti.
per tornare in tema.onestamente non ho notato se fosse un thread attivo.
semplicemente giravo alla ricerca di una community attiva sul python e visto che iniziavano a montarmi dei dubbi, ho scritto in questo forum,anche perchè avendo guardato alcune date pareva attivo.
.
non sono qui a criticare python,perchè a me piace,come la programmazione in generale.
a dire il vero le perplessità che ho con python le avevo anche con java,perchè pensavo che la dipendenza dalla vm fosse un problema,invece poi ho capito che è la risoluzione al problema di portabilità dato che
la VM  di java esiste in ogni dove.
per python il dubbio è,senza interprete,chi può eseguire il mio script?io personalmente li avvio anche su android ma quanti utenti che non programmano in python hanno l'interprete installato sul proprio dispositivo?
il problema che io mi pongo,è che vorrei dare qualcosa che funzioni per tutti,senza complicarsi troppo l'esistenza installando cose accessorie.(sappiamo come ragionano molti utenti,se iniziano a vedere troppi intoppi,nemmeno proseguono)
 l'exe è un esempio(funziona solo su win),non me ne venivano altri in mente XD (tipo apk per android).

l'esempio di cortana forse l'ho espresso male.so bene cosa c'è dietro un programma che io vedo semplice(stupidamente direi,dato che l'esempio che ho visto io ha solo 4 riighe di codice ),e tutti i motori,protocolli,dipendenze che esistono dietro un semplice click.

parlo di cortana perchè è la cosa che mi è capitata ora.la mia perplessità non è che esistono mille librerie,ne voler reinventare la ruota,ma programmi terzi che magari una libreria richiama e che su un determinato dispositivo non esistono,o che nel caso di cortana,non funziona se non connesso alla rete.
una libreria che avevo trovato,semplicemente richiama cortana per l'acquisizione del testo "sentito". ieri ho googlato come un matto,perchè la suddetta libreria mi dava un errore,non capivo che errore fosse.
per poi scoprire alla fine che io ho windows 7 e che quindi non potevo sfruttare la libreria che funziona solo su windows 10 che ha cortana.ho provato anche pyvona e neanche quello va,credo si debba connettere ad un cloud,ma non l'ho trovato per potermi registrare.(quello che ho trovato,ha una pagina che dice "coming soon")
e con quello di google,beh non funge,da sempre diversi errori.
gli unici che funzionano sono quella della libreria win32.com,che è inglese, e una versione di pttsx,solo in inglese.se vado ad impostarla con google o con altre lingue che dicono essere supportate,mi da una lista infinita di errori.
riassumendo le mie perplessità sono su
VM di python
programmi terzi richiamati dalle librerie.
« Ultima modifica: Novembre 11, 2017, 01:26 da plurex »

Offline Giornale di Sistema

  • python sapiens sapiens
  • ******
  • Post: 3.124
  • Punti reputazione: 4
    • Mostra profilo
    • Distillato di Python
Re:Imparare... o no?
« Risposta #33 il: Novembre 16, 2017, 11:23 »
a dire il vero le perplessità che ho con python le avevo anche con java,perchè pensavo che la dipendenza dalla vm fosse un problema,invece poi ho capito che è la risoluzione al problema di portabilità dato che
la VM  di java esiste in ogni dove.
per python il dubbio è,senza interprete,chi può eseguire il mio script?io personalmente li avvio anche su android ma quanti utenti che non programmano in python hanno l'interprete installato sul proprio dispositivo?

Non sto percependo la differenza. La JVM "è in ogni dove" laddove qualcuno s'è preso la briga di fartela trovare, esattamente come per Python: tutto dipende dal contesto in cui vuoi operare e se lì "per caso" già c'è. Esempio personale: lavoro essenzialmente con Python su server Debian, la PVM (Python Virtual Machine) me la trovo già di default mentre la JVM di Oracle no, per me è ottimale così dato che la seconda non mi serve (per ora) e per te invece potrebbe essere un problema perché Java ti serve.

il problema che io mi pongo,è che vorrei dare qualcosa che funzioni per tutti,senza complicarsi troppo l'esistenza installando cose accessorie.(sappiamo come ragionano molti utenti,se iniziano a vedere troppi intoppi,nemmeno proseguono)
 l'exe è un esempio(funziona solo su win),non me ne venivano altri in mente XD (tipo apk per android).

Ci sono molte discussioni sul forum su cosa fa effettivamente quell'exe (mi sembra siano del 2011-12, prova a cercare pyinstaller/pyexe): accorpa in un unico file la PVM e tutte le librerie/moduli/dipendenze cosicché non vadano installate separatamente, doppio click, parte la PVM inglobata nel file e tira su il tuo programma facendolo girare. PyInstaller in particolare funziona anche su piattaforme diverse da Windows.

In entrambi i casi "funziona" è da prendere con le pinze, sicuramente c'è da lavorarci su prima che le cose funzionino e non sempre lo faranno.

riassumendo le mie perplessità sono su
VM di python
programmi terzi richiamati dalle librerie.

Spero di averti chiarito un po' di più la situazione che è comune a Python, Java, PHP, Ruby...