TGTGInsightаналитика telegramLIVE / telegram public index
К списку каналов
Программирование для гуманитариев avatar

TGINSIGHT CHAT

Программирование для гуманитариев

@it_human

Карьера

Личный опыт того, как скипнуть в IT с гуманитарным образованием. Что для этого делать, чего стоит бояться (спойлер: ничего!) и чего ожидать. Рассею мифы о программировании и мире IT. Бот для вопросов об IT: @hum_it_bot

Подписчики6,480Текущее число подписчиков
Постов646Проиндексировано постов
Охват48,370Просмотры последних постов
Последние посты

Последние посты

Стр. 46 из 54 · 646 постов

Опубликован 22 июн.

#вашивопросы Я прошел курс по питону на курсере, сейчас прохожу чуть более сложный курс по питону на степике. В целом нравится, но чувствую, что ООП даётся сложно. Вопрос - если больше всего меня интересует data science, в частности NLP, насколько важно разбираться в ООП? Или достаточно знать какой-то минимум по питону, и дальше прокачиваться в математике/статистике/конкретных библиотеках? Большинство дата-саентистов, которых я встречала, не очень сильны в программировании и написании софта. И код у них часто довольно примитивный - по сути, многие используют язык программирования в качестве умного калькулятора. Это говорит как минимум о том, что не обязательно быть прям гуру программирования для работы в сфере Data Science. С другой стороны, я бы не советовала свято следовать примеру таких специалистов и совсем забить болт на написание кода. На счет проблем с ООП не совсем понимаю, в чем именно состоит проблема. Если вы не понимаете, что такое классы и объекты в питоне - то в этом нужно разобраться. Во-первых, в них нет ничего сложного, так что бояться их не нужно. Во-вторых, как дата-саентист вы будете работать со сторонними библиотеками и модулями, и там встретите классы, и придется с ними что-то делать. Если же вы не понимаете концептуально принципы ООП - инкапсуляцию, полиморфизм, абстракцию и наследование - то почитайте про них в Интернете, чтобы понимать на уровне ликбеза. А сильно глбоких знаний от вас требовать, скорее всего, никто не станет. Привет! начала изучать программирование (питон) сначала самостоятельно и хаотично по книжкам, а сейчас купила основательный такой интенсивный курс. и столкнулась с тем, что изучение даётся мне очень тяжело. простые примеры – пожалуйста, но стоит взять чуть более сложную задачку и я чувствую потерянность, не понимаю, как ее сделать, мозг открещивается от "въезжания" в какие-то конструкции. понимаю, что я должна сделать, но не могу разложить в голове по полочкам алгоритм, как и что взять, как преобразовать. мой куратор на курсе говорит, что это нормально, но я ощущаю себя валенком, когда неделю не могу сделать задание. у меня неспособность к программированию или нужно больше времени? или более простые задачи и я ошиблась с курсом? Думаю, ваша проблема связана с тем, что изначально вы привыкли к более легкому материалу, а сейчас уровень сложности повысился, и это может вызывать некую панику. Хорошая новость - в IT всё обычно раскладывается на простые, доступные для понимания компоненты. Поэтому если что-то не даётся сразу, попробуйте остановиться на непонятном моменте подольше, разложить его по полочкам, не спешить. Можно выявить непонятные моменты и попросить кого-то, кто шарит, объяснить их (можете написать мне, только я медленно разгребаю вопросы, так как их много). Что касается переключения на более простые задачи - то это палка о двух концах. Возможно, на нынешнем этапе вам это нужно (я же не знаю вашего уровня и сложности курса, который вы проходите). Но с другой стороны - растем и прогрессируем мы именно на сложных задачах - не таких сложных, которые кажутся нам прямо неподъемными, но умеренно сложных, которые без некоторого усилия и раздумий не решить. Бот для ваших вопросов: @hum_it_bot

4,360 views

Опубликован 19 июн.

