Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Dal richiamo di Enrico Letta alla necessità di completare il mercato unico entro il 2028 alla visione di Nokia sul ruolo dell’IA e delle reti intelligenti, il Nokia Innovation Day 2025 ha intrecciato geopolitica e tecnologia, mostrando a Vimercate come la ricerca italiana contribuisca alle sfide globali delle telecomunicazioni
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-09-2009, 10:20   #1
JoJo
Senior Member
 
L'Avatar di JoJo
 
Iscritto dal: Dec 2000
Messaggi: 2943
Software multipiattaforma

Dovrei realizzare un software di controllo per macchine CNC da utilizzare sia in ambiente Windows che in ambiente Linux.

Ho già realizzato tale software, anni fa, in VB6 per l'utilizzo unico su XPE (Windows XP Embedded) e adesso avrei la necessità di realizzare un porting (anche riscrivendolo tutto). Sapreste darmi qualche dritta su che linguaggio utilizzare per scrivere un codice (nativo) unico? Io pensavo al C++ con l'utilizzo di qualche libreria grafica multipiattaforma. Mi sapete dire qualcosa in più?

Ovviamente il software è completamente grafico in quanto è l'interfaccia utente per pilotare la macchina e interagire con la logica del CNC.

Grazie per le risposte, ciao!

Ultima modifica di JoJo : 29-09-2009 alle 10:26.
JoJo è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2009, 10:31   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da JoJo Guarda i messaggi
Ovviamente il software è completamente grafico in quanto è l'interfaccia utente per pilotare la macchina e interagire con la logica del CNC.
Nella tua applicazione hai dunque anche la neccessità di comunicare via seriale con il CNC?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2009, 10:41   #3
JoJo
Senior Member
 
L'Avatar di JoJo
 
Iscritto dal: Dec 2000
Messaggi: 2943
Scusate ma ho tralasciato alcune cosette nel primo post:

- il software non pilota direttamente la macchina ma interagisce con la sua logica con un colloquio di rete. Ho già realizzato il software anni fa in Vb6 per girare su XPE. Usa Winsock e molte altre API

- il software deve essere grafico (e orientato verso i touchscreen) in quanto è l'interfaccia utente di pilotaggio della macchina (né più, né meno dei pulsanti e della grafica)

- il software deve poter pilotare dei dispositivi posti sulla RS232, RS422 e RS485

Diciamo che il software, in ambiente Win32 è fatto (anche se mi piacerebbe ricrearlo multipiattaforma), dovrei realizzare la versione per Linux.
JoJo è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2009, 11:43   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da JoJo Guarda i messaggi
Scusate ma ho tralasciato alcune cosette nel primo post:

- il software non pilota direttamente la macchina ma interagisce con la sua logica con un colloquio di rete. Ho già realizzato il software anni fa in Vb6 per girare su XPE. Usa Winsock e molte altre API

- il software deve essere grafico (e orientato verso i touchscreen) in quanto è l'interfaccia utente di pilotaggio della macchina (né più, né meno dei pulsanti e della grafica)

- il software deve poter pilotare dei dispositivi posti sulla RS232, RS422 e RS485

Diciamo che il software, in ambiente Win32 è fatto (anche se mi piacerebbe ricrearlo multipiattaforma), dovrei realizzare la versione per Linux.
Credo che in questo caso potresti usare wxWidgets.
Per il touch screen alla fine è solo questione di supporto del sistema operativo, per il software non ci sono differenze.
Il problema è che in ogni caso il software essendo in vb6 va riscritto da 0.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2009, 11:43   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Non sono sicuro di aver capito: il tuo software comunica sia via rete, che direttamente via porta seriale?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2009, 12:41   #6
zulutown
Senior Member
 
Iscritto dal: Jul 2009
Messaggi: 1161
Quote:
Originariamente inviato da JoJo Guarda i messaggi
Dovrei realizzare un software di controllo per macchine CNC da utilizzare sia in ambiente Windows che in ambiente Linux.

Ho già realizzato tale software, anni fa, in VB6 per l'utilizzo unico su XPE (Windows XP Embedded) e adesso avrei la necessità di realizzare un porting (anche riscrivendolo tutto). Sapreste darmi qualche dritta su che linguaggio utilizzare per scrivere un codice (nativo) unico? Io pensavo al C++ con l'utilizzo di qualche libreria grafica multipiattaforma. Mi sapete dire qualcosa in più?

