Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 13:00   #11
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
на ЯВУ не так уж и легко написать кроссплатформенное приложение.
Смотря на каком.
Arigato вне форума Ответить с цитированием
Старый 21.02.2011, 15:35   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

на самом ЯВУ не просто, а вот используя библиотеки, легко(Qt например)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.02.2011, 15:41   #13
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Вообще-то сам по себе ЯВУ не имеет ни каких привязок к платформе, если не использовать ассемблерных вставок, то, чисто теоретически, программу можно компилировать под любую платформу, а при желании можно сделать и кроссплатформенную, добавив интерпретатор или компиляцию в некоторый байт-код.
Arigato вне форума Ответить с цитированием
Старый 21.02.2011, 16:23   #14
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Цитата:
на самом ЯВУ не просто, а вот используя библиотеки, легко(Qt например)
Да да да! Это просто неописуемый кайф, посидел на работе под виндой, загрузил исходники в онлайн-файлопомойку, пришел домой, загрузил исходники на ноутбук с линуксом, перекомпилировал и вуаля - тоже самое приложение что и на работе
Еще думаю настроить SVN-сервер и привязать его в Qt Creator-е, да и вообще на ноутбуке поднять FTP(точнее там он уже поднят, осталось только привязать к DNS-аккаунту ).

Кроссплатформенность это хорошо и правильно

По теме: сугубо технически, в рамках одной платформы, нет ничего такого что бы мог С но не мог ассемблер, но есть много чего что не умеет С, но умеет Ассемблер, так как у последнего есть прямой и только прямой доступ к процессору. Прямой в плане использования вычислительных блоков. Ну хотя не совсем прямой так как на самом деле все команды(для х86) виртуальные и на самом деле они разбиваются на микро-операции. Но в любом случае грамотный программист может написать программу так что бы максимально загружать все вычислительные блоки в момент времени. Процессор не ждет пока выполнится последняя команда, он сразу начинает пропускать по конвейерам следующую(загрузка->декодирование->активация операционного блока и загрузка данных, в реальности шагов конечно же намного больше в виду сложной структуры процессора.

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


Если это вопрос вида: изучать или не изучать ассемблер, то ответ однозначен - изучать и как можно более детально, а после можно переходить обратно к ЯВУ, уверен стиль написания программ после этого изменится.

UPD:
Что-то я неправильно выразился:
Алгоритм такой: базовый ЯВУ/СВУ(Си часто относят к группе низкоуровневых языков, но он скорее средне-уровневый язык) - > ассемблер -> ЯВУ, ООП и прочее.
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 22.02.2011 в 11:48.
Ivan_32 вне форума Ответить с цитированием
Старый 21.02.2011, 16:37   #15
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Ivan_32
Что-то я во многом с Вами не согласен. По порядку:

Цитата:
Сообщение от Ivan_32
Но в любом случае грамотный программист может написать программу так что бы максимально загружать все вычислительные блоки в момент времени. Процессор не ждет пока выполнится последняя команда, он сразу начинает пропускать по конвейерам следующую(загрузка->декодирование->активация операционного блока и загрузка данных, в реальности шагов конечно же намного больше в виду сложной структуры процессора.
Не дело это программиста думать о том, как загружен конвейер процессора. Этим должен заниматься компилятор. И, уверен, что компилятор с этим справится лучше. Ну или программист неоправданно потратит кучу времени вместо того, что бы думать над задачей в целом.

Цитата:
Сообщение от Ivan_32
С другой стороны, хороший ассемблерщик и на ЯВУ будет неплохо писать, так как хотя бы будет знать как правильно расположить данные в памяти, что бы процессор особо не напрягался с их подгрузкой.


Если это вопрос вида: изучать или не изучать ассемблер, то ответ однозначен - изучать и как можно более детально, а после можно переходить к ЯВУ, уверен стиль написания программ после этого изменится.
В корне не согласен. Ни в коем случае не начинать с Ассемблера, иначе будет крайне сложно стать хорошим программистом на ЯВУ. Это тоже, что если с Бейсика начинать. Если и учить Ассемблер, то только после того, как в совершенстве освоен хотя бы 1 ЯВУ.
Arigato вне форума Ответить с цитированием
Старый 21.02.2011, 19:27   #16
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Это тоже, что если с Бейсика начинать.
Бейсик уже приравнивается к асму?
Да и как он может сделать из хорошего программиста, плохого?
*PB* вне форума Ответить с цитированием
Старый 21.02.2011, 19:39   #17
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

*PB*
Кто из кого чего сделать, не понял?
Arigato вне форума Ответить с цитированием
Старый 21.02.2011, 19:40   #18
a9N2k
Заблокирован
 
Регистрация: 01.02.2011
Сообщений: 44
По умолчанию

Разница то какая? Все равно при компиляции получается машинный код. Только в первом случае(с) за нас это делает машина, во втором(asm) мы сами, ручками...

Последний раз редактировалось a9N2k; 21.02.2011 в 19:43.
a9N2k вне форума Ответить с цитированием
Старый 21.02.2011, 19:44   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от a9N2k Посмотреть сообщение
Разница то какая? Все равно при компиляции получается машинный код. Только в первом случае(с) за нас это делает машина, во втором(asm) мы сами, ручками...
разница в том насколько эффективен получится асм-код.
да и не все ЯП преобразуются в машинный код.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.02.2011, 20:16   #20
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
*PB*
Кто из кого чего сделать, не понял?
Ну это же вы написали?
Цитата:
Сообщение от Arigato Посмотреть сообщение
В корне не согласен. Ни в коем случае не начинать с Ассемблера, иначе будет крайне сложно стать хорошим программистом на ЯВУ. Это тоже, что если с Бейсика начинать.
*PB* вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADO против BDE VHomer БД в Delphi 15 16.06.2010 16:23
VS C++ против C++ Builder Maladoj C++ Builder 9 06.04.2009 18:55
BDE против ... всех. _SERGEYX_ БД в Delphi 10 18.02.2008 08:10