La mia università non offre corsi di php perché è un linguaggio di programmazione "facile"? [chiuso]


10

Ho incontrato uno studente del dipartimento di informatica e ho scoperto che insegnano solo java e aspx. Gli ho chiesto perché non hanno insegnato php poiché è il primo linguaggio di programmazione in rete. Dice che era un linguaggio di programmazione "facile" (o da hobbista). Non sono sicuro di cosa significhi.

Qual'è la tua opinione?


11
Sono un po 'confuso perché insegnano ad aspx se non insegnano facilmente le lingue hobby.
dietbuddha,

17
wha ...? Java è più semplice di PHP. PHP è ... brutto. Voglio dire, non brutto per ColdFusion, e non brutto per la mia tastiera, ma brutta come Perl, ma comunque ... penso che significhi che è uno snob linguistico. O un ignorante noob. O entrambi. Probabilmente entrambi.
Steven A. Lowe,

10
Solo Java e ASPX? Insegnano Informatica o semplicemente forniscono formazione professionale?
Kevin Cline,

18
Per citare il capo dipartimento CS della mia università: "Non insegniamo linguaggi di programmazione, insegniamo informatica." Siamo stati esposti a un buon numero di lingue più o meno ben adattate all'argomento di ciascun corso. È stato dedicato pochissimo tempo alle lingue effettive, che erano semplicemente un mezzo per realizzare i concetti insegnati in un corso.
MetalMikester

5
Si prega di escludere PHP da qualsiasi fiamma aperta / chiusa. PHP è una bestia molto speciale, che offre molte funzionalità fai-da-veloce per rendere felici soprattutto i principianti, ma d'altra parte è brutta. Ha una storia di cattive decisioni di progettazione che hanno portato a un sacco di buchi di sicurezza nelle app Web basate su PHP (mi vengono in mente register_globals e escape di stringhe). Quindi PHP offre abbastanza carburante per più di una fiamma per i suoi meriti. Non è necessario includerlo nel file FLOSS vs. M $ flamewar.
user281377

Risposte:


15

Molti possibili angoli di questa query:

  1. La risposta del tuo amico è stata irriverente, o un sommario fuorviante di una serie di eventi per i quali non è stato possibile dargli tutti i dettagli.

  2. La risposta del tuo amico è stata la sua opinione personale, non necessariamente riflettente della strategia accademica complessiva del tuo istituto di apprendimento.

  3. In una certa misura, come qualcuno che si è insegnato a PHP (e non conosce altri linguaggi di programmazione) non lo definirei una grande perdita per un'università non insegnarlo.

  4. È molto più utile apprendere i concetti di programmazione all'università rispetto ai vari modi in cui si può Ciao, mondo! o Ciao, dio è stupido! come ho sempre visto quell'attività introduttiva.

L'elenco potrebbe continuare, ma il mio caffè attende.


Una volta (molto tempo fa) mi fu detto dal decano di CS in una grande università che OOP era una moda passeggera, quindi non si preoccuparono di insegnare alcuna lingua OOP. Era il 1993, quindi la sua ignoranza / scetticismo è perdonabile.
Steven A. Lowe,

3
La CMU ha deciso alcuni giorni fa di smettere di insegnare OOP come corso introduttivo di livello e l'ha resa elettiva. developers.slashdot.org/story/11/03/26/0016229/…
apoorv020

@ apoorv020: perché OOP era troppo difficile per i poveri matricole da gestire subito dopo la mazza
Steven A. Lowe

1
La mia prima lezione di CS era la programmazione funzionale (Schema),
Zachary K

2
@Steven A. Lowe, quel preside era una persona molto intelligente. OOP non è altro che una gigantesca frode e ignorarla completamente in un curriculum è una cosa intelligente da fare. E la CMU ha recentemente spiegato la loro decisione come "perché è sia anti-modulare e anti-parallelo per sua stessa natura, e quindi non adatto per un moderno curriculum CS" - non perché è "difficile" (non lo è). Semplicemente non vale la pena insegnare.
SK-logic

18

