Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

2.2K
12 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Здесь пойдёт речь о компиляторах высокого уровня(Бэйсик,СИ++,Паскаль,и какже без такого-Делфи)...
Дело в том,что я изучил ассемблёр и решил сравнить код на ассемблёре и другие,и вот что уменя получилось:
(Вывод строки Hello,world!)
FASM-->
ORG 100h
push cs
pop ds

mov ah,9
mov dx,text
int 21h

int 20h
text db 'Hello,world!$'
<--
Размер:24 байта
Asic-->
Print "Hello,world!"
<--
Размер:360 байт
C++(Tubo 3.5)-->
#include <stdio.h>

main(){
printf("Hello,world!");
return 0;
}
<--
Размер:(ужас)8,47 kb!
Delphi(7.0,console)-->
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

begin
Write('Hello,world!');
end.

<--
Размер:(это вообще)40kb

Может эти размеры не так и ужасны,но посмотрите какой отрыв между ассемблёром и языками высого уровня,и это я ещё не программу написал,как говорится чем дальше-тем похлеще...
Я считаю,что вообще нельзя использовать языки высокого прогр.,это же полный атас!
Например:Я написал прогу для чтения тестов,на Делфи она у меня заняла 1,2 мег,а потом на асме:120 кб(от размера сообственно и скорость!)...Мда ,большая разница..
Что уже говорить о таких как:Word,Excel,Photoshop и т.д
В принципе ничего страшного нет,но если подумать-это же деградация!
Вот были времена ДОСа,когда большинство прог писали на АСМЕ-там и скорость и размер,а щас?
Все программисты(не буду уж так резко)обленились
писать на АСМЕ,все пишут на Делфи и т.д
Я считаю что АСМ самый лучший(и сложный)...
Кто думает так или иначе?
Страницы:
325
13 декабря 2005 года
Franky
723 / / 10.08.2005
В некотором роде ты прав (см. мою подпись :), но все зависит от задач: если надо написать что-то быстро, то почему бы не использовать ПАС, а если качественно... а кто сейчас гоняется за оптимизацией? Как и кто преподает программирование? И кому?...
Да, обленились. Очень многие считают ,что АСМ просто не нужен, вчерашний день, а это плохо.
Вобщем жаль, что нет варианта ПАС+АСМ :)
2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Во,во!
Да,пока нет хорошего компилятора Паса,будем надеятся...
Я думаю,что Ассемблёр все считают,что это только доступ к апаратуре :(
Но у Ассемблёра есть такие возможности...
Не,ну конечно-Паскаль тоже нормальный,но генерирует код он !@$%$^###%*&*(% (многовато)
Вот бы свой Пас сделать,идея такая:
Компилятор генерирует код на Пасе в ассамблёрный,ну а дальше вы знаете :D -я считаю,это неплохая идея!
391
13 декабря 2005 года
Archie
562 / / 03.02.2005
Ню, ню...
Пока бы ты фотошоп на асме писал, конкуренты бы тебя взули даже с бейсиком :P
2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Ну...без коментариев,хотя ты уверен или ты не знаешь что такое ВинАПИ и инклуд файлы?Хотя кто знает,но да скорость написания,а главное-простота в Асме...
Просто Асм сделан для супер прогеров(и хакеров,кракеров,фрикеров,вроде всё)!
Всё-что пишут на Асме-великое...
А всё-кто пишут (как я называю)ГЕНЕРАТОРАМИ-ТРАНСФОРМАТОРАМИ-те ив правду ленивые,ну бейсиком-это ты загнул :D
Но разве трудность и скорость-это минусы,чтобы вообще на Асме не писать?
Попробуй на бэйсе сделай анти-дебагер,или поддержку MMX или сопроцессора...
Ассамблёр обладает НЕОГРАНИЧЕННЫМИ возможностями,а если простоту на это обменивать-то да...
Чем сложнее было писать прогу-тем она лучше,кто поспорит...
(з.ы хотя Ассамблёр существует с самого создание компьютеров)
391
13 декабря 2005 года
Archie
562 / / 03.02.2005
Ну насчет Java ты, надеюсь, ничего против не имеешь, супер прогер? ;)

