Страница 1 из 1

Выбор языка программирования

Добавлено: Пт фев 17, 2012 23:48:57
implex
Всем привет! Появилась цель и интерес к программированию микроконтроллеров. Два года назад имел опыт на уровне чайника (для интреса программровал attiny2313, есть к ней рабочий программатор, умел мигать диодами, работать с ик-приемником, воспроизводить монофонические мелодии, всё это писал на Bascom-AVR). Потом забросил это дело. Сейчас, начав гуглить, наткнулся на неизмеримое кол-во информации.
Вопрос: актуален ли на данный момент Basic, или лучше перейти на что-то другое?

Re: Выбор языка программирования

Добавлено: Сб фев 18, 2012 02:48:32
eufs
Мое мнение - Bascom - язык для пионеров, изучавших в школе бейсик. Издевательство над МК. Больше нечего сказать.
Чем ближе язык к машинным командам (самый близкий - ассемблер) - тем шире возможности использования ресурсов, но он сложнее и теснее привязка к конкретному типу МК.
Язык СИ считается более универсальным и на современные МК (STM32 и пр) 90% примеров, документации и библиотек посвящено именно ему.
Я, лично, предпочитаю ассемблер. На СИ когда-то писал для пробы и интереса, но не понравилось. Не лежит душа. Наверное после ассемблера.
Многие, кто это прошел, меня понимают. Но в свете последних микроконтроллеров, наверное придется еще раз попробовать СИ.
Выбирать вам.

Re: Выбор языка программирования

Добавлено: Сб фев 18, 2012 03:29:59
Кислый
Пожалуй тоже дам совет : СИ + ASM для микроконтроллеров, и Python для ПК. Почему так ?

Си - сейчас дефакто стандарт для программирования встраиваемых систем : при условии грамотного построения уровней абстракции, код написаный для одного микроконтроллера с полпинка заработает на другом.
ASM - не зная хотябы азов ассемблера во встраиваемые системы лучше не лезть.
Python - скорость разработки и кроссплатформенность решает.

Re: Выбор языка программирования

Добавлено: Сб фев 18, 2012 15:39:02
sasha2011
Моё личное мнение-если вы позиционируете себя как электронщик и хотите глубоко познать
работу микропроцессора, то лучше начать с ассемблера, а уж потом перейти на СИ. Тем более что в СИ
можно использовать куски программы, написанной на ассемблере.
А для чистого программиста можно и сразу писать на языках высокого уровня, особо
не вникая в приципы работы конкретного МК

Re: Выбор языка программирования

Добавлено: Сб фев 18, 2012 15:50:31
Rector
Изучите для начала какой-нибудь один язык программирования и научитесь на нём работать. Остальные - дело наживное. Язык программирования всего-навсего инструмент для достижения какой-то цели. А вот насколько он удобен и приспособлен для решения - зависит от самой цели.

Нет "крутых" или "хороших" языков программирования, или, наоборот - "отстойных", есть программисты и есть быдлокодеры. 8)

Re: Выбор языка программирования

Добавлено: Сб фев 18, 2012 22:44:55
implex
Всем спасибо за ответы. По Вашим советам остановлюсь всё же на СИ.

Rector писал(а):Язык программирования всего-навсего инструмент для достижения какой-то цели. А вот насколько он удобен и приспособлен для решения - зависит от самой цели.

Цель - плавный пуск и изменение частоты вращения асинхронного двигателя. В процессе изучения возможностей МК появятся и другие цели.

Насоветуйте хороших книг, примеров и справочников по СИ.

Re: Выбор языка программирования

Добавлено: Вс фев 19, 2012 07:48:50
Xerion
"По Вашим советам остановлюсь всё же на СИ" :facepalm:
Вам 3 человека посоветовали начать с асма :facepalm: Кошмар. А потом на форуме такой бред читаешь про регистры R0-R15 в которых МК чет там сам делает...

Re: Выбор языка программирования

Добавлено: Вс фев 19, 2012 13:44:07
implex
Начал с книги, в которой ассемблер и С изучается параллельно.

Re: Выбор языка программирования

Добавлено: Вс фев 19, 2012 16:03:57
Кислый
:facepalm:

Re: Выбор языка программирования

Добавлено: Вс фев 19, 2012 16:44:16
implex
Очень содержательный ответ по теме от человека, у которого 1663 сообщения на форуме. Вам, наверно, умение программировать МК досталось генетическим путем?

Напомню подпись под веткой форума:
Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)

Re: Выбор языка программирования

Добавлено: Ср фев 22, 2012 01:41:47
Кислый
Да нет. Просто я учил ассемблер, затем си. И я как-то догадываюсь что это за книга. Начинать надо с ассемблера, потом ошибку тяжело допустить.

Re: Выбор языка программирования

Добавлено: Ср фев 22, 2012 18:40:44
kolobok0
implex писал(а):Очень содержательный ответ....


у азма есть свои плюсы и минусы(как и любого другого языка).
существенный плюс(на мой взгляд) - что написал, то сам дурак(С) = т.е. железо делает ТОЛЬКО то, что вы сами написали. это очень важно когда учишься.
минус - скорость реализации цели.

ну и не менее важно в этом языке пытаться делать сразу код, который можно потом будет заюзать с МИНИМАЛЬНЫМИ переделками и не важно на каком камне и не важно в какой логике. это конечно же идеал, но стремиться нуна...

удачи вам
(круглый)

Re: Выбор языка программирования

Добавлено: Пт фев 24, 2012 01:29:44
Кислый
Круглый, прочитал ваш ответ - понял, что для меня вы образец вежливости! примите, как комплимент :)))

Re: Выбор языка программирования

Добавлено: Чт мар 08, 2012 15:48:24
petrenko
implex писал(а):Начал с книги, в которой ассемблер и С изучается параллельно.

Хм.. А если бы была книга, где и ассемблер и , к примеру , форт и лисп и пролог ? Хотя... обучаемость у всех разная , может быть человек сможет легко и свободно, без перегрузки изучить... Вот жители империи Цинь, в которой мы всё больше закупаем товары выучивают уже в начальной школе основных >=800 иероглифов, а из нас тут кто возьмётся их выучить?
PS Книга такая существует!

Re: Выбор языка программирования

Добавлено: Чт мар 08, 2012 17:29:07
YS
Я бы советовал так:

1. Первый язык, который надо изучить перед тем, как начать программировать МК - английский. Без него будет жутко туго.

2.1 Читаем документацию/примеры на какой-нибудь простенький МК и параллельно курим ассемблер. Все что надо для этого предоставляют сами же производители. На английском, естесственно.

2.2 Параллельно изучаем С на "обычном" компьютере. Так легче проникнуться парадигмой языка и с отладкой проще.

3. Совмещаем знание С, ассемблера и микроархитектур. Все, цель достигнута.

***

Для работ с железом лучше всего С. Да, язык это инструмент, но дело как раз в том, что для обсуждаемой задачи лучше всего именно С. При этом в данных рамках под ПК тоже лучше всего писать на С. Это будет способствовать переносимости участков кода с МК на ПК и обратно. Я, например, частенько отлаживаю части кода на ПК, а потом переношу в проект для контроллера.

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