Ovviamente il software è completamente grafico in quanto è l'interfaccia utente per pilotare la macchina e interagire con la logica del CNC.

Grazie per le risposte, ciao!
Ciao
su Java puoi scrivere parti del codice "comuni" e multipiattaforma e parti "native" ad esempio in C++

credo che con .NET tu possa far la stessa cosa.. scrivi in VB.Net (che probabilmente già conosci) la parte che non si interfacia al sistema operativa.. per windows ricicli il codice nativo che già avevi e per linux lo scrivi ad hoc, magari in C++, mentre la parte Vb.NET dovrebbe girarti su Mono

comunque, il primo passo che dovresti fare sarebbe cercare di slegare logicamente la parte "nativa" da quella "non nativa"..
__________________
Web2.0 Guides And Tutorials SLR: Canon 6D ZOOM: Canon EF 24-105mm f/4L IS USM FISSI: - Canon EF 28mm f/1.8 USM - Canon EF 40mm f/2.8 STM - Canon EF 50mm f/1.4 USM - Canon EF 100mm f/2 USM - Canon EF 200mm f/2.8L USM II ALTRO: Canon 430 EX II
zulutown è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 11:02   #7
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
ciao allora se vuoi un linguaggio di programmazione multipiattaforma è solo ed escusivamente JAVA per quello che conosco io... JAVA essendo basato su una Virtual Machine si crea indipendentemente dal sistema i prori registri set istruzioni etc...
invece se usi il c++ non lo è dato che in linux ad esempio possiamo fare accessi in kernel mode, mentre in windows è tutto bloccato... mi spiegop meglio: in c++ se stai creando un'applicazione che comunichi con la seriale in linux basta scrivere e leggere all'indirizzo di mapping della seriale, la stessa cosa era possibile fino a windows 98 poi con xp vista seven sono diventati accessi indiretti e quindi ti servirebbe un device driver che ti permetta di comunicare direttamente con la periferica, il che quindi fa diventare non multipiattaforma il software ma ad hoc per un determinato os.
io uso anche il .net e ti dico che è favoloso... ma ripeto se vuoi il massimo della scalabilità tra i vari os non ti resta che usare JAVA ed i suoi derivati... come compilatore builder etc per java ti consiglio ECLIPSE che va veramente bene e supporta anche c++ e altri linguaggi...
ovviamente tieni a mente che più è scalabile un software minore sarà la sua ottimizzazione, ovvero: se scrivi lo stesso prog in assemby per il processore in uso sarà una scheggia ma usabile solo su quella macchina, viceversa in JAVA sarà relativamente piu lento (dipende da cosa devi fare, se son cavolate la differenza è apri a zero) ma usufruibile senza intoppi da tutti :-P

ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 11:56   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 2186 Guarda i messaggi
ciao allora se vuoi un linguaggio di programmazione multipiattaforma è solo ed escusivamente JAVA per quello che conosco io... JAVA essendo basato su una Virtual Machine si crea indipendentemente dal sistema i prori registri set istruzioni etc...
Veramente non è esatto: Java è write-once run-everywhere, C++ è write-once compile-everywhere.
Altrimenti come spiegheresti l'esistenza di QT e wxWidgets che funzionano su più piattaforme?
E come spiegheresti la JVM che è compilata per tutte le piattaforme su cui esiste Java?

Quote:
invece se usi il c++ non lo è dato che in linux ad esempio possiamo fare accessi in kernel mode, mentre in windows è tutto bloccato... mi spiegop meglio: in c++ se stai creando un'applicazione che comunichi con la seriale in linux basta scrivere e leggere all'indirizzo di mapping della seriale, la stessa cosa era possibile fino a windows 98 poi con xp vista seven sono diventati accessi indiretti e quindi ti servirebbe un device driver che ti permetta di comunicare direttamente con la periferica, il che quindi fa diventare non multipiattaforma il software ma ad hoc per un determinato os.
Veramente non c'è bisogno di arrivare a tanto per comunicare su una seriale.
Se prendi ad esempio la libreria wxCTB, consente di dialogare con una seriale su Windows, Linux e OSX, usando le api in user space messe a disposizione dai vari sistemi operativi.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 14:41   #9
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Veramente non è esatto: Java è write-once run-everywhere, C++ è write-once compile-everywhere.
Altrimenti come spiegheresti l'esistenza di QT e wxWidgets che funzionano su più piattaforme?
E come spiegheresti la JVM che è compilata per tutte le piattaforme su cui esiste Java?



