your_little_knight
@your_little_knight

Как составить дорожную карту или несколько дорожных карт для новичка в IT на распутье?

Hello, world!
Я - студент второго курса направления, выпускающего учителей физики и информатики(да, и такое бывает).
Мне не представилась возможность сознательного, обдуманного выбора профессии, я просто хотел связать свою жизнь и работу с IT - просто потому, что мне это было всегда интересно.
Мы неплохие физики, но обучение IT в нашей провинции отвратительно, обладает неоправданно разорванными, сумбурными и местами неактуальными программами. Меня никогда не покидало желание знаний намного более глубоких, чем те, что даются нам на парах, и я на правах волонтёра хватался за разные проекты и задачи - написаний кода, администрирований, технических поддержек, обслуживаний и прочего, в чём я мог быстро разобраться.
Начинаю раскрывать сущность вопроса: у меня есть некоторый абсолютно бесполезный стек начальных знаний о разных IT - технологиях. В процессе изучения каждой меня преследовало ощущение, что я всегда начинаю не с начала, с чего-то не того, что у меня пробелы или полные, абсолютные незнания нужных смежных областей. Приведу примеры вопросов, возникавших в моей голове:
  • Изучил синтаксис C# и научился писать консольные приложения .NET Core. В процессе обучения приходилось лезть и править конфигурации, написанные с помощью XML. Что это такое, где про него прочитать, как его хорошо изучить?
  • Столкнулся с ООП в процессе изучения C#. Это не очень сложно, но есть желание узнать в полной мере внутреннее строение некоторых методов, как они вообще создаются и работают?
  • Может, я вообще не с того начал? Может, для полного понимания надо было начать не с объектно-ориентированного языка? Нужны ли C и C++ для постижения дзена?
  • А как вообще работает компилятор? Как условный WriteLine заставляет пиксели на экране складываться в нужную для вывода информацию в C# или как это делает print в Python? Как создаются и работают инструменты языка программирования?
  • Microsoft Learn рассказал мне, что есть и какие-то другие типы программирования - например, функциональный F# и прочие подобные вещи. Зачем они нужны, в какой момент начать их изучение?
  • Люблю Линуксы, страшно нравятся Линуксы. Бесконечно ставлю их, настраиваю их, нахожу мелкие кусочки информации о том, как работает та или иная в операционной системе вещь. А как это всё работает в целом? Как вообще работает операционная система? Узнал, что существуют дистрибутивы, где у тебя есть чуть ли не голое ядро и ты собираешь систему сам под свои нужды. А как работает это самое ядро? Что оно такое? Как начать самому собирать системы, где и как этому научиться? Что скрывается за графическими оболочками?
  • А как работают программы с операционными системами? Почему программы Windows не работают с Linux и какими хитростями линуксоиды все-таки заставляют их работать?

Этот список можно продолжать бесконечно.

Раскрываю сущность вопроса:
Желаю в будущем разбираться: как работают и взаимодействуют железо и операционные системы? Как работают приложения с операционными системами, какими языками и в каком случае пользоваться для создания тех или иных приложений? Как интегрировать свои приложения с различными веб-технологиями и т.д.?
Есть ли в изучении всего этого какой-то маст-хев-супернеобходимый начальный стек, какая-то первая ступенька каких-то знаний - или несколько таких "ступенек" для начинающего разработчика, дорожная карта или несколько дорожных карт, описывающих самое начало обучения любой системной разработке или разработке приложений?


Заранее благодарен каждому за каждый ответ и отдельно за каждый развернутый ответ. Каждая крупинка информации очень и очень важна.
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 3
kgb_zor
@kgb_zor
I need your traceback.
Да, этот "маст-хев-супернеобходимый начальный стек" называется Google. Все вопросы, которые вы привели в пример, решаются гуглом. На просторах гугла также куча дорожных карт, но как по мне - не нужно брать и изучать всё в этой карте, следует определиться чем вы будете заниматься, накидать на бумаге тестовый проект - начать делать его и по мере необходимости изучать нужные технологии.
Ответ написан
@Jacen11
ощущение, что я всегда начинаю не с начала, с чего-то не того, что у меня пробелы или полные, абсолютные незнания нужных смежных областей

