Newsgroup: it.comp.lang.c++
Titolo: [OT] C++ in rimonta

Stroustrup in un'intervista fa notare che al momento il C++ e` di nuovo
in crescita come base di utenti.
<
http://news.com.com/C+creator+upbeat+on+its+future/2100-1007_3-5681078
.
html?tag=nefd.top>
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchè
venne un polacco ad insegnargli che è più cristiano imporsi col rifiuto
pretenderanno che tu torni indietro/e ti costringeranno a partorire per
poi chiamarlo figlio della colpa / e tu una Maddalena da pentire

 in crescita come base di utenti.
Questi sono gli 30 skills piu' richiesti in Inghilterra secondo CWJobs, un 
database con attulmente oltre 25 mila posti di lavoro nel settore 
dell'informatica in tutta inghilterra (e qualche cosa fuori).
Top permanent skills - By demand
1.  SQL
2.  Office
3.  Java
4.  Unix
5.  C
6.  Oracle
7.  C++
8.  VB
9.  SQL Svr*
10.  .NET*
11.  XML
12.  TCP/IP
13.  Win NT
14.  C#*
15.  ASP*
16.  SAP
17.  Win 2000
18.  HTML
19.  Linux
20.  Exchange
21.  Embedded*
22.  UML*
23.  Access
24.  Solaris
25.  OO
26.  Sybase
27.  Cisco*
28.  CRM*
29.  Perl*
30.  Focus*
In pratica Java, come del resto da alcuni anni, e' piu' richiesto del C++. 
Devo ammettere che nell'ultimo anno ho avuto l'impressione anche io che il 
C++ sia in leggera crescita. Per cio' che riguarda i corsi di laurea invece, 
per lo meno qua in Ingilterra pare che abbiano quasi tutti abbandonato il 
C++ e siano passati a Java e non ho ancora sentito di corsi che abbia fatto 
marcia indietro.
Tommaso

 marcia indietro.
Io sinceramente non vedo molto senso nell'insegnare Java all'universita`
(se non per un discorso puramente di "preparare al lavoro").
IMHO le scelte piu` logiche sono o il C++ o un linguaggio di alto
livello. 
Il C++ perche` un buon professore puo` aiutare notevolmente
nell'impararlo (e magari leva la fretta di saltare nel VisualQualcosa e
perdere di vista la progettazione e simili). 
Inoltre imparanto quello, molto del resto viene "gratis". Si imparano
alcune buone tecniche di programmazione utili anche nel "resto del
mondo", si imparano a gestire le risorse etc.
Nella mia universita` per dire si fa C++ come linguaggio "principale".
Poi chiaramente si hanno anche corsi su altri linguaggi (Prolog, Java,
semi-Lisp, ...).
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchč
venne un polacco ad insegnargli che č piů cristiano imporsi col rifiuto


 livello. 
Sul C++ non sono d'accordo per due motivi:
1) In corsi di tre mesi del C++ si riesce ad insegnare ben poco.
2) In questi argomenti la preparazione della maggior parte dei prof. 
universitari è veramente scadente, e gli studenti imparerebbero poco e
male.
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

 male.
Sulla mia esperienza questo non si applica. 
Dopo di che *se* partiamo dal presupposto che i docenti sono scadenti,
lo sarebbero anche per java o per altro linguaggio a scelta.
Poi se vuoi dire che un docente che non sa il C++ non deve insegnare il
C++ sono d'accordo. Ma questo vale per qualunque altro linguaggio.
Comunque mi sa che stiamo andando pesantemente nell'OT.. non saprei bene
dove fare il follow-up, pero`.


 perdere di vista la progettazione e simili).
Beh se intendi dire che il C++ e' difficile da imparare da soli,
posso essere d'accordo, ma per impararlo "bene" ci vogliono
diversi anni (e piu' avanti vai, piu' cose scopri di non sapere
ancora).
E saperlo "cosi' cosi'" e' molto peggio che non saperlo per niente ;-)
Un'altro linguaggio dal buon potenziale didattico e' il Python.
(Python ha un grande potenziale e, anche se molti ne sfruttano solo
l'1%,
e' un ottimo linguaggio object oriented dal binding dinamico).
Saluti,
Fabio

 l'1%, e' un ottimo linguaggio object oriented dal binding dinamico).
