RISOLTO Miglior software di programmazione (editor di testo) Java, Javascript e python

Stato
Discussione chiusa ad ulteriori risposte.

Damian0

Bannato a Vita
122
6
Buonasera, chiedo scusa ai moderatori per aver aperto un altra discussione ma ho dovuto specificare opportunamente la domanda. In tal caso eliminate pure l altra discussione.
Comunque sto cominciando ad approcciarmi al mondo della programmazione e devo prendere ancora il PC, in virtù di ció vorrei informarmi prima su quale sia l editor di testo più opportuno che supporti sia java che python. Vi chiedo anche quali componenti del PC tende ad utilizzare quel corrispettivo software.
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Ciao, su quale OS sarai?
Su Windows c'è Visual Studio e trovo ottimi i software della Jetbrains. Nel tuo caso si chiama IntelliJ questo IDE. C'è una versione Community che è gratuita.

Se devi ancora iniziare ti direi però che anche Visual Studio Code può andar bene, ed è anche più leggero di un IDE.

Per python c'è sempre un software Jetbrains.
In generale comunque tanti editor come Visual Studio Code supportano molti linguaggi, dovrai solo aggiungere gli opportuni plug in.

Ciò che usano gli IDE sono CPU e disco.

Ps. se avrai domande su come iniziare, puoi usare la discussione ufficiale https://forum.tomshw.it/threads/imparare-a-programmare.549368/
 

Andretti60

Utente Èlite
6,440
5,091
Un editore di testo per iniziare va bene, per esempio Notepad++ e Atom ti permettono di scrivere codice per quasi ogni linguaggio di programmazione (incluso ovviamente Python e Java), ma poi devi trovare un debugger decente e fare la compilazione a mano. Personalmente imparai Python usando Atom, su Mac.
Ma gli editori di testo vanno giusto bene per imparare e per piccoli progetti, magari per linguaggi di tipo scripting. Gli IDE sono mille volte più convenienti; ti ho linkato la pagina wiki italiana solo come referenza, dice veramente solo l’essenziale. Su quale IDE sia meglio per Java è solo questione di preferenza, vanno bene tutti.

In aggiunta ai requisiti giustamente descritti da @DispatchCode io aggiungo che per usare decentemente un IDE hai bisogno di un sacco di memoria, sono applicativi piuttosto pesanti, ma non per questo devi correre a comprare un computer con 32GB di RAM, a seconda del sistema operativo ti può bastare anche un minimo di 8GB (controlla i requisiti), di molta memoria ne ha bisogno un professionista che deve fare girare molti applicativi allo stesso tempo e non vuole aspettare cinque minuti per aprire una terza copia di DevStudio.
Ogni IDE come ho detto definisce la configurazione minima per installazione e per girare, in genere non hanno bisogno di schede grafiche speciali, e nemmeno di processori potenti, qualsiasi computer va in pratica bene.
 

Damian0

Bannato a Vita
122
6
Ciao, su quale OS sarai?
Su Windows c'è Visual Studio e trovo ottimi i software della Jetbrains. Nel tuo caso si chiama IntelliJ questo IDE. C'è una versione Community che è gratuita.

Se devi ancora iniziare ti direi però che anche Visual Studio Code può andar bene, ed è anche più leggero di un IDE.

Per python c'è sempre un software Jetbrains.
In generale comunque tanti editor come Visual Studio Code supportano molti linguaggi, dovrai solo aggiungere gli opportuni plug in.

Ciò che usano gli IDE sono CPU e disco.

Ps. se avrai domande su come iniziare, puoi usare la discussione ufficiale https://forum.tomshw.it/threads/imparare-a-programmare.549368/
Visual studio code nello specifico é dedicato a java giusto? Nel senso che senza plug-in l'unico linguaggio che supporta é java
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Visual studio code nello specifico é dedicato a java giusto? Nel senso che senza plug-in l'unico linguaggio che supporta é java
No VS Code non è dedicato a qualcosa di specifici. È un "editor avanzato", non un IDE.

Dovrai installare il plug in per Java, ma ormai te lo propone direttamente lui.
 
  • Mi piace
Reazioni: Damian0

Damian0

Bannato a Vita
122
6
Un editore di testo per iniziare va bene, per esempio Notepad++ e Atom ti permettono di scrivere codice per quasi ogni linguaggio di programmazione (incluso ovviamente Python e Java), ma poi devi trovare un debugger decente e fare la compilazione a mano. Personalmente imparai Python usando Atom, su Mac.
Ma gli editori di testo vanno giusto bene per imparare e per piccoli progetti, magari per linguaggi di tipo scripting. Gli IDE sono mille volte più convenienti; ti ho linkato la pagina wiki italiana solo come referenza, dice veramente solo l’essenziale. Su quale IDE sia meglio per Java è solo questione di preferenza, vanno bene tutti.