А что, есть дебаггер для бейсика? Он же в псевдо-код компилит... :-?
2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Ну раз нравится,на том всё и делай,я не заставляю всех на Асме прогить...
Я имел ввиду АНТИДЕБАГЕР,типа какойто крякер хочет крякнуть твою прогу,открывает файл (дебагером)и Опа,ничего(могу дать код-если нужно)
391
13 декабря 2005 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by Brezhnev1980
Я имел ввиду АНТИДЕБАГЕР,типа какойто крякер хочет крякнуть твою прогу,открывает файл (дебагером)и Опа,ничего(могу дать код-если нужно)



Дык в том-то и прикол. Ты когда-нить открывал прогу, скомпиленную вижуал бейсиком в дебаггере? И много там можно понять? ;)

3.8K
13 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Brezhnev1980 Дело в том,что я изучил ассемблёр и решил сравнить код на ассемблёре и другие


Такие сравнения уже проводились: http://lowlevel.h14.ru/cgi-bin/yabb/YaBB.cgi?board=other;action=display;num=1119538208

Цитата:
какой отрыв между ассемблёром и языками высого уровня


Это связано не столько с качеством оптимизации, сколько с тем фактом, что компиляторы ЯВУ добавляют в исполняемый файл много сервисной информации.

Цитата:
Я считаю,что вообще нельзя использовать языки высокого прогр.


Это ты погорячился! У ассемблера одна область применения, у ЯВУ - другая.
Глупо писать на Delphi драйвер какого-либо устройства. Но и на ассемблере не разумно разрабатывать СУБД. Всё нужно использовать по назначению.

Цитата:
Что уже говорить о таких как:Word,Excel,Photoshop и т.д


Такие программы реализуются большими коллективами программистов, где очень важную роль играет синхронизация написанного кода, т.е. объединение воедино разных модулей, написанных разными людьми.Причем, на это уходит порой больше времени, чем, собственно, на разработку. Насколько усложнилась бы задача при использовании ассемблера!! Это только первая причина.
Вторая: в больших программах используются сложные алгоритмы, реализация которых на ассемблере отнимет очень много времени. В том же PhotoShop-е реализовано огромное количество средств обработки изображения. Даже самые простые фильтры производят сложные математические расчеты. И каково все это писать на ассемблере, имея в распоряжении всего 4 регистра общего назначения и стек! Можно, конечно, использовать для хранения значений переменных ячейки памяти, но тогда теряется реентрабельность.
А выполнение арифметических операций (не говоря уж о тригонометрии)... очень неудобно пользоваться уродски реализованными инструкциями mul и div.
Третья причина: ассемблер не выгоден с экономической точки зрения. Разработка на ассемблере отнимает больше времени, а в бизнесе время - деньги.
Четвёртая причина: считается, что чем больше и медленнее программа, тем она круче, сложнее, навороченее и т.д. Клиент, отдающий за программу N сотен долларов, должен видеть, за что он платит!

Цитата:
В принципе ничего страшного нет,но если подумать-это же деградация!


Зато какой стимул для повышения производительности оборудования!

Цитата:
Все программисты(не буду уж так резко)обленились


В чем-то ты прав. Современная логика такова: "Зачем напрягаться ассемблером, когда есть всякие визуал-бейсики, дот-неты, мфц и прочая ерунда??"

Цитата:
Я считаю что АСМ самый лучший(и сложный)...
Кто думает так или иначе?


Это уже личные преференции каждого человека.

Цитата:
идея такая:
Компилятор генерирует код на Пасе в ассамблёрный,ну а дальше вы знаете -я считаю,это неплохая идея!