In effetti penso che, per spiegare un algoritmo (dal bubble-sort alla
gestione di un sistema esperto) sia meglio il python piuttosto che quella
specie di pseudo-pascal che usiamo noi a Bari...
-- 
28/2/2005 | -1 all' alba!

 volte piu' ad "alto livello" del java
Mah, mi chiedo in cosa si misuri l' "altezza" del livello...
Il Perl, specialmente, lo lascerei fuori. Tra C# e Java non credo che
ci siano poi tutte queste gran differenze da essere considerati su due
"livelli" diversi.
Ruby non lo conosco, ma credo sia piu' o meno simile al Pytohn.
Fabio

 ottimo linguaggio object oriented dal binding dinamico).
Vero. Tuttavia al momento attuale non so quanti docenti abbiano la mano
su Python. Io poi sarei solo contento se facessero Python.
Quello che mi chiedo e`... poi come sarebbe il trauma di passare da
Python a C++? Io passando da C++ a Python ho solo tirato un sospiro di
sollievo (non tanto perche` mi stesse "antipatico" il C++, ma
semplicemente perche` sono molto piu` veloce).
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchè
venne un polacco ad insegnargli che è più cristiano imporsi col rifiuto


 Ruby non lo conosco, ma credo sia piu' o meno simile al Pytohn.
Si e no. Chiaramente questo non e` il luogo per vedere le differenze.
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchè
venne un polacco ad insegnargli che è più cristiano imporsi col rifiuto


 Mah, mi chiedo in cosa si misuri l' "altezza" del livello...
Credo si stia facendo confusione: il CJ-language-level e' un indice (piu' o 
meno discutibile) che si basa sulla produttivita' di un linguaggio. In 
parole molto povere quanti statements servono per function point. In parole 
ancora piu' povere un linguaggio che ha una funzione che si chiama md5() e' 
molto piu' produttivo per calcolare il codice md5 rispetto ad un linguaggio 
che non ha tale funzione integrata nella propria libreria standard, questo 
anche nel caso in cui il primo linguaggio fosse solo procedurale ed il 
secondo OO. (la oo credo aumenti l'indice CJ in quanto favorisce il 
"reuse").
La confusione e' nata e' con il concetto di "linguaggio ad alto livello o a 
basso livello" dove per livello si intende la quantita' di astrazione dalla 
macchina. Per programmare in assembly devi conoscere l'architettura, quindi 
e' a basso livello. Per programmare in Java non devi sapere nulla della 
macchina su cui programmi (o quasi) e quindi e' ad alto livello, ovvero 
lontano dalla macchina, con molta astrazione (ad esempio una virtual 
machine!). In questo il Java e' piu' ad alto livello rispetto al C++. 
Ovviamente la programmazione OO rende in genere un linguaggio piu' ad alto 
livello in quanto la OO e' una ulteriore astrazione. Un altro esempio sono 
le stringe in C, queste sono a basso livello, in C++ std::string sono invece 
piu' ad alto livello (hanno maggiore astrazione).
Gl indici CJ hanno poco a che fare con il concetto di astrazione. Un 
linguaggio tipo assembly con una libreria standard enorme potrebbe essere 
piu' produttivo di un linguaggio tipo Java con una libreria estremamente 
ridotta (per quanto questo sia poco probabile). Spesso tuttavia piu' il 
linguaggio e' ad alto livello piu' e' produttivo e per questo spesso le due 
cose coincidono quasi (e da qui credo sia nata la confusione).
Ora il Perl ha un alto indice CJ di language level in quanto ha una libreria 
*enorme*. In questi termini si e' molto produttivi.
Il C ha un libreria standard molto ridotta e quindi ha solo indice 2.5, il 
C++ moderno grazie alla sua potente libreria standard ha indice 6. Il Java, 
come tu suggerisci, pure ha 6 nonostante permetta piu' cose (multithreading 
ad esempio) in quanto non supporta la programmazione generica allo stesso 
modo del C++ forse. Il Perl  ha 15, SQL 25, etc... Ovviamente alcune query 
SQL che si possono scrivere in due minuti in C++ richiederebbero settimane, 
tuttavia SQL non e' un linguaggio general purpose...
etc...
Per concludere il Java e' un linguaggio piu' ad alto livello rispetto al C++ 
ma il cui indice di produttivita' CJ-language-level e' considerato identico 
a quello del C++.
Tommaso Galleri
P.S. data la mia limitata conoscenza dell'indice CJ sono sicuramente stato 
poco preciso sulla descrizione di cosa sia.

 tuttavia SQL non e' un linguaggio general purpose...
infatti ... ovvio che un linguaggio specifico e specializzato, 
nel suo campo ristretto non può subire la concorrenza di uno 
generico. Ma voglio vedere chi riuscirà mai a programmare un 
S.O., un modellatore 3D o simili in SQL
ciao
Soviet-Mario


>>>> La mia filosofia/pensiero tradotta in musica! <<<<<
N.B. I brani e/o i video non sono scaricabili, ma si potranno
richiedere gratuitamente scrivendo a: 
alessand...@follonica.biz

 tuttavia SQL non e' un linguaggio general purpose...
Forse non lo chiamerei neanche "linguaggio", almeno non come lo si intende
oggi. Forse, utilizzando un termine attuale, linguaggio di script sarebbe
più appropriato.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic

 tutto quanto, è una vera schifezza in confronto.
Oibo`... poi il VB ha dei problemi di suo... 
Comunque vedi anche il lato negativo della "estensione" del C++. Per
supportarla ha un costo di apprendimento parecchio alto.
Non che sia una critica, ma e` una cosa che comunque va tenuta presente.
Tipicamente io adoro il C++ per scrivere librerie che poi posso
interfacciare con i piu` svariati linguaggi di alto livello.
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchè
venne un polacco ad insegnargli che è più cristiano imporsi col rifiuto


 più appropriato.
