Выбор языка программирования
Выбор языка программирования
Всем привет! Появилась цель и интерес к программированию микроконтроллеров. Два года назад имел опыт на уровне чайника (для интреса программровал attiny2313, есть к ней рабочий программатор, умел мигать диодами, работать с ик-приемником, воспроизводить монофонические мелодии, всё это писал на Bascom-AVR). Потом забросил это дело. Сейчас, начав гуглить, наткнулся на неизмеримое кол-во информации.
Вопрос: актуален ли на данный момент Basic, или лучше перейти на что-то другое?
Вопрос: актуален ли на данный момент Basic, или лучше перейти на что-то другое?
Re: Выбор языка программирования
Мое мнение - Bascom - язык для пионеров, изучавших в школе бейсик. Издевательство над МК. Больше нечего сказать.
Чем ближе язык к машинным командам (самый близкий - ассемблер) - тем шире возможности использования ресурсов, но он сложнее и теснее привязка к конкретному типу МК.
Язык СИ считается более универсальным и на современные МК (STM32 и пр) 90% примеров, документации и библиотек посвящено именно ему.
Я, лично, предпочитаю ассемблер. На СИ когда-то писал для пробы и интереса, но не понравилось. Не лежит душа. Наверное после ассемблера.
Многие, кто это прошел, меня понимают. Но в свете последних микроконтроллеров, наверное придется еще раз попробовать СИ.
Выбирать вам.
Чем ближе язык к машинным командам (самый близкий - ассемблер) - тем шире возможности использования ресурсов, но он сложнее и теснее привязка к конкретному типу МК.
Язык СИ считается более универсальным и на современные МК (STM32 и пр) 90% примеров, документации и библиотек посвящено именно ему.
Я, лично, предпочитаю ассемблер. На СИ когда-то писал для пробы и интереса, но не понравилось. Не лежит душа. Наверное после ассемблера.
Многие, кто это прошел, меня понимают. Но в свете последних микроконтроллеров, наверное придется еще раз попробовать СИ.
Выбирать вам.
C0FFEE=12648430
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Выбор языка программирования
Пожалуй тоже дам совет : СИ + ASM для микроконтроллеров, и Python для ПК. Почему так ?
Си - сейчас дефакто стандарт для программирования встраиваемых систем : при условии грамотного построения уровней абстракции, код написаный для одного микроконтроллера с полпинка заработает на другом.
ASM - не зная хотябы азов ассемблера во встраиваемые системы лучше не лезть.
Python - скорость разработки и кроссплатформенность решает.
Си - сейчас дефакто стандарт для программирования встраиваемых систем : при условии грамотного построения уровней абстракции, код написаный для одного микроконтроллера с полпинка заработает на другом.
ASM - не зная хотябы азов ассемблера во встраиваемые системы лучше не лезть.
Python - скорость разработки и кроссплатформенность решает.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
Re: Выбор языка программирования
Моё личное мнение-если вы позиционируете себя как электронщик и хотите глубоко познать
работу микропроцессора, то лучше начать с ассемблера, а уж потом перейти на СИ. Тем более что в СИ
можно использовать куски программы, написанной на ассемблере.
А для чистого программиста можно и сразу писать на языках высокого уровня, особо
не вникая в приципы работы конкретного МК
работу микропроцессора, то лучше начать с ассемблера, а уж потом перейти на СИ. Тем более что в СИ
можно использовать куски программы, написанной на ассемблере.
А для чистого программиста можно и сразу писать на языках высокого уровня, особо
не вникая в приципы работы конкретного МК
Re: Выбор языка программирования
Изучите для начала какой-нибудь один язык программирования и научитесь на нём работать. Остальные - дело наживное. Язык программирования всего-навсего инструмент для достижения какой-то цели. А вот насколько он удобен и приспособлен для решения - зависит от самой цели.
Нет "крутых" или "хороших" языков программирования, или, наоборот - "отстойных", есть программисты и есть быдлокодеры.
Нет "крутых" или "хороших" языков программирования, или, наоборот - "отстойных", есть программисты и есть быдлокодеры.
Re: Выбор языка программирования
Всем спасибо за ответы. По Вашим советам остановлюсь всё же на СИ.
Цель - плавный пуск и изменение частоты вращения асинхронного двигателя. В процессе изучения возможностей МК появятся и другие цели.
Насоветуйте хороших книг, примеров и справочников по СИ.
Rector писал(а):Язык программирования всего-навсего инструмент для достижения какой-то цели. А вот насколько он удобен и приспособлен для решения - зависит от самой цели.
Цель - плавный пуск и изменение частоты вращения асинхронного двигателя. В процессе изучения возможностей МК появятся и другие цели.
Насоветуйте хороших книг, примеров и справочников по СИ.
Re: Выбор языка программирования
"По Вашим советам остановлюсь всё же на СИ"
Вам 3 человека посоветовали начать с асма
Кошмар. А потом на форуме такой бред читаешь про регистры R0-R15 в которых МК чет там сам делает...
Вам 3 человека посоветовали начать с асма
Кошмар. А потом на форуме такой бред читаешь про регистры R0-R15 в которых МК чет там сам делает...Re: Выбор языка программирования
Начал с книги, в которой ассемблер и С изучается параллельно.
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Выбор языка программирования

RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
Re: Выбор языка программирования
Очень содержательный ответ по теме от человека, у которого 1663 сообщения на форуме. Вам, наверно, умение программировать МК досталось генетическим путем?
Напомню подпись под веткой форума:
Напомню подпись под веткой форума:
Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Выбор языка программирования
Да нет. Просто я учил ассемблер, затем си. И я как-то догадываюсь что это за книга. Начинать надо с ассемблера, потом ошибку тяжело допустить.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
Re: Выбор языка программирования
implex писал(а):Очень содержательный ответ....
у азма есть свои плюсы и минусы(как и любого другого языка).
существенный плюс(на мой взгляд) - что написал, то сам дурак(С) = т.е. железо делает ТОЛЬКО то, что вы сами написали. это очень важно когда учишься.
минус - скорость реализации цели.
ну и не менее важно в этом языке пытаться делать сразу код, который можно потом будет заюзать с МИНИМАЛЬНЫМИ переделками и не важно на каком камне и не важно в какой логике. это конечно же идеал, но стремиться нуна...
удачи вам
(круглый)
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Выбор языка программирования
Круглый, прочитал ваш ответ - понял, что для меня вы образец вежливости! примите, как комплимент 
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
-
petrenko
- Друг Кота
- Сообщения: 5321
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Выбор языка программирования
implex писал(а):Начал с книги, в которой ассемблер и С изучается параллельно.
Хм.. А если бы была книга, где и ассемблер и , к примеру , форт и лисп и пролог ? Хотя... обучаемость у всех разная , может быть человек сможет легко и свободно, без перегрузки изучить... Вот жители империи Цинь, в которой мы всё больше закупаем товары выучивают уже в начальной школе основных >=800 иероглифов, а из нас тут кто возьмётся их выучить?
PS Книга такая существует!
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Re: Выбор языка программирования
Я бы советовал так:
1. Первый язык, который надо изучить перед тем, как начать программировать МК - английский. Без него будет жутко туго.
2.1 Читаем документацию/примеры на какой-нибудь простенький МК и параллельно курим ассемблер. Все что надо для этого предоставляют сами же производители. На английском, естесственно.
2.2 Параллельно изучаем С на "обычном" компьютере. Так легче проникнуться парадигмой языка и с отладкой проще.
3. Совмещаем знание С, ассемблера и микроархитектур. Все, цель достигнута.
***
Для работ с железом лучше всего С. Да, язык это инструмент, но дело как раз в том, что для обсуждаемой задачи лучше всего именно С. При этом в данных рамках под ПК тоже лучше всего писать на С. Это будет способствовать переносимости участков кода с МК на ПК и обратно. Я, например, частенько отлаживаю части кода на ПК, а потом переношу в проект для контроллера.
И естесственно, ассемблер целевой архитектуры знать надо обязательно, хотя бы иметь представление о нем.
1. Первый язык, который надо изучить перед тем, как начать программировать МК - английский. Без него будет жутко туго.
2.1 Читаем документацию/примеры на какой-нибудь простенький МК и параллельно курим ассемблер. Все что надо для этого предоставляют сами же производители. На английском, естесственно.
2.2 Параллельно изучаем С на "обычном" компьютере. Так легче проникнуться парадигмой языка и с отладкой проще.
3. Совмещаем знание С, ассемблера и микроархитектур. Все, цель достигнута.
***
Для работ с железом лучше всего С. Да, язык это инструмент, но дело как раз в том, что для обсуждаемой задачи лучше всего именно С. При этом в данных рамках под ПК тоже лучше всего писать на С. Это будет способствовать переносимости участков кода с МК на ПК и обратно. Я, например, частенько отлаживаю части кода на ПК, а потом переношу в проект для контроллера.
И естесственно, ассемблер целевой архитектуры знать надо обязательно, хотя бы иметь представление о нем.
Разница между теорией и практикой на практике гораздо больше, чем в теории.