Computer finestre Internet

Linguaggi di programmazione didattica. Sviluppo delle capacità di programmazione utilizzando il pacchetto Maple durante l'insegnamento dell'informatica a livello specialistico

Alla fine della settimana scorsa, ha avuto luogo una piccola esibizione a Mosca, dove ha detto agli smanettoni alle prime armi con quale lingua iniziare. modo professionale e per quale tipo di carriera futura con conoscenze pertinenti vale la pena sforzarsi.

Potete trovare alcuni dettagli di questo incontro nei commenti al post, ma per ora proviamo a scoprirlo qui: quindi quale lingua imparare per prima?

In realtà sembra che l'insegnante di mio figlio, che è in prima elementare, scriva lettere senza firmare, senza materia. Guardando direttamente lo schermo della massa, diventi improvvisamente cosciente! Si presumeva anche che Matma insegnasse a pensare, ma non funzionava. ... L'idea di introdurre la programmazione a scuola è fantastica. Il modo in cui viene introdotto è una questione completamente diversa e ci sono molti problemi al riguardo. In primo luogo, ciò che è stato scritto da Pstrejček o da un corpo docente impreparato. Sam non era un grosso cane, ma ci ha provato.

All'inizio della scuola elementare, c'erano queste persone in palestra e praticamente nessuno? E ha anche 2 cose da fare. Inoltre, possiamo essere d'accordo su come qualcuno può programmarlo invece di voler essere un insegnante. Sappiamo tutti come guadagna questo gruppo sociale ed è molto importante avere una passione per l'insegnamento alla prossima generazione.

Vecchia scuola

Alle prime lezioni di informatica, gli insegnanti, con uno squittio nel cuore, fanno avvicinare i bambini ai computer della scuola per insegnargli il primo linguaggio di programmazione della loro vita. 15 anni fa, nella maggior parte dei casi, erano i linguaggi procedurali Basic o Pascal, ma se eri molto fortunato con un insegnante, potevi anche imparare il C.

Per ora tralasciamo l'ultima parentesi e cerchiamo di capire: è così bello iniziare a imparare con lingue molto limitate. I vantaggi sono evidenti: sintassi semplice, simile al solito lingua inglese e la capacità di apprendere le basi della programmazione in poche ore. Ma c'è anche uno svantaggio: la mancanza di una reale applicazione pratica senza studiare ulteriori sviluppi questi linguaggi (Visual Basic e Object Pascal). E in questo caso, sarai lontano dallo sviluppo di applicazioni moderne a tutti gli effetti.

In secondo luogo, il programma è ancora più importante. In generale, non mi piace l'idea di insegnare una programmazione rigorosa. Dobbiamo concentrarci mentre tutti qui scrivono di nuove tecnologie.

  • Anche se non in la giusta direzione, va tutto bene.
  • Puoi aggiustarlo in futuro.
  • È meglio lavorare che non lavorare.
Quale classe dovresti programmare?

  • Non sono qualificato per rispondere specificamente alla domanda.
  • Secondo me dovrebbero avere uno psicologo.
Un'azione molto interessante, che insegna ai bambini che le basi della programmazione sono molto accessibili e interessanti per loro. L'idea di introdurre la programmazione educativa è idiota. Le cose possono essere messe sulla ruota delle informazioni al liceo, così come casi d'uso con strumenti disponibili gratuitamente per tutti per entrare in fisica, chimica o matematica. In quanto persona interessata, troverà informazioni su Internet stessa.

Quindi, se hai ancora parecchi anni, le circostanze non ti costringono a scegliere la tua futura professione, allora i linguaggi procedurali sono una scelta eccellente. Allenarsi, come si suol dire, è meglio sui gatti. Ma se vuoi iniziare a fare soldi domani, allora ... Tuttavia, ne parleremo più avanti.

Scuola moderna

Come probabilmente saprai, molti scolari moderni iniziano a programmare con alcune versioni semplificate di linguaggi "grandi", come Scratch, Blockly o Logo. In generale, i vantaggi potrebbero essere riscritti dai linguaggi procedurali, se non per un "ma": questi linguaggi e applicazioni costruite sulla loro base sono un servizio di intrattenimento per bambini.