Veramente non c'è bisogno di arrivare a tanto per comunicare su una seriale.
Se prendi ad esempio la libreria wxCTB, consente di dialogare con una seriale su Windows, Linux e OSX, usando le api in user space messe a disposizione dai vari sistemi operativi.

in risposta alla prima:
1) l'esistenza delle qt e delle wxWidgets che sono multipiattaforma non implica che lo sia anche il linguaggio adottato... ribadisco C++ non è multipiattaforma, cmq le parole contano poco: prendi un prog in c++ fatto per linux e mettilo su win e provalo a compilare poi vedrai che risate
2) JAVA lo già detto che è basata su una JVM e quindi multipiattaforma it's easy

in risposta alla seconda:
1) se usi librerie già fatte ti può andare bene se non hai da fare controlli in tempo reale critici o roba assurdamente veloce... ma se vuoi andare sul professionale implementi un codice asm nel sorgente

2)qui premetto che non ho mai usato le wxCTB, ma sempre scritto in asm o c++... cmq quello che vorrei sapere è:
se scrivo il sorgente per linux (ad esempio) usando queste librerie e successivamente compilandolo in ambienti diversi quindi sun linux win bsd unix etc... il programma viene complitao senza errori?
mio pensiero: non penso venga senza errori anzi... ogni os ha una propria interfaccia di gestione degli accessi quindi bisognerebbe usare librerie diverse in base al sitema... indi ribarirebbe il fatto che il C++ non è scalabile da un os ad un'altro :-P dato che è impossibile che 2 os diversi possano utilizzare in maniere identica delle librerie a meno che non siano due os basati sullo stesso motore :-P

cmq aspetto una risp dato che nell'ultimo punto ho dei dubbi :-P
ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 15:31   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 2186 Guarda i messaggi
in risposta alla prima:
1) l'esistenza delle qt e delle wxWidgets che sono multipiattaforma non implica che lo sia anche il linguaggio adottato... ribadisco C++ non è multipiattaforma, cmq le parole contano poco: prendi un prog in c++ fatto per linux e mettilo su win e provalo a compilare poi vedrai che risate
Ne puoi scrivere a sfare di programmi C++ che compilano su tutte le piattaforme, anche quelle per cui non esiste la JVM.
Tra l'altro vanno inclusi anche tutti i programmi fatti con QT e wx.
C++ è uno standard internazionale, praticamente qualunque archiettura ha un compilatore per tale linguaggio.

Quote:
2) JAVA lo già detto che è basata su una JVM e quindi multipiattaforma it's easy
Si vai a vedere le incompatibilità varie con la versione ME...

Quote:
in risposta alla seconda:
1) se usi librerie già fatte ti può andare bene se non hai da fare controlli in tempo reale critici o roba assurdamente veloce... ma se vuoi andare sul professionale implementi un codice asm nel sorgente
Che vuol dire professionale?
Se non programmi in assembly non sei un professionista?
Quindi anche uno che sviluppa in Java non è un professionista?
Ho lavorato nel settore audio e anche lì ti ritrovi ad usare l'assembly solo in casi in cui ti accorgi che qualcuno del reparto commerciale ha lesinato sulla potenza del micro per risparmiare pochi euro (facendone spendere molti di più nello sviluppo), per il resto è tutto C.

Quote:
2)qui premetto che non ho mai usato le wxCTB, ma sempre scritto in asm o c++... cmq quello che vorrei sapere è:
se scrivo il sorgente per linux (ad esempio) usando queste librerie e successivamente compilandolo in ambienti diversi quindi sun linux win bsd unix etc... il programma viene complitao senza errori?
Già, esiste il preprocessore.

Quote:
mio pensiero: non penso venga senza errori anzi... ogni os ha una propria interfaccia di gestione degli accessi quindi bisognerebbe usare librerie diverse in base al sitema... indi ribarirebbe il fatto che il C++ non è scalabile da un os ad un'altro :-P dato che è impossibile che 2 os diversi possano utilizzare in maniere identica delle librerie a meno che non siano due os basati sullo stesso motore :-P