#вашивопросы Здравствуйте, на подскажите что изучать чтобы писать игры и приложения? Первое, что приходит мне на ум по поводу игр - это платформа Unity, в ней используется язык C#. Для своих первых проектов я бы рекомендовала её, чтобы со старта не уходить в дебри, например, iOs или андроид-разработки. Есть еще игровая платформа Unreal Engine, которая умеет в 3D, есть CryEngine. Поэкспериментируйте и с ними. А все остальное зависит от того, на чем вы хотите запускать игру: - Для айфонов и макбуков используют язык Swift. - Игры в браузере - на JavaScript, как и все, что в браузере. А серверная часть - на обычных для бэкенда языках, например, PHP, Python, что угодно еще. - Андроид - это Java и собственно SDK для андроид-разработки. Большие и сложные игры пишут на C/C++, как и всё большое и сложное. А что касается «писать приложения» - тут я ваш вопрос не совсем поняла, для меня понятие «приложение» - это примерно то же самое, что «программа». Пишут их на любых языках программирования - выберите себе один (или сразу несколько) из популярных языков и вперед. Здравствуйте! Начинаю входить в IT с нуля, опыта в общем ноль. Пока служил смотрел много видео, о том как и с чего начать, решил освоить самое легкое - web development. Но при этом знаю что для максимального результата в познании всегда нужен английский, поэтому решил сразу начать с видеокурса на ютубе американского парня Web Dev Simplified (html, css etc. Нашел его случайно), сложность состоит в том, что процесс затягивается из-за плохого понимания речи на слух. Нужно Ваше мнение о том, правильно ли я начал? Если вы пытаетесь одним выстрелом убить сразу двух зайцев - то есть, с помощью одного и того же видеокурса изучать и английский, и программирование с нуля - вы перегружаете мозг. В один момент времени лучше фокусируйтесь на одной задаче - либо изучайте программирование, либо английский язык. А пока все английское вам трудно для понимания - используйте русскоязычные ресурсы или включайте субтитры к видео. Может быть, когда вы освоите азы программирования, материал в таких видеолекциях станет знакомым и простым, тогда будет полезно смотреть их уже на английском, чтобы обучить себя техническому английскому. А тут получается, что и материал незнакомый и язык малопонятный - вы так усложняете себе задачу. Бот для ваших вопросов: @hum_it_bot

3,700 views

Опубликован 18 июн.

#вашивопросы Сегодня у нас набор нестандартных вопросов (или даже утверждений). Есть такая штука дизайн человека и там есть такие центры ка теменной и Аджина. У меня много знакомых программистов и среди них есть те кто учился на них но не стал. Так вот те у кого аджина определена обычно программы пишут легко а вот с неопределенной не очень. Это если упрощенно а там всё достаточно сложно 😂 Извините, эзотерикой я не увлекаюсь, верю в научный метод, рациональное мышление и доказательную медицину. А в то, что успех в программировании как-то определяется кармой, знаком зодиака, расположением планет, линиями на ладони, внутренними органам убитых птиц, торсионными полями или биоритмами, я не верю. Сварить борщ это программа или алгоритм? Чем алгоритм отличается от программы? «Сварить борщ» - это задача/цель. Борщ - это конечный продукт. Алгоритм - это описание, каким образом сварить борщ, последовательность действий. Разные рецепты борща - это разные алгоритмы. В качестве программы можно рассматривать робота, который варит борщ, используя какой-то алгоритм (рецепт). Везде учат что все одинаковые, в том числе и у тебя что каждый может стать программистом. В реальности мы все разные, очень разные. […] Есть ещё такая вещь как обуславливание, и для меня это в отличие от большинства окружающих определяющая черта. Так вот в принципе и лошадь можно заставить танцевать но будет ли это корректно? Будет ли лошадь счастлива? И самое важное не сдохнет ли в 3 раза быстрее? Хотя не лучше балерину пахать заставить 😂 тут и без фантазии понятно что с ней будет Я не учу тому, что все люди одинаковые, или что все должны идти в IT - это ваша интерпретация. У всех людей разные предпочтения и склонности. Не каждого человека вообще заинтересует программирование, и не у всех появится желание в него углубляться. Мой канал про то, что менять профессию можно и с непрофильным образованием и в разном возрасте. «Гуманитарий» или «технарь» - это не касты, как в Индии. Полученное образование не должно определять полностью судьбу и дальнейший профессиональный путь человека. Всегда можно поменять направление, научиться чему-то новому и полностью сменить сферу деятельности - но только в том случае, если есть желание. И ещё я думаю что б начать программировать надо именно начать писать программы а не просто изучать что то. Но писать программы без умения составлять блок схемы даже не знаю как... Меня просто в школе вначале научили делать словесное описание потом блоксхему а потом уже программы на чём угодно... Хотя конечно же я сразу пишу код потому как это личные поделки. Но как правильно знать считаю важно. Да, нельзя научиться делать что-то, не делая этого (капитан Очевидность). На счет блоксхем (для тех, кто не в теме - это рисунки с квадратиками и стрелочками - посмотрите в гугл-картинках) - лично я ими не пользуюсь. Соглашусь, что перед тем как писать код, полезно сначала продумать, как будет работать программа. Например, есть такие подходы как - 1) сначала написать псевдокод, а потом сам код. 2) Сначала написать комментарии с описанием, как код будет работать, а потом уже сам код под ним 3) Сначала написать тесты к коду, а потом уже сам код. Идея в том, что сначала идет проектирование и продумывание, а потом уже сам код, чтобы по 100 раз потом не переделывать весь код заново. Когда я продумываю архитектуру будущей программы или, например, проектирую базу данных, то рисую для себя на бумаге, как это всё будет выглядеть, пробую разные варианты. Всё это - инструменты мышления и проектирования, выбирать нужно тот, который лучше работает для вас. И да, когда речь идет о совсем маленьких одноразовых программках или скриптах - на проектирование все часто забивают и сразу пишут код. Это примерно как со строительством - когда строишь дом, нужен план-чертеж будущего здания. Когда делаешь шалаш - скорее всего, сразу начнешь делать его как попало из подручных средств. И в зависимости от ситуации и цели оба подхода имеют право на существование. Бот для ваших вопросов: @hum_it_bot