А толку? Получить бинарник сразу или с промежуточными этапами - что от этого изменится?

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Клёво ОМСК нам всем заткнул рот!Естественно в Асме для 32 бит есть не только регистры общ.назн.,но есть и регистры сопроцесора(специально сделаный для вычислений),MMX,SSE,XMS и т.д
Так что мне кажется,что Асм быстрее всех вычисляет...
И вообще всё зависит от воли програмера,ведь один может алгоритмы написать на Асме,другому лень
3.8K
13 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
FASM-->
ORG 100h
push cs
pop ds

mov ah,9
mov dx,text
int 21h

int 20h
text db 'Hello,world!$'
<--
Размер:24 байта



Небольшая оптимизация... вместо int 0x20 можно использовать инструкцию ret. Эффект тот же, а выйгрыш в объёме на один байт ;)

Размер:23 байта :D

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Спасибо,буду знать...
Ну я думаю,Ассемблёр нужно знать полюбе!
Даже если на Паскале прогить...
Я думаю лучше использлвать систему:высокий язык+вставки ассемблёра=нормально...
5.2K
14 декабря 2005 года
Duncan MacLeod
14 / / 14.11.2003
Пустые споры. Каждый язык хорош для своих задач. То что у нас пишется на Дельфи на фирме, заняло бы туеву хучу времени на Асме. А у нас главное скорость разработки, а время работы программы никого не волнует. :)
2
14 декабря 2005 года
squirL
5.6K / / 13.08.2003
не могу отказать себе в удовольствии пофлудить...
Цитата:
Originally posted by Brezhnev1980
Здесь пойдёт речь о компиляторах высокого уровня(Бэйсик,СИ++,Паскаль,и какже без такого-Делфи)...


хм... так мы говорим о компиляторах, средах разработки, или все таки о ЯПВУ?

Цитата:
Originally posted by Brezhnev1980

Дело в том,что я изучил ассемблёр и решил сравнить код на ассемблёре и другие,и вот что


браво...

Цитата:
Originally posted by Brezhnev1980

Я считаю,что вообще нельзя использовать языки высокого прогр.,это же полный атас!


может вы просто не умееште их использовать?

Цитата:
Originally posted by Brezhnev1980

Например:Я написал прогу для чтения тестов,на Делфи она у меня заняла 1,2 мег,а потом на асме:120 кб(от размера сообственно и скорость!)...Мда ,большая разница..
Что уже говорить о таких как:Word,Excel,Photoshop и т.д


ну то что ВЫ написали, это еще не эталон. я вот не уверен, что вы напишете Photoshop на ассемблере и он я будет работать быстрее. если напишете вообще.

Цитата:
Originally posted by Brezhnev1980

В принципе ничего страшного нет,но если подумать-это же деградация!


напротив, это прогресс.

Цитата:
Originally posted by Brezhnev1980

Вот были времена ДОСа,когда большинство прог писали на АСМЕ-там и скорость и размер,а щас?


мда... а были времена, когда программирование осуществлялось путем физической перекоммутации проводов. это круто? я вас разочарую. уже во времена DOS большинство программ НЕ писалось на асме.

Цитата:
Originally posted by Brezhnev1980

Все программисты(не буду уж так резко)обленились
писать на АСМЕ,все пишут на Делфи и т.д
Я считаю что АСМ самый лучший(и сложный)...
Кто думает так или иначе?


программисты не обленились. программисты используют наиболее целесообразные средства для конкретных задач.

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

3.8K
14 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
MMX,SSE,XMS и т.д


XMS? Extended Memory Specification. При чем тут это??

325
14 декабря 2005 года
Franky
723 / / 10.08.2005
Цитата:
Originally posted by Supervisor
XMS? Extended Memory Specification. При чем тут это??


а еще XML, DLL и много других страшных слов :D

391
14 декабря 2005 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by Supervisor
XMS? Extended Memory Specification. При чем тут это??


