×

Несколько вопросов по поводу самообразования

Здравствуйте. Мне 17 лет, только закончил в школу. В этом году поступаю на подготовительный курс при университете в Польше. В будущем планирую учиться на специальности «Прикладная информатика», как ее назвали поляки, но по большей части она клонит на обычную специальность «Информатика». На подготовительном курсе меня ждет изучение C. На данный момент я знаю язык программирования C++ приблизительно на уровне пособия Шильдта «С++ Шаг за шагом», а именно от основ программирования до работы с потоками и файлами. Так же, я прочитал «Информатика: Базовый курс» под редакцией Симоновича, так что фундамент Информатики у меня тоже в голове заложен. Туда же еще можно добавить книгу Адитьи Бхаргавы «Грокаем алгоритмы» (Пособие по структурам данных и алгоритмам для начинающих). Собственно, вот мои вопросы:

1. Стоит ли мне углубляться в C++ или начать изучение нового языка, например C# или Java? Или, может, и то, и то? В целом, ориентируюсь на Software Engineer’a.
2. Если и стоит начать учить новый, то C# или Java? Какое пособие/учебник лучше купить для изучение каждого из этих языков программирования? В C# и Java я — ноль, но в азах программирования в общем я более чем хорошо разбираюсь.
3. Стоит ли мне почитать еще про структуры данных и алгоритмы или «Грокаем алгоритмы» с дисциплиной по алгоритмам в ВУЗе будет достаточно?
4. Какую литературу по информатике, не заточенную под конкретные языки программирования, (типо «Чистый код») мне будет полезно почитать?

Заранее спасибо огромное за помощь!

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Английский, польский, студентки, задачки для попадания интерном в FAANG через три года — вот все чем тебе реально стоит интересоваться.

C. На данный момент я знаю язык программирования C++ приблизительно на уровне пособия Шильдта «С++ Шаг за шагом»

Т.е. не знаешь. Извини за прямоту.

1. Стоит ли мне углубляться в C++ или начать изучение нового языка, например C# или Java? Или, может, и то, и то? В целом, ориентируюсь на Software Engineer’a.

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

2. Если и стоит начать учить новый, то C# или Java? Какое пособие/учебник лучше купить для изучение каждого из этих языков программирования? В C# и Java я — ноль, но в азах программирования в общем я более чем хорошо разбираюсь.

Если вопрос о языках, то я бы учил Котлин или python.
Котлин — интероп с джавой и приятные фишки многих современных языков, python — пригодится если будет интерес к data science или machine learning

Вообще же стоит учиться строить системы. Там уже писали ниже про проекты. Посмотри туториалы как с помощью docker compose поднимаются небольшие полные системы (бекенд, фронтэнд), и иди от того, чего тебе не хватает для реализации проекта.

Вот 2 примера, которые мне довольно нравятся.
www.youtube.com/watch?v=Qw9zlE3t8Ko
blog.patricktriest.com/...​rch-docker-elasticsearch

это, с моей точки зрения, гораздо полезнее чем знать для чего нужны
#ifndef GUARD

3. Стоит ли мне почитать еще про структуры данных и алгоритмы или «Грокаем алгоритмы» с дисциплиной по алгоритмам в ВУЗе будет достаточно?

Если оно еще актуально, то пройди курс на каурсере www.coursera.org/learn/algorithms-part1

Книжки — может что-то новое уже вышло, но из старого это Седжвик, Алгоритмы на Java и Скиена Algorithm Design manual

4. Какую литературу по информатике, не заточенную под конкретные языки программирования, (типо «Чистый код») мне будет полезно почитать?

1. Pragmatic Programmer
2. Code Complete
3. Working Effectively with Legacy Code

Книжки стоит читать на английском.

Чистый код я не люблю и вообще считаю Мартина болтуном, но это лично мое мнение.

Займіться практикою. Напишіть якийсь проектик. Подумайте, над чим ви б хотіли після освіти працювати і вчіть вже до цього щось.

Спасибо огромное за подробный ответ. Но как я понимаю, чтобы база просто не валялась в голове, ее нужно реализовывать, в моем случае, хоть на одном языке. Однако моего знания C++ еще не достаточно, чтобы реализовать, например, хэш-функцию или алгоритм Дейхстры. Как я понимаю, помимо базы, нужны бы еще капнуть чуть глубже в C++. Буду очень благодарен, если посоветуете какое-то хорошее пособие для углубленного C++ для человека, освоившим этот язык на уровне «C++ Шаг за шагом» Шильдта.

Ответ «нет» на все 4 вопроса :) Бессистемно тыкаться в разные стороны — это очень так себе идея. Копай вглубь то, что будут давать «по верхам» в универе — пользы будет в 100500 раз больше.

1. 2. Що саме хочеш робити?

3. 4.
The Algorithm Design Manual by Steven S S. Skiena
Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson , Ronald L. Rivest , Clifford Stein

P.S Програми ВНЗ ніколи не буде достатньо.

Пока ориентируюсь на разработку ПО, а на что именно — не знаю. Я просмотрел план образования ВУЗа: как мне показалось, он мне даст достаточную базу для разработки ПО, как и на телефон, так и на Windows. Даже Web Developing захватился

Якщо не знаєш — шукай себе, пробуй різні сфери. А там[якщо] щось сподобається, тоді копай глибше.

Підписатись на коментарі