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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
implex
Родился
Сообщения: 15
Зарегистрирован: Пт фев 17, 2012 23:19:13

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

Сообщение implex »

Всем привет! Появилась цель и интерес к программированию микроконтроллеров. Два года назад имел опыт на уровне чайника (для интреса программровал attiny2313, есть к ней рабочий программатор, умел мигать диодами, работать с ик-приемником, воспроизводить монофонические мелодии, всё это писал на Bascom-AVR). Потом забросил это дело. Сейчас, начав гуглить, наткнулся на неизмеримое кол-во информации.
Вопрос: актуален ли на данный момент Basic, или лучше перейти на что-то другое?
eufs
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

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

Сообщение eufs »

Мое мнение - Bascom - язык для пионеров, изучавших в школе бейсик. Издевательство над МК. Больше нечего сказать.
Чем ближе язык к машинным командам (самый близкий - ассемблер) - тем шире возможности использования ресурсов, но он сложнее и теснее привязка к конкретному типу МК.
Язык СИ считается более универсальным и на современные МК (STM32 и пр) 90% примеров, документации и библиотек посвящено именно ему.
Я, лично, предпочитаю ассемблер. На СИ когда-то писал для пробы и интереса, но не понравилось. Не лежит душа. Наверное после ассемблера.
Многие, кто это прошел, меня понимают. Но в свете последних микроконтроллеров, наверное придется еще раз попробовать СИ.
Выбирать вам.
C0FFEE=‭12648430‬
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

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

Сообщение Кислый »

Пожалуй тоже дам совет : СИ + ASM для микроконтроллеров, и Python для ПК. Почему так ?

Си - сейчас дефакто стандарт для программирования встраиваемых систем : при условии грамотного построения уровней абстракции, код написаный для одного микроконтроллера с полпинка заработает на другом.
ASM - не зная хотябы азов ассемблера во встраиваемые системы лучше не лезть.
Python - скорость разработки и кроссплатформенность решает.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
sasha2011
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс апр 17, 2011 11:33:26

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

Сообщение sasha2011 »

Моё личное мнение-если вы позиционируете себя как электронщик и хотите глубоко познать
работу микропроцессора, то лучше начать с ассемблера, а уж потом перейти на СИ. Тем более что в СИ
можно использовать куски программы, написанной на ассемблере.
А для чистого программиста можно и сразу писать на языках высокого уровня, особо
не вникая в приципы работы конкретного МК
Аватара пользователя
Rector
Прорезались зубы
Сообщения: 233
Зарегистрирован: Пн янв 30, 2012 21:27:39

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

Сообщение Rector »

Изучите для начала какой-нибудь один язык программирования и научитесь на нём работать. Остальные - дело наживное. Язык программирования всего-навсего инструмент для достижения какой-то цели. А вот насколько он удобен и приспособлен для решения - зависит от самой цели.

Нет "крутых" или "хороших" языков программирования, или, наоборот - "отстойных", есть программисты и есть быдлокодеры. 8)
implex
Родился
Сообщения: 15
Зарегистрирован: Пт фев 17, 2012 23:19:13

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

Сообщение implex »

Всем спасибо за ответы. По Вашим советам остановлюсь всё же на СИ.

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

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

Насоветуйте хороших книг, примеров и справочников по СИ.
Xerion
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн дек 06, 2010 11:11:36

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

Сообщение Xerion »

"По Вашим советам остановлюсь всё же на СИ" :facepalm:
Вам 3 человека посоветовали начать с асма :facepalm: Кошмар. А потом на форуме такой бред читаешь про регистры R0-R15 в которых МК чет там сам делает...
implex
Родился
Сообщения: 15
Зарегистрирован: Пт фев 17, 2012 23:19:13

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

Сообщение implex »

Начал с книги, в которой ассемблер и С изучается параллельно.
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

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

Сообщение Кислый »

:facepalm:
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
implex
Родился
Сообщения: 15
Зарегистрирован: Пт фев 17, 2012 23:19:13

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

Сообщение implex »

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

Напомню подпись под веткой форума:
Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

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

Сообщение Кислый »

Да нет. Просто я учил ассемблер, затем си. И я как-то догадываюсь что это за книга. Начинать надо с ассемблера, потом ошибку тяжело допустить.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
kolobok0
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

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

Сообщение kolobok0 »

implex писал(а):Очень содержательный ответ....


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

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

удачи вам
(круглый)
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

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

Сообщение Кислый »

Круглый, прочитал ваш ответ - понял, что для меня вы образец вежливости! примите, как комплимент :)))
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
petrenko
Друг Кота
Сообщения: 5321
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

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

Сообщение petrenko »

implex писал(а):Начал с книги, в которой ассемблер и С изучается параллельно.

Хм.. А если бы была книга, где и ассемблер и , к примеру , форт и лисп и пролог ? Хотя... обучаемость у всех разная , может быть человек сможет легко и свободно, без перегрузки изучить... Вот жители империи Цинь, в которой мы всё больше закупаем товары выучивают уже в начальной школе основных >=800 иероглифов, а из нас тут кто возьмётся их выучить?
PS Книга такая существует!
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

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

Сообщение YS »

Я бы советовал так:

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

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

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

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

***

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

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

Вернуться в «Теория»