Казалось бы XMS тут ни при чем... XMS всегда ни при чем... задумайтесь над этим... :D

260
14 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Если писать не через одно место, то на выходе того же сюшного компилера получится код 80-90% которого эквивалентны если его на асме ваять. Ну а если огород городить то естественно никакой оптимизирующий компилер не справится, он же мысли не читает.

PS: Естественно, попадаются вещи которые лучше оформить в виде отдельных процедур на асме, но их ой как мало.

PS2: Делаем выводы.
2.2K
14 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Незнаю,как другим,но мне лично нравится Ассемблёр...
2
14 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Brezhnev1980
Незнаю,как другим,но мне лично нравится Ассемблёр...


в данном случае речь идет не о том, что НРАВИТЬСЯ или не НРАВИТСЯ. я вот без ума от холодного оружия. но как бы виртуозно я не владел ножом, я никогда не пойду с ним против танка.
так и здесь. программируя для "души" - пишите на чем угодно. зарабатывая деньги - пишите на том, на чем хочет заказчик.
кроме того - очень многое зависит от владения инструментом. есть такая программа MHDD -профессиональная программа для работы с НЖМД на самом низком уровне. написана на FreePascal. делайте выводы...

2.2K
14 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Ну,Ассамблёр мощный язык(и сложный),как видите всем лень думать за процессор!
2
14 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Brezhnev1980
Ну,Ассамблёр мощный язык(и сложный),как видите всем лень думать за процессор!


насчет мощности - это еще бабка надвое сказала. а про сложность - что сложного в ассемблере?

2.2K
14 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Да ничего особенного,но он труднее других языков!
5.2K
14 декабря 2005 года
Duncan MacLeod
14 / / 14.11.2003
Цитата:
Originally posted by Brezhnev1980
Да ничего особенного,но он труднее других языков!


Ну вот Holy War. Я когда-то также думал! :)

В чем он труднее??? Если им хорошо владеешь и прекрасно знаешь архитектуру ОС и компа в целом, то ни фига не труднее. Дело в том, что приходится писать руками (отладка и тестирование, чтобы это хорошо работало), что уже написано на ЯВУ. Это не трудность - это трудоемкость. Давайте различать понятия!

Просто для того чтобы писать на Асме, надо знать гораздо больше, чем для того чтобы писать на ЯВУ.

2
15 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Duncan MacLeod

Просто для того чтобы писать на Асме, надо знать гораздо больше, чем для того чтобы писать на ЯВУ.


не больше. надо знать другое

255
15 декабря 2005 года
Dart Bobr
1.4K / / 09.04.2004
Опять провокационная тема. :)
Самый тяжелый ЯП - машинный код, имхо. асма - на порядок легче.
Что касается возможностей, то практичеки все яп имеют одинаковые возможности, если речь, не идет о яп типа HTML или XML.
3
15 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Dart Bobr
яп типа HTML или XML.


Это не языки программирования, а языки разметки. Не стоит путать.

Цитата:
Originally posted by Dart Bobr
Самый тяжелый ЯП - машинный код


Машинный код - не язык вообще, это... машинный код...
Как отдельные фонемы и звуки не являются лингвистическим языком.

Об остальном обсуждаемом скромно промолчу. :)

2
15 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Green

Об остальном обсуждаемом скромно промолчу. :)


а чего? что с тобой? темка веселая, обычно ты не упускаешь случая пофлудить ;) утомили доморощенные пророки, несущие свет истины?

2
15 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Green
Машинный код - не язык вообще, это... машинный код...


кстати тут ты не совсем прав - машинный код тоже язык общения с машиной. аналог фонем - это скорее отдельные биты...

3
15 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by squirL
а чего? что с тобой? темка веселая, обычно ты не упускаешь случая пофлудить ;) утомили доморощенные пророки, несущие свет истины?


Да чего-то чувствую, калибр не тот... Не посилам тут мне аргументировать... :)

