«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Хотите стать инженером-программистом? Сложность обучения сверху вниз.

Хотите стать инженером-программистом? Сложность обучения сверху вниз.

Опубликовано 6 августа 2024 г.
Просматривать:811

Want to be a software engineer? The difficulty of top down learning.

С самого детства я всегда был чрезвычайно любопытным человеком, которому нравилось понимать и решать проблемы. Впервые я познакомился с программированием в старшей школе и быстро увлекся им по понятным причинам.

В старшей школе первыми языками и инструментами, которые я использовал, были такие вещи, как Turing, Processing, GreenFoot и BlueJ. Все они были инструментами обучения, и, за исключением Тьюринга, представляли собой абстракции Java с основным упором на графическое программирование. Эти инструменты позволили мне очень быстро сделать несколько интересных вещей. Именно этот ранний опыт и вдохновил меня на интерес.

Оттуда я хочу поступить в местный колледж, чтобы изучать веб-разработку. Здесь я начал изучать такие вещи, как HTML, CSS, JavaScript. Позже перейдем к таким вещам, как PHP, Ruby, ASP.NET, Angular и многим другим смежным навыкам, выходящим за рамки чистой разработки. Это был замечательный курс, который дал мне все навыки, необходимые для того, чтобы стать высокоэффективным веб-разработчиком.

К концу учебы в колледже у меня было довольно хорошее понимание веб-разработки в целом. Я, конечно, не знал всего, но я был в той точке, когда для меня ничто не было загадкой. Отсюда мое естественное любопытство заставило меня нырнуть глубже. Провели меня в кроличью нору операционных систем, разработки системного уровня и встроенных систем. Как вы понимаете, первым шагом было изучение C.

Изучение C оказалось гораздо сложнее, чем я ожидал. Концепция стека и кучи памяти, а также указателей была чрезвычайно запутанной. Особенно из языков более высокого уровня со сборщиками мусора. Мне быстро стало очевидно не то, что C просто сложнее, на самом деле язык был довольно простым, а то, что мне приходилось постоянно отучиваться от всех плохих привычек и неправильных предположений, которые я сделал за последние несколько лет, изучая языки более высокого уровня!

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

Я был крайне расстроен тем, что сделал все эти ложные предположения при изучении языков несистемного уровня. Кроме того, процесс изучения C занял в три раза больше времени, чем следовало бы.

Я не ценил абстракции, которые использовал!

Не поймите меня неправильно, есть много людей, которые могут всю карьеру сосредоточиться только на разработке приложений или выполнении базовых сценариев Python. Однако, если вы хотите по-настоящему быть инженером-программистом и понимать эту область в целом, от встроенных систем до операционных систем и приложений, разработанных для этих операционных систем, очень выгодно опираться снизу вверх.

Я советую всем, кто действительно хочет стать инженером-программистом, начать с C. Поймите разницу между стеком и кучей, а также указателями. Побалуйтесь сборкой, даже если это просто анализ сборки, которую создают ваши небольшие приложения на языке C. Если вы поймете эти вещи фундаментально, все остальное будет намного проще!

Хотелось бы, чтобы я начал именно так. опирайтесь на мои ошибки!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/prismlabsdev/want-to-be-a-software-engineer-the-difficulty-of-top-down-learning-f9p?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .comdelete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3