Я сам по себе начинающий программист, учусь понемногу языки, стараюсь все понять и уложить все по полочкам. Конечно практикуюсь немного, пишу очень простые программы. Например проверка четности веденого пользователем числа в консоль или программа, которая производит сумму или произведение трех чисел, при это можно выбрать, что именно делать с числами, умножить или сложить.
Но иногда бывает настолько сложно, непонятно и запутанно, что возникает мысль - "А может я один такой". Приведу пример. Я начал изучать, что такое ООП, его парадигму и основные принципы (абстракция, полиморфизм, инкапсуляция и наследование). Когда первый раз услышал все это впал в ужас. Смотрел видео уроки и читал статьи, но мне было все также не понятно. Какие-то классы, атрибуты, функции, объекты и методы.
Сейчас, я уже отдаленно понимаю, принципы ООП, но я бы сказал, что смутно и не уверен, что смогу применить каждый из принципов. Самый понятный для меня это "наследование". Когда мы создаем общий объект, с общими атрибутами и наследуем его для других объектов и можем менять и добавлять различные функции и методы.
Вот скажите пожалуйста, программисты с опытом. Это я такой непонимающий или все проходят через это и это лишь дело времени?
Через это многие проходят. Программирование - это философия, а не только буковки.
Касательно наследования, тут можно взять классический пример:
Класс "Человек", у каждого человека есть имя и возраст. Это будет базовый класс человека.
Затем, человек может быть учеником или учителем. Следовательно, создаем классы "Ученик" и "Учитель", которые будут наследоваться от базового класса "Человек".
У каждого ученика есть номер класса, в котором он учится. А у каждого преподавателя есть название дисциплины, которую он преподает. И в классах "Ученик" и "Учитель" добавляются эти свойства.
Таким образом, объект класса "Ученик" содержит Имя и Возраст человека и номер класса ученика. А объект класса "Учитель" содержит Имя и Возраст человека и название преподаваемой дисциплины Учителя. Класс "Человек" является общим для этих двух классов, поэтому, чтобы не дублировать написание одних и тех же свойств (Имя, Возраст) в обеих классах, эти свойства были вынесены в отдельный класс "Человек", и этот класс целиком был включен в классы "Ученик" и "Учитель".
Для того, чтобы "за две недели" вникнуть, что есть ООП нужна хорошая база, а ты, похоже, даже школьный курс ИТ прослушал на минималках, на отвали.
ООП не противопоставляется другим "парадигмам", а добавляет, расширяет их ограниченность ООП не обязательная часть, пихать везде смысла нет, только там, где это объяснимо поставленной задачей
Займись чем нидь попроще
А годочков-то тебе сколько?
Потому что когда я в 15 увидел ООП, то несколько окосел, конечно. А к 20 у меня уже с ним все было хорошо.
Дело же было в том, что изначально у меня сложилось впечатление, что ООП - это просто парадигма программирования. И в этом свете совершенно непонятно, нахрена такие сложности. Как только я понял, что это скорее парадигма моделирования, картинка мгновенно сложилась, и все стало понятно.