Le università non sono scuole professionali. Non dovresti aspettarti che ti insegnino particolari strumenti. Non dovrebbero insegnare "come hackerare una pagina Web in mezza giornata", ma piuttosto programmare paradigmi. Le lingue sono scelte per capacità esemplificano questi paradigmi e per il loro valore educativo. Quindi insegnano il corso OOP e lo esemplificano con Java o C ++, nel corso di Sistemi operativi probabilmente faresti C, Haskell o simili in Programmazione funzionale, Prolog in Programmazione logica ecc.

E sì, da molte persone nelle università PHP non è considerata una lingua abbastanza seria per insegnarla.


1
perché non è una lingua "seria"?
janoChen,

4
@janoChen: non è una domanda se lo è o non lo è. La domanda è che molti abbastanza persone lo considerano non serio.
vartec,

3
@janoChen: che tipo di principi di programmazione fondamentali sono più facili da insegnare in PHP che in altre lingue? Per ogni linguaggio di programmazione che ho sentito parlare di insegnamento delle università, posso pensare a buoni usi educativi. Che ne dici di PHP? (Questo è serio; non l'ho mai usato, quindi non so cosa sia buono per il mondo accademico.)
David Thornley

2
@ David - come non nominare le funzioni fondamentali ;-)
Drew

3

Ho il sospetto che insegnino la lingua che il personale docente conosce e che si collega ai principi di programmazione che vogliono trasmettere.

Java mi sembra una buona scelta e non l'ho mai programmato, ma quando vedo il codice di esempio Java lo faccio immediatamente. Inoltre ci sono molti strumenti open source (Eclipse, JUnit, ecc.) Che accompagnano Java e molti progetti open source a cui gli studenti interessati potrebbero aderire.

Penso che C # creerebbe un altro buon linguaggio di insegnamento, ma la sua eredità Microsoft potrebbe funzionare contro di essa in ambito accademico.

Un linguaggio come il C ++ può essere in grado di insegnare tutti gli stessi principi, ma c'è un sacco di bagaglio sintattico che è lì solo per compatibilità con il codice C più vecchio.

Personalmente non ho mai trovato una lingua particolarmente difficile o facile. Una volta che ne impari uno, gli altri arrivano abbastanza facilmente. Scrivere codice buono, pulito, controllabile, testabile, facilmente estensibile, privo di bug, ora è difficile. Scrivere qualsiasi tipo di codice che si compili in modo pulito su schede perforate, anche questo è difficile.


Nella mia esperienza, le lingue non sono difficili da imparare, i concetti lo sono. Mi ci è voluto un po 'per capire la programmazione funzionale, ma in seguito Lisp non è stato difficile. Mi ci è voluto un po 'per capire OOP, ma dopo che C ++ e Java non erano difficili (questo era prima che C ++ ottenesse i modelli in grande stile).
David Thornley,

Tuttavia, qualsiasi luogo che insegna sia a Java che a C # come cose separate invece di dire che sono sostanzialmente molto simili sta facendo ai loro studenti un enorme disservizio. O sono una scuola modesta.
Donal Fellows,

2

Raccogliere le lingue da solo non è difficile. Nel corso di una carriera nella programmazione per computer dovrai prenderne parte. Ricordo che il dipartimento di Brandeis CS non ha mai insegnato lingue alle major, a meno che non fosse secondario a qualcos'altro.

Quando ho iniziato la mia laurea in CS, PHP non esisteva ancora. Un dipartimento CS dovrebbe insegnare metodologia, non lingue. È importante comprendere la ricorsione, le strutture dei dati e i principi di programmazione. Per quanto riguarda PHP, prendi un libro e inizia a giocare.


1

A seguire Andrew.

Fino a qualche anno fa, PHP non era considerato un oggetto orientato agli oggetti (sparatemi se sbaglio ragazzi :). Pertanto non era adatto all'uso dell'insegnamento di OO. Prima di .NET usavano C ++ e Cobold.

Un altro fatto è che, sebbene sia utilizzato su larga scala, non è così diffuso come .NET, comunque non nel settore professionale.
Se guardi tutti i siti di richiesta, vedrai che la maggior parte dei lavori disponibili sono .NET o Java. Questo perché in realtà c'è una grande richiesta per programmatori .NET (o Java).