Il prossimo passo - una percentuale significativa di giovani sono celebrità perché vogliono consumare e non rompere il muro del codice - devi avere una predisposizione per questo. Il contenuto del programma è così grande che se qualcuno vuole, troverà se stesso. Ora la cosa più importante per i bambini è imparare la corretta ritenzione, il pensiero logico, un ottimo apprendimento di una lingua straniera - nel senso di continuità e distribuzione al livello corretto. In ogni caso, cose del genere possono essere fatte su mat-fisico per non disturbare questi umanisti e futuri programmatori medici.

Cioè, l'unica cosa che si può imparare da tale programmazione è la struttura generale del programma, il concetto di cicli e operatori. Quindi, se hai già 12 anni, dimentica queste lingue per bambini, è ora che entri nel mondo degli adulti.

Avvio rapido con prospettiva

Diciamo che, scartando tutti i preludi, si vuole iniziare subito ad apprendere uno dei linguaggi di programmazione mainstream, imparando contemporaneamente tutte le basi della programmazione. Allora vale la pena rispondere solo a una semplice domanda: cosa vuoi fare esattamente? Se si programma hardware, qui non si può discutere: la risposta è C, cioè il linguaggio C. Combina tutto ciò di cui ha bisogno un principiante: sintassi semplice, grandi opportunità, sia per continuare a lavorare in questo ambiente, sia per ulteriori riqualificazione al profilo "non di ferro". Allo stesso tempo, in quasi tutti i principali negozi di elettronica al dettaglio, puoi trovare schede di sviluppo, kit di base per la robotica e altre gioie per un principiante.

Perché avevo l'informatica e l'università e quello era il fondo. Invece di pensare al governo, lascia che il governo prenda il plagio e renda il curriculum più realistico, perché le informazioni più stupide che i bambini hanno, meno ne avremo. persone interessanti perché sviluppare la propria passione dopo la scuola e svolgere il proprio lavoro non avrà più potere.

A proposito, qualcuno ha sbagliato a pensare che un adulto lavori 8 ore e faience, e un bambino deve leggere libri tutto il giorno a scuola e dopo la scuola, perché alla fine ogni insegnante crede che la sua materia sia la più importante. È un lavoro noioso che nessuno ricorderà tra qualche anno, ma i ricchi avranno più soldi per avviare un'attività con le mani di menti robotiche, il che sembra significare qualcosa di più. Dici che intendi di più, che hai una mente, due mani e un desiderio.

  • Il cittadino più stupido, meglio è per la casta dominante e per il finanziere.
  • È un computer o scavare buche, non importa.
È tutto molto bello, ma appena te ne accorgi: chi insegnerà loro a programmare?

Se consideri il web come la tua vocazione, allora devi iniziare il tuo viaggio come standard con HTML e CSS. Questo ti permetterà di creare pagine statiche e farti un'idea approssimativa di cosa dovrai affrontare. Successivamente, si consiglia vivamente di affrontare Python. Primo, perché questa lingua è davvero facile da imparare. In secondo luogo, secondo alcune fonti, Python è il linguaggio più diffuso, se prendiamo in considerazione solo le statistiche degli studenti dal 2011. In terzo luogo, le capacità di questo linguaggio sono tali che oggi crei il web con esso (come DropBox o Google) e domani inizi a sviluppare un gioco (Civilization IV).

Insegnanti che non riescono a capire da soli le basi della programmazione? Non lasciarti ingannare, ma questa è la realtà. A livello accademico è difficile trovare insegnanti che insegnino molto bene la programmazione, e solo a scuola. È bello pensare che la programmazione sia divertente, ma questo video è stato presentato sotto una luce completamente diversa.

  • Ovviamente il problema è il personale.
  • Ma nulla cambierà senza azione.
  • Le azioni appaiono, va bene.
E quei poveri genitori che ora fanno progetti di design per waffle ora hanno bisogno di imparare come programmare e realizzare progetti di programmazione?: Oh Seriamente, il problema di un problema di personale debole può essere risolto comunicando con gli studenti che condurranno le lezioni durante i prestiti.


Difficile da imparare, facile da combattere

Senza tralasciare il tema del web, puoi scegliere JavaScript come primo linguaggio (in realtà il terzo dopo HTML e CSS) di programmazione. Questo è esattamente quello che facevano nelle lezioni di informatica 15 anni fa, e questo aveva un significato ben preciso: le pagine statiche con l'aggiunta letteralmente di 4-5 righe hanno una componente attiva, che solleva la motivazione a lavorare in questa direzione. Allo stesso tempo, le prestazioni non dipendono dal browser o da sistema operativo... E questo per non parlare delle prospettive di ulteriore sviluppo verso Node.js.

Allora devi creare backup uno studente i cui genitori pagano tasse enormi? È possibile che uno studente si vendichi di più di un genitore i cui genitori fanno pagare 500 per? fratelli minori e sorelle?

  • Studenti che prendono lezioni di programmazione in scuole elementari Oh?
  • Oltre alla formazione, devi avere esperienza o conoscenza.
  • Lo studente di computer è piuttosto l'opposto dell'insegnante.
Ci sono obiettivi chiaramente definiti! Adesso la moda, soprattutto sui media, critica tutto perché lì ha creato un'opzione politica.

Vale la pena discutere sulla base dei fatti e in particolare della "documentazione" ufficialmente disponibile. E video come questo hanno creato l'agenzia per volere del ministero e dovrebbero probabilmente colpire i gusti del pubblico in generale, non dei professionisti IT. Comprendere, analizzare e risolvere problemi basati sul pensiero logico e astratto, sul pensiero algoritmico e sui modi di presentare. informazione. Programmazione e risoluzione dei problemi con un computer e altri. Dispositivi digitali: algoritmi di posa e programmazione, organizzazione, ricerca. e scambio di informazioni mediante applicazioni informatiche.

Puoi anche iniziare il tuo viaggio sul web con PHP o Ruby, ma se non hai mai fatto programmazione, allora è meglio seguire il percorso di minor resistenza, e lasciare questi due linguaggi per uno studio futuro. Confronta allo stesso tempo.

E infine, allo sviluppo di applicazioni. Tre modi: Java, Swift, C #. Il desiderio di iniziare a imparare a programmare con loro è una sfida molto seria, che in assenza di duro lavoro può rivelarsi stupida, perché ognuno richiederà diversi mesi di studio intensivo. Tuttavia, le prospettive possono anche fungere da incentivo, che si tratti di una carriera di successo nella sfera mobile (Java - Android, Swift - iOS) o nei giochi (C # + Unity).

L'uso di computer, dispositivi digitali e reti di computer. compresa la conoscenza dei principi di funzionamento dei dispositivi digitali e delle reti informatiche, nonché l'implementazione di calcoli e programmi. Sviluppo di competenze sociali come comunicazione e collaborazione in team, inclusi ambienti virtuali, collaborazione e project management. Conformità alle leggi e alle norme di sicurezza.

L'attuale curriculum di base non aggiunge nulla di nuovo, quindi gli insegnanti possono dormire sonni tranquilli e il livello dell'informatica non cambierà. La programmazione fa parte dell'informatica fin dalla tenera età, influenza il modo in cui vengono insegnate altre materie, serve il significato corretto dei concetti IT e dell'informatica. Supporta lo sviluppo di abilità come il pensiero logico, la presentazione chiara lavorare insieme ed efficiente attuazione dei progetti. Se è brutto, devi cambiarlo. I cambiamenti all'inizio non andranno necessariamente nella direzione giusta, ma è meglio che trovarsi nel posto sbagliato. Credi davvero che la visione dei funzionari sia corretta? Questo progetto fallirà sicuramente perché non ci saranno comunque le persone giuste, e c'è un nucleo nelle persone. La scuola dovrebbe essere un luogo in cui sostenere lo sviluppo in molti modi, non solo in ciò che suona bene oa cui i "funzionari" sono stati tagliati fuori dal mondo. In generale, la maggior parte delle informazioni fornite è negativa e ci impone cosa pensare. Recentemente, l'autore di questo blog ha postato sul suo blog un molto argomento interessante sulle scuole di programmazione, che è in qualche modo correlato all'articolo di cui sopra. Se dovessi dire "ufficialmente" che potrei doverlo leggere, ma fortunatamente non ne ho bisogno. Il tuo messaggio non è stato ricevuto da me! Questa è stata la mia gratitudine ai giornalisti "professionisti" di TVNOV, agli agoor e ad altre persone che, in connessione con errori politici, hanno discusso nuova base programmazione e non riguardava affatto l'essenza. Non hai davvero bisogno di leggere le regole, impostare e puoi dare la tua opinione, perché questo è il tuo blog, per i tuoi soldi e niente a che fare con esso. Il flusso principale, invece, opera in regime di concessione ed è solitamente un mercato regolamentato, pertanto, almeno, la teoria dovrebbe essere più preparata. Gli insegnanti sono spesso persone che non hanno esperienza nel mondo degli affari e vorrebbero sicuramente sentirti. Sei il più importante per l'attuazione del programma, non scoraggiarti e, tra l'altro, prepara i futuri professionisti. Sai che l'argomento è molto interessante. A mio parere, questa è una prospettiva molto importante. Il termine è stato anche concordato, ma per qualche motivo non è uscito. Sfortunatamente, non ci sono ancora media mainstream. ... Si tratta di creare sviluppatori poco costosi sulla stessa base dei comunisti che producono registratori e lavoratori speciali nelle fabbriche.

Oggi ho scritto una risposta a Nina Shumilina di Tver, a una domanda su Python come primo linguaggio di programmazione a scuola.

Ha citato Konstantin Polyakov, la conclusione del suo articolo nel numero di settembre di Informatica:
Per questi motivi, l'autore è incline a sostenere l'opinione di I.A. Sukina: Python va bene per i programmatori professionisti, ma usarlo come primo linguaggio di programmazione può essere una cattiva decisione. Come ammettono gli insegnanti di Python, coloro che hanno imparato a programmare in Python sono riluttanti a passare ad altri linguaggi (di livello inferiore). Avendo insegnato agli scolari a ordinare gli array chiamando il metodo sort, è difficile spiegare in seguito perché sono stati scritti interi volumi sugli algoritmi di ordinamento. E questo può portare all'emergere di una galassia di "programmatori solo Python" che non sono pronti a superare vincoli aggiuntivi per migliorare l'efficienza del programma. L'insegnante, infatti, si trova in una situazione ben descritta dalla frase “Python ha tali opportunità, ma non puoi insegnare così!” (E.V. Andreeva). Allo stesso tempo, sarebbe utile imparare Python come secondo linguaggio di programmazione nelle lezioni di informatica avanzata (dopo Pascal o C, per esempio).

La formazione è un ente sussidiario del Ministero della Pubblica Istruzione. Le consultazioni sono la fase finale dei lavori all'interno del Consiglio per le tecnologie dell'informazione dell'istruzione prima della presentazione di un progetto di modifica del programma su decisione del ministro.

Al termine della consultazione, l'ICT Education Council presenterà una relazione sulla loro attuazione e sulla versione finale dei cambiamenti del progetto nel curriculum di base e nell'IT. È interessante notare che l'istruzione nel campo Tecnologie informatiche previsto in scuola materna... I bambini piccoli usano dispositivi elettronici digitali per comunicare con i loro cari e giocare con loro. Gli studenti delle scuole medie affronteranno la sfida dello sviluppo propri programmi e siti web.

La mia risposta ha chiaramente superato il formato della lettera, quindi per ora la pubblicherò qui e poi, forse, la finalizzerò a un articolo.

Non c'è dubbio che gli atteggiamenti nei confronti di Python siano diversi. Si teme infatti che la digitazione dinamica e il troppo linguaggio "di alto livello" siano dannosi per l'apprendimento, che sia impossibile sostituire il concetto di "array" con elenchi di alto livello, poiché gli studenti "ingannati" dalla facilità delle operazioni con le liste non capirà i principi dell'organizzazione interna, e così via.

Tuttavia, la sfida più grande nel realizzare un impegno ambizioso è la mancanza di insegnanti adeguatamente formati e motivati. L'introduzione di curricula di base è progettata per soddisfare la crescente domanda di persone con queste competenze nel mercato del lavoro. La società gestisce il progetto educativo "Master Coding", che mira a divulgare la scienza della programmazione nelle scuole polacche e include alunni delle scuole elementari in tutta la Polonia. Gli insegnanti che partecipano al programma sono stati formati dagli esperti per continuare la loro programmazione nelle loro scuole per le prossime 8 settimane.

Ma secondo me, tali critiche vengono principalmente da "teorici" che non hanno mai provato a insegnare la programmazione in Python, lo stesso Polyakov, sebbene abbia iniziato a pubblicare articoli su Python in "Informatica", ma sembra che non l'abbia mai usato per insegnare ... Ma non conosco praticanti che criticano Python, cioè persone che cercherebbero di insegnare ai bambini Python per almeno un anno e poi si rifiutano.

La partecipazione al programma è gratuita. Sfortunatamente, la scuola non ti insegna tutto ciò che devi sapere per semplificarti la vita. In effetti, la scuola spesso ti riempie la testa di sciocchezze che molto probabilmente non userai mai, anche se ogni insegnante le considera molto importanti.

Mentre impariamo cose utili anche a scuola, alcune delle abilità più importanti di cui abbiamo bisogno nell'età adulta non sono nemmeno menzionate. Dobbiamo guardare al lato positivo, però: non è mai troppo tardi per imparare. Poiché la tecnologia è uno degli argomenti più importanti di oggi, è difficile credere che l'informatica non venga insegnata in molte scuole. E in informatica non stiamo parlando di una combinazione di matematica e computer, ma della capacità di lavorare su un computer.

Ad esempio, EV Andreeva, presumibilmente citato da Polyakov, tre anni fa ha deciso di provare a insegnare agli scolari delle classi 6-7 in "Intellettuale" in Python. Prima di allora, era piuttosto scettica su questa impresa, ma decise di provarla. Sei mesi dopo, ha già parlato alle conferenze e ha detto che è meglio insegnare Python alle scuole medie, che non ci credeva davvero, ma poi ci ha provato e in pochi mesi le sue opinioni sono cambiate. Quindi non so cosa abbia citato Polyakov e quanti anni abbia questa citazione, ma ieri ho mostrato specificamente questa corrispondenza ad Andreeva e le ho chiesto di rispondere, a cui ha scritto "La risposta di Shumilina - gli studenti delle scuole medie hanno certamente bisogno di essere insegnati in Python" .

Quali sono i vantaggi di Python? Non solo nella semplicità del linguaggio, ma anche nel fatto che si tratta di un mondo di programmazione enorme, sfaccettato e versatile. È facile iniziare a programmare in questo mondo e sembra che non abbia senso discutere i meriti di Python come primo linguaggio di programmazione - chiaramente non c'è niente di più semplice (dai linguaggi di programmazione scopo generale). È molto più laconico di Pascal e la programmazione in esso è priva della necessità di pasticciare con molte cose tecniche, il che è difficile per i principianti. È molto più facile scrivere programmi per principianti, se sono composti da cinque righe e non quindici, implementano gli stessi algoritmi, ma impiega meno tempo per scrivere ed eseguire il debug del codice, il che significa che è possibile risolvere più problemi e ulteriormente avanzamento, e per lavorare con un array, è molto più comodo scrivere:

a = * 1000
come
var a: array di interi;
...
per i: = da 1 a 1000 do
a[i]: = 0;

