|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2024, 20:18 | #1 |
Пользователь
Регистрация: 06.01.2021
Сообщений: 52
|
Что тренить? Целюсь в робототехнику
Имеется:
1. Базовые навыки С (ещё учить много надо, есть книга), из компиляторов юзаю gcc, clang особо не трогал пока, не до разных компиляторов сейчас 2. Базовое понимание архитектуры ПК и ассемблера (тоже ещё много чего разбирать, например таблицу системных вызовов, как работает ОС, а из самого процессора в первую очередь ещё надо разобраться с модулем для вычислений с плавающей точкой), пока nasm, хочется потом на arm попробовать 3. Умею в базовые навыки работы с Линуксом (самые базовые, но есть книжка) как юзер (grep так и не освоил пока, регулярные выражения - пока не подойду никак к ним), юзаю и осваиваю vim (очень удобная штука) 4. Немножко понимаю разницу между процедурной парадигмой и ооп (раньше довольно много баловался Java, но не серьёзно) 5. Начал изучать алгоритмы и структуры данных (массивы, связный/двусвязный список, стек, очередь, дек - это тоже сейчас нужно проработать и потом разбирать дальше, больше не знаю вроде ничего толком), в школе написал на Java сортировку пузырьком, это всё вроде)) 6. Знаю, что большое значение имеет читаемость и логичность, выстроенность кода именно как текста, я имею в виду следующее: код может работать, но быть нечитаемым и нерасширяемым, где ты сам можешь запутаться, а может быть написан "хорошо", что реально помогает в разработке, я поэтому стараюсь следить за этим. 7. Есть конструктор робота-манипулятора, но пока ничего не делал)) 8. Раньше увлекался программированием всяких игрушек на конструкторах и на Java, на ней сделал змейку и Ping-Pong, там ещё всякие движки пытался делать, баловство в общем, тянуло именно сделать, много копировал, и всё только для того чтобы заработало, а не разобраться, как работает какой-то элемент языка, как написать хороший код и т.д.. Например, сериализацию, работу с файлами и работу с потоками я провалил, так и не освоил, ещё умудрялся спорить "интерфейсы не нужны, они ничего не делают, только лишний код", пока не понял что прикол как минимум в модульности и слабой сцепленности этих модулей, что сильно упрощает разработку Вообще интересует следующее: 1. В этом году хочется поступить в вуз на прикладную математику и с треком робототехника с 3 курса, там в каком-то одном из первых семестров 100% будет курс ООП вроде на С# 2. Очень нравится Lua, это просто маленький шедевр, классный простой и быстрый язык, есть книга, особо не закапывался но всё так интуитивно и просто + быстро + можно соединить с С. Вот думаю, классно наверное было бы в робототехнику его для упрощения задач. 3. Python - просто многие его знают и в целом мне нравится, но очень высокий уровень, выше чем Java/C# 4. Есть книга по С++, и сам язык мне нравится и по концепции, и как даже всё выглядит и работает. Но не по зубам пока. Хотя чувствую прям будто очень мощный микс Java и С (субъективно, как для меня, я знаю что он был создан раньше Java). 5. Есть книга по алгоритмам, но там всё очень серьёзно, вузовский уровень. Не знаю в каком порядке всё выстроить, пока в случайном, берусь за что захочется сегодня. Вот из этого набора интересов как что лучше сделать? ASM, C, Lua, Python, C++, Linux, Vim Из простых задачек для себя: доделать калькулятор на ассемблере, поиграться с папками и файлами; реализовать на базовом уровне стек, очередь, связный/двусвязный список, очередь с приоритетом, дек на C и C++ (на С++ сделать как класс), сделать прям интерактивные программы; порешать задачки на С-строки: перевернуть строку, инвертировать порядок слов, инвертировать порядок букв в каждом слове. Хочется и более интересных проектов поделать, но по силам. В общем, помогите плиз что делать)) что-то выкинуть может быть, что-то наоборот добавить что я не знаю:/ например, изучать bash пока особо желания нет, субъективно синтаксис отталкивает, да и практическая польза для меня пока разве что написать скрипт для сборки проекта из исходников чтобы каждый раз не вбивать gcc ... Последний раз редактировалось iXNomad; 05.04.2024 в 20:28. |
06.04.2024, 04:07 | #2 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
iXNomad, C++ изучай, это самое долгое из перечисленного
какой компилятор - значения не имеет, главное, чтобы стандарт поддерживал. Обычно это флаги Код:
|
09.05.2024, 10:33 | #3 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,604
|
Мне кажется, что сейчас востребовано программирование микроконтроллеров, и для этого надо ассемблер более глубоко изучать. И нужны программаторы микроконтроллеров. И, наверное, надо двигаться в стороны управления беспилотниками, квадракоптерами, систем управления БПЛА, беспилотными автомобилями и т.п. Может быть, надо поразбираться в создании нейронных сетей с использованием Питона, в машинном зрении, распознавании образов, искусственном интеллекте и т.п.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
09.05.2024, 12:58 | #4 |
Форумчанин
Регистрация: 13.03.2023
Сообщений: 113
|
В электротехнике и электронике нужно прежде всего разобраться. Меня как-то просили прочитать несколько лекций в заведении, где студенты-робототехники не могут дать определение, что такое напряжение. Жалкое зрелище.
С ассемблером без фанатизма. Понимать его нужно, писать на нем - категорически нет. То же касается всяких питонов с LUA. Для жесткого реального времени - только C, вот его знать назубок. Возможно, на перспективу Rust (впрочем, можно и отложить до поры). И уж определенно не Java/C#. |
09.05.2024, 13:25 | #5 | ||
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,599
|
Цитата:
А этих пригласи в караоке, ни один в ноты попасть не сможет. А робототехника у них известно какая, ещё в первых роликах ютуба эти картофелесажалки на мопедном двигателе или электродвигателе в лучшем случае. т.е. там дальше двухтактовости в разрезе тарахтит значит работает ничего больше не надо, подать напряжение, отключить. вот и вся физика, не горел, перегорел и т.д. Решается это только персональным обучением с полным исключением всех курсов математики. А ещё курсы литературы и философии вообще из рабского прошлого, я всё время думал, что древние греки - это про ленивых, какими быть не надо, а вымершие немцы про философию диалектную, смотри какие они умные были и сплыли. Удивительно но Цицероны на ютубе с мотоприводом к заднице и персиками на ужин именно очень любят на них ссылаться. А казалось бы, есть философия пакс романы, но из того, что я помню, только ссылка на маккиавели была, мимолётная и всё. Цитата:
|
||
11.05.2024, 17:34 | #6 |
Новичок
Джуниор
Регистрация: 11.05.2024
Сообщений: 1
|
спасибо, я тоже сейчас учусь
|