cmq aspetto una risp dato che nell'ultimo punto ho dei dubbi :-P
ciao
il seguente codice restituisce il numero di processori presenti sulla macchina su un discreto numero di sistemi:
Codice:
UInt32  OS::GetNumProcessors()
{
#if (__Win32__)
	static UInt32 numCPUs = 0;
	if (numCPUs == 0)
	{
		SYSTEM_INFO theSystemInfo;
		::GetSystemInfo(&theSystemInfo);
    
		numCPUs = (UInt32)theSystemInfo.dwNumberOfProcessors;
	}
	return numCPUs;
#endif

#if (__MacOSX__ || __FreeBSD__)
    int numCPUs = 1;
    size_t len = sizeof(numCPUs);
	int mib[2];
    mib[0] = CTL_HW;
    mib[1] = HW_NCPU;
    (void) ::sysctl(mib,2,&numCPUs,&len,NULL,0);
    if (numCPUs < 1) 
        numCPUs = 1;
    return (UInt32) numCPUs;
#endif

#if(__linux__ || __linuxppc__)
    static UInt32 numCPUs = 0;
	if (numCPUs == 0)
	{
		char cpuBuffer[8192] = "";
		StrPtrLen cpuInfoBuf(cpuBuffer, sizeof(cpuBuffer));
		FILE    *cpuFile = ::fopen( "/proc/cpuinfo", "r" );
		if (cpuFile)
		{   cpuInfoBuf.Len = ::fread(cpuInfoBuf.Ptr, sizeof(char),  cpuInfoBuf.Len, cpuFile);
			::fclose(cpuFile);
		}
	    
		StringParser cpuInfoFileParser(&cpuInfoBuf);
		StrPtrLen line;
		StrPtrLen word;
		UInt32 numCPUs = 0;
	    
		while( cpuInfoFileParser.GetDataRemaining() != 0 ) 
		{
			cpuInfoFileParser.GetThruEOL(&line);    // Read each line   
			StringParser lineParser(&line);
			lineParser.ConsumeWhitespace();         //skip over leading whitespace

			if (lineParser.GetDataRemaining() == 0) // must be an empty line
				continue;

			lineParser.ConsumeUntilWhitespace(&word);
	               
			if ( word.Equal("processor") ) // found a processor as first word in line
			{   numCPUs ++; 
			}
		}
	    
		if (numCPUs == 0)
			numCPUs = 1;
	}
        
    return numCPUs;
#endif

#if(__solaris__)
{
    static UInt32 numCPUs = sysconf(_SC_NPROCESSORS_ONLN);  // Only ever called once

    if (numCPUs <= 0)
        numCPUs = 1;

    return numCPUs;
}
#endif

#if(__sgi__) 
    UInt32 numCPUs = 0;

    numCPUs = sysconf(_SC_NPROC_ONLN);
	
	return numCPUs;
#endif
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 16:00   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Codice:
#if(__linux__ || __linuxppc__)
    static UInt32 numCPUs = 0;
	if (numCPUs == 0)
	{
		char cpuBuffer[8192] = "";
		StrPtrLen cpuInfoBuf(cpuBuffer, sizeof(cpuBuffer));
		FILE    *cpuFile = ::fopen( "/proc/cpuinfo", "r" );
		if (cpuFile)
		{   cpuInfoBuf.Len = ::fread(cpuInfoBuf.Ptr, sizeof(char),  cpuInfoBuf.Len, cpuFile);
			::fclose(cpuFile);
		}
	    
		StringParser cpuInfoFileParser(&cpuInfoBuf);
		StrPtrLen line;
		StrPtrLen word;
		UInt32 numCPUs = 0;
	    
		while( cpuInfoFileParser.GetDataRemaining() != 0 ) 
		{
			cpuInfoFileParser.GetThruEOL(&line);    // Read each line   
			StringParser lineParser(&line);
			lineParser.ConsumeWhitespace();         //skip over leading whitespace

			if (lineParser.GetDataRemaining() == 0) // must be an empty line
				continue;

			lineParser.ConsumeUntilWhitespace(&word);
	               
			if ( word.Equal("processor") ) // found a processor as first word in line
			{   numCPUs ++; 
			}
		}
	    
		if (numCPUs == 0)
			numCPUs = 1;
	}
        
    return numCPUs;
#endif
Ammazza quanto e' lunga la versione per linux
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 16:23   #12
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Ammazza quanto e' lunga la versione per linux
Secondo me quel pezzo non è scritto proprio bene...
Si potrebbe ottimizzare tantissimo come numero di righe usando meglio il C++, alla fine si tratta di contare quante sono le righe che cominciano con "processor" all'interno del file /proc/cpuinfo.
Questo mi sembra faccia le stesse cose:
Codice:
    static UInt32 numCPUs = 0;
	if (numCPUs == 0)
	{
		ifstream cpuinfo("/proc/cpuinfo");
		if (cpuinfo.is_open())
		{
			string line;
			while(getline(ifs, line))
			{
				while(line.find(" ") == 0)
					line = line.substr(1);
				if (line.find("processor") == 0)
					++numCPUs;
			}
		}
		if (numCPUs == 0)
			numCPUs = 1;
	}
	return numCPUs;
E' bello notare come tutti gli altri sistemi operativi abbiano un'API per avere il numero di processori sulla macchina.

Ultima modifica di tomminno : 30-09-2009 alle 16:44.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 17:04   #13
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da tomminno Guarda i messaggi
E' bello notare come tutti gli altri sistemi operativi abbiano un'API per avere il numero di processori sulla macchina.
Più che bello, casca proprio l'occhio. Ma non vuol dire nulla, su un singolo caso. Più che altro, che fine avrà fatto Jojo?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 17:09   #14
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
1) non intendo dire che se uno non usa asm n on sia un professionista, ma semplicemente che se lo usi di sicuro lo sei :-P dato che.... (non penso ci voglia una spiegazione o motivo... lo si intuisce)
2)un conto è restituire la lista dei processi o il suo numero un altro è lavorare in maniera pesante su registri, ram, tread, periferiche, e quant'altro... e ribadisco che non esite un linguaggio oltre al JAVA (di quelli che io conosca) che sia in grado di fungere su qualsiasi piattaforme dato che ha la la sua VM che gli facilita la vita e rendendo il sorgente esportabile in qualsiasi os... un codice in C++ molto difficilmente lo si può portare da un os ad un altro e farlo fungere senza metterci le lani su.... (anche se cambiare poche cose ma le si devono cambiare) con java SI! personalmete sperimentato con: debian lenny ubuntu opensun10 freebsd xp vista seven server03 comprensive tutte le versioni 32 e 64 bit ed i programmi fungono a prima botta
3)incompatibilità varie con la versione ME... purtoppo non ne sono informato quindi mi fido di quello che dici.
4)quando dici di risparmiare... beh... forse parli così solo perchè non ti sei posto mai la domanda, o perlomeno fatto 2 conti, su cosa significhi risparmiare anche solo 20 centesimi sul singolo chip... spendere 3gg in più per un software costa molto meno che pagare 20cent in più per 1000000000 di chip che usi (ovviamente vale il discorso per un azienda importate, altrimenti è stato un balengo a riparmiare per 2€ su una spesa di 100pz)