Il risultato per il programmatore è lo stesso, il risultato è un array pieno di zeri, ma in Python è una riga invece di tre e il significato non cambia. E qui gli scettici, ovviamente, diranno che non si può scrivere come in Python, che uno studente deve capire che un array è un pezzo continuo di memoria, che dobbiamo dichiararlo, cioè riservargli spazio, che noi bisogna inizializzarlo, riempiendolo di zeri... Ebbene, la nostra risposta agli scettici è che il significato per un programmatore alle prime armi non cambia, anzi, la riga a = * 1000 rispecchia meglio quello che lo studente vuole ottenere subito (io vuoi una lista di un numero 0, ripetuto 1000 volte), è molto più facile da scrivere e ti permette di risolvere più problemi!

Basta guardare i due frammenti sopra, quale è più chiaro? Quale ti piace di più?

Quindi Python è decisamente migliore per i principianti. Inoltre, i bambini deboli possono fermarsi qui, avendo ricevuto un'idea generale di programmazione. Ma gli studenti forti possono andare avanti e avranno a loro disposizione un moderno linguaggio di programmazione universale che viene effettivamente utilizzato per lo sviluppo. Software nelle principali aziende mondiali. Qui, ad esempio, le statistiche - "Cosa scrivono in Yandex": http://blog.yandex.ru/post/ 77617 /. I siti web possono essere scritti in Python, giochi per computer, GUI, applicazioni client-server, cioè qualunque cosa.

Ora, riguardo all'affermazione che ci sono molte cose di alto livello nella lingua, ed è allettante usarle, invece di imparare come funziona. Bene, questo è un problema metodico, non un problema di linguaggio di programmazione. L'approccio metodologico generale qui è il seguente: prima capiamo come funziona, quindi siamo autorizzati a utilizzare l'elemento corrispondente della lingua. Ad esempio, prima abbiamo scritto lo scambio dei valori di due variabili tramite una variabile ausiliaria, poi mostro come si fa usando le tuple (a, b) = (b, a). Innanzitutto, hanno scritto un massimo di due o tre numeri, quindi puoi utilizzare la funzione max. Poi hanno scritto un programma per trovare il massimo in
sequenza (array), quindi è possibile utilizzare la funzione max nell'elenco. Per prima cosa, abbiamo scritto noi stessi gli ordinamenti, quindi puoi usare la funzione di ordinamento e insisto anche sul fatto che gli studenti utilizzino la funzione di ordinamento standard: è più veloce e più conveniente e ti consente di risolvere più problemi, ma solo dopo aver imparato a scrivere ordina loro stessi.

In effetti, c'è un tipo integrato in qualsiasi lingua moderna programmazione (Java, C ++, PHP), perché ora è così accettato. È assente solo nel classico Pascal (ma nel moderno Delphi - c'è), non nei vecchi BASIC (e in Visual Basic - c'è), ma questo non significa che tutti questi linguaggi non possano essere usati, perché hanno costruito -in smistamento? E non verrebbe mai in mente a nessuno di vietare lo studio di queste lingue a scuola solo perché "e se l'insegnante insegnasse ai bambini a usare l'ordinamento integrato, e quindi non puoi spiegare a questi bambini perché devi studiare le complessità di algoritmi di ordinamento." Quindi il problema non è se il linguaggio di programmazione è ordinato o meno, ma il problema è COME usarlo. È sufficiente che alcuni scolari spieghino cos'è l'"ordinamento per selezione": è comprensibile e molto facile scrivere nello stesso Python, ma con qualcuno puoi discutere di algoritmi di ordinamento efficienti e la presenza di ordinamento integrato non interferisce con questo. Inoltre, se insegno ai bambini a programmare nello stesso C++, cerco di insegnare ai bambini come usare sort sort da STL e usarlo in modo efficace, e questo non interferisce con lo studio degli algoritmi di ordinamento. Al MIT (Massachusetts Institute of Technology), tutti i corsi iniziali di programmazione sono stati tradotti in Python alcuni anni fa. Nella nuova Facoltà di Informatica della State University Higher School of Economics, creata nel 2014 con la partecipazione di Yandex, è Python il primo linguaggio di programmazione studiato dagli studenti. Qui sto citando la nuova facoltà come esempio, perché nelle università con programmi già stabiliti, è più difficile cambiare qualcosa, ad esempio, presso la Facoltà di CMC dell'Università statale di Mosca, un tentativo di sostituire Pascal con C, come primo linguaggio di programmazione, non ha avuto successo a causa della riluttanza a cambiare i programmi esistenti e il contingente di insegnanti.

Quindi, diamo un'occhiata alla dichiarazione "E questo può portare all'apparizione la galassia dei "programmatori solo Python" che non sono pronti a superare ulteriori restrizioni per aumentare l'efficienza del programma." In un certo senso, non c'è niente di sbagliato in questo. La programmazione sta diventando una professione sempre più diffusa e molte delle abilità di un programmatore non appartengono a quella che è una professione più alta educazione, cioè, la maggior parte dei programmatori non è necessario studiare volumi dedicati agli algoritmi di smistamento. La complessità degli algoritmi di smistamento è senza dubbio una sfera di istruzione professionale superiore, ma i programmatori che possono scrivere un sito Web in PHP o un programma per la contabilità
anche in 1C sono necessari, e molti di loro sono necessari. In generale, tali programmatori non hanno bisogno di capire gli algoritmi di ordinamento, devono solo essere in grado di utilizzare la funzione di ordinamento standard per qualsiasi attività e sapere che può ordinare gli array meglio che se lo scrivessero loro stessi (ed è abbastanza strano richiedere conoscenza da un programmatore web di algoritmi di ordinamento rapido, ovviamente, non ci sarà nulla di sbagliato in questa conoscenza, ma è completamente inutile che funzioni). Quindi il sistema di formazione per programmatori dovrebbe includere sia l'istruzione professionale secondaria (dove insegnano cose e tecnologie applicate) sia il sistema di istruzione superiore (dove è opportuno discutere la complessità degli algoritmi di smistamento), proprio come avviene in molti settori. , in medicina (un medico con una formazione specialistica secondaria esegue procedure mediche standard e un medico con un'istruzione superiore sa come prescrivere un trattamento, cioè analizzare le ragioni e prendere una decisione). Sì, ci sono specialità legate alla programmazione nell'istruzione secondaria specialistica e nell'istruzione superiore, ma il sistema qui non è così costruito come nello stesso sistema di istruzione medica. E, a dire il vero, ho una cattiva idea di ciò che sta accadendo nell'istruzione professionale secondaria con la programmazione dell'insegnamento.

Un'analogia che amo portare qui è il progresso delle automobili. All'inizio e alla metà del XX secolo, il conducente di un'auto doveva conoscere la struttura dell'auto ed eseguire personalmente riparazioni piuttosto complesse. Qualsiasi pilota deve essere praticamente un meccanico. Ora molti piloti, beh, se hanno in comune
idea sul dispositivo di un'auto, quindi di certo non lo riparano mai, preferendo eseguire tutta la manutenzione in un servizio di auto. È buono o cattivo? Questo, secondo me, è inevitabile. L'ampiezza della distribuzione delle auto è diventata tale che è difficile richiedere a tutti gli automobilisti le capacità di riparazione e la conoscenza approfondita del dispositivo dell'auto. L'uso diffuso dell'auto porterà inevitabilmente al fatto che la maggior parte dei conducenti non avrà una profonda conoscenza della struttura dell'auto. E le auto, a loro volta, stanno diventando più convenienti e affidabili, quindi possono essere utilizzate senza abilità speciali.

Allo stesso modo, con la programmazione, la programmazione sta diventando più comune e gli stessi linguaggi di programmazione stanno diventando più convenienti e semplici. Indubbiamente, il numero di programmatori sta crescendo e continuerà a crescere (anche se c'è ancora un'enorme carenza di programmatori qualificati nel settore), mentre il livello di comprensione profonda delle cose diminuirà. Questo è inevitabile, ma questo non è un motivo per abbandonare i moderni linguaggi di programmazione di alto livello, così come non verrebbe mai in mente a nessuno di abbandonare le auto moderne solo perché sono più affidabili e più convenienti e non richiedono conoscenze particolari per un uso costante .