3,490 views

Опубликован 18 июн.

Добрый день. Очень часто на всяких вебинарах и интенсивах ведущие говорят, что сначала надо бросаться в бой и писать код, а потом уже изучать основы. Мол, повторяйте за нами, просто подключайте вот эти библиотеки, берите функцию/метод из документации без понимания, как оно работает, осознание придёт потом. А оно не приходит. За ними-то я повторила, посмотрела, что оно работает, но вот домашнее задание - чуть что-то там надо переделать, взять какие-то другие методы. Ты их берёшь так же бездумно, а они не работают, то параметры такие не поддерживаются, то сам метод для этой задачи не подходит, потому что нет толком понимания, что ты делаешь и зачем. Так вот, прокомментируйте пожалуйста, на ваш взгляд надо всё-таки начинать с основ языка и "Hello, world", или вот так на конкретном примере продолжать грызть кактус, пока не дойдёт? Тут есть две крайности. Одна из них - это много лет углубленно изучать фундаментальные основы Computer Science и долго-долго не переходить к решению практических задач. Это не такой плохой путь, его минус в том, что он медленный и еще в том, что человек может бесконечно откладывать момент перехода к практике, потому что он еще «не готов». Вторая крайность - то, что вы описали - «пофиг, прорвёмся». Да, программированию чаще всего учатся на практике в процессе решения реальных задач, «догугливая» информацию там, где ее не хватает. Но так, как вы описываете быть не должно: «без понимания, как оно работает», «повторить, чуть-чуть переделать», «бездумно», «нет понимания, что и зачем». Почему так получается с конкретными преподавателями или спикерами? Они, скорее всего, не могут поставить себя на ваше место и понять степень вашего непонимания. Опытный разработчик может взять новый незнакомый ему язык и сразу начать писать на нём код, лишь периодически заглядывая в документацию или гугл - может быть, у него получится не очень хороший код, но это уже другой вопрос. Опытным многое понятно интуитивно и по аналогии с тем, что они уже делали раньше. А у новичка такой базы нет, поэтому он в аналогичной ситуации может чувствовать себя беспомощно как слепой котёнок. Отвечая на ваш вопрос - начните с основ языка. Как только возникает ощущение, что ничего не понятно - делаем паузу, замедляем темп и начинаем разбираться. Разработчик всегда должен докопаться до причин происходящего. Ничего не должно происходить непонятно как, как будто по волшебству, программирование - это не магия. Если код не работает - надо разобраться, почему он не работает, а не просто попробовать его переделать («а может, если эти строчки местами поменяю - будет ОК?»). Если он сначала не работал, а потом заработал - надо разобраться, почему он не работал раньше, и почему работает теперь. Что изменилось, и на что это повлияло. Если нет понимания, почему для решения используется какой-то конкретный метод, а не другой - надо искать причину. Все ответы есть в гугле, но их надо искать. «Само» пониманием в какой-то степени с опытом тоже приходит, но если всегда скакать по верхам и ни во что не вникать, то оно магическим образом не возникнет. Бот для ваших вопросов: @hum_it_bot

