• Off-topic
  • Sistemista che vuol iniziare a programmare

Ciao a tutti!
Prima da appassionato, poi da studente (ITIS) ed ora da lavoratore, sono sempre stato di natura un sistemista.
Virtualizzazione, OS, networking, cloud e software applicativi rappresentano a pieno il mio mondo.
Dovendo però creare un connubio anche con il lato DB, web e IoT mi rendo conto sempre più di quanto il lato developer mi manchi.
Da studente approcciammo assembly, JAVA, HTML, CSS, PHP e SQL, per conto mio un minimo di BASIC e C ma non sono mai riuscito ad imparare nessuno di questi linguaggi per bene.
La domanda adesso è questa, visto il mio ramo credete possa servirmi saperne uno? Se si quale?
Io mi vorrei buttare verso SQL e Python.

    • [cancellato]

    RichardTDJ

    Python è una buona scelta, visto che è usato anche in molti ambiti di gestione sistemi. Poi dipende da quale tipo di applicazioni si desidera sviluppare.

    "SQL" è un termine generico - poi ogni database ha la sua declinazione e le sue idiosincrasie. O magari è NoSQL 😉

      [cancellato] benissimo, ma a proposito di applicazione sistemistiche, quali potrebbero essere?

      Sisi hai ragione, noi utilizziamo SQL Server di Microsoft per i DB dell'ERP quindi mi sarebbe molto utile su quello.
      In passato utilizzai phpMyAdmin per i DB di un sito web dei tempi dell'ITIS. Sono molto affascinato pero da un certo mongoDB.

        RichardTDJ presumo tu sia interessato alla programmazione ad alto livello quindi lascia perdere C e assembly - che al massimo servono per interfacciare l'IoT al PC e buttati su python con cui interfacciare l'IoT al mondo degli esseri umani.

          • [cancellato]

          RichardTDJ benissimo, ma a proposito di applicazione sistemistiche, quali potrebbero essere?

          Non so che strumenti usi tu - comunque un gran numero di applicazioni è in qualche modo automatizzabile in Python, e per non poche è anche il linguaggio nativo per farlo. Se ti interessano le applicazioni web, invece ovviamente oltre a HTML/CSS/Javascript serve anche conoscere bene qualche framework per lo sviluppo. Il backend può essere sempre in Python, se non si vuole usare PHP. Linguaggi compilati come C/C++/Rust/ecc. servono di più per applicazioni specifiche, dove avere codice compilato nativo è un vantaggio, ma hanno anche una certa complessità. Poi ci sono i linguaggi come .NET/Java - che io non amo molto perché si tirano dietro un runtime non piccolo, e sono abbastanza esosi di risorse. Comunque, una volta che ti destreggi bene in un linguaggio è più facile passare ad altri, anche se certi cambi di paradigma sono più ostici di altri.

          RichardTDJ Sono molto affascinato pero da un certo mongoDB.

          Che è appunto "NoSQL", ed ha una filosofia diversa rispetto ai database relazionali come SQL Server.

            xblitz si C lo usai per Arduino, che poi tanto C non è... assembly anche no!😅

            [cancellato] principalmente virtualizzatori, OS, firewall, i classici strumenti da tecnici più che altro... di Phyton son rimasto colpito dalla possibilità di realizzare facilmente e velocemente degli script.

            Credi che mongoDB possa essere uno strumento valido da imparare nel mio caso?

              RichardTDJ si C lo usai per Arduino, che poi tanto C non è... assembly anche no!😅

              Una curiosità personale (anche io ho fatto l'ITI) ma non la fanno più OOP? quando ho fatto io la specializzazione informatica la scaletta era:
              3a superiore: programmazione procedurale - fatta in C++
              4a superiore: OOP - fatta in C++
              5a superiore: SQL (con MS Acces 🙄) e un coso che era una commistione tra .NET, C# e ASP.

                RichardTDJ Credi che mongoDB possa essere uno strumento valido da imparare nel mio caso?

                MondoDB è un database, che ti servirà imparare ad usare quando realizzerai applicativi scritti ad esempio in python.
                Personalmente il linguaggio dipende anche da quello che vuoi programmare, dal livello che vuoi raggiungere e allo scopo di questo studio. Se vuoi puntare magari a un job hopping e passare in ambio development dovresti inizialmente scegliere su cosa puntare, sviluppo web, sviluppo di app per smartphones per esempio poi individuare se fare frontend, backend o full stack.
                Le competenze che hai ovviamente andrebbero ad arricchire ulteriormente la tua figura soprattutto in aziende in cui con la tua figura che copre potenzialmente due aspetti andrebbero a risparmiare su una posizione magari verticale sono in un ambito.
                Ovviamente in grandi aziende ci sono due figure distinte che svolgono questa mansioni quindi se vuoi restare nel tuo settore magari potresti ampliare le tue conoscenze sul devops.

                Per hobby tutto questo discorso non vale e puoi scegliere essenzialmente quello che preferisci

                  • [cancellato]

                  RichardTDJ hyton son rimasto colpito dalla possibilità di realizzare facilmente e velocemente degli script.

                  Python è un linguaggio molto versatile, c'è un motivo per il quale è diventato fra i più usati.

                  RichardTDJ Credi che mongoDB possa essere uno strumento valido da imparare nel mio caso?

                  Se hai già un po' di esperienza con database relazionali, dare un'occhiata ad un NoSQL è una buona idea. Hanno casi d'uso diversi, un NoSQL è molto più adatto a gestire dati non strutturati.

                  xblitz ma non la fanno più OOP?

                  No, è passata di moda. Causa web.... 🙃

                    [cancellato] No, è passata di moda. Causa web.... 🙃

                    Mi viene da piangere 😥... anche perché questo vuol dire che la curva di apprendimento di Python (o di qualunque altro linguaggio di programmazione) risulterà più ripida all'op.

                      • [cancellato]

                      • Modificato

                      xblitz

                      Beh, può sempre imparare Javascript e Go, in tal caso 😜 Comunque io ho sempre preferito i linguaggi ibridi a quelli che ti obbligano ad un singolo paradigma, sono più flessibili.

                      Python può venire utile in molti casi, ma se ti butti su dwvops ed infrastructure as code? Terraform? Mi sembrano conoscenze più ricercate e pagate.

                        • [cancellato]

                        MaxBarbero Terraform? Mi sembrano conoscenze più ricercate e pagate.

                        Qui dipende se vuoi imparare un linguaggio sufficientemente generico da tornare utile in più occasioni e su diverse piattaforme, o se vuoi dedicarti ad una specifica tecnologia - l'OP già dice:

                        RichardTDJ Virtualizzazione, OS, networking, cloud e software applicativi rappresentano a pieno il mio mondo.

                        Dipende quindi cosa già usa e di cosa sente il bisogno. Tra l'altro con CDK di Terraform puoi usare Python con Terraform.

                          [cancellato] Visto il suo ambito lavorativo a mio parere mi sembra più logico andare sull'IaC e automazione. Si spera che in azienda le VM, l'hardening di VM, i container, le architetture su qualsiasi cloud etc vengano create standardizzate e create da codice, non a mano tutte diverse.
                          Poi se vuole andare su un linguaggio di programmazione puro perchè è affascinato da tal linguaggio è una scelta 🙂

                            xblitz calcola che io mi sono diplomato oramai 3 anni fa, a suo tempo perlomeno nel mio istituto si faceva molto JAVA e tutta la parte web con un occhio a SQL. C, basic, ecc. era roba la quale non ci fu fatto il benché minimo accenno. In tal caso in informatica, non amando la programmazione, non è che stessi molto attento alle lezioni...😅

                            alessio00 immagino, a livello professionale però credo sia meglio fare una cosa e bene, diciamo che era solo per avere un di più da appassionato.

                            [cancellato] terrò a mente questa considerazione.

                            MaxBarbero cos'è Terraform?

                            [cancellato] mi piacerebbe apprendere un linguaggio tuttofare.

                            MaxBarbero purtroppo no, tutto a mano...😅

                              RichardTDJ si faceva molto JAVA e tutta la parte web con un occhio a SQL.

                              Quindi OOP l'hai fatta per forza. Bene.

                              C, basic, ecc. era roba la quale non ci fu fatto il benché minimo accenno.

                              Oddio, il BASIC anche no... però un po' di C... ma non avevi detto che (immagino a elettronica) avevi fatto qualcosa di arduino (microcontrollori)... e con che lo programmavi in Assembly?!?

                              mi piacerebbe apprendere un linguaggio tuttofare.

                              E allora vai di Python; visto che sei avvezzo alla parte di networking, nella sua libreria standard trovi diverse cosette, ad esempio l'interfacciamento con imap (e se non sbaglio pure delle funzioni per manipolare i pacchetti TCP\IP). Personalmente lo uso proficuamente come shell su windows (quello che sotto linux si fa con sed,awk e compagni lo faccio in windows con python). Ci sono poi liberie accessorie molto interessanti, ad esempio per la web automation e l'estrazione di dati da pdf..

                              Oltre a Python, visto il tuo campo proverei a dare un'occhiata anche a Powershell (linguaggio di scripting). Potrebbe rivelarsi molto utile soprattutto nell'amministrazione delle macchine Windows & co.

                              • [cancellato]

                              RichardTDJ cos'è Terraform?

                              È un sistema di gestione multi-cloud. Astrae i vari sistemi con un suo linguaggio di definizione dell'infrastruttura così non devi preoccuparti dei singoli sistemi. Fa parte dello stack sviluppato da Hashi Corp. Ce ne sono anche altri, come TOSCA di Oasis - Cloudify ad esempio si basa su questo.

                              RichardTDJ mi piacerebbe apprendere un linguaggio tuttofare.

                              Python è abbastanza tuttofare - poi dipende dalla specifica applicazione che vuoi creare.

                                [cancellato] interessante...
                                Sisi penso che mi buttero su di lui.

                                Informativa privacy - Informativa cookie - Termini e condizioni - Regolamento - Disclaimer - 🏳️‍🌈
                                P.I. IT16712091004 - info@fibraclick.it

                                ♻️ Il server di questo sito è alimentato al 100% con energia rinnovabile