Non capisco il tuo odio per l'SQL ;-)
Che sia obsoleto e poco pulito ok, che non possa essere nemmeno chiamato 
linguaggio mi sembra eccessivo ;-)
Chiamalo "linguaggio di script" se preferisci, non vedo il vantaggio, ma 
rimane comunque un linguaggio.
Io lo definirei un linguaggio non general-purpose (limited-purpose), basato 
sulla teoria degli insiemi (anche se non in modo troppo formale!). SQL non 
e' Turing-complete ovviamente,  tuttavia e' un linguaggio in quanto ha una 
grammatica, una sintassi e una semantica.
Tommaso

 Non capisco il tuo odio per l'SQL ;-)
Forse perché sono costretto ad utilizzarlo... :-)


Non capisco il tuo odio per l'SQL ;-)
Per non odiare SQL ci sono secondo me solo due possibili
spiegazioni
  1) non si e' mai visto di meglio
  2) ci si e' solo giocato e non ci si sono fatte
     cose serie (gestione di DB grossini, provare a
     scrivere SQL portabile, provare ad gestire
     davvero la concorrenza in modo decente).
SQL e' per la gestione dati quello che il COBOL e' per la
programmazione. Ha gli stessi pregi (pochissimi) e gli
stessi difetti (orrendi).
Ovviamente ci si puo' scrivere tutto (come con il COBOL).
SQL e' una barzelletta a cominciare dal significato delle
lettere che ne componegono l'acronimo (non e' structured,
non e' di query e ci vuole secondo me anche un bel
coraggio a chiamarlo un linguaggio).
Andrea
PS: Parlo per come stavano secondo me le cose una decina
    di anni fa. Ora immagino siano invece tutte rose e
    fiori... (come con il COBOL)

 da imparare (e da insegnare).
E' proprio questo il problema di Java. Insegna ai principanti
l'assurdita' che il mondo sia fatto a classi. Poi quando passano a un
linguaggio diverso e' necessario praticar loro un discreto lavaggio del
cervello.
Ciao,
Nicola

>Non capisco il tuo odio per l'SQL ;-)
questo era riferito al fatto che affermava che non merita nemmeno di essere 
chiamato linguaggio ;-)
Per il resto come ti ho detto concordo con te e con EMG.
Tommy

 coraggio a chiamarlo un linguaggio
Da un punto di vista formale e` un linguaggio. :))
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchè
venne un polacco ad insegnargli che è più cristiano imporsi col rifiuto


Anche quello rappresentato dall'espressione regolare a* , ma prova a
scriverci un programma utile :-)
Ciao,
Nicola

 scriverci un programma utile :-)
Lol :))


 lo sarebbero anche per java o per altro linguaggio a scelta.
Certo, perň piů č complesso un linguaggio e piů č facile che il docente
lo conosca "meno bene".