3,780 views

Опубликован 16 июн.

#вашивопросы Добрый день! Прошу поделиться своим мнением. Я работаю экономистом, а сейчас начинаю хотеть уйти в аналитики. У меня математическое образование, я всегда легко разбираюсь в программах, которые мне были нужны ( понятно, что Эксель, 1с и прочая финансовая лабуда). Но #1. У меня средние способности. Я училась в физмат, и очень хорошо понимаю, что такое именно способности. У меня же усидчивость. Но #2. Меня прямо стопорит тот факт, что мне 35 лет. Мне кажется, что я уже прямо одной ногой в пенсии, и никто никуда меня не возьмёт на работу( поделитесь, пожалуйста, просто своим мнением, очень хочется со стороны взгляда. Что касается способностей - большинство разработчиков далеко не гении и ничего сверхъестественно сложного не делают. А вот усидчивость - это именно то, что нужно. А аналитикам (насколько я могу судить) не нужна настолько же серьезная техническая база, как разработчикам - обычно их знания ограничиваются экселем и SQL (если вы, конечно, не в Data Science метите). А про возраст все спрашивают так часто, что, видимо, это прямо больная тема у многих. То, что вам 35 лет не значит, что уже пора выбирать место на кладбище. Возраст вполне молодой и активный. Но чтобы поменять профессию, нужно хорошо прокачать скиллы, так, чтобы выглядеть выигрышно на фоне 19-20 летних новичков (а они часто раздолбаи), которые «метят» в ту же специальность. Тут как раз и пригодится ваша усидчивость. У меня жена гуманитарий, несколько месяцев назад начала самостоятельно изучать Python на бесплатном курсе Coursera. Очень радуюсь за нее, хочется поддержать, мотивировать. Как лучше это сделать, чтобы не оказывать давления, и не лезть со своими непрошеными советами? Я работаю в ИТ, но не разработчик. Хвалите ее за старания. Верьте в неё и в её успех. Если у нее будет что-то не получаться и она начнет сомневаться в себе и терять мотивацию - убеждайте, что она молодец, и у нее все получится, и ничего страшного, что не с первого (и не со второго) раза. Люди часто бросают начатое из-за неуверенности в себе и пессимизма. Еще можно дарить ей книги и подписки на платные курсы. Добрый день! Учусь сейчас на курсах фронтенда, обещают дать немного знаний по бэкэнду, чтобы мы понимали как работают сервера и т.д. Как бы вы оценили актуальность языка Javascript ? Нужно ли фронтенд разработчику учить какой-то из бэкэнд языков? (Я имею в виду, пригождаются ли они на практике). На Javascript пишут весь фронт, да, он безусловно актуален. А что касается изучения бэкенда - я за, хотя бы что-то простое вроде питона изучите. От разработчиков часто ждут, чтобы они были «и чтец, и жнец, и на гитаре игрец», а не «чистые» фронтендеры или бэкендеры. Почти 100% - хоть в каких-то ситуациях знания о бэке вам пригодятся. К тому же фронт взаимодействует с бэком, и полезно знать, что происходит по ту сторону браузера, чтобы, например, не сделать такой фронт, который за DDoS-ит бэк своими запросами. Бот для ваших вопросов: @hum_it_bot

3,680 views

Опубликован 15 июн.