5)non mi hai ancora risposto ad una domanda... se uso le wxCTB, e faccio un prog sotto linux... poi se passo il sorgente in win e lo compilo, viene compilato senza errori? se così fosse allora... sarei molto contento sia di aver imparato una cosa nuova, sia che mi si semplifica la vita da oggi in avanti :-P

PS: ho avuto modo di lavorare nel settore DSP ed effettivamente si utilizza quasi sempre C, ma io in particolare usavo mathlab e VHDL e quando c'èerano sorgenti da autocorrelare o filrare tramite IR IIR o altre cose simili ti garantisco che si progettava in C, poi si usava un tool che convertiva in asm e si ottimizzava l'asm per via circuitale tramite l'ISE (io usavo quello della XILINX)

cmq grazie ancora della chiacchierata
ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 17:13   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da 2186 Guarda i messaggi
1) non intendo dire che se uno non usa asm n on sia un professionista, ma semplicemente che se lo usi di sicuro lo sei :-P dato che.... (non penso ci voglia una spiegazione o motivo... lo si intuisce)
Dicesi: leggenda metropolitana. Anzi mi correggo, dicesi: affermazione basata sul niente.
Ora, visto che non capisco affermazioni del genere, ti chiedo: puoi dirmi quale e' la definizione di "professionista"?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 17:48   #16
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Dicesi: leggenda metropolitana. Anzi mi correggo, dicesi: affermazione basata sul niente.
Ora, visto che non capisco affermazioni del genere, ti chiedo: puoi dirmi quale e' la definizione di "professionista"?
allora la definizione di professionista la puoi tranquillamente trovare tra wikipedia e google :-P
per quanto riguarda il discorso dell'assembly ora mi spiego...
per usare il linguaggio asm non è come usare il c++ o vb o java delphi e via discorrendo... per usare in maniera corretta l'asm bisogna conoscere a fondo l'achitettura del controllore da programmare, quindi nonchè una buona conoscenza di sistemistica, controlli, elettronica e dulcis in "findus" anche un minimo di programmazione.... ora se sei in grado di conoscere vita morte e miracoli dell'architettura per cui stai sviluppando un software sigifica che non sei uno quaquaraqà.... anzi....per non parlare poi di ADA e VHDL (o verilog) meno complessi dell'asm e simili al c ma di gran lunga più complessi dato che per fare una buona struttura si deve conoscere a menadito la struttura interna del chip e quindi anche come lui stesso implementa le funzioni da noi scritte....