добро пожаловать в мир айти, оно будет у вас до пенсии

Что это такое, где про него прочитать

для того чтобы ответить на этот и прочие вопросы и был создан великий гугл

желание узнать в полной мере внутреннее строение некоторых методов, как они вообще создаются и работают

вообще смысл ооп как раз в том, что не нужно знать как работает реализация, вам нужен только результат. Но знание как именно работает метод может быть полезным. Создаются методы так же как и все на свете, есть задача, для ее решения и создается метод. Или вы о чем?

Нужны ли C и C++ для постижения дзена

не особо. Может потом когда нибудь просмотреть их и станет яснее как и почему так работает ваш ЯП

А как вообще работает компилятор?

гугл в помощь. Если кратко, то преобразует ваш код в машинный

другие типы программирования

это называется парадигмы. Целые книги на эту тему есть, вопрос не сюда.

Почему программы Windows не работают с Linux

разные архитектуры, разные интерфейсы (я не про гуи) и тд

Этот список можно продолжать бесконечно.

конечно. Вот поэтому и есть гугл. Почти по всем вашим вопросам есть статьи и книги, вперед читать

маст-хев-супернеобходимый начальный стек, какая-то первая ступенька каких-то знаний

находите вакансию, изучите требования, приходите на собес и получайте там вашу ступеньку
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега IT-образование
software engineer
Столкнулся с ООП в процессе изучения C#. Это не очень сложно, но есть желание узнать в полной мере внутреннее строение некоторых методов, как они вообще создаются и работают?

Методы создаешь ты, ты же программист. Если же ты про методы стандартных классов, то читаешь документацию о методах. Исходники методов вроде бы как доступны.
Но ООП это больше про организацию труда, а классы это уже следствие.

Может, я вообще не с того начал? Может, для полного понимания надо было начать не с объектно-ориентированного языка? Нужны ли C и C++ для постижения дзена?

Базово - можно. Во всяком случае С и С++ сейчас самые близкие к низкоуровневым языкам.

А как вообще работает компилятор? Как условный WriteLine заставляет пиксели на экране складываться в нужную для вывода информацию в C# или как это делает print в Python? Как создаются и работают инструменты языка программирования?

Нужно почитать про ассемблер, архитектуру процессора. Потом про функции биос и ОС.

Microsoft Learn рассказал мне, что есть и какие-то другие типы программирования - например, функциональный F# и прочие подобные вещи. Зачем они нужны, в какой момент начать их изучение?

Можно и не начинать. Есть разные задачи, они решаются разными инструментами. В вашем случае можно пока отложить.

Люблю Линуксы, страшно нравятся Линуксы. Бесконечно ставлю их, настраиваю их, нахожу мелкие кусочки информации о том, как работает та или иная в операционной системе вещь. А как это всё работает в целом? Как вообще работает операционная система? Узнал, что существуют дистрибутивы, где у тебя есть чуть ли не голое ядро и ты собираешь систему сам под свои нужды. А как работает это самое ядро? Что оно такое? Как начать самому собирать системы, где и как этому научиться? Что скрывается за графическими оболочками?

Ядро операционной системы собственно та вещь, которая позволяет тебе запускать программы.
Современные операционные системы
1) почти все многозадачные, позволяют запускать несколько программ одновременно
2) предоставляют интерфейсы для работы с устройствами (через драйвера и функции ОС), чтобы упростить работу разработчикам.

А как работают программы с операционными системами? Почему программы Windows не работают с Linux и какими хитростями линуксоиды все-таки заставляют их работать?

Читай про функции ОС, стандартные библиотеки. Ну и архитектура.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
HighTeam Москва
от 60 000 до 120 000 ₽
Бастион Москва
от 50 000 до 70 000 ₽
До 90 000 ₽
29 нояб. 2020, в 01:43
15000 руб./за проект
29 нояб. 2020, в 01:16
500 руб./за проект
29 нояб. 2020, в 00:50
800 руб./за проект