Newsgroup: it.discussioni.ingegneria
Titolo: CHIEDO CONSIGLIO su scelta linguaggio di programmazione.

Sono uno studente in Ingegneria Elettronica arrivato oramai agli ultimi due
esami, in vista della Tesi di Laurea e tenendo conto dell'offerta del
mercato del lavoro vorrei chiedere a voi Ingegneri, che ben conoscete le
esigenze di mercato, su quale linguaggio di programmazione un Ingegnere
dovrebbe attualmente investire e perché? Inoltre vorrei sapere quali
argomenti di tesi posso prendere in seria considerazione in modo da potermi
vendere sul mercato in maniera seria e qualificante?



vendere sul mercato in maniera seria e qualificante?
domanda piuttosto generica ;))))
difficile rispondere cosi'.
--
ciao da Alessandro (aka Tinto)
e-mail: 
tin...@bigfoot.com
SMS (100 chars): 
ti...@wappi.com
http://utenti.tripod.it/Tinto/

 vendere sul mercato in maniera seria e qualificante?
Attualmente c'e` una notevole offerta di lavoro per programmatori JAVA e
C/C++.
Ciao.
Quirino

 vendere sul mercato in maniera seria e qualificante?
Piu' che i linguaggi devi imparare la tecnica della programmazione, che
in genere e' una grave lacuna degli ingegneri elettronici.  I linguaggi
cambiano.
In generale il linguaggio di programmazione per eccellenza e' il C++, ed
ha anche un grosso mercato.  Se lavorerai nei CAD il C++ sara'
obbligatorio.
Ci sono due aspetti dell'elettronica digitale che non sono considerati
nel C++, e sono la concorrenza e la programmazione logica.  Per la
concorrenza ti suggerisco di iniziare direttamente dal VHDL, che e'
basato sull'Ada, tenendo in conto che spesso pero' si finisce con
l'usare il Verilog.  La programmazione logica e' in prima istanza
abbastanza inutile nell'industria, ma potrebbe tornarti comoda se farai
CAD (oltretutto e' molto bella), ed in questo caso devi imparare il
Prolog.
Tieni conto che C++, VHDL e Prolog sono orientati a scopi diversi: il C
e' un linguaggio imperativo, il C++ e' imperativo ad oggetti, il VHDL e'
descrittivo ed il Prolog e' dichiarativo.  Il trucco per impararli e'
saper "pensare" nella maniera adeguata, cioe' ad oggetti, in maniera
imperativa, descrittiva o dichiarativa.  Riuscire ad entrare nella
prospettiva giusta in genere risulta in un effettivo e sensibile
incremento di produttivita'.
Spesso nell'industria si usa (purtroppo) il Perl, che e' un linguaggio
di scripting, che serve per fare piccoli lavoretti veloci, tipo
conversioni di formato, configurazioni di tools etc ... Tipicamente
dovrai anche imparare un po di UNIX.  Il Python e' migliore del Perl, ma
nell'industria il Perl e' davvero molto diffuso, anche perche' spesso la
gente piu' che pochi risultati buoni ha bisogno di molti risultati
appena decenti da mostrare, il che si traduce nel prendere i programmino
X ed attaccarci il pezzettino Y.  Il piu' delle volte gli elettronici,
sia manager che sviluppatori, non hanno la lungimiranza degli
informatici nel gestire i loro dati e programmi.
Per la tesi ti posso suggerire di prendere qualcosa che poi potrai
riutilizzare sul lavoro, il che ad esempio fa fuori quasi del tutto le
reti neurali, visto che di applicazioni pratiche dopo molti anni se ne
continuano a vedere pochette (ogni volta che dico cose del genere ci
sono 2-3 dottorandi in reti neurali che mi fulminano ...).  Puoi anche
scegliere un argomento teorico ma che richieda molte tecniche di vasta
applicazione per la sua risoluzione, in maniera che perderai la parte di
lavoro per il conseguimento della tesi, ma non perderai l'esperienza di
implementazione del progetto di tesi.  Ovviamente l'optimum e' che le
cose che impari siano concentrate in un campo del quale poi diventi
specialista.  Ovviamente specializzarsi molto e' un investimento a
rischio piu' alto, ma e' anche per questo meglio remunerato.
Se ti interessano i soldi puoi dare un'occhiata a
http://www.eet.com/salarysurvey/1999/money.html
Ovviamente il Survey e' per salari americani, ma fanno "trend".
Per mia esperienza so che le ditte che fanno CAD in genere pagano un po
di piu', e credo che in futuro ci sara' anche piu' lavoro che adesso.  I
designer analogici sono abbastanza cercati perche' sono pochi, anche se
il mercato degli ASIC e dei DSP e' piu' grande.  Al momento va molto
Mixed-Signals, come ad esempio convertitori AD/DA.  Stessa cosa vale per
il Testing, anche perche' Testing non lo vuole fare quasi nessuno.
In genere gli ingegneri sviluppatori sono un po piu' penalizzati
rispetto agli altri (application engineering, technical marketing),
credo perche' ci appassioniamo (io faccio parte della partita) di piu'
al lavoro e quindi il datore di lavoro tende a pagarti di meno o farti
lavorare di piu', mentre sopratutto chi fa technical marketing ha una
sensazione molto piu' precisa di quanti soldi fa guadagnare alla ditta,
e quindi di quanto la ditta ha voglia di pagare per lui.  Se vuoi uscire
dallo sviluppo fare DSP e' un ottima maniera per fare un po di sviluppo
e poi cercare di passare alle application e poi al marketing.  Anche CAD
ha sbocchi nelle application, ma meno nel technical marketing.  Iniziare
in elettronica con la libera professione e' decisamente piu' difficile
che in molti altri campi.
-- 
Lorenzo Di Gregorio

Ovviamente il Survey e' per salari americani, ma fanno "trend".
-- 
Roberto Lupi


 I linguaggi di oggi sono  VB,  C++   Visual C++ e    Java
naturalmente ci sono altri 
  Per chi non ha ancora iniziato l'ideale e' partire con il Visual
Basic  e poi passare al Visual C++  o C++ ma non perdete tempo il 
problema non e' imparare a programmare ma programmare bene
Vi consiglio di tenervi il piu' lontano possibile dai linguaggi morti
perderete ulteriore tempo e farete brutte figure ogni volta che solo
li nominati e come bestemmiare il mondo dell'informatica va alla
velocita' della luce, lo sanno bene quelli che vi sono dentro.
 
 
    In bocca al Lupo
      **************************************************
    Ne approfitto per dire qualcosa che  riguarda la programmazione e
il modo dell'informatica.
La  programmazione e' come la musica  conosco ragazzi di 16  che usano
il C++   in maniera' stupenda per loro e' un gioco programmare.
Poi con gli  anni la produttivita' e l'efficienza decresce
notevolmente pertanto prima si impara meglio e', imparare a
programmare a 30  oggi serve poco e niente.
 Sono molti che parlano di imparare a programmare dopo l'aureati e
magari dopo sposat e con figli, perche' all'Universita' non hanno
tempo, oppure per far piacere ai professori imparano linguaggi morti
che non servono a niente.
 Quando andavo all'universita' capii subito che fuori c'era un'aria
diversa se avessi voluto imparare a programmare non avevo che farmi il
corso di Fortran e poi dopo l'aureato me lo cuocevo al forno.
 Ancora non si e' resi conto, e perche' non gli e' stato detto o
perche' sono duri a capire (parlo di Ministri e Ministeri vari)  delle
infinite opportunita' di lavoro possano esserci per chi sa programmare
bene, anzi io direi che chi sa programmare bene non conoscera' la
disoccupazione ma entrera' in un mondo stimolante pieno di
opportunita'.
 
    Purtroppo sembra che  non e' cambiato nulla....
 
Sarei curioso di sapere quelli che studiano informatica  quale
linguaggio di programmazione possono scegliere nel  piano di studi,
scommetto che c'e' ancora  il Fortran  il Pascal   magari anche il
Basic  ...chissa?
 
  Purtroppo l'industria e il mercato  vanno  da una parte e
l'Universita' da un'altra, parlano lingue diverse.
Oggi quanti  hanno dovuto cominciare d'accapo dopo l'aureati?
E quanti si sono accorti che fuori il mondo e' completamente    
diverso quanti si sono massacrati a studiare cose che non servono
piu' si sono rinchiusi in quel mondo per imparare ma ne sono usciti 
in un un altro diverso, che non conoscono.
L'universita' dovrebbe essere non solo in sintonia con il tempo ma
anche all'avanguardia nella ricerca e nei settori avanzati,
analizzando e sviluppando nuove tecnologie. 
   In questo Paese appena si  parla di riforme nella scuola subito
vedi in televisione migliaia  gli studenti di ogni ordine e grado  che
protestano come dannati per motivi che non conoscono,  sempre estranei
o contro i loro  interessi .
 Perche non  l'ho mai  capito  !?
      Comunque per poco non svenivo quando in televisione ho sentito
che il Gov. della Banca d'Italia in persona a detto che bisogna
ammodernare il paese (e forse intendeva con urgenza) 
  e +/- lo  sviluppo passa attraverso l'informatizzazione ....  ecc.
ecc..  
         Penso di aver capito a chi si riferisse a quali settori   si
rriferisse  certo siamo nel  2000.
   Il Paese e' di fatto spaccato, ci sono due mondi paralleli
da una parte quello Statale Arcaico e sempre piu'  burocratizzato e
dall'altra quello dell'impresa moderna efficiente che lavora sul
mercato.
    Divagando possiamo comunque dire che sara'    dura solo pensare di
mettere un po' di ordine   ci vorrebbe un piano di liberalizzazione su
larga scala o di bonifica con  licenziamenti di massa degli inetti,
incompetenti e lavativi  con  i giovani laureati disoccupati
desiderosi di lavorare e come sostituirli quasi tutti.    
 
    Ma questa e puro esercizio teorico, 
  nella realta si proseguira cosi' sino a quanto ci saranno le cosi
dette Isole Istituzionali che sarebbe la presenza dello Stato sul
territorio isolata da cordoni sanitari per paura di contagio con il
resto del paese,  al fine di salvaguardare la pura Razza Statale. 
 
   Humor a parte sara' piu' o meno cosi   il paese di domani    
      ciao 
   Francesco  
 
 

Basic  ...chissa?
io purtroppo mi vedo costretto a imparare un po' il Fortran 77 per
lavoro di tesi :((((
adirittura un mio collega deve trascrivere un programma dal C++ al
Fortran 77 .....
Il fatto e' che i gruppi di ricerca universitari (tranne quelli di
informatica pura, ovviamente) sono condotti da persone che hanno
imparato a programmare 20 o piu' anni fa e, essendo gia' molto
indaffarati, non hanno ne' tempo ne' voglia di convertirsi ai
linguaggi moderni, cosi' impongono anche ai collaboratori piu' giovani
di scrivere nel linguaggio che conoscono.


di scrivere nel linguaggio che conoscono.
Questa analisi che hai fatto la  sostengo da tempo e la condivido
pienamente i motivi alla base sono cose futili e banali.
Dovranno istituire dei corsi obbligatori di base comuni a tutte le
Universita' di Ingegneria  in cui si insegnano almeno 2 o tre
linguaggi attuali  e che accompagnino tutto  il  corso di studi.
Possono anche evitare di farli sostenere come esame basterebbe 
che si valutasse la presenza.
 La devono capire che non si puo' andare avanti cosi' dalle facolta'
di Ingegneria non devono uscire bambole ma persone che hanno una
preparazione tecnica elevatissima,   devono essere all'avanguardia.
Quando escono dall'Universita' devono entrare nel mondo del lavoro
subito non in quello dei disoccupati,   e' inconcepibile che uno che
esce da un'Universita' di Ingegneria debba sudare per entrare nel
mondo del lavoro c'e' qualcosa che non va che non funziona. 
I signori che vogliono insegnare il fortran, ecc.  ecc.  potranno
sembre trovare un paese dove fare  le valigie.
Ci sara' un altro paese al mondo dove accolgono tale  roba ma perche'
ce li dobbiamo tenere noi...
Nell'universita' si trascorrono gli anni migliori , quelli piu'
fertili in un ambiente a contatto con altri con sui si condividono
esperienze comuni, un ambiente che deve essere stimolante in cui ci si
puo' confrontare con altri e fare esperienze reciproche scambiare idee
e conoscenze,  migliorarsi ed essere stimoltati a migliorarsi e anche
a competere.
Per me e' stata un'esperienza molto bella, ma la  tristezza di aver
dovuto studiare da me certe cose mi fa ancora rabbia.
Oggi credo che ci sono responsabilita' enormi per chi decide su queste
cose, si dovrebbero vergognare ma visto che non lo fanno ritorno a
quanto detto, ci vuole una bonifica di massa.
All'universita' si va per imparare non per far sopravvivere i
professori.
Quando  nelle universita' americane, partorivano pogrammi di calcolo
strutturale algli elementi finiti  tipo sap,   nelle nostre i  prof.
ci trastullavano con  Cross, Kani,  ... ecc.   madonna mi dicevo li
scrivono codice per implementare sul computer i metodi agli elemtenti
finiti e noi stiamo qui a fare esercizi manuali sui telai ???
Ci volevano far ingoiare quella robaccia e molti a passavano giornate
intere con la calcolatrice a fare calcoli e colcoli e per forza di
cose si passava la maggior parte del rempo  a trovare uno degli
innumerevoli errori commessi.
 Era  impossibile fare tanti calcoli e non commettere errori e alla
fine comuqne si abbandonava l'impresa a meno di non ammattire.
Mi ricordo che il prof.  si esaltava raccontandoci come aveva scoperto
alcune cose per semplificare tali calcoli manuali.
Io non li ho mai fatti era ridicolo, cosi' come non ho mai fatto il
corso di Fortran e almeno di questo aggravio di lavoro inutile lo ho
evitato. 
Scusate ma chi ci paghera' il lavoro fatto a fare cose futili e'
inutili, neanche i muli vogliono lavorare, perche' dovremmo farlo noi
per cose inutili.  
Si ritiene che la programmazione sia qualcosa che riguarda in modo
marginale gli Ingegneri si sbagliano conoscere bene la programmazione
oggi e un passaporto per il lavoro.
 
ciao, 
Francesco 


Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

 Basic  ...chissa?
Negli istituti tecnici si studiano ancora il Fortran e il Pascal, come il
Cobol e forse anche il Basic, ma questo perchè sono linguaggi molto
semplici, e lo scopo di un corso di informatica (almeno parlo per Ragioneria
Programmatori) è semplicemente quello di insegnare a programmare, in modo
svincolato dal linguaggio di programmazione in uso. E' giusto quello che tu
dici, sarebbe in effetti + opportuno insegnare a programmare e insegnarlo
direttamente su linguaggi utili, ma ti vedi insegnare a un ragazzo di 3ª
superiore a programmare in JAVA? Io lo ritengo didatticamente molto +
difficile. Credo comunque che per imparare a programmare non servono scuole
o corsi, serve solo tanta passione.

l'attualita' o meno dei linguaggi insegnati.
vero, nel caso dei docenti di informatica, il cui ruolo impone loro la
ricerca proprio nel campo informatico.


o corsi, serve solo tanta passione.
Si certo ci   vuole tanta passione la molla di tutto e' quella e non
servono corsi o scuole.
Pero' il problema  e' piu' complesso, la passione non nasce cosi'
all'improvviso e' l'ambiente  che deve fare  da stimolo, la scuola per
la sua funzione non puo' sottrarsi e questo sarebbe una cosa
gravissima.
In effetti  e' giusto i  linguaggi "preistorici"  come tutte le specie
primordiali sono molto semplici ed essenziali, essi per natura si
riducono alle sole istruzioni if, then,  else, goto   ecc. ecc.
Ma qui sta l'errore, imparare a programmare non significa solo
imparare a scrivere le semplici istruzioni.
Imparare a programmare e' di piu', significa imparare a lavorare su
macchine evolute,  creare interfacce evolute, imparare ad interagire
con esse,  immedesimarsi con chi dovra' usare quel programma, come
ottimizzare il codice, i colori, le immagini, programmare significa
anche questo.
I nuovi linguaggi hanno mutato forma  c'e' poco o nulla di quelli di
ieri, hanno una filosofia diversa devono girare su macchine che
cambiano ogni giorno.
Ma   e' piu' difficile programmare in Visual Basic o in Basic ?
Per chi ha imparato il Basic e' piu' difficile imparare a programmare
in Visual Basic rispetto a chi inizia a programmare direttamente in
Visual Basic.
I nuovi linguaggi di programmazione non sono piu' difficili,  sono
piu' facili sia da apprendere sia da usare.
E poi vuoi mettere la semplicita'  d'uso dei linguaggi attuali con
quelli preistorici, e tutto un'altro mondo hanno un codice moderno, ti
consentono di realizzare cose molto belle, sono per cosi' dire l'esca
per chi vorra'  imparare.
Non esistono Linguaggi di programmazione per uso uso didattico! E
questo che ci dobbiamo mettere in testa, esistono linguaggi che hanno
un grado di complessita' maggiore o minore esistono linguaggi superati
(o morti)  e linguaggi evoluti.
Non si puo' dire ad un ragazzo se vuoi imparare ad usare  un sistema
operativo devi imparare il DOS perche' e'  piu' semplice.
Oppure per imparare a scrivere al computer devi  imparare ad usare
Wordstar versione x.y  per Dos perche' e'  piu' rudimentale???  
Ma perche' si insegnano questi linguaggi superati !?!?!? per due
motivi uno e che molti insegnanti  hanno con sudore imparato quei
linguaggi,  piu' per dovere che per reale desiderio di programmare e
quindi aggiornarsi per loro non e'  facile, non possono star li a
correre dietro ai computer.
Un altro e' un semplice fatto "culturale", si crede e si continua a
credere che possano esistere programmi educativi, come si credeva di
aver scoperto delle teorie per educare i ragazzi.
Non e' difficile imparare il nuovo ma e' difficile scrollarsi di dosso
il vecchio.
Siamo psicologicamente portati a ragionare sempre rapportandoci con la
mente a quello che abbiamo imparato e questo ci annebbia il cervello.
Come hai detto per imparare a programmare ci vuole passione, ma c'e'
ne vuole tanta anche per insegnare a programmare.
Ma questa passione non nasce cosi, non e' certo per volere divino che
ad  un ragazzo gli viene voglia di programmare,  hanno bisogno di un
ambiente giusto che li stimoli.
Come si fa ad imparare ad un ragazzo di 3° superiore a programmare in
Java?
Imparare  a programmare non significa imparare  a scrivere codice in
modo meccanico e nozionistico,  come non si impara la matematica
imparando a risolvere espressioni chilometriche.
 Ma si deve coinvolgere i ragazzi, stimolare la loro curiosita',
imparare come insegnare al computer a fare determinate cose,  studiare
il codice di un programma, cercare di capire cosa succede  provando a
fare delle modifiche.
Non  bisogna andare oltre con la fretta di imparare, si impara
sperimentando, giocando divertendosi.
Anche nella programmazione ci sono delle tappe da percorrere in modo
graduale senza fretta.
Saranno poi loro da soli a proseguire, magari non in classe, quando
avranno la curiosita' di provare qualcosa con il proprio computer,
quando nascera' la voglia di fare da se qualcosa. 
E sorprendente  come i giovani imparano in fretta quando vogliono  e
quanto e' difficile capirli.
La scuola dovra' cambiare in fretta non si puo' perdere tempo ad
insegnare cose inutili.
Sicuramente i cambiamenti cui stiamo vivendo generano confusione  e
richiedono uno sforzo notevole per chi e' chiamato a fare
l'insegnante.
Ma purtroppo non e' possibile sottrarsi alla sfida del tempo, una
sfida che e' anche un'ottima opportunita' per tutti insegnanti e
studenti di migliorarsi reciprocamente.
 
Ciao,
Francesco