Одна из «плюшек» работы в IT - это множество полезных и интересных мероприятий, которые можно посетить: митапы, конференции, хакатоны и так далее. И (сюрприз!) многие работодатели оплачивают для своих сотрудников посещение платных конференций. Некоторые из них длятся по 2-4 рабочих дня - ходишь, слушаешь доклады (или сам выступаешь), общаешься с людьми, ешь-пьешь на кофе-брейках и еще и зарплату за это получаешь… Кто-то оттуда приносит наклейки и разный мерч, который там можно выиграть в конкурсах или просто получить в подарок. Но основная польза конференций, конечно, не в кофе-брейках и не блокнотах с айти-тематикой. На конференциях по IT-технологиям можно узнать, какие технологии и как именно применяют большие и крутые компании - особенно это полезно, если работаешь в маленьком стартапе или не очень современной компании. Узнать, с какими сложностями в разработке сталкивались докладчики, и как они их преодолели. Услышать ответы на свои вопросы, возникающие в ходе работы: например, как решить постоянно повторяющуюся проблему с базой данных или как лучше организовать хранение логов. Можно спросить у крутого докладчика из какого-нибудь Гугла, как бы он решил вашу проблему. Можно просто слушать и вдохновляться тем, как круто ребята организовали рабочие процессы. А потом использовать полученные идеи и знания в своей работе. И не стоит бояться того, что будет непонятно - это естественно, если тема малознакомая, но с каждым разом будет всё легче. А еще на конференциях можно приобрести ценные контакты, найти новых перспективных партнеров для своей компании или даже встретить нового работодателя.

3,980 views

Опубликован 14 июн.

#вашивопросы Приветствую. Сейчас параллельно прохожу два простеньких курса по JS и С#. У нас на работе эти две технологии используются, и я бы хотела постепенно участвовать в разработке. С каких тасков можно начать или надо прям продвинутой разбираться, что бы тебя допустили писать целые компоненты? Вы имеете в виду, с каких учебных задач начать? Или с каких задач на работе? Если речь про учебу, то обратите внимание на учебные курсы-практику, где обучение построено вокруг разработки какого-то небольшого, но полноценного проекта - например, игры. А что касается, с каких тасков начать работу - этим нужно озаботить своего руководителя или коллег. Рассказать им, что изучаете языки и хотели бы использовать их в работе - пусть придумают что-нибудь. Для начала это могут быть какие-то несложные скрипты для обработки текстовых файлов, или логов, или что-то подобное - зависит от специфики работы. Привет! Возник вопрос с требованиями в вакансиях. Что значит, например, знание html/css? Что я могу сверстать страницу с нуля без заглядывание в справочники? Какой сложности эта страница? Или например что значит знание JS? Базовые знания или уже более глубокое? Просто эти требования практически к каждой вакансии, но непонятно какой уровень требуется. Я сейчас имею в виду конечно Junior вакансии. Вакансии составляют люди, а у каждого человека в голове разное. Нельзя знать заранее, насколько строги реальные требования для каждой отдельно взятой вакансии. Даже в рамках одной и той же компании требования отличаются. Как отбирать кандидатов, решает непосредственно человек, который будет вас собеседовать (то есть ваш потенциальный руководитель или коллега). Кому-то достаточно базовых знаний и основ (особенно если вакансия джуниорская). А кто-то более щепетилен и будет придираться и спрашивать мельчайшие детали на собеседовании. Возможно, одному собеседующему вы не подойдете, но вам предложат место в другой команде, где требования у руководителя более мягкие. Чтобы понять, чего хотят в конкретной компании и команде, нужно сходить на собеседовании и задать этот вопрос напрямую - «Насколько глубокие знания html/css требуются, чтобы работать в вашей компании? На каком конкретно уровне я должен ими владеть? Какие типичные задачи мне предстоит решать?». Это совершенно нормальные вопросы, и задавать их нужно по адресу. А попытка угадать требования по двум строчкам в вакансии - это гадание по кофейной гуще. Бот для ваших вопросов: @hum_it_bot

3,870 views

Опубликован 10 июн.