insomma spero di essermi spiegato :-P
ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:35   #17
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 2186 Guarda i messaggi
1) non intendo dire che se uno non usa asm n on sia un professionista, ma semplicemente che se lo usi di sicuro lo sei :-P dato che.... (non penso ci voglia una spiegazione o motivo... lo si intuisce)
L'Assembly è un linguaggio come un altro.
Oltretutto di Assembly ce ne sono tanti quante sono le architetture in circolazione

Quote:
2)un conto è restituire la lista dei processi o il suo numero un altro è lavorare in maniera pesante su registri, ram, tread, periferiche, e quant'altro...
Registri? Ram? Periferiche? In Java?

Quote:
e ribadisco che non esite un linguaggio oltre al JAVA (di quelli che io conosca) che sia in grado di fungere su qualsiasi piattaforme dato che ha la la sua VM che gli facilita la vita e rendendo il sorgente esportabile in qualsiasi os... un codice in C++ molto difficilmente lo si può portare da un os ad un altro e farlo fungere senza metterci le lani su.... (anche se cambiare poche cose ma le si devono cambiare)
Se ne sei convinto buon per te, sta di fatto che la realtà è un'altra.

Quote:
con java SI! personalmete sperimentato con: debian lenny ubuntu opensun10 freebsd xp vista seven server03 comprensive tutte le versioni 32 e 64 bit ed i programmi fungono a prima botta
E io potrei anche dirti che la stessa cosa accade anche in C++, esistono là fuori uno scatafascio di software scritti in C++ che funzionano praticamente ovunque e non è che hanno scritto un programma diverso per ogni sistema operativo.

Quote:
4)quando dici di risparmiare... beh... forse parli così solo perchè non ti sei posto mai la domanda, o perlomeno fatto 2 conti, su cosa significhi risparmiare anche solo 20 centesimi sul singolo chip... spendere 3gg in più per un software costa molto meno che pagare 20cent in più per 1000000000 di chip che usi (ovviamente vale il discorso per un azienda importate, altrimenti è stato un balengo a riparmiare per 2€ su una spesa di 100pz)
3gg?
Hai idea di cosa significhi sviluppare un firmware su un sample per poi scoprire che l'hardware di produzione se va bene avrà la metà della ram e una cpu che viagga a 3/4?

Quote:
5)non mi hai ancora risposto ad una domanda... se uso le wxCTB, e faccio un prog sotto linux... poi se passo il sorgente in win e lo compilo, viene compilato senza errori? se così fosse allora... sarei molto contento sia di aver imparato una cosa nuova, sia che mi si semplifica la vita da oggi in avanti :-P
Certo. wxCTB (al di là del nome non hanno nessuna dipendenza dalle wxWidgets) semplicemente usano le funzioni messe a disposizione dal sistema operativo, se sei su Linux il preprocessore abilita la compilazione della parte Linux, e così analogamente avviene su Windows.
Prendi il sorgente ricompili e via.

Quote:
PS: ho avuto modo di lavorare nel settore DSP ed effettivamente si utilizza quasi sempre C, ma io in particolare usavo mathlab e VHDL e quando c'èerano sorgenti da autocorrelare o filrare tramite IR IIR o altre cose simili ti garantisco che si progettava in C, poi si usava un tool che convertiva in asm e si ottimizzava l'asm per via circuitale tramite l'ISE (io usavo quello della XILINX)
Lo so ci sono passato, ma le routine da ottimizzare in assembly erano fortunatamente poche.

Quote:
cmq grazie ancora della chiacchierata
ciao
Di niente!
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:43   #18
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 2186 Guarda i messaggi
allora la definizione di professionista la puoi tranquillamente trovare tra wikipedia e google :-P
per quanto riguarda il discorso dell'assembly ora mi spiego...
per usare il linguaggio asm non è come usare il c++ o vb o java delphi e via discorrendo... per usare in maniera corretta l'asm bisogna conoscere a fondo l'achitettura del controllore da programmare, quindi nonchè una buona conoscenza di sistemistica, controlli, elettronica e dulcis in "findus" anche un minimo di programmazione.... ora se sei in grado di conoscere vita morte e miracoli dell'architettura per cui stai sviluppando un software sigifica che non sei uno quaquaraqà.... anzi....per non parlare poi di ADA e VHDL (o verilog) meno complessi dell'asm e simili al c ma di gran lunga più complessi dato che per fare una buona struttura si deve conoscere a menadito la struttura interna del chip e quindi anche come lui stesso implementa le funzioni da noi scritte....

insomma spero di essermi spiegato :-P
ciao
Ti sfiderei a conoscere come il BPT di un processore ad esecuzione speculativa elabora quello che hai scritto in C.
Semplicemente impossibile, oltre che decisamente inutile.

Direi che, stando alla tua definizione di professionista, in circolazione nel nostro settore non ce ne sia nemmeno uno
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:52   #19
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
ciao allora:
1)sono veramente contento che esistano le wxCTB!!!!! se è come dici corro subito a documentarmi perchè mi renderebbero la vita vermanete piu facileeee grazie per avermi messo a conoscenza della loro esistenza
2)mi spiace ma l'assembly non è un linguagggio come un altro... oserei dire che è IL LINGUAGGIO... e quello che puoi fare con quello te lo puoi sognare con gli altri... (a meno di implementare ad esmpio in un sorgente una porzione in asm stesso per fare la particolare operazione richiesta )
3)Registri? Ram? Periferiche? In Java? esatto proprio per questo dicevo che dipende cosa devi fare... nel momento in cui devi lavorare con quei componenti non userai mai java... ma non perchè non sia buono, ma semplicemente perchè non farà quello che vorrai e come lo vorrai soprattutto

ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 19:03   #20
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ti sfiderei a conoscere come il BPT di un processore ad esecuzione speculativa elabora quello che hai scritto in C.
Semplicemente impossibile, oltre che decisamente inutile.

Direi che, stando alla tua definizione di professionista, in circolazione nel nostro settore non ce ne sia nemmeno uno
ripeto non è la mia definizione.... la definizione la trovi tra google e wikipedia... il discorso è basato su una deduzione logica ovvero:
"dato che per conoscere bene l'assembly e quindi tutto quello che vi è dietro, è al quanto ovvio che non si sia di primo pelo, cosa che non si può dire al contrario dato che anche un bimbo se vuole inizia a programmare in vb/delphi/c/c++/java etc.. cosa non fattibile in asm"
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Impact.com ridefinisce il performance ma...
Nintendo non considera le mod
Dreame inaugura il suo flagship store a ...
OpenAI e Jony Ive: in arrivo un disposit...
TikTok, secondo Trump l'accordo con Xi &...
HUAWEI, tutte le novità dell'even...
Mercedes GenH2 Truck sulle Alpi: oltre 1...
Shadow Leak: ecco come ChatGPT poteva es...
Google Gemini 2.5 batte quasi tutti gli ...
Battlefield 6: i giocatori console non p...
Iliad rinnova l'offerta mobile: tre pian...
HUAWEI Watch GT 6 ufficiale: design al t...
Reggie Townsend di SAS: l’etica dell’IA ...
Startup Marathon in vista del traguardo:...
Xiaomi 15T Series: basta un clic per ott...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v