Всем привет!
Поступил в вуз нна направление, связанное с программированием. Учеба начнется только в сентябре, т.е. есть около 3 месяцев на подготовку
Узнал, что в течении всего обучения будем учится писать на Си (первые 2 курса), потом на плюсах. Но сейчас, пока есть свободное время, имеется дикое желания изучать PHP, т.к. подрабатываю в вебе (верстка, дизайны, адаптации под цмс-ки и т.д.). Но хочется за эти 2 месяца вырости в веб-разработке.
Исходя из этого следует вопрос: то, что я смогу выучить из PHP за эти три месяца, помогут мне как-нибудь в дальнейшем с изучением Си и плюсов? Или языки координально разные?
Например, слышал что си это процедурный язык, и в пхп есть возможность ООП. И если я познаю все эти принципы ООП, не будут ли они мне потом не давать нормально позвать принципы языка Си?
Все ЯП похожи в том или ином смысле. Спокойно учите то, что вам интересно и приносит новые знания. В ВУЗе скорее всего большую часть времени вы будете тратить впустую и реальных знаний о решении реальных задач вам там вряд ли дадут. А те знания, что дадут — устареют раньше, чем вы закончите учебу и будут неактуальны. Если программирование и разработка ПО вам интересны — фрилансите спокойно, решайте реальные задачи прежде всего, набирайте опыт и проекты в резюме, а ВУЗе просто отмечайтесь для галочки. Знания разных ЯП только помогают.
В вузе, за весь курс языка, именно самому языку вас научат на таком уровне, который вы можете получить за 1-2 недели чтения справочника/руководства/доки. Вот алгоритмам, сверх этого, да, научат, но их суть в разных языках одна.
Сам язык - это верхний слой практической разработки. В последнем основную роль будет играть не сам язык, а то что его окружает, инструменты, библиотеки, фреймворки, методологии.
В вузе большую часть времени вам будут рассказывать за какую часть молотка надо держаться, а какой ударять по шляпкам кем то заботливо выставленных гвоздей. Хотя это лишь рутинные мелочи в процессе проектирования и изготовления изделия.
Так что вообще не парьтесь по поводы программы обучения вуза и приготовьтесь получать знания самостоятельно.
Похожесть или не похожесть - понятие очень субъективное, кто-то скажет, что почти одно и то же, кто-то что принципиально разные. Но это лишь особенности личного восприятия.
В целом же - любая практика в программировании будет способствовать твоему развитию.
Например, слышал что си это процедурный язык, и в пхп есть возможность ООП. И если я познаю все эти принципы ООП, не будут ли они мне потом не давать нормально позвать принципы языка Си?
За 3 месяца ты вряд ли так проникнишься ООП, что процедурный код начнет казаться уродским.
На это потребуется больше 3х лет.
Максим Федоров, опять же субъективно. Возможно тот код, который ты считаешь тру-оопшым, я сочту процедурным.
Ни один из моих джунов за 1 год ОБУЧЕНИЯ так и не смог понять ООП, и когда логика чуть отходит от привычных шаблонов - тут же скатываются в процедурщину.
Максим Федоров, у меня тоже не было учителей, и на усвоение объектное парадигмы мне потребовалось 7 лет. Пример я привел для того, чтоб показать, что даже при наличии таковых года было не достаточно.
Может, конечно, учитель из меня хреновый, но думаю это всяко лучше, чем собирать информацию по крупицам самому.
Первый видос длится час, может как-нибудь потом посмотрю. Второй видел, и да, мужик дело говорит, но проблема протекания application layer в domain model действительно есть, решать это красиво я сам пока не умею, приходится идти на компромиссы в зависимости от используемых в проекте инструментов.
ну ок, на этом и порешаем -- года не достаточно и 3 месяцев тем более
мужик дело говорит, но проблема протекания application layer в domain model действительно есть
Ну мужик говорит, что все это обернуть нужно в 50 декораторов и получить супер-пупер объект :):):) а всякие слои -- для слабаков :)
Например он уничтожает всю идею датамапера в Гибернейт (аналог в PHP -- Doctrine 2) и идею MVC ( и ее производные с сервисными слоями и прочим)
Ну нет же) Идея дата-мапинга вовсе не в том чтоб в сервисе насетить даннных в сущность.
В ActiveRecord первична БД, а объекты лишь отражают её структуру.
В DataMapper ничто не первично. Структура хранилища и классы существуют и развиваются независимо друг от друга, а для обеспечения персистентности данных делался мапинг, то есть проставлялись соответствия полей классов в полям хранилища. Изначально для этого писались конфиги в xml и модель была более чистой. Именно отделение реализации маппинга (по сути описательного конфига) от реализации класса и есть главная идея дата мапера, а вовсе не то, запускать процесс отправки данных в хранилище будет кто-то внешний. Потом, из соображений практичности, стали применять аннотации, намертво привязав модели к реализации конкретного хранилища и частично убив идею маппинга.
Знание C всяко не будет бесполезным - знать как происходит ручная работа с памятью, файлами и прочие низкоуровневые штуки полезно любому программисту я считаю.