#вашивопросы Елена, добрый день! Хотела поинтересоваться, насколько сейчас актуально изучать языки программирования низкого уровня, интересны ассемблеры, но есть ли смысл в это погружаться, тем более с 0, так как от программирования и IT в общем, очень далека С одной стороны, низкоуровневые вещи актуальны всегда, потому что сколько уровней абстракции мы бы ни придумывали, а все равно в конечном итоге всё работает на железе и микропроцессорах, и на одних высокоуровневых технологиях индустрия далеко не уедет. Кто-то должен разрабатывать драйвера, компиляторы, операционные системы и работать с микросхемами. Еще ассемблеры актуальны для специалистов по реверс-инжинирингу (например, тех, кто анализируют компьютерные вирусы). Если погуглить вакансии с ассемблерами, то, как правило, вместе с ним там требуются знания C и C++ - так что логично изучить и эти языки. (Формально они не являются низкоуровневыми, но их иногда условно относят к таковым, потому что, к примеру, в отличие от всяких питонов, они имеют прямой доступ к памяти и в них меньше синтаксического сахара.) Вероятно, в зависимости от направления, нужно будет разобраться с чем-то еще: с тем же реверс-инжинирингом или даже электроникой. В общем, это далеко не самый легкий путь. Но главное ведь - интерес. С C/C++ и ассемблерами у вас будет очень сильная база, таких специалистов сейчас еще поискать надо. А выучить что-то из более высокоуровневых языков и переключиться на них, если понадобится, будет совсем легко. С другой стороны, вакансий с высокоуровневыми языками и более простыми технологиями - пруд пруди, в отличие от вакансий с ассемблерами. А изучить высокоуровневые языки, и, например, веб-разработку - гораздо проще. Бот для ваших вопросов: @hum_it_bot

5,010 views

Опубликован 8 июн.

#вашивопросы Какой софт использовать для написания программ? Чтобы писать код, подойдёт любой текстовой редактор. То есть гипотетически, его можно было бы писать, например, в стандартном блокноте от windows. Но это неудобно, так как блокнот не умеет делать разные удобные штуки - например, подсвечивать синтаксис в коде разными цветами, автоматически проставлять отступы или находить плохой стиль в коде и даже баги и ошибки. Всё это умеют делать более умные тестовые редакторы, созданные специально для удобного написания кода. Выбрать можно любой, какой понравится (гугл в помощь). Я, например, пользуюсь Atom. Некоторые любители хардкора предпочитают использовать старые добрые консольные редакторы, например, vim. Vim - это как линукс - он очень мощный и много чего умеет, но для этого нужно заморочиться и разобраться с кучей разных настроек. А чтобы научиться работать с vim, в нем даже есть встроенный учебный курс (занимает полчаса). Для общего развития научитесь хотя бы трем вещам в vim - как закрыть файл, как его сохранить и как вставить текст (В гугле очень частый запрос - «как закрыть vim»). Однажды настанет день, когда вам придется редактировать файл удаленно на сервере, и там не будет никаких удобных текстовых редакторов с окошками и кнопочками, а только vim или его прадед vi. И тогда вам очень пригодятся эти знания. Также для разработки кода часто используются IDE - это софт, объединяющий в себе и текстовой редактор, и встроенную консоль для запуска кода, и компиляторы, и дебаггеры и много еще разного. Какой IDE выбрать вам - в большей степени зависит от языка и того, что вы собираетесь разрабатывать. Например, в среде .Net используют Visual Studio, для питона популярен PyCharm, для Java есть eclipse и еще куча разных других. Лично я не использую IDE, но это дело вкуса и, может быть, привычки. Бот для ваших вопросов: @hum_it_bot

4,140 views

Опубликован 3 июн.

