roboforum.ru

Технический форум по робототехнике.
Текущее время: 12 апр 2025, 15:53

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 181 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 13  След.
Автор Сообщение
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 08 окт 2009, 22:50 
Не в сети

Зарегистрирован: 29 окт 2008, 18:14
Сообщения: 260
Откуда: Химки МО
прог. языки: Java
Си появился же не просто так. как и Java, Бейсик, ПХП.
Качество языка - это какой объем проекта он позволяет поддерживать без головной боли.
Си тут лучше, чем асм, а С++ лучше чем С.
А когда только для своего удовольствия - то разве может быть лучше, чем то, что мне нравится?
Как говорил один мой знакомый военный фотограф - лучше тот способ, которым пользуешься.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 05:13 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Daniloff писал(а):
Но с другой иной раз один некошерный goto - и двух десятков невразумительных строк как не бывало :D

А setjmp/longjmp тогда - ересь несусветная ? :ROFL:

Или святой грааль? :D

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 09:43 
Не в сети

Зарегистрирован: 06 окт 2009, 11:09
Сообщения: 64
Откуда: Ярославль
прог. языки: asm86,avrasm
ну, где-то так! :wink:
Код:
Try to avoid goto, setjmp, longjmp.


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

Если же человек делает вещицу для себя, в единственном, так сказать, экземпляре, под конкретное железо и никуда не торопясь, из спортивного интереса решающий задачку нехватки десятка байт или пары мегагерц, то asm is the best chioce :good:
Плюс - даже в таком случае фрагменты, библиотеки и процедуры можно без труда использовать в других проектах, на других микроконтроллерах той же фирмы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 09:49 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Только если задачка именно так и стоит - сыкономить любой ценой десяток байт. Для любителей - проблема ИМХО надуманная. А вот в промышленных условиях как раз имеет смысл экономия в десятки центов на чипе, может оправдать затраты на написание максимально компактной программы.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 09:50 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Цитата:
языки высокого уровня необходимы в промышленных разработках, когда время поджимает, конкуренты вот-вот выпустят модель покруче, а наработки нужно брать из старых моделей и оставлять задел для будущих.

Если же человек делает вещицу для себя, в единственном, так сказать, экземпляре, под конкретное железо и никуда не торопясь, из спортивного интереса решающий задачку нехватки десятка байт или пары мегагерц, то asm is the best chioce

Точно! :good:

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 10:06 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
ИМХО асм нужен в 3 случаях:
1. Асмовые вставки для оптимизации скорости работы;
2. Небольшие по коду и массовые устройства (для экономии объема памяти => более дешевые контроллеры => при огромных тиражах существенный экономический эффект от выбора более дешевого контроллера, покрывающий расходы на большее время разработки).
3. Чтобы научиться асму и потом спокойно применять его в случаях 1 и 2 :) (сюда же относим и спортивный интерес).

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 21:21 
Не в сети
Аватара пользователя

Зарегистрирован: 21 мар 2009, 20:06
Сообщения: 395
Откуда: Город на Неве
прог. языки: GNU C++ with Qt / C# via .NET
ФИО: Александр
Есть такой чел... Макконелл... Он в своей книжке "Совершенный код" написал, что за всю жизнь ему пришлось жестко оптимизировать всего 1 прогу. Он писал быстрый декодер для DES по-моему, но не суть. Суть вот в чем... (Цифры не точные, поскольку читал давно)

Он писал на Java сначала.... Прога работала около 30 минут.
Он нашел узкие места, оптимизирал их на Java и она стала работать 10 минут.
Развернул циклы и она стала работать 5 минут. Но его это не устраивало.
Он переписал на Си. Прога работала 4 минуты.
Опять поискал узкие места и оптимизировал, полностью развернул пару циклов и прога стала работать 1 минуту. Его это тоже не устраивало.
Он переписал пару строк(из многих тысяч) в узких местах на асме и прога стала работать 15 секунд. Ему надо было уложиться в 30 секунд. Но прогу стало невозможно читать!

Так вот, о чем я.
Если надо, чтобы прога работала быстро, то надо определиться, насколько быстро она должна работать и оптимизировать до того уровня, который нужен.
А на асме тут народ, наверное, пишет, потому что там "оптимизация по умолчанию". Я считаю, что умнее компилятора большой кусок кода никто не напишет из здесь присутствующих, а вот времени на это затратит до фига.
В соответствии с принципом Парето - 80% времени программа выполняет 20% строк. Реально же зависимоть несколько иная - 90% времени программа выполняет <1% кода.
Лучшее решение в сложных проектах - писать на Си 99% кода и 1% на асме, чем писать все на асме, чтобы никто не понял (и не помог, если потребуется)

Каким боком сюда вписывается Бэйсик? Это как Джава в примере выше. Программы на нем более понятны, поскольку они более формализованы.
Это не асемблер, где можно "битик туда-сюда-в_то_место-забыли-а_теперь_вот_тут а параллельно еще 30 таких же цепочек"...
И не Си, где можно написать одно и то же 50 способами...
Это четкий язык без синтаксического сахара и без четкого контроля за всем, что происходит внутри устройства, на котором исполняется код.
Именно поэтому он лучше для начинающих.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 21:30 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Рекомендую начинающим начинать программировать на Си для микроконтроллеров. Т.е. не изучать язык Си, а учится программировать микроконтроллер на Си.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 21:38 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Snable писал(а):
Я считаю, что умнее компилятора большой кусок кода никто не напишет из здесь присутствующих, а вот времени на это затратит до фига.

Да фиг с ним умнее - главное сколько ошибок понаделают и сколько времени эти ошибки потом искать...

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 21:49 
Не в сети

Зарегистрирован: 06 окт 2009, 11:09
Сообщения: 64
Откуда: Ярославль
прог. языки: asm86,avrasm
Кто нибудь знает как на си писать под pic16f84a? :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 21:52 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А в чем проблема? Под него нету компилятора Си? Или вы не смогли найти примеры в инете?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 22:04 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Цитата:
Кто нибудь знает как на си писать под pic16f84a?

качаем HiTech, скажем такой HCPICP-pro-9.60PL6.4070.exe, кажем его в MPLab и работаем. Правда с этим МК проще общаться на asm.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 09 окт 2009, 22:17 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Daniloff писал(а):
Кто нибудь знает как на си писать под pic16f84a ? :wink:

Так же как и для любого PIC. Вот конкретно шаг за шагом первый проект - попробуйте по аналогии - http://mcc18.narod.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 10 окт 2009, 18:53 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Цитата:
Так же как и для любого PIC. Вот конкретно шаг за шагом первый проект - попробуйте по аналогии - http://mcc18.narod.ru

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!
СообщениеДобавлено: 10 окт 2009, 21:25 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Вы ВНИМАТЕЛЬНО почитайте что написано перед ссылкой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 181 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 13  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO