Колдун-ассемблерист - это тот, который полгода тратит на то, чтобы пешком дойти до места назначения, поставить там указатель и всю оставшуюся жизнь выпендриваться, как он может туда телепортироваться за 0,5 секунды.
Ассемблер - "мнемокод" для человеков, он транслируется в машинный код. Они не тождественны.
И если какой-нибудь NOP уныло превращается в 0х90, то есть команды и посложнее. Есть разные прыжки, есть, в конце концов, аргументы. Есть метки, которые нужно преобразовать в адреса переходов везде где они используются.
А есть ещё микрокод, я знаю. Но по сути ассемблер, особенно на харде попроще, - наименьший уровень абстракции от битов в машине. И никто не пишет в битах уже лет 40 кроме единиц фанатиков.
Потому разницы в скорости и эффективности между кодом ассамблерщика и того кто пишет на двоичном коде просто нет.
Это-то понятно, но ассемблер от этого не перестанет быть программой, а не языком. Неправильная формулировка мысли может сильно исказить её не в лучшую сторону. Говорить "я пишу на ассемблере" в обыденном разговоре это нормально (сленг, просторечие и всё такое), но заявлять, что ассемблер это и есть машинный код, абсолютно неверно.
Но при этом замечу с негодованием что наверху правы по формальным признакам. Код на Ассемблере можно перевести в машинный код буквально с помощью ручки и таблички соответствия комманд языка ассемблера и машинного кода , но тем не менее это действительно разные вещи.
Но суть в том что разницы скорости если писать на ассемблере или сразу на машинном коде не будет. И те и другие будут стремительно скрываться за пределами наблюдаемой вселенной.
7 лет назад делал лабу, надо было придумать алгоритм и записать его в двоичном коде, я даже сделал где то треть, за что мне поставили тройку и отпустили с миром
Меня поразил Altair 8800. Базовый вариант подразумевал программирование в бинарном коде путем щелканья тумблера на лицевой панели. При этом он все равно был популярным и проложил дорогу прочим персональным компьютерам.
Рядом шарписты летят в самолете, построенном из запчастей других самолетов разных эпох, и они даже не знают, куда их везут. Иногда самолет летит быстро и привозит куда нужно. Иногда вход в самолет меняется в зависимости от влажности в офисе производителя самолета. Иногда самолет начинает разрастаться сам по себе, чтобы вместить внутри себя вещи, которые тебе не пригодятся в полете - наковальню, 372 копии Войны и Мира на восьми языках, три пачки напольной плитки и морозильник с уже приготовленными дошираками.
Потому что сам написан на C и создан был для удобства программирования, а не для скорости. Если запариться скоростью вычислений в питоне, то там можно делать вырвиглазные вещи - в основном, использовать неподходящие по смыслу методы для решения конкретной задачи через жопу, но будет быстрее о_О.
Ну мб кто-то хочет писать основную логику на питоне. Недавно вот узнал про numba, но еще руки не дошли потестить. А так да, потери на производительности логики, которая сцепляет библиотеки, которые как раз и перемалывают данные, незначительны. Главное, чтобы эти самые библиотеки были оптимизированы.
Ну вот пайтон очень часто и много юзают в науке. Зачастую ставится задача - дать прирост скорости вычислений чего-то там за счёт применения новых или альтернативных методов. И учитывая тормоза интерпретатора, порой сложно оценить, получил ты этот самый прирост или нет.
могу заверить, что матлаб в науке был и будет на первом месте с огромным отрывом. ориентация на матричные операции это мега удобно в научной деятельности, плюс simulink это основное средство математического моделирования
В биологии , биомедицине, фарме не так, совсем не так.
В вакансиях биоинформатикой ты не найдешь матлаба, если конечно это не вакансия в древнюю умирающую лабу в дыре.
а как думаешь, в какой среде разрабатываются алгоритмы обработки данных в устройствах МРТ, ЭКГ, и т.п. процедур? насчёт бионформатики в матлабе даже есть целый bioinformatics toolbox, лол. и это даже не говоря о любых областях физики и математики, для которых матлаб создавался в первую очередь, и где из него не вылезают
ну я же тоже не спроста говорю, тоже имел продолжительный опыт в западном университете, сейчас работаю рядом в крупной компании, занимающейся в частности и научной деятельностью. и там и там все люди, чья работа связана с линейной алгеброй, обработкой сигналов, физическими науками всегда используют матлаб. по изучаемым публикациям из других мест всегда тоже видно, что расчёты в первую очередь в матлабе. товарищ взял онлайн курсы machine learning в большом американском универе, даже там в области, казалось бы полностью покрываемой питоном, в первую очередь матлаб.
ваша область очевидно ещё более специфична, поэтому я не сомневаюсь, что у вас присутствуют сугубо специфиные средства работы, но в области мат моделирования в целом и синтеза алгоритмов обработки данных матлаб является несомненным лидером
Она есть, она вызывает интерес, но говорить о ней как об убийце питона преждевременно. Я ей не владею, те кто пользуется говорит что она быстрая, так как компилируется на лету, но как R заточена на определенные задачи, где скорость не всегда важна. Короче надо наблюдать.
Модули матлаба стоят приличных денег, у универа может не быть подписки, а учёного может душить жаба покупать для себя. Плюс матлаб и невинда - большой гемор, особенно если у тебя есть некий headless-девайс, который должен что-то там молотить.
Но далеко не всегда предоставляют нужные модули. И ещё раз: как быть со всем, что не является моделированием-симулированием? Со всем, что нужно запускать не под виндовой машиной? Да, понятно, в том же матлабе есть модули по переводу в C/C++, но это лишний гемор и отъём времени на ненаучные изыскания.
моделирование-симулирование - это наибольшая состовляющая исследования в большинстве научных обастей. если требуется код на C/С++ под embedded system, то несомненно должен быть составлен вручную, но если он вдобавок реализует некий алгоритм обработки сигналов, то результаты обязательно должны верифицироваться по модели, составленной угадай где
Смотря для каких целей. Зачастую нет разницы будет скрипт выполняться 5 секунд или 50 секунд, если он делается для конкретного и разового дела. Но тут главное как быстро ты его напишешь. Я написал скрипт который перерабатывает сотни csv, агрегирует их и чистит. Он работает где-то за 10 секунд на моём ноуте. Мог бы я написать что-нибудь быстрее? Мог бы. Но зачем? Я написал скрипт за полчаса, у меня нет желания возиться с ним часами.
Я ж и описал сценарий применения, в котором скорость вычислений ставится во главу стола, ибо хрен пойми, получилось ли лучше и насколько. В твоём случае - автоматизация рабочего процесса.
Проблема в том, что питорасты лезут везде. Например, в Gentoo пакетный менеджер написан на питоне и, как следствие, при какой-то жалкой тысяче пакетов он на соврменной мощной машине секунд на 30 задумывается, чтобы разобраться с зависимостями. На слабой виртуалке он легко может тупить минут пять, чтобы потом сообщить, что вот обнаружен конфликт и идите все в хуй.
Или вот есть два слайсера для 3Д-принтеров, один написан на Питоне, другой на Перле. Оба языка интерпретируемые. Угадай, какой готовит модельку 10 минут, а какой - около 20 секунд?
а где унижают то?
java/c++ - метла, проверенная годами классика, незаменимая в определённых ситуациях, хотя и не особо "модная", но применяется активно и повсеместно
python - робот-пылесос, модная штука со своими плюшками, для кого-то игрушка, для кого-то важный помощник, может подходить не для всех ситуаций (попробуй сделать роботом генеральную уборку)
Человеки-программисты, ответьте объективно.
В 36 лет возможно сменить профессию с инженера на программиста и начать нормально зарабатывать хотя бы к 40? Или это нереализуемая мечта и нехер выебываться?
Если инженер то думаю проблем не будет, технари быстро учатся. Но кодить надо по любви, иначе сгоришь нахрен.
Но в ИТ и без кодинга инженер много где может заработать. Например серьезно сисадминить. То есть скрипты ты все равно писать будешь, но не в таком объеме как разработчики.
Ну сисадминить в большом городе надо начинать, а вот кодить я так понимаю в любом, был бы инет. Ладно, спасибо, посмотрю все таки на сколько моих мозгов хватит.
у меня аналогично. но вот вопрос: легко ли будет найти работу джуном в 40? как относятся к такому возрасту при приёме на работу, не староват ли? ведь скорее всего твои коллеги парни лет 25-30, начальник тоже младше тебя. какова вероятность что из джуна ты вырастишь в мидла и с удвоением/утроением дохода? при том что ты среднего ума человек.
Отличный комментарий!