Мертвые языки? #203


#0 by skunk
народ асм в настоящее время мертвый или как.
#1 by Vser1
Не совсем, в настоящее время нищу свой он имеет. Некоторые вещи в нем выполняются на порядок быстрее, чем в любом ЯВУ (язык высокого уровня). В большей части он применяется для написания критичных ко времени обработок в модулях подключаемых к ЯВУ или если допускает компилятор, команды ассемблера включаются прямо в программу на ЯВУ (Турбо паскаль, си). Так же на сегоднящний день применяется для программирования микроконтроллеров, правда в них он имеет свои специфику характерную для данного семейства устроиств.
#2 by ODIN
согласен, если он и умрёт то умрёт последним.....
#3 by skunk
нет я имею в виду актуальность его знания. прихожу в контору типа на работу заполняю анкету пишу знаю асм а мне ты парень из каменного века чтоли сейчас рулят танковые клинья и ковровое бомбометание а ля одинС и тому подобное
#4 by Львенок
Не те конторы. ИМХО знание ассемблера означает понимание логики работы процессора впринципе. Т.е. конечно хорошо знать десять языков высокого уровня, но знание ассемблера и понимание архитектуры компьютера, позволит составить свою программу более оптимально. Один мой друг делал серьезную работу по исследованию прохождения волны в кристале. Там использовались нехилые вычисления с комплексными матрицами. И вот после того, как С++ программа была готова и отлажена, он взял и переписал ее ручками на Асме с использованим FPU и SSE инструкций и получил ускорение в 12(!) раз по сравнению с Си (код которого считается одним из наиболее оптимальных и быстрых). Это позволило за приемлимое время рассчитать в 12 раз больше срезов кристала и получить в 12 раз более точные результаты. В итоге работа была опубликавана в Physics Review, а они получили грант. И это было сделано не десять лет назад, а буквально несколько месяцев. Ассемблер еще никто не отменял, т.к. более родного языка для компьютера (не считая машинный код), нет и не будет никогда.
#5 by Vser1
Львенок, хорошо сказал!!! Молодец! Если-б еще это понимание внедрить в массы, тогда на человека знающего асм будут смотреть как на класного спеца. А в нашей жизни приходиться прикидываться универсалом, правда толку от этого становиться все меньше и меньне, ну не может один человек знать все одинаково хорошо.
#6 by Jerry
Уважаемый Vserl, оно то конечно хорошо - знание ассемблера, и ещё лучше - машшинных кодов :), но попробуйте написать на асме небольшую БД для небольшой фирмочки... Ведь почему работодатель кривится на незнакомые ему асмы, тасмы и пр.??? Потому , что он тоже считает время (которое суть бабки) своего работника, потраченное на геморр с асмом или на написание той же БД-хи на напр АДЫН ЭС... ВСЕМУ СВОЁ МЕСТО И ПРИМЕНЕНИЕ !!!
#7 by Львенок
Нет, постойте уважаемый(ая) Jerry, вы или сознательно подменяете понятия, или не понимаете суть вопроса. Никто не призывает писать на ASMе базы данных для фирмы, или еще что бы то ни было. Речь идет о том, что ваша программа, написанная на чем угодно Си, Паскаль, Бейсик, Фортран, Java, Perl в итоге преобразуется компилятором или интерпретатором в машинный код и исполняется он и только он, ибо ничего прочее компьютер исполнять как не умел раньше, так не умеет и сейчас. Так вот речь идет о том, что, вообще говоря, не плохо бы понимать, что же на самом-то деле делает компьютер и как он это делает, насколько быстро он делает одно и на сколько быстро другое. А для этого ассемблер неплохо бы знать. ___ Искренне Ваш, Львенок.
#8 by skunk
Полностью согласен с львенком. Если ТЫ программер, то ты должен понимать, что такое логика программы. А для энтого, много уважаемый Jerry, надо иметь опыт отладки программы. Асм лучше всего подходит для этих целей. Так как он (асм) ни чего не делает сам, а заставляет все делать своими руками, точнее головой. И даже простая программка типа ввод числа заставит попатеть многих так называемых программистов. И если я когда-нибудь стану начальником какого-нибудь ВЦ или ТО, то при выборе из двух кандидатур я выберу того кто знает и умеет писать проги на асаме, даже если асм там будет нужен, как зайцу сигнал СТОП! Кстати без опыта прогроммирования на асм не получиться на писать шуструю обработку в той же один ЭС, так как нет опыта оптимизации программ. И постоянно будут лезть какие-нибудь глюки как у студента первокурсника написавшие туже обработку за 50 р. в перерывах между парами и забывшим, что он натворил в ней через день после сдачи заказчику, так как она досталась малым потом. А значит, если ее что нибудь подобное попросят сделать еще раз он будет делать еще раз. И так раз за разом. А если бы он вылизал его вдоль и поперек проверил на все что только можно и не можно, тогда бы он хранил это сырец как зеницу ока. p.s. кстати многие команды языков высого уровня являются реализацие аналогичных комманд ассемблера. пуф
#9 by Jerry
to 7 - 8... Конечно, никто не спорит, знать принцип работы ЦПУ, ОЗУ, шин необходимо, но опять же, всё сводится к тому, что для работодателя более привлекательным будет видеть на своём предприятии "узко заточенного" спеца (Эсника, напр), чем многоранного ассемблерщика. Дело в том, что узкий спец БЫСТРЕЕ и главное ДЕШЕВЛЕ спеца со знанием низкоуровневых языков выполнит поставленные перед ним бизнес задачи... Пусть при этом его код будет неоптимальным, пусть не таким быстрым, главное он будет ОПТИМАЛЬНЫМ с экономической точки зрения... А с программными тормозами в наше время прнято справляться опятьь же - аппаратными методами (дооснащение более быстрыми машинами парка выч. техники), по крайней мере - это дешевле, чем нанимать более дорогостоящего СИСТЕМНОГО программера... По поводу НЕПЛОХО БЫ ЗНАТЬ... Согласен ! Не плохо... Но даже на это НЕ ПЛОХО - нужно время, которое как я уже говорил, суть деньги... Для этого и прогу надо время (а где его им взять, ведь "кушать хочется уже сейчас") и бизнесмену (надо успеть получить свои экономические преимущества...)
#10 by Serpent
Ну, знать или не знать и зачем - каждый решает сам. Я, например, в свое время отдал много времени программированию зарплаты, так потом дал себе клятву НИКОГДА больше зарплатой не заниматься. Программисту ОдинС знание двоичной системы, регистров, методов адресаций и т.п. - действительно никчему. Но если хочется повысить свой профессиональный уровень - это надо. Только предварительно нужно еще много чего освоить помимо одинС ИМХО С++, например.
#11 by Волшебник
Перед освоением С++ хорошо бы понять принципы ООП. Вот здесь кое-что есть по этому поводу:
#12 by reader
Сегодня ходил на собеседование. Услышал замечательный перл от начальника отдела АСУ: "Программист это прослойка между пользователем и системщиком." Видимо под системщиком он имел в виду сисадмина. Вероятнее всего мне предстоит там работать.
#13 by skunk
Начальник АСУ скорее всего имел в виду системщик - системный программист, тот кто пишет оси, компиляторы и прочую лабуду. программист - прикладной программист, тот кто с помощью созданных системщиком инструментов создает, то что юзают пользователи. Отсюда и прикладнист и является прослойкой между ними. На заре появления ибиэмок, так тогда писюки обзывали, была стандартная фича в ВУЗах.
#14 by Jerry
To Serpent Если прог хочет подняться "в своих и чужих глазах", то тут ему придется для начала определить направление своего т.с. "бизнеса"... Т.е. куда он хочет устремить свой взор... А уж если судить по вышеизложенной ситуации - Эсник, перепрофилирующийся в С++ ники, то тут (ИМХО) прог просто не ту специализацию выбрал ИЗНАЧАЛЬНО !!! Я считаю, что тому же Эснику более ползным было бы (для повышения проф уровня) пойти по одному из таких путей (а то и по обоим): 1. Совершенствование имеющихся навыков в текущей RAD 2. Расширение знаний о новых (конкурентных) RAD, подобной направленности... Опять таки - всё вышеизложенное, суть моё ИМХО...
#15 by skunk
Посмотри тему
#16 by Jerry
Спасибо, skunk! Прочитал, интересно, но их система не применима к нашей полемике. Я гворил (имел ввиду) коммерческие БД для небольших и средних предприятий, а не для сверхспециализированных, исключительных ситуаций. Вопрос непосредственно к Вам - назовите хоть одно предприятие, специализация которого не интернет, а производство ТНП, торговля или иное, что пользуют БД, писанные на ассемблере... Я не думаю, что Вы такие найдёте. И это нормально !!! Кстати, даже сами работники поисковиков признали, для их специфики, стандартные СУБД не пригодны...
#17 by skunk
Здесь я полностью согласен. Так же согласен, что не смогу найти предприятий, который используют БД написанных на ассемблере. Даже больше чем уверен я не смогу найти нормальную БД написанную на ассемблере. Так сказать нет тот уровень. Современые компиляторы(С, Паскаль, Басик), очень оптимально формируют исполняемый код, даже лучше чем люди. Ведь за ними стоит очень большая группа разработчиков, с большим опытом разработки и оптимизации программ. Но в некоторых, как правильно вы заметили, узкоспециализированных ситуаций, требуется знание, пускай не ассемблера, а языка высокого уровня. Ксати, если не трудно Jerry где граница между небольшими, средними и крупными предприятиями. Организация занимающая реализацией ТМЦ имеющего штат около 200 сторудников и номеклатуры, свыше 8000 наименований к какой категории из них относиться.
#18 by Jerry
Как таковой границы между такими организациями нет. Это более чем надуманная условность, используемая для тех или иных целей различных (часто государственных) инстанций. Градацию можно проводить исходя из всевозможных параметров и ни один из них не будет давать чёткую картину о принадлежности фирмы к малому , среднему или крупному виду. Но раз уж такая практика разделения как-то вошла в нашу экономическую жизнь и даже прижилась, то зачастую о "размерах" фирмы судят по численности её сотрудников, товарообороту, размерам фондов и т. д. По поводу вашего предприятия - сложно сказать... Например, стОит ли относить к крупным предприятиям две такие фирмы? 1. Компания-холдинг со штатом в 10 человек (менеджеры) и годовым оборотом в 2-3 млрд долларов. 2. Сталилитейный завод со штатом в 30 000 человек и оборотом в 1,5 млн долларов. Но я не отклоняясь от темы данной ветки хотел бы спросить всех завсегдатаев форума - Как по-вашему, есть ли будущее у таких языков программирования, которые используют для написания (генерации) кода по-настоящему визуальную среду разработки. Т.е. вместо кода, программист лишь "рисует", складывает из объектов-примитивов некоторые логические, визуальные конструкции (кстати - помните детские конструкторы, кубики и т.д. ???) практически работая только одной мышью. Не отомрёт ли ручное написание кода ?
#19 by reminder
Лучше знать асм, чем не знать. Ибо только сравнивая асм и 1С программирование например можно четко видеть будущие системы по сравнению с которым текущий 1С это асм сейчас. Асм нужно знать не по тому, что нужна оптимизация. А потому что для создания целостной и непротиворечивой архитектуры нужно знать материал из которого творишь полностью.
#20 by reminder
Один мой знакомый ассемблерщик разработал свою ОС + программа для обслуживания оборудования на сети бензо-заправок. Теперь кормится с того, что поддерживает и расширяет ее.
#21 by Jerry
Не соглашусь с Вами reminder. Тем более, не из чего творишь , а (я бы сказал) с помощью чего... ИМХО - инструмент и материал - две большие разницы :) Да и зачем Вам знать из какого набора аминокислот, углеводов и сложных молекулярных соединений состоит яблоко, которое Вы использовали (как инструмент и материал) для: наслаждения, насыщения, укрепления организма и в конце концов - для продолжения своей жизни. Главное - оно полезно и ДЕЙСТВЕННО, для решения Ваших вопросов. То же касается и среды разработки. Сомневаюсь, что кто-либо сможет применить знание асма (и иже с ним) для такой оптимизации (переработки) БД, которая бы не тоько окупилась, но и принесла значительную (более 50% от аморт) прибыль только за счёт своего применения в ЛЮБОЙ фирме , с любыми требованиями к ведению учёта.
#22 by Jerry
А если бы эта фирма серьёзно подсчитала реальное ТСО (совокупную стоимость владения) такой системы, то непременно прослезилась бы... Ваш знакомый - просто гений раз подвязал на такое дело на мой взгляд неслабую фирму, создав монополистическую привязку к себе. Теперь он может навязывать фирме любые (почти) финансовые условия :) А на мой вопрос в посту 18 так никто и не ответил :-(
#23 by reminder
Видишь ли Jerry, ты яблоко не создаешь,а используешь. А это две большие разницы. Для того, чтобы использовать много дополнительного ума не надо. И слово точно такое же - USEr. А вот чтобы созидать - это совершенно отдельная тема. Зачастую недоученные USE'ры полагая, что первооснова не стоит, того чтобы ее учить и производят всякое <детское питание>, от которого потом дети умирают. В масштабах программинга это попроще. Но уже сейчас выросло целое поколение врачей - все лечение которые состоит в экспериментальном переборе лекарств - авось какое поможет.
#24 by reminder
Напротив, фирма как раз считает свои деньги. Стоимость катастрофы при использовании традиционного Микрософт ПО - абсолютно ненадежного с точки зрения таких систем намного выше. Стоимость другие ОС реального времени (например QNX) - сопоставимых по характеристикам системы созданного моим знакомым намного превышает фактически понесенную. Пойми Jerry, массовость за которую ты так ратуешь не может быть других средах, кроме записной книжки (Word), калькулятора (Excel) и Бухгалтерской Книги (1С). Все остальное - это исключительно узкоспециализированные решения. Которые кроме разработчиков поддерживать никто реально не может. А то, что большинство среднестатистических юзеров считают что все ПО это виндовс и микрософт это всего лишь еще один глюк, который заботливо подкладывают маркетологи ж)
#25 by reminder
По поводу инструментов и материалов. Чем является содержимое твоей головы при разработке ПО ? Инструментом ? Материалом ? ;))) Разность этих сущностей придумана не для того, чтобы считать что "на самом деле они разны" ж) А всего лишь для конкретного употребления, что вовсе не является универсальным ж))
#26 by Dina
Ну вы сильны! Асм и 1С.... Хи-Хи... Асм в настоящее время - или как. Жил, жив и будет жить.просто знать его не всм и не для всех. Он всё более становится элитным. Системщики по-прежнему существуют, а кто ж драйвера пишет, господа? А вот 1С - не знаю, не уверена. Что-нибудь новое наваяяют умные головы. в строку времени, как обычно. Асм  - это основа, извиняйте, но  на чем сделаны все ЯВУ? и СИ тоже? Писать базы на асме ни к чему, для этого существуют приличные инструменты,заточенные под написание и работы именно с базами. да вы и сами знаете... **** и просто комплимент  по поводу фразы. ...На заре появления ибиэмок, так тогда писюки обзывали  - пять баллов!!!!
#27 by reminder
Дина, практически все драйвера в настоящий момент не пишутся на ассемблере. Они пишутся на Си. Практически все ЯВУ написаны на ЯВУ. Почти все разработчики Embedded решений (компьютер в микроволновке, мобильном телефоне, другом, например сетевом оборудовании) пользуются для разработки Си. Это позволяет поддерживать кроссплатформенность. Очень мало узких специалистов пишут на ассемблере. Но абсолютно все эти люди знанием ассемблера обладают !!! :)) И его применяют. При контроле сгенерированного компилятором кода например.
#28 by Jerry
Да, лучше (выгоднее, проще, дешевле) использовать яблоки, чем возиться с молекулами. Давайте вспомним "славноизвестную" Виндовз 98. Её собирали не на ассемблере, а (насколько мне известно) на С++. Т.е. возились таки с яблоками (хоть и мелкими :) Не будем сейчас судить о качестве, посмотрим лишь, что получили на выходе - самодостаточный продукт, простой, понятный многим и предельно доступный. А этого и ждал конечный пользователь от продукта. Он (продукт) должен был удовлетворить большую часть запросов ЮЗЕра. Это ключ к успеху продукта. Может в том и суть проблемы - не сосредотачиваясь на деталях, МАКСИМАЛЬНО АБСТРАГИРУЯСЬ, направить все усилия (и работать) в сторону решения проблемы (задачи). Последние инициативы Майкрософт в этом плане также сконцентрирована на создании таких сред разработок, где бы программист не забивал себе голову вопросами оптимального использования страниц памяти или просчётом в уме операций двоичной алгебры (извините, что утрирую :) Предвидя упрёки в приведении в качестве примера Вин 9х, скажу следующее: не обязательно знание языка низкого уровня для написание КАЧЕСТВЕННОГО продукта. Тому не мало примеров, когда на том же Делфи ваяют превосходное, стабильное ПО. Да что там говорить, "яблоками" пользуются уже практически все. Если мне не изменяет память, Торвальдс написал ядро к своей ОС не на ассемблере. По поводу массовости - дык, не я превратил создание ПО в МакДональдс for all... Зато в результате такой деятельности, прикладной "компьютинг" стал доступнее ДЛЯ ВСЕХ. Главное, он стал дёшев, прост и относительно надёжен для масс. Широких масс. Почти как горячие пирожки. А Вы видели где-нибудь такие пирожки, что бы их делали в супер-пупер лабораториях с многомиллионным оборудованием повара с университетским образованием микробиологов? Вот вот. Их делают невесть кто, невесть на чём и без исп высоких технологий. Тем не менее, они продаются и утоляют голод многих.
#29 by reminder
А я то думаю, от чего сейчас столько язв желудка, холицеститов, гастритов и прочих желудочных болезней. У меня коллега вон тоже мучается. А все от того, что делает пирожки невесть кто и невесть из чего. Пройдет совсем немного времени и эти "деятели" создадут тред в форуме "микробиология, повара, университеты - мертвые задрочки старины" Ж))
#30 by Jerry
В жизни - все болезни от нервов, одна только от удовольствия. А в сфере ПО - от того, что неофиты как-то стремятся всё делать с применением библиотек curvehands.dll. Не редки случаи, когда такие деятели пытаются писать БД на асемблере, набирать тексты в MS Paint и лепить файловые менеджеры в MS Excel...
#31 by reminder
Слава богу, сошлись в одном - надо все вещи применять по назначению. :))
#32 by reminder
+31 И я надеюсь многие поняли, чтобы применять вещи по назначению надо знать максимально и о вещах и о назначении ж)))
#33 by skunk
Во страсти разгорелись в мое отсутствие. Добавить даже не чего. Хотя могут ответить на вопрос Jerry из топика 18, А как ты думаешь, кто будет делать эти кирпичики для твоего конструктора. По этому ответ один, одни будут делать дома из кирпичей. Другие будут делать эти кирпичи. Кстати если проводить аналогии, можно заметить, что кирпичный дом лучше блочного. Или я не прав?
#34 by Jerry
То skunk Согласен - кирпичики будут производиться людьми хорошо знакомыми с низкоуровневым программированием. Но как ты думаешь - что дешевле, блочный бом, с возможностью (вполне реальной) дать всем (многим) жильё и переселить всех из бараков или десятилетиями стоять в очереди на жильё (пусть и лучшего качества)... ???
#35 by skunk
Вопрос не в дешевизне (ясный перец что жигули дешевле мерседеса, но если ты сможешь позволить купить мерина будешь ли ты смотреть на жучку). Просто ты конкретно задал вопрос, я думаю, что на него ответил. Пока будут жить те кто готов платить за ручной труд программеров, они(программисты) будут существовать. А платить за их труд будут теже сборщики конструкторов. То есть вопрос: Не отомрёт ли ручное написание кода ? ответ: нет не отомрет, никогда.
#36 by Jerry
Конечно, пока есть спрос, будет и предложение. Ручная работа останется, но думаю на несколько порядков её объёмы сократятся... Ведь не будет же в данном секторе бизнеса сотен компаний - производителей "конструкторов"... Уж больно капиталоёмкий "продукт" - этот "конструктор". Посему в сфере попсовых RAD , мне кажется, будут доминировать именно простые (условно) среды разработок, нацеленные на категорию продвинутых пользователей (а не программеров). В таком случае доступным будет не только "компьютинг" сам по себе, но и т.н. SOHO "программинг"... Прям как пирожки...
#37 by skunk
Jerry а ты слыхал про кларион. Скажи реально кто им сейчас пользуется. Был попыткой создания конструктора.
#38 by reminder
Я слышал про кларион. И даже видел его. Очень быстро на нем можно было под дос базы данных клепать. Умер наверное потому, что не было аналога под виндовс. То бишь вместе с досом.
#39 by fellow
Был кларион для винды, для 3.1. Просто не срослось у них, почили, так сказать, в бозе. И они не первые, и не последние.
#40 by Jerry
Разве можно Кларион сравнивать с т.н. "кирпичами", о которых здесь и разгорелась дискуссия? На оном могли писать лишь люди , чётко представляющие себе структуру будущей БД вплоть до таблиц и связей... что не доступно среднему юзеру... Под термином "кирпичики" я понимал нечто, напоминающее среду A-Flow
#41 by reminder
Есть такая прекрасная вещь как SADT. И конкретно IDEF и много юзеров пользует эту гениальную вещь ? ;)
#42 by skunk
К своему стыду должен признать, что про это даже не слыхал. А че за вешь, где можно с ним ознакомиться
#43 by reminder
SADT это методология анализа, проектирования и моделирования. IDEF - это графическая нотация, описания функциональной модели. Самый известный инструмент для работы с IDEF - bpwin. Все эти слова на ya.ru очень просто найти. Применяется в мире еще где то с 60-70 годов. В России SADT стандартом стала в 2001 году.
#44 by Jerry
А много юзеров использует VBA ? А Visual Basic в чистом виде ? Может тут всё дело в их сложности для простого пользователя и недостаточной "визуальности"? Ведь в них тоже надо писать код... руками... На счёт SADT и IDEF не слышал... Наверно в связи с их узкой специализацией, они не нашли должного распространения (ИМХО).
#45 by Волшебник
да, посмеялся от души! :))) Эти методологии предназначены не для того, чтобы генерировать код. А визуальность у них максимальная. На самом деле SADT уже устарел. Ему на смену пришел IDEF, которому на смену приходит UML.
#46 by Jerry
Я же говорил, я не знаю ничего о вишеназванных системах, посему и судить мне о них трудно. Где Вы нашли в моих словах фразу о генерации SADT и/или IDEF кода ?
#47 by Волшебник
>>Ведь в них тоже надо писать код... руками... Там вообще такого нет. И опять же - это не системы и не программные продукты, это методологии.
#48 by Волшебник
Рекомендую зайти сюда:
#49 by Jerry
А нука ещё разок прочитаем пост № 44... :) В нём чётко русским по белому идёт речь о коде в VBA и VB... Я говорю лишь о тех вещах, которые знаю... Складывается впечатление, что мои посты хоть и читают, но понимают превратно... :(
#50 by Волшебник
Вот еще линки по теме: ERWIN (структура базы данных) BPWIN (бизнес-процессы): Rational Rose (UML)
#51 by Волшебник
пардон, прочитал не очень внимательно
#52 by Jerry
Вот так всегда - начали за здравие, закончили... не по теме... Предлагаю ещё раз вернуться к обсуждению вопроса ветки !!!
#53 by reminder
Интересно как SADT может устареть,а IDEF прийти к нему на смену, если SADT это методолгия, а IDEF это просто графическая нотация, принятая в методологии SADT ;)) ????
#54 by Wow__cool
У меня есть знакомая, она раньше на заводе работала программистом. Так вот, раньше при возникновении какой-либо проблемы в проге они все эти листинги на асме, которые вылетают при ошибке в проге, от и до сканировали, но ошибку определяли. Сейчас таких спецов, которые по коду асма могут найти ошибку, - ??? (вобщем очень-...-очень мало). Что, по-моему, мнению, есть неправильно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям