Eu acho que "linguagem de script" é uma palavra terrível, extremamente desatualizada ou, na melhor das hipóteses, adequada a uma classe de idiomas específicos de domínio. Seu professor está apenas alinhando tudo o que claramente não tem entendimento suficiente em um eixo do mal.
Uma distinção sensata a ser feita é aquela entre linguagens de alto nível e linguagens de baixo nível, ou entre as de tipo estático e dinâmico, que são verdadeiramente ortogonais.
O assembler é digitado dinamicamente em baixo nível (se falar em tipos faz algum sentido), C é digitado estaticamente em baixo nível, Ruby é digitado dinamicamente em nível alto, Haskell é digitado estaticamente em alto nível. Java não é tipicamente estatístico de nível alto nem baixo; o C ++ é tipicamente estatístico de nível alto e baixo. E assim por diante.
A discussão pode ser apenas quais paradigmas são mais adequados para um programador de nível de entrada.
Estou convencido de que a programação de baixo nível provavelmente não é uma delas. Pode ter sido, em algum momento no início dos anos 90, quando você realmente podia produzir resultados interessantes em tempo razoável.
Mas a programação é alimentada pela paixão. A paixão é nutrida por recompensas. Portanto, programadores iniciantes devem começar com ferramentas recompensadoras. As ferramentas de baixo nível não são mais gratificantes, porque há um vasto mar de ferramentas de alto nível que proporcionam o mesmo resultado em uma fração do tempo.
O pensamento humano é abstrato. À medida que aprendemos a entender o mundo, fazemos isso por abstrações de grão muito grosseiro e entramos em detalhes conforme necessário.
Para uma criança entender seu ambiente, você não vai ensinar matemática, física, química, biologia, história, sociologia e filosofia. Você dá a ele um modelo muito simples do mundo para lidar com e, por si só, muito tempo para alcançá-lo, lança incessantemente perguntas sobre você quando jovem e nega completamente sua autoridade posteriormente.
É assim que pensamos. O cérebro humano só pode processar quantidades limitadas de "unidades" de informação, mas o grau de abstração pouco importa na quantização da informação. Por exemplo: ler a expressão '34 * 75 'para nós é mais simples do que calculá-la, enquanto para computadores é o contrário. Reconhecer (e assim abstrair) um monte de pixels pretos em uma linha ondulada, que pode ser reconhecida (e, assim, mais uma vez abstraída) como um dígito individual é uma tremenda quantidade de trabalho.
Minha avó entende a idéia de abrir um arquivo. No entanto, ela não tem entendimento abaixo desse nível. E, francamente, se ela tivesse aprendido isso estudando primeiro o funcionamento interno do hardware e do sistema operacional e o que não, ela nunca teria chegado lá.
Existem muitas pessoas por aí que complicam demais as coisas, porque nunca foram ensinadas a pensar em termos de soluções claras, concisas e, portanto, elegantes, mas gastaram muito tempo se preocupando com detalhes intercambiáveis de baixo nível e resolvendo problemas contra eles. Ensinar as pessoas a pensar como computadores é a pior abordagem possível para a programação.
O valor da programação está em encontrar uma solução para um problema. Expressá-lo como código é realmente uma tarefa mecânica e monótona e deve ser feita simplesmente com as ferramentas adequadas.
Ah, e não se preocupe por não entender os ponteiros. Eu tive o mesmo problema na mesma idade. O problema aqui também é a falta de abstração. Classicamente, você aprende sobre ponteiros em algum livro em C e, enquanto luta para entendê-los, isso caminha de mãos dadas com a alocação de memória e, portanto, com a pilha e pilha de memória e assim por diante. O conceito abstrato por trás dos ponteiros é indireto. Uma variável que contém um índice em uma matriz específica é exatamente isso (na verdade, é realmente a mesma em C, onde a matriz específica é o seu espaço de endereço), e você não precisa de aritmética de ponteiro para isso.
Isso serve apenas para ilustrar que a escolha de um alto nível de abstrações torna as coisas muito mais fáceis de entender.
EDIT: e quando se trata de digitar, prefiro idiomas de tipo estaticamente. E acho que os programadores iniciantes devem entender claramente o conceito de tipos (que é abstrato).