roboforum.ru

Технический форум по робототехнике.

C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

Ответить

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

=DeaD= » 10 окт 2009, 21:35

contr писал(а):Си понимают многие компиляторы

Удивительное по своей глубине утверждение. Ну и что, даже если так, что это может означать?

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

Сергей » 10 окт 2009, 21:37

не понимаю зачем этот весь разговор, если многие даже не понимают что такое "язык программирования" и "компилятор"..

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

avr123.nm.ru » 10 окт 2009, 22:18

Наверно для того чтобы больше людей стало все это понимать.

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

Vovan » 10 окт 2009, 22:29

Эх... :cry: как бы я хотел рубить в си как в асме...
ленюсь... и причины разные нахожу... а ведь си спецом для авр панацея! (ИМХО)

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

contr » 10 окт 2009, 22:41

Ну и что, даже если так, что это может означать?

Это означает что немножко знать нужно оба языка. Asm хорош при освоении МК, пока десятка усвоенных команд хватает для решения 99% задач. А Си нужен для более крутых, чем pic16f84 МК, пользования чужими библиотеками и написания своих РС программ.

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

repository » 10 окт 2009, 23:01

Кто знает только один язык, то и его знает недостаточно:)

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

=DeaD= » 10 окт 2009, 23:36

contr писал(а):Это означает что немножко знать нужно оба языка.

Еще одно загадочное утверждение. Почему именно так - видимо объяснять не принято.

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

galex1981 » 11 окт 2009, 00:08

repository писал(а):Кто знает только один язык, то и его знает недостаточно:)

Поясни

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

repository » 11 окт 2009, 02:19

Это перефразированное про математику, производное от "Все познается в сравнении".

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

VirZh » 12 окт 2009, 22:50

repository писал(а):Качество языка - это какой объем проекта он позволяет поддерживать без головной боли.


Как на мой взгляд, Объем проекта еще не говорит о его качестве. Остаюсь при своем мнении: главное не наличие хорошего инструмента, а умение им пользоваться... Будь то асм, Си, Basic или Pascal. Кто как хочет, тот так и ... пишет свои проги...

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

galex1981 » 12 окт 2009, 22:57

Чаще всего пользуешься тем, чем пользуются мнгогие, потому как есть те кто может тебе помочь...

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

VirZh » 12 окт 2009, 23:14

Вообще, ИМХО, главное в программировании - это алгоритм, а на каком языке его реализуешь - это уже второе. Напиши хороший алгоритм, и тебя поймут все...

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

repository » 13 окт 2009, 12:07

VirZh писал(а):Как на мой взгляд, Объем проекта еще не говорит о его качестве. Остаюсь при своем мнении: главное не наличие хорошего инструмента, а умение им пользоваться... Будь то асм, Си, Basic или Pascal. Кто как хочет, тот так и ... пишет свои проги...

Какой объем кода поддерживать приходится?

Добавлено спустя 1 минуту 51 секунду:
VirZh писал(а):Вообще, ИМХО, главное в программировании - это алгоритм, а на каком языке его реализуешь - это уже второе. Напиши хороший алгоритм, и тебя поймут все...

алгоритм != реализация.
реализация может быть быстрой, а может быть наглядной, может быть расширяемой, полиморфной, абстрактной. И не все реализации доступны всем языкам в равной мере
Реализация 1
Код: Выделить всёРазвернуть
assume CS:code,DS:data
code segment use16
main proc
mov AX, data
mov DS,AX
mov ESI,offset list
mov ECX,1000
start: mov EDX, 0
sort: cmp EDX,ECX
jge stop
mov EAX,[ESI+EDX*4+4]
cmp [ESI+EDX*4],EAX
jge noswap
xchg [ESI+EDXM] , EAX
mov [ESI+EDXM + 4],EAX
noswap: inc EDX
jmp sort
stop: loop start
mov AX,4C00h
int 21h
main endp
code ends
data segment
list label
nmb=0
rept 1000
ddnmb
nmb=nmb+10
endm
data ends
stk segment stack
dw 128 dup (0)
stk ends
end main

Реализация 2
Код: Выделить всёРазвернуть
for (int i = 0; i < a.length; ++i)
{
   for (int j = a.length - 1; j > i; --j)
      if (a[j] > a[j - 1])
      {
         int t = a[j];
         a[j] = a[j - 1];
         a[j - 1] = t;
      }
}


Псевдокод алгоритма:
Код: Выделить всёРазвернуть
цикл пока t:
  t=ложь
  цикл для i = 1, 2, ..., n?1:
    если A[i] > A[i+1], то:
      обменять местами элементы A[i] и A[i+1]
      t=истина


Добавлено спустя 2 минуты 24 секунды:
Ещё раз повторюсь - если это хобби, то хороший язык это тот, который нравится.
Тут просто не о чем спорить.
Последний раз редактировалось repository 13 окт 2009, 12:31, всего редактировалось 1 раз.

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

=DeaD= » 13 окт 2009, 12:09

VirZh писал(а):Остаюсь при своем мнении: главное не наличие хорошего инструмента, а умение им пользоваться... Будь то асм, Си, Basic или Pascal. Кто как хочет, тот так и ... пишет свои проги...

Я бы посмотрел на аналог 1С или SAP R/3 написанный на асме :crazy:

Re: C vs ASM -прочитай и никогда не поднимай эту тему на форуме!

yozik0ff » 03 дек 2009, 10:39

C++ Кто нибудь использует?
Или только я моньячу на контроллерах с использованием классов, stl и тому подобное? :crazy:
--
Код правдо на 5 кб увеличелся, (если сравнивать с обычным С)
Но зато читабельность кода в разы увеличено.


Rambler\'s Top100 Mail.ru counter