Quindi questo è ciò che le scuole hanno la priorità, immagino.


@Steven è quella domanda basata sulla corporatocrazia o sull'efficienza del codice?
janoChen,

inoltre c'è un vasto pool di materiale didattico di qualità basato su .NET e Java, molto più di quello basato su linguaggi amatoriali come php.
jwenting

La domanda si basa sulla quantità di progetti e sulla portata dei progetti. Le aziende spesso accettano numerosi progetti con scadenze brevi, anche se non hanno abbastanza programmatori. Altre volte "sbattimenti nella strada" non previsti creano la necessità di più programmatori.
Steven,

PHP non è ancora corretto OO, e probabilmente non lo sarà mai.
vartec,

1
È "COBOL", non "Cobold" (potresti pensare a "Kobold" - sono folletti simili a goblin nel folklore germanico; i piccoli mostri topo / cane squamosi in D&D; o i ragazzi "Non prendere candele!" in WoW.) e le estensioni OO non sono state aggiunte a COBOL fino al 2002 circa.
Nate,

1

Ho anche il sospetto che il tuo amico lo abbia detto soprattutto perché lo pensa lui stesso. Dubito che la posizione ufficiale del dipartimento sia "non insegniamo la lingua X perché è troppo facile", ma piuttosto "insegniamo le lingue Y e Z a causa della [ragione] e il resto gli studenti possono imparare da soli se vogliono ".

L'università non è lì per insegnare ai suoi studenti ogni lingua importante: devono insegnare concetti base di programmazione (oltre a molte altre cose). Se pensi di dover imparare PHP, probabilmente sarai in grado di farlo a tuo piacimento. In realtà, dopo aver appreso due o più linguaggi di programmazione, un altro (correlato) di solito non è difficile da imparare. Non basare quale università o corso scegliere solo sulle lingue insegnate.


1

Nota: sono ultra impegnato e quindi non ho letto tutte le altre risposte, quindi spero di non ripetere le idee.

Sono quasi tentato di dire che sono d'accordo con lo spirito di ciò che è stato detto, ma non darei il mio nome alla caratterizzazione che il tuo professore / insegnante ha dato.

È incontestabile che PHP sia un linguaggio di programmazione estremamente popolare. Detto questo, lo conterei ancora tra i linguaggi di programmazione “specifici del dominio” e se provassi a trasmettere più concetti trascendentali (scusate! In questo caso la filosofia qui), non userei PHP. PHP è tra i cosiddetti linguaggi di programmazione "Turing-complete" (ovvero, non è AppleScript, è adatto a qualsiasi problema di programmazione), ma penso che abbia un design così specifico per il Web (basti pensare al prologo PHP e al modo in cui XML -influenzato è) che potrebbe distrarre dalla disciplina di programmazione di base.

PHP non è un linguaggio di programmazione per hobby: molti professionisti lo usano. In effetti, direi che Python 3 è più un linguaggio "hobbista" che PHP. Sembra proprio una risata piuttosto umile dalla torre d'avorio piuttosto che un'affermazione sulla realtà.

E per quanto riguarda la parte "facile". Ragazzo, sto davvero iniziando a non gradire il tuo insegnante. La programmazione non dovrebbe essere inutilmente bizantina o difficile. Un buon linguaggio è quello che ti consente di presentare le tue idee in modo chiaro, non criptico. Non trovo PHP facile; nel senso che non trovo facile formulare idee anche semi-difficili con una chiarezza approssimativa. Trovo molto più facile farlo in, diciamo Python, o C con Literate Programming.

Riepilogo: PHP è popolare, ma non esattamente elegante per trattare il nucleo dell'informatica. Il tuo insegnante suona come un bastardo.


Pensavo che AppleScript fosse completo.
Sean McMillan,

0

È un linguaggio semplice. Al dipartimento CS dove ho studiato, hanno annullato il corso C perché era considerato una lingua di insegnamento personale.


0

Abbiamo anche visto java e aspx al college.

Per quanto riguarda il perché? Erano le due piattaforme con più possibilità di trovare lavoro .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.