И к тому же автор топика прав... все из-за лени...
Вот для сравнения велосипед и автомобиль. Автомобиль как ни крути всегда тяжелее получается, дороже и прожорливей, а что такого может сделать, что не сделает велосипед (ну или пара-тройка тысяч велосипедов) ?
А сколько знаний и навыков требуется от велосипедиста! Держать равновесие, крутить руль и педали одновременно!
Не... велосипед это мощьное орудие, обладающее НЕОГРАНИЧЕННЫМИ возможностями. Попробуй на автомобиле прокатиться на одном колесе или проехать по перилам...
Да и вообще, чем сложнее проделать путь из точки А в точку Б, тем он (этот путь) лучше.

2
15 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Green
И к тому же автор топика прав... все из-за лени...



я когда то слышал легенды про системщиков, которые загрузочный код ОС вручную по памяти вбивали в загрузочные секторы... и я понимаю... хреновый из меня админ :)

2.2K
15 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Это тогда скорее во времена ДОСА :( -говорят там были кодеры офигенные!
Ладно,я не об этом,вообще,не могли чтоли создать,например-компилятор Паскаля из Пас ту Асм?А что?Компилятор Ассамблёра же меньше размер компилит...
И ещё Ассамблёр самый крутой,без него бы не сделали ваши СиСи++,Трубо Паскакаль и конечно же Бусик :)
Нет,правда,без Ассамблёра небыло б вообще ничего прогресивного...
А в ДОСе без Асма,как без...рук конечно
А всякие там СиСи и пакали-ненужная вещь!Они только код генерируют (и плохо),загружаются дольше и ещё там всякие дебаг информации(кто-то этим вообще пользуется)!
259
15 декабря 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by squirL
я когда то слышал легенды про системщиков, которые загрузочный код ОС вручную по памяти вбивали в загрузочные секторы... и я понимаю... хреновый из меня админ :)


Вбивали, вбивали. Это не легнды. Поверь, ежели она сволочь только с 5 раза начинала заводится (Электроника - 79 аналог pdp-1170) все выучишь. И коды загрузочных секторов и коды загрузки с перфоленты. Да и система команд у pdp была проще в запоминании. Лоичней там все было. Коды были разделены на типы команд (перемещения, управления и т.д. и по количесву байт. Одно - двух и трех байтовые.) Запоминать их было одно удовольствие. самое сложное смещение посчитать до адреса в 8-ичной системе. А так не очень сложно все это.

2.2K
15 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Хм,интересно...
3.8K
15 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Brezhnev1980
Компилятор Ассамблёра же меньше размер компилит...


Компилятор ассемблера вообще не производит оптимизацию кода: что ты написал, то и будет оттранслировано в машинные коды.

3
15 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Supervisor
Компилятор ассемблера вообще не производит оптимизацию кода: что ты написал, то и будет оттранслировано в машинные коды.


Уверен? :)
А как на счет ассемблера AT&T ?

398
15 декабря 2005 года
Alexandoros
630 / / 21.10.2005
Цитата:
Originally posted by Brezhnev1980
ещё там всякие дебаг информации(кто-то этим вообще пользуется)!



ГыГы, все, кто пишет что-то покруче хеллоуворд. Кто скажет хоть один серъезный проект написаный на асме?

Supervizor - ну и тасм умеет "оптимизировать" (JUMPS / SMART / че то я там еще забыл).

3.8K
16 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Alexandoros
ну и тасм умеет "оптимизировать" (JUMPS / SMART / че то я там еще забыл).


Это смешная оптимизация по сравнению с оптимизацием того же GCC.

2.2K
17 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
С чего вы думаете,что в этих компиляторах есть оптимизация?
3.8K
17 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Brezhnev1980
С чего вы думаете,что в этих компиляторах есть оптимизация?


Ты хочешь сказать, с чего я думаю, что в GCC есть оптимизация?

2.2K
18 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Да!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог