Добрый день, София.
Выбирайте ноутбук, если хотите быть мобильными, однако долго программировать за ним неудобно. Всё таки экран и клавиатура маленькие. Ноутбук для тех, кому надо работать в дороге и спешке.
Между моноблоком и компьютером нет большой разницы. Моноблок просто совмещает в себе несколько функций (монитор, компьютер, веб-камера и т.д.) и не подходит для апгрейда (замены деталей на мощные).
Что касается программирования. Для первых шагов Вам не принципиально что именно выбрать, так как хватит даже не самых мощных устройств. Лучше сфокусируйтесь на обучении и практики.
Со временем когда наберётесь опыта и поймёте в каком направлении хотите развиваться, то купите подходящую технику.