На картинке изображен кусочек кода на Java. Всё это происходит внутри тела класса Cat (этого не видно на скриншоте, но это очевидно). То есть, код, который нас интересует на самом деле выглядит так: class Cat{ private String name; //весь остальной код } name - это атрибут класса. Создав объект Cat, мы можем придумать коту имя и сохранить его в аттрибуте name. Начнем с того, что у каждой переменной в любом языке программирования есть своя область видимости. Это значит, что переменная известна и доступна не в любом месте в коде, а только в строго определенных местах. Например, вот эта name известа и доступна всем (не статическим) методам внутри класса Cat и недоступна в коде за пределами этого класса. Этим пользуется метод getName - он внутри класса Cat, ему «видна» переменная name, и он её использует: class Cat { private String name; public String GetName(){ return name; } } При этом в любом месте кода можно объявить другую переменную с таким же именем, и в рамках своей области видимости она перекроет уже используемую ранее переменную name. Например, изменим метод вот так: public String GetName(){ String name = "ololo"; return name; } Тут мы объявляем локальную переменную name. Эта переменная будет видна только внутри метода GetName(). И она перекрывает ту другую переменную, которая объявлена на уровне класса. И таким образом GetName всегда вернёт «ololo» вместо имени кота: Cat mycat = new Cat(); mycat.SetName("Barsik"); System.out.println(mycat.GetName()); output:ololo Но несмотря на то, что тут объявлена новая переменная с именем name, атрибут класса всё же можно прочитать, для этого в коде придется явно пояснить, что нам нужна не локальная переменная name, а именно аттрибут класса Cat, для этого и используется ключевое слово this: public String GetName(){ String name = "ololo"; return this.name; } И тогда код выше вернет «Barsik», а не «ololo» Нечто похожее происходит и в примере со скриншота. Там у метода SetName(String name) есть аргумент, который называется так же, как атрибут класса - name. И поэтому внутри пространства имен метода SetName, это «name» перекрывает аттрибут класса. Метод можно было бы написать по-другому, без одинаковых имен: public void SetName(String newname){ name = newname; } Но в примере на скриншоте name как аргумент метода и как атрибут класса совпадают, и в коде приходится явно указывать, где нам нужен атрибут класса (this.name), а где аргумент метода (просто name). Кому вопрос актуален - напишите в бота, если остались вопросы.

4,620 views

Опубликован 3 июн.

#вашивопросы На картинке мой персональный разрыв мозга — эти name оказывается не одно и то же! Ответ будет в следующем посте.

3,610 views

Опубликован 3 июн.

#вашивопросы Привет. При входе в мир ИТ часто слышишь подобное "не важно какой у тебя возраст, главное чтобы был интерес", "в ИТ возраст ничего не решает", но камон мы же люди в здравом уме и прекрасно понимаем что скорее всего высказывания выше это просто попытка себя утешить или что-то в этом роде (ну по крайней мере я так думаю), поэтому хотел узнать что по этому поводу думаете вы? Можно ли стать крутым, востребованным программистом, участвовать в крутых проектах в качестве кодера, а не проект менеджера или тестировщика будучи уже чуваком за 40+? Я думаю, что людям с возрастом в целом сложнее что-либо менять в своей жизни, тем более радикально. И причины тому разные - в том числе и некая усталость, и психологические затыки, и воспитание (в постсоветском обществе все еще привычно 1 раз в жизни получить образование и работать если и не по специальности, то где-то в смежных областях). Все эти тектонические плиты не всем легко сдвинуть. К тому же учиться в юном возрасте проще, чем в более зрелом. Тем не менее, я считаю, что стать крутым специалистом можно не только молодым, если человек действительно загорелся и мотивирован. Взрослые вообще часто начинают что-то делать и не доводят до конца. В студенческие годы я подрабатывала репетитором по иностранным языкам - и, знаете, когда среди клиентов попадались взрослые люди, лет 30-ти - я знала, что это затея максимум на 2 месяца. Потому что на первой неделе они такие «да, я сейчас выучу английский! ура, у меня получается!». А где-то с третьей начинают игнорироваь домашнее задание, переносить занятия, потому что «понедельник, я устал, день сложный, времени мало, завтра в командировку, кошка рожает, трубы текут». И постепенно пропадают из вида. И проблема тут вовсе не в способностях к иностранным языкам - с ними всё может быть и ОК. Думаю, с обучением программированию может происходить что-то похожее - в начале «да, я сейчас всё выучу и уеду в силиконовую долину», а потом «я старый больной человек у меня дети, нихачуу». Разумеется, так бывает не со всеми. Тут нужно в первую очередь умение учиться и умение «дожать» свои навыки до конкурентоспособного уровня, не отвалившись на середине. А учиться готовы не все. Бот для ваших вопросов: @hum_it_bot

4,130 views
12•••5•••10•••15•••20•••25•••30•••35•••40•••4445464748•••50•••5354