EvilsInterrupt Те ты народ разводиш все для тя нестоит усилий Также грили чуваки програмеры c которыми я общясля "Асм оцтой мля, да кто его юзает, да кому он нужен и.т.д." Дывай на паблег идею и без процентов для барыг у нас есть WASM.COMMERCE
PaCHER Человеку делать нехрен, вот я ему и предложил и только его дело принять или нет ! :-P Асм не отстой, ты неправ, он красив, велик, могуч. Но уверяю тебя пока ты будешь писать на нем проект и делать все красивости,функциональности по уму, придет барыга напишет на дельфи проект и продаст, а клиент будет жутко довольный этому, что быстро и недорого!
EvilsInterrupt > Ну а че толку изучать, как устроен класс, 1) чтобы писать более эффективные программы; 2) чтобы создавать двоичные библиотеки с классами, совместимые с другими компиляторами; 3) чтобы отлаживать свои программы в двоичном коде (релизы без отладочной инфы); 4) чтобы дизассемблировать чужие программы, восстанавливая иерархию классов, без которой в программе сложно разобраться; 5) для написания своих собственных инструментов, работающих совместно с компилятором; 6) просто для расширения кругозора; > если в данный момент это не приносит тебе денег, а) концентрация на задачах, приносящих выгоду на "данный момент" приводит к деградации программиста как инженера и неспособности решать задачи в дальнейшем; б) умение программировать перпендикулярно умению зарабатывать деньги, а заработать деньги на знании двоичного формата классов очень просто. грубо говоря, все люди делятся на две категории - первые занимаются тем, что им интересно, а уже потом думают как обратить это в деньги. вторые же ищут чем бы заняться таким... денежным. и как показывает практика, первые зарабатывают гораздо больше вторых, особенно если взять миллионеров и посмотреть чем они занимались раньше, то практически все они принадлежали к первой категории. зарабатывать деньги можно даже на воздухе. и для этого совершенно необязательно знать высокие технологии и делать что-то такое, чего не могут сделать окружающие; > которые можно потратить на семью, покупку компа или еще бог весть что? на счет семьи я промолчу, а по поводу компьютера все-таки выскажусь. у меня до сих пор в строю P-II 300 MHz и он нормально работает и моя основания машина это P-III 733 MHz, которой хватает даже на то, чтобы во всю гонять VMWare. > Уж лучше взяться за изучение технологии .NET и как там все устроено, если тебе это интересно - почему бы и заняться? если же ты хочешь заняться этим только для того, чтобы заработать деньги на новый комп, то лучше купи книжку по маркетингу и попробуй научиться выгодно продавать уже имеющиеся у тебя знания/навыки. заодно научишься оценивать риски, ибо если через несколько лет .NET тихо кончит, как это случилось с OLE, которым теперь на низком уровне интересуются только единицы, да и то из любопытства, то все твои наработки пойдут прахом. а вот си - форевер. уже даже компиляторы с си на vm явы появились и ведь это ж неспроста > это еще перспективно - один фиг все там будем, хотим этого или нет! одно время все кричали, что ява вытеснит все языки программирования, а она их не только не вытеснила, но даже существенно и не потеснила. кстати, обрати внимание, что ты сам называешь .NET не языком, а технологией. то есть просто ярлыком, которым можно окрестить все, что угодно > Но уверяю тебя пока ты будешь писать на нем проект и делать > все красивости, функциональности по уму, придет барыга напишет > на дельфи проект и продаст, а клиент будет жутко довольный этому, > что быстро и недорого! на счет недорого сомневаюсь. а если это программа для сжатия видео в реальном времени? напиши ее на дельфи и предложи клиенту. и желательно такому, которому она нужна более, чем в одном экземпляре. сдается мне, что клиент обложит тебя матом, поскольку ему совсем не улыбается выкладывать за железо лишнее бабло и он обратиться за помощью к тем, кто напишет на смеси си+асма кодек, работающий даже на скромном железе. а взять, например, про VoIP или что-то типа того, то там вообще гонка идет, кто больше каналов втиснет в заданные аппаратные мощности, которые не резиновые и даже на итаниумах там без ассемблера не обходится. естественно, писать склад и бух на асме может только извращенец
Поддерживаю Ну у каждого свои запросы, вот мне уже не хватает моего P-M1.5Ghz. Не в плане вычислительной мощности, а в плане новых возможностей(несколько ядер, новые наборы инструкций x86-64, etc).
Дык это не я грил что асм плох, а програмеры с которыми учился. Я только на асме и кодю ибо пока не вижу препядствий чтоб переходить на высокий язык. Будь то COM или еще что. тебе прям ну нехватает SSE3 хоть на стенку лезь
Скажем такова задача, есть технологический процесс, к примеру получуение Окиси Этилена. Этот процесс довольно сложный и включает в себе довольно большое множество датчиков, к примеру устаревшие сейчас советские термометры сопротивления или термопары ХК или ХА, ну или другой тип. Также много датчиков по давлению, множество по расходу продукта и сырья и веществ во внутренних стадиях процесса. Вобщем параметров до икс и больше. На этих датчиках можно построить только стадию первичного преобразования, далее следует более интересный нам, это контроллеры их можно запрограммировать для обсчитывания датчиков, тут согласен для желзки надо бы асм. Контроллеры бывают разные тупые, котрые надо обсчитать и умные которые обладают своими OPC-серверами или возможностью кидания данных в Ehternet-пакетах - тут асм снатяжкой скорее си, чем асм. Ладно нижний уровень АСУТП - бар! Пора бы и за верхний, а че хотят юзеры? Верно: 1. Управление производством сидя за стулом, а тут рулят системы с нечеткой логикой управления 2. Анализ аварийных ситуаций, тут вообще разброд, самое лучше на мой взгляд это OPC-Historycal 3. Подсчитать бабки, скоко купили и сколько продали В п1: а) Отображение на экране значений параметров тех. процесса, как правило обновление не реже 10 сек. Просто так отображать нельзя иногда надо и преобразовывать, к примеру контроллер дает миллиамперы а тебе надо в т\час, тут туева туч задач!!! б) Посмотреть историю, а это и мгновенные и 3х мин. значения,и часовки и полумесяцы и кварталы и полугодия и за год, все эти данные могут обсчитываться по хитрым формулам - вобщем задач поменьше чем в букве а) но ответсвенная, т.к. если истории нет, это крындец! в) На основании истории и тех.значений, рулить где можно без человека тех. процессом или учиться у него, как тот или иной параметр рулить нада! - это задача довольно сложная и не все тут так просто как кажется, думают экспертную систему сделают и баста - ВИГВАМ !!! Описывать п2 и п3 буду если станет интересно, о п.1 это весма не подробно, но вполне дает понять, что если есть проект такого масштаба, то тут изучение классов стоит в сторонке и курит!!! Скажите, нафига учить как устроен класс? Или как с оптимизировать тот или иной код с 200 байтов до 100 байтов, если у сейчас есть задачи, которые более существенней, к примеру научить контролллеры с OPC-серверами интерфейсу IOPCBrowse из OPC спецификации, это даст большую интелликтуальность и настраиваемость контроллерам, а следовательно их покупной характеристике. --- Или к примеру, сейчас очень выгодно в банковской сфере прогнозировать финансовые риски и чем качественней работает информационная система, тем она дороже стоит. Да вы можете написать для этой задачи класс или компонент, но это будет инструмент ведущий к цели. --- Или в военной тематике, чем круче информационные системы предугадывающие где будут падать снаряды через секунду, минуту, а лучше а час - повышает нашу обороноспособность в ПВО. Задач немерено, сиди да реализовывай, я себя нашел - это АСУТП. Думаю и автору надо задуматься, не над молотком, а над тем по какому гвозду надо ударить и стоит ли вообще забивать гвоздь?
Тонко подмечено Набор инструкций я не для себя написал А в качестве примера чего может нехватать :P EvilsInterrupt ниасилил. для обсчета баллистики как раз и были созданы компы, ты думаешь до сих пор не достигли в этом максимальной производительности?
n0name Я не говорю, что недостигли, а говорю что "задач хватает, решай да решай", а это не одно и тоже с твоим:
EvilsInterrupt то, чем ты занимаешься, называется подменой понятий. ты убедительно доказал, что тебе знать двоичное представление классов не нужно, поскольку тебе его будет попросту некуда приткнуть, особенно если ты вообще откажешься от использования приплюснутого си, но ведь изначально вопрос стоят не для чего знать устройства классов лично тебе, а для чего его полезно знать _вообще_ а это, как говорят в одессе, две большие разницы но какой бы инструмент ты ни выбрал для решения своей задачи, без знания его внутреннего устройства ты обречен. > Или к примеру, сейчас очень выгодно в банковской сфере прогнозировать > финансовые риски. Да вы можете написать для этой задачи класс или > компонент, но это будет инструмент ведущий к цели. при чем тут "класс или компонент"? если есть алгоритм, то за написанием дело не станет. выбор инструмента (языка программирования) определяется тучей факторов. это может быть и ява (особенно, если алгоритм допускает реализацию, умещающуюся в сотовых телефонах) и что-то сильно параллельное, если предсказания требуют целого кластера. или php, что рулит на www. но в каждом конкретном случае необходимо владеть выбранным инструментом. в частности, владение джва-ассемблером (и знания байт-кода) позволяет втискивать в скромную процессорную мощь слабых телефонов вполне могучие задачи, уже не решаемые на чистой яве. с другой стороны, если мы арендуем кластер, то там эффективность и оптимизация уже имеют прямое денежное выражение и сокращение времени выполнения глубоко вложенного цикла с 200 тактов до 100 может сэкономить кучу бабла. подумай над этим > Или в военной тематике, чем круче информационные системы предугадывающие > где будут падать снаряды через секунду, минуту, а лучше а час > повышает нашу обороноспособность в ПВО. пример не в кассу. точность предсказаний зависит в первую очередь от количества станций слежения, их технической оснащенности, совершенства баллистических алгоритмов и уже в последнюю непосредственно от самих "информационных систем" как таковых. но это на макро-уровне. на микро-уровне при решении вычислительной задачи, исполняющийся в условиях острой нехватки ресурсов, требуется знать: а) в какой памяти размещаются классы; б) что динамическая память в общем случае не отвечает требованиям критическим системам реального времени. > Задач немерено, сиди да реализовывай, я себя нашел - это АСУТП. > Думаю и автору надо задуматься, не над молотком, а над тем > по какому гвозду надо ударить и стоит ли вообще забивать гвоздь? а ты вообще в курсе, что существуют сотни типов молотков, и что в ряде случаев гвозди вообще не забиваются, а, например, запрессовываются? более того, научиться забивать гвозди так, чтобы они держали, без учета специфических особенностей молотка - невозможно, если, конечно, не применить грубую силу и не вбить сто гвоздей там, где достаточно одного. но даже в рамках этой метафоры, гвозди - гвоздями, а ласточкин хвост и другие типы безгвоздевых соединений никто не отменял. а это уже низкий уровень.
Сколько людев и столько же мнений. У каждого мудреца - своя правда. Но мне кажется у каждого просто другой угол обзора, дай бог бы он оказался у каждого верным.
EvilsInterrupt Я с тобой частично согласен. Сам пишу на шарпе и считаю, что за этим будущее. Суть не в этом. Я просто хотел разобраться. Главное знать как все работает. И не обязательно, что я это буду использовать в своих программах. Когда понимаешь можно предсказывать поведение программы, чувствовать ее работу. Вот что главное. Все спасибо. Просветление наступило!
EvilsInterrupt это не вопрос "правды" и даже не вопрос подхода. при работе с любым инструментом рано или поздно возникает насущная потребность заглянуть к нему под капот, поскольку по-другому поставленная задача просто не решается. естественно, ценность глубинных раскопок чего бы то ни было в долговременной перспективе стремится к нулю (когда-то были люди, знающие назначение каждого байта в ПЗУ спектурма, CP/M, MS-DOS, теперь же, увы, их знания отправились на свалку историю, однако, во времена спектума знание его хитростей позволяло мешать конкурентов с дерьмом, так что главное это держаться на гребне прогресса
kaspersky что главное это держаться на гребне прогресса Не менее важно научиться различать гребень прогресса и дуновение (веяние) моды
q_q > Не менее важно научиться различать гребень прогресса и дуновение (веяние) моды именно так! в частности, существованию си/си++ пока ничего не угрожает и какие бы усилия не предпринимала сан и мс, огромный объем накоженных сорцов не позволит си/си++ в одно мгновение вылететь с рынка, чего нельзя сказать о c#, .NET и прочих новинках, которые могут уйти в небытие так же внезапно как они вплыли на гребне популярности. во все времена появлялось и исчезало большое кол-во языков и наше время - не исключение
kaspersky >>необходимо владеть выбранным инструментом. в частности, владение джва-ассемблером (и знания байт-кода) >>позволяет втискивать в скромную процессорную мощь слабых телефонов вполне могучие задачи, уже не решаемые >>на чистой яве. Крис, а вот здесь можно подробнее ? Вопросом интересуюсь, но насколько знаю, java-asm применяется только для декомпиляции и анализа .class файлов, а вот о решении задач более серьёзных не слыхал. ps и про С-компилер для jvm - тоже, если можно: что это за проект ?
rubberrat > Крис, а вот здесь можно подробнее ? > Вопросом интересуюсь, но насколько знаю, java-asm > применяется только для декомпиляции и анализа .class файлов, > а вот о решении задач более серьёзных не слыхал. http://jasmin.sourceforge.net/ Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading by a Java runtime system. Jasmin was originally created as a companion to the book "Java Virtual Machine", written by Jon Meyer and Troy Downing and published by O'Reilly Associates. Since then, it has become the de-facto standard assembly format for Java. It is used in dozens of compiler classes throughout the world, and has been ported and cloned multiple times. For better or worse, Jasmin remains the oldest and the original Java assembler. > и про С-компилер для jvm - тоже, если можно: что это за проект ? в викепедии набери java там будут ссылки на коллекцию трансляторов с разных языков в jvm: от ады до кобола, включая паскаль, бейсик и все-все-все.
kaspersky Ах, jasmin Здорово. Только jasmin не развивается, достаточно взглянуть на дату обновления на сайте. И не собирался , по-моему. Это не более , чем игра ума Джонатана Мейера. Может, быть он рассчитывал на популярность jasmina, не знаю. У него, кстати, и книга есть, на амазоне продаётся ещё, такой же почтенный возраст. Дело в том , что использование jasmina не даёт никаких преимуществ перед использованием штатного компилера из jdk. Поэтому проектов, типа "а вот я на java-asm наваял могучую задачу, а штатные компилер не смог " пока нет. Мне google сказал
rubberrat август 2006 - не такой уж и старый. просто сейчас у автора нет времени. я обменялся с ним несколькими версиями и получил последую правку несколько месяцев назад, почему она не выложена на сайт - хз. про "могучие задачи" - где это я говорил? эффективные - да. конечно, 3D игру на моем сименсе S55 на java не запрограммируешь, но вот вьювер картинок пришлось переписать, бо штатный тормозил сильнее, чем асфальтовый каток. лично мне оказалось разобраться со спецификацией на jvm проще, чем осилить язык java.