In aggiunta ai requisiti giustamente descritti da @DispatchCode io aggiungo che per usare decentemente un IDE hai bisogno di un sacco di memoria, sono applicativi piuttosto pesanti, ma non per questo devi correre a comprare un computer con 32GB di RAM, a seconda del sistema operativo ti può bastare anche un minimo di 8GB (controlla i requisiti), di molta memoria ne ha bisogno un professionista che deve fare girare molti applicativi allo stesso tempo e non vuole aspettare cinque minuti per aprire una terza copia di DevStudio.
Ogni IDE come ho detto definisce la configurazione minima per installazione e per girare, in genere non hanno bisogno di schede grafiche speciali, e nemmeno di processori potenti, qualsiasi computer va in pratica bene.
Per sviluppo web, machine learning data mining e data analisist qual'é meglio tra atom, visual studio code, tensorflow e Jetbrains?
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Per sviluppo web, machine learning data mining e data analisist qual'é meglio tra atom, visual studio code, tensorflow e Jetbrains?
Stai andando un po' troppo in là... ?
Sono ambiti molto diversi gli uni dagli altri. Per altro, non so a che punto sei con gli studi, ma servono altri requisiti.

Non ci sono tool per fare tutto. Alcuni sono generici, ma ci sono IDE dedicati ai singoli linguaggi o estensioni da installare.
Tensorflow lo si usa in ML ad ogni modo.

Atom è un altro editor, ci puoi sviluppare applicazioni così come usando VS Code.

Un editor vale l'altro in un certo senso, almeno per lo sviluppo in sé (non entro nel merito di ML e data analyst, sono ambiti che non conosco; so che viene usato anche Jupyter nel mondo ML e data science).

Per esempio io ho sulla mia macchina sia Visual Studio che VSCode che Clion. Se scrivo qualcosa in C, solitamente uso Clion. Quando scrivevo qualche piccolo driver, usavo VS.

Anyway, la cosa migliore è che ne scarichi uno e inizi ad usarlo, poi vedi come ti trovi e scegli di conseguenza.

Chi sviluppa in Java usa ad esempio anche Eclipse. Ma personalmente non mi sono mi trovato molto.

Sei all'uni immagino, giusto?
 
  • Mi piace
Reazioni: Damian0

Damian0

Bannato a Vita
122
6
Grazie. Comunque sono al quinto e vorrei studiare ingenieria informatica, quello del Machine learning é un ambito che mi sta interessando, anche se già con una mezza lezione di mio zio (Machine learning engeneer) mi sto ricredendo.
 

Ibernato

Utente Èlite
4,330
2,047
OS
Windows 10 Pro / Ubuntu 22.04
Grazie. Comunque sono al quinto e vorrei studiare ingenieria informatica, quello del Machine learning é un ambito che mi sta interessando, anche se già con una mezza lezione di mio zio (Machine learning engeneer) mi sto ricredendo.
Aggiungo che per ML, di solito, si usano macchine remote e non macchine personali. Per esempio, per addestrare un modello, esiste il codelab di google che mette a disposizione un'istanza di una macchina su cui addestrare un modello.

Comuqnue, in merito alla tua richiesta, anche io come @DispatchCode ti consiglio IntelliJ per Java, HTML, JS. L'IDE PyCharm per python
 
  • Mi piace
Reazioni: Andretti60

pabloski

Utente Èlite
2,868
916
Grazie. Comunque sono al quinto e vorrei studiare ingenieria informatica, quello del Machine learning é un ambito che mi sta interessando, anche se già con una mezza lezione di mio zio (Machine learning engeneer) mi sto ricredendo.

Non farlo. E' ostico all'inizio, ma è il futuro ed è dannatamente necessario. Integrare modelli di ML nel proprio workflow ti cambia letteralmente la vita. Il computer ragiona. Non è più un pezzo di ferro ostico da programmare, ma un utilissimo maggiordomo.

Detto questo, i framework ML più diffusi ( penso a Tensorflow e PyTorch, ma ce ne sono tanti altri ) fanno uso ed abuso di Python. Quindi alla fin fine si tratta di programmare in Python e valgono tutti i consigli dati sopra.

Tuttavia devi prendere una decisione a monte, ovvero a cosa appoggiarti per l'addestramento dei modelli ( non necessariamente reti neurali ). Userai il PC? Userai macchine remote? I portatili sono automaticamente fuori, a meno di voler usare macchine remote.

Potresti anche decidere di usare modelli pre-addestrati. Grazie al transfer learning ( che poi è la tecnica che va per la maggiore ) si parte da un modello generico pre-addestrato e lo si raffina per renderlo più adeguato al proprio caso d'uso. Del resto moltissimi modelli ( penso a GPT-2 ) richiedono supercomputer per essere addestrati, quindi sono fuori dalla portata di molti di noi. Per fortuna parecchi sono pubblici ( grazie Google ) e possono essere usati grazie al transfer learning.

Comunque sia mettere su un PC con 4 GPU Nvidia di fascia alta ( veramente il minimo sindacale per fare sul serio ) non è nè banale, nè economico, nè privo di rogne. Ragion per cui si preferisce rivolgersi ai vari servizi cloud destinati al ML ( Google Colab, per esempio ).

E in questo caso il PC fa poca differenza, visto che serve solo per far girare l'editor.

Per la programmazione "normale" mi sa che ti conviene puntare su un i5/Ryzen 5 minimo ( un quad core almeno ) e 8 GB di RAM ( meglio 16 o anche più ). Più in là sentirai la necessità di creare ambiti isolati per specifici progetti e in questi casi si va di virtual machine o container. E le virtual machine, in particolare, si avvantaggiano moltissimo dall'avere tanta ram.

E non sottovaluterei nemmeno la necessità di portare l'accelerazione 3D alle vm. Problema purtroppo anche aperto e mai del tutto risolto ( a meno di comprare costosissime schede grafiche professionali ). Intel ti dà la possibilità di condividere la GPU. Con AMD e NVidia puoi usare il passthrough, più laborioso da settare, più performante, ma soprattutto necessita di 2 schede grafiche ( una per l'host, che suppongo tu non voglia "oscurare" mentre la vm è in esecuzione ).

Ma puoi benissimo optare per i container e parecchie rogne andranno via. Soprattutto con Windows che supporta Linux tramite WSL, è superato anche il problema di far girare software Linux e Windows insieme sullo stesso host. Potresti usare Linux + Wine e far girare i software Windows sotto Linux, anche se non tutti girano e non tutti lo fanno bene.
 

Damian0

Bannato a Vita
122
6
In tanto grazie dei preziosi consigli. Comq già penso di lavorare sul mio PC (con windows sovrascritto a Linux) almeno nei suoi limiti del possibile e fin quando me lo permetterà, anche perché un istanza di una macchina non penso sia possibile nella consizione in cui mi trovo. Se posso mi sorgono 2 domande visto che sono ancora ignorante in materia, come si fa, nel senso come avviene l'accelerazione 3D alle vm?
E avendo un PC con CPU Intel e gpu integrata o anche dedicata la condivisione tra le 2 componenti per prestazioni migliori avviene in automatico o, come nel caso di amd e Nvidia, ha bisogno di particolari settaggi, tramite il BIOS magari?
 

Andretti60

Utente Èlite
6,440
5,091
… Se posso mi sorgono 2 domande visto che sono ancora ignorante in materia, come si fa, nel senso come avviene l'accelerazione 3D alle vm?
E avendo un PC con CPU Intel e gpu integrata o anche dedicata la condivisione tra le 2 componenti per prestazioni migliori avviene in automatico o, come nel caso di amd e Nvidia, ha bisogno di particolari settaggi, tramite il BIOS magari?
Guarda, lascia tutte quelle domande per il futuro. Installa un compilatore e un editore di testo, o un IDE, focalizza a imparare le basi della programmazione per adesso. Quando di tratterrà poi di passare ad un altro livello, probabilmente avrai bisogno anche di un altro computer, e a quel punto avrai pure le idee più chiare di cosa vorrai fare.
 

pabloski

Utente Èlite
2,868
916
come si fa, nel senso come avviene l'accelerazione 3D alle vm?
ed è qui che comincia il caos, perchè i modi sono tanti e si va dal metodo Intel ( usato anche da AMD e Nvidia sulle loro schede professionali ) che consiste nel multiplexare ( via driver ) le attività 3D delle vm, al gpu passthrough ( assegnazione di una specifica gpu ad una specifica vm ) e all'assegnazione di una gpu virtuale/emulata per ogni vm.

E avendo un PC con CPU Intel e gpu integrata o anche dedicata la condivisione tra le 2 componenti per prestazioni migliori avviene in automatico o, come nel caso di amd e Nvidia, ha bisogno di particolari settaggi, tramite il BIOS magari?
A parte l'impostazione che richiede 5 minuti e comunque è ampiamente documentata, il punto è che puoi usare la stessa gpu su decine di vm contemporaneamente. Il passthrough signifiica che devi avere una gpu in più che può essere usata da una vm alla volta.

Detto questo, segui il consiglio di Andretti è non ci pensare. Solo tienilo a mente quando andrai a comprare il pc. Così potrai fare una scelta più consapevole e non dovrai necessariamente cambiarlo più in là.
 
  • Mi piace
Reazioni: Damian0

Andretti60

Utente Èlite
6,440
5,091
Detto questo, segui il consiglio di Andretti è non ci pensare. Solo tienilo a mente quando andrai a comprare il pc. Così potrai fare una scelta più consapevole e non dovrai necessariamente cambiarlo più in là.
se si decide di intrapprendere seriamente questa attività occorre tenere presente che il computer "di lavoro" andrà pur sempre cambiato frequentemente. E che prima di decidere occorre decidere "che" tipo" di programmazione si voglia fare.
 
  • Mi piace
Reazioni: Damian0
Stato
Discussione chiusa ad ulteriori risposte.

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili