Newsgroup: it.comp.programmare
Titolo: quale linguaggio?

Ciao a tutti e spero di non essere troppo OT. Conosco i linguaggi di
scripting ASP e Javascript, ho buone conoscenze di html, dhtml e sql.
Attualmente sono impegato come webmaster presso una società. Vorrei ampliare
la mia conoscenza e studiare un linguaggio forte. La mia idea si è spostata
su due linguaggi: C++ e Java. Di tutti e due ho qualche conoscenza. So che
il primo è una scheggia e che il secondo è un po' più lento, ma forse più
utilizzato a livello web, il primo, però, è più richiesto in progetti di
alto livello (almeno così mi dicono)....so anche che ogni programmatore ha
le sue preferenze....ma vorrei sapere se c'è qualcuno che conosce questi
linguaggi e mi può dire:
1 - Quale è il più richiesto?
2 - (siamo venali) qual'è il più pagato?
3 - Quale è il più utile, in senso generale, quindi quale posso studiare con
la sicurezza di poterlo utilizzare in svariati settori e non solo web o
altri settori specifici?
Un grazie infinito a chi mi potrà delucidare un attimo le idee....grazie
davvero!!!

 3 - Quale è il più utile, in senso generale, quindi quale posso studiare
Tieni conto che passare da uno all'altro e' piuttosto facile, quindi...
Davide

 wrote in message
news:987auh$ilkr$1...@ID-18487.news.dfncis.de...


 altri settori specifici?
Entrambe. Non nel senso di "uno o l'altro e' uguale". Proprio nel senso di tutti
e due.
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Andrea Ferro
Secondo voi se so già programmare in C++ dovrei anche imparare Java?
Mi sarabbe utile o magari potrei imparare qualche altro linguaggio
(anche di scripting)? In questo momento mi attirano molto Python e
(forse) Perl.
Tenete presente che non ho necessità di imparare un linguaggio per
lavoro ma solo per divertimento.
Ciao
Marco Barisione (ICQ 84277092)

 wrote in message
news:3aa92a59...@news.inwind.it...

Tutto di dipende da quali priorità ti dai.
Ti serve per lavoro: e' una alta priorità.
Lo fai perche' ti piace il linguaggio: ovviamente scegli in base al tuo gusto.
Lo fai per hobby ma vuoi unire l'utile al dilettevole ? Continua a leggere.
Quello che segue e' ovviamente IMHO:
Hai interesse per routine portabili, a basso livello, superottimizzate etc. etc.
Ovvero ti piace scrivere firmware? Allora: C (e se rinunci alla portabilità
anche Assembler).
Hai interesse per sistemi con una base OO, di dimensioni medio grandi, magari
con problemi multithreading etc. etc. Ovvero ti piacciono grafica, giochi,
CAD/CAM, Sistemi Operativi, Compilatori e simili: C++
Hai interesse per sistemi con un pochino di OO, di dimensioni medio piccole, con
un sacco di databasing e relativa interfaccia utente etc. Ovvero ami il
gestionale di livello medio? Allora: SQL, VB, VB for applications.
Ti interessa lo scripting, soprattutto nel mondo web: VB Script, JavaScript per
la parte client, ASP e JSP per la parte server HTML, Perl, Python e vari altri
per lo scripting in genere.
Ti interessa un linguaggio OO, snello, elegante, valido per lo scripting, facile
da imparare, gratuito, portabile etc. etc. Allora: Python.
Vuoi propettive di programmazione nuove e differenti: dai un'occhiata a LISP o a
PROLOG.
Adori il mondo dei linguaggi, grammatiche, automi a stati finiti, espressioni
regolari etc etc: è quasi condizione necessaria per non avere il mal di testa
con Perl.
Vuoi approfondire il mondo dell'OO piu' radicale e pura? Prova Smalltalk.
Semplice, portabile (quasi), OO quasi puro, abbastanza efficiente, molto di
moda: ovviamente Java.
Molti calcoli matematici e cose simili, magari su architetture a processori
paralleli? Fortran, con tutti i suoi limiti, e' ancora imbattuto.
Miriadi di file megagiganti con struttura a record fissi da elaborare in batch?
COBOL lives!
Un po' di programmazione strutturata e di storia non fanno mai male? Pascal
Adori sistemi megacomplessi in cui e' assolutamente necessario essere certi del
perfetto funzionamento del SW e dell'assenza di non determinismo a runtime?
Ovvero vuoi lavorare con sistemi d'arma, controlli avionici e cose simili: Ada
Object orientation unita a contract programming: Eiffel
Poi ce ne sono anche altri, ovviamente. Oberon. Clos. etc. etc.
E l'ultimo nato: C# (probabilmente molto richiesto fra qualche tempo).
Vabbe', questi sono quelli di cui so qualche cosa e che mi sono venuti in mente.


[CUT]
Vista la mia ignoranza faccio ancora qualche domanda:
Cosa significa esattamente che SmallTalk è OO puro?
In cosa consiste ADA?
Volendo iniziare a programmare in Assembler dove posso trovare
materiale?
Che vantaggi ha il C# rispetto a C++?
Dal poco che ne so (pochissimo) è molto simile al C++, ma non vi sono
i template (e allora come viene implementata una list o un vector?) e
altre caratteristiche comode. In compenso c'è la garbage collection
(ma a dir la verità non ne sento un così grande bisogno) e dovrebbe
essere + semplice realizzare interfacce grafiche (bhé in effetti
realizzare un programma a finestre con le API di Win non è il massimo
della produttività).


 della produttività).
Se quello e' il termine di paragone, certamente!!! Ma non credere che dal punto
di vista dell'interfaccia utente c# possa essere piu' potente di, per esempio,
VB!


VB!
Sì ma programmare in VB non è il massimo, penso che abbia in alcune
situazioni un comportamento strano e che al suo interno vi siano delle
contraddizioni.


 contraddizioni.
Puo' essere. Fammi un esempio.


template?
in C++ la programmazione generica è supportata proprio grazie ai
template, quindi non si è possibile scrivere codice generico senza
usarli. Un'alternativa (ma se usi il C++ non è molto valida) è quella
di derivare *tutte* le tue classi da una classe base comune (ad
esempio Object) e poi implementare un vector di puntatori ad Object,
ovvero quello che fa Java automaticamente: però perderesti velocità e
type-safety
Anto
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

Puo' essere. Fammi un esempio.
Devo ammettere che non ricordo esattamente, comunque con una nuova
caratteristica di VB6 i programmi si comportavano in modo imprevisto,
all'inizio pensavo fosse un mio errore ma poi ho casualmente
(veramente per caso, ho cliccato un link per sbaglio!) trovato su
qualche sito una pagina che parlava di questi problemi, ma purtroppo
non l'ho salvata e non sono + riuscito a trovarla :-(
Non escludo che comunque il problema possa essere stato risolto con
qualche Service Pack, ma da come ne parlavano sembrava un problema del
linguaggio + che un bug.
Un'altra cosa che non amo molto è il fatto che per disegnare una linea
non c'é una funzione vera e propria (qualcosa come line(x1, y1, x2,
y2)) ma l'istruzione line(x1, y1) - (x2, y2), o altre cose simili
(Open, Circle...) so che è una cosa stupida ma penso che confonda le
idee a chi inizia a programmare in VB.


Anto
Ma se ho un vector di mele come faccio ad essere sicuro che allora
qualche parte di codice non ci infili una Banana se derivano tutti da
Object?


 diversi dovrei copiare 20 volte lo stesso codice?  E se lo modifico?
Una lista con 20 tipi diversi non la fai neppure con i template. Con i template
fai 20 liste diverse una per tipo.
Se lo riscrivi hai esattamente il problema per cui sono stati inventati i
template!


template!
E' per questo che stostenevo l'utilità dei template!


Object?
non per niente Java mi fa schifo :-)
sarà perchè sono abituato allo strong-type del C++ ma non mi piace un
linguaggio poco type-safety.
Per tornare alla tua domanda dovresti controllare tramite RTTI che il
tipo dell'oggetto che usi sia quello che ti aspetti. E dovresti farlo
ogni volta. E dovresti farlo a run-time. Tira da solo le conclusioni.


 ogni volta. E dovresti farlo a run-time. Tira da solo le conclusioni.
Guarda che Java non e' affatto meno type-safe di C++. Anzi, semmai lo e' di
piu'. Sono i container di Java che non essendo basati su template (che non ci
sono ancora) usano una filosofia diversa da quella della STL.
Prova a scriverti un container "generale" (non generico, che e' un termine
tecnico) senza usare i template in C++!


tecnico) senza usare i template in C++!
appunto! infatti mi lamentavo proprio della mancanza dei template...
