?

Log in

ulfurinn

(no subject)

« previous entry | next entry »
Oct. 3rd, 2012 | 12:43 am

Один американский товарищ изучает в универе С++ (точнее, что-то ближе к С с классами, потому что им там запрещают пользоваться стандартной строкой и вектором, видимо, чтобы указатели осваивали) и периодически консультируется. С алгоритмическим мышлением там все в порядке, но за полгода у него в голове, судя по формулировкам вопросов, так толком и не отложилось, что типы char и int ничем таким принципиальным друг от друга не отличаются. Каждый раз играем в увлекательную игру "что ты имела в виду", и каждый раз я натыкаюсь на какие-то ментальные баррикады поперек проезжей части. На днях он спросил, может ли int[] содержать '\0', и нафига он там нужен, если мы и так знаем размер массива (т.е., например, как работает strlen, человек понимает, но только до определенного уровня абстракции). Открытие, что '\0' - это обыкновенный ноль, слегка надорвало шаблон. О том, что 4-байтовое число может содержать '\0' в любом месте посреди себя, я побоялся упоминать, чем, наверное, попортил себе карму, потому что на лекциях им про машинное представление данных и кодировку текста явно рассказывать не собираются.

В общем, если учить начинающих на таком уровне, то лучше действительно на Питоне.

Link | Leave a comment | Share

Comments {3}

Мутный рижанин

(no subject)

from: soljarka
date: Oct. 3rd, 2012 08:54 am (UTC)
Link

Да, печаль. Нам на первом курсе на лекциях по программированию в самом начале объясняли то, как данные предсталены в памяти, как они адресуются и тд. Понимание программирования должно строиться на базовых вещах. Если человек под словом "переменная" понимает лишь абстрактный кусочек информации и не знает, что она физически из себя представляет, то либо он забивал на лекции, посвящая время строчению халтур на пехапе, либо преподавателям надо отрывать головы.

Reply | Thread

Мутный рижанин

(no subject)

from: soljarka
date: Oct. 3rd, 2012 09:03 am (UTC)
Link

Даже помню, как мы писали лабы по использованию одних и тех же участков памяти через указатели разных типов, и как раз, помнится, нам показывали, как можно через указатели типа char смотреть отдельные байты, записанные через указатель int, ну и тому подоные фишки. Без этого понять уличную магию вообще нельзя.

Reply | Parent | Thread

úlfurinn

(no subject)

from: ulfurinn
date: Oct. 3rd, 2012 09:11 pm (UTC)
Link

Дык!

Reply | Parent | Thread