Нужны ли специалисты по низкоуровневому программированию?
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
Нужны ли специалисты по низкоуровневому программированию?
Читаю книжки по ассемблеру, оптимизации программ (с учётом особенностей архитектуры процессоров x86) и рядом с ними - по MySQL и PHP.
Читаю, и параллельно размышляю: а как сейчас востребованы специалисты по низкоуровневому программированию? Нужны ли сейчас люди хорошо разбирающиеся в ассемблере и тонкой заточке кода под архитектуру?
Другими словами, можно ли получать хорошие деньги, быть востребованным, посвятив себя ассемблеру?
Или же в наши дни скорость и требования в разработке программ сменились и гораздо важнее уметь создавать правильные базы данных, писать качественные скрипты и заниматься веб-программированием?
Интересует чему посвятить себя, чтобы в перспективе за окном стоял свой Porsche
Читаю, и параллельно размышляю: а как сейчас востребованы специалисты по низкоуровневому программированию? Нужны ли сейчас люди хорошо разбирающиеся в ассемблере и тонкой заточке кода под архитектуру?
Другими словами, можно ли получать хорошие деньги, быть востребованным, посвятив себя ассемблеру?
Или же в наши дни скорость и требования в разработке программ сменились и гораздо важнее уметь создавать правильные базы данных, писать качественные скрипты и заниматься веб-программированием?
Интересует чему посвятить себя, чтобы в перспективе за окном стоял свой Porsche
ИМХО самую массовую часть спектра сейчас составляют задачи, для которых оптимизация скорости разработки и поддержки важнее оптимизации скорости выполнения. Т.е. это решения, которые как правило, не сажают процессор на задницу, зато нуждаются в быстрой модификации по первой необходимости.
Отсюда вывод -- в среднем наверное больше нужны специалисты по высокоуровневым языкам.
Это не отменяет высказывания Llama.
Отсюда вывод -- в среднем наверное больше нужны специалисты по высокоуровневым языкам.
Это не отменяет высказывания Llama.
I'll kill this code without a knife -- with only fork().
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
Я всё никак не могу забыть дядьку со стенда IBA на какой-то из выставок TIBO. С красивым американским акцентом и игрой на публику он объяснял мне, тогда ещё школьнику, о серверах IBM zSeries (или zPower?)...
Такой сервер, который они представили на выставке обслуживает БелЖД. Он на глазах у меня логинился из Windows к своему юникс-аккаунту, на сервере, где-то на ул. Богдановича. Тогда я в этом ещё ничего не понимал, но было интересно .
Так вот, его слова на меня тогда очень воздействовали:
"Вы, как тысячи других `программистов` умеете что-то делать всякие поделки в Windows. Кому такие уже нужны? Таких - море!
А вот в нашей стране очень мало людей разбираются в таких серверах, как этот! И такие специалисты нарасхват!, хотя их очень-очень у нас немного, так что для БелЖД даже пришлось вызывать из России.
Так, что, ребята, чтобы быть нужным, нужно изучать - ВОТ ЭТО!"
Хотя, он говорил это так, что вряд ли верил, что мы сможем это .
Сам я в то время программировал на Visual Basic 5.0. , ну и Perl для CGI, так что его слова о тысячах 'спецов' вполне относились и ко мне.
С тех пор я обращаю внимание именно на редкие узкоспециализированные ниши, в которых нет того богатства выбора спецов.
Вот и интересно, можно ли найти хорошую работу, заостряя внимания на ассемблере.
Такой сервер, который они представили на выставке обслуживает БелЖД. Он на глазах у меня логинился из Windows к своему юникс-аккаунту, на сервере, где-то на ул. Богдановича. Тогда я в этом ещё ничего не понимал, но было интересно .
Так вот, его слова на меня тогда очень воздействовали:
"Вы, как тысячи других `программистов` умеете что-то делать всякие поделки в Windows. Кому такие уже нужны? Таких - море!
А вот в нашей стране очень мало людей разбираются в таких серверах, как этот! И такие специалисты нарасхват!, хотя их очень-очень у нас немного, так что для БелЖД даже пришлось вызывать из России.
Так, что, ребята, чтобы быть нужным, нужно изучать - ВОТ ЭТО!"
Хотя, он говорил это так, что вряд ли верил, что мы сможем это .
Сам я в то время программировал на Visual Basic 5.0. , ну и Perl для CGI, так что его слова о тысячах 'спецов' вполне относились и ко мне.
С тех пор я обращаю внимание именно на редкие узкоспециализированные ниши, в которых нет того богатства выбора спецов.
Вот и интересно, можно ли найти хорошую работу, заостряя внимания на ассемблере.
- Speccyfan
- Неотъемлемая часть форума
- Сообщения: 540
- Зарегистрирован: 18 дек 2004, 15:15
- Откуда: Polotsk
- Контактная информация:
На БелЖД используются MAINFRAME IBM 9672 и две IBM 2066 с оперативной памятью 8 Гбайт и дисковой памятью 500 Гбайт.Victor Gr. писал(а):Я всё никак не могу забыть дядьку со стенда IBA на какой-то из выставок TIBO. С красивым американским акцентом и игрой на публику он объяснял мне, тогда ещё школьнику, о серверах IBM zSeries (или zPower?)...
Такой сервер, который они представили на выставке обслуживает БелЖД.
А по поводу асма он нужен, но не обязательно под x86, большим спросом пользуются специалисты умеющие писать под всякие микроконтроллеры типа PIC.
Best Regards, Yury Konovalov aka Speccyfan (2:453/53)
Registered Linux User #379588
Registered Linux User #379588
-
- Неотъемлемая часть форума
- Сообщения: 435
- Зарегистрирован: 03 апр 2004, 17:05
- Контактная информация:
Не попробовавши асма не поймешь, что значит "оптимизировать код" (не вдаваясь в дальнейшее разглагольствование). И даже при сегодняшнем состоянии спектра харда очень часто перед высокоуровневиками становятся задачи по оптимизации той или иной задачи. И зачастую (неоднократно был свидетелем) такие вот "высокоуровневики" садятся на жопу и не знают, с какой стороны посмотреть на задачу.
Считаю, что асм _крайне_ позитивно развивает программиста, расширяя его познания в области харда и понимания тех первопричин, "как та или иная тулза вообще работает, изнутри тскть"... как смог, так выразился.
Считаю, что асм _крайне_ позитивно развивает программиста, расширяя его познания в области харда и понимания тех первопричин, "как та или иная тулза вообще работает, изнутри тскть"... как смог, так выразился.
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
Foxx, это точно. Поэтому и читаю сейчас Юрова как роман. Чтобы просто понять как на нём программируют, расширить свой кругозор в области низкоуровневого программирования.
Всё-таки, гораздо бОльший прирост производительности достигается за счёт алгоритмической оптимизации. И производительности можно в разы увеличит даже на скрипте PHP.
Но вопрос в том, имеет ли смысл с точки зрения дальнейших перспектив, вникать в предмет?
Всё-таки, гораздо бОльший прирост производительности достигается за счёт алгоритмической оптимизации. И производительности можно в разы увеличит даже на скрипте PHP.
Но вопрос в том, имеет ли смысл с точки зрения дальнейших перспектив, вникать в предмет?
-
- Увлекающийся
- Сообщения: 95
- Зарегистрирован: 03 окт 2003, 14:50
- Откуда: Minsk
- Контактная информация:
ИМХО, современные компиляторы достаточно умны, чтобы генерировать оптимальный код. И потратив месяц на написание алгоритма на асме, можно обнаружить, что сишный компилятор сгенерировал то же самое, или даже лучше из кода на Си, написанного за полчаса. Поэтому асм имеет смысл использовать для программирования контроллеров или чего-то специфичного. И чтобы эффективно использовать асм, нужно действительно глубоко в него вникнуть.
Ружья - для понта, ножи - для дела.
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
Flying, ну да. И это ОЧЕНЬ большая заслуга компиляторов. В этом отношении они продвинулись очень далеко.
Просто, если владеешь техникой, ни один компилятор не заменит виртуозной игры мастера. (я не о себе ).
Наверное, на Си в Линуксе можно повторить абсолютно всё, что и на асме.
Я читаю книгу Криса Касперского 'Техника оптимизации программ' - Эффективное использование памяти. Хотя в ней идёт подробный разбор ассемблерного кода, в самом начале автор оговорился, что ВСЕ оптимизации будут проводиться только на языке Высокого Уровня и Си. Никаких ассемблерных вставок!
Просто, если владеешь техникой, ни один компилятор не заменит виртуозной игры мастера. (я не о себе ).
Наверное, на Си в Линуксе можно повторить абсолютно всё, что и на асме.
Я читаю книгу Криса Касперского 'Техника оптимизации программ' - Эффективное использование памяти. Хотя в ней идёт подробный разбор ассемблерного кода, в самом начале автор оговорился, что ВСЕ оптимизации будут проводиться только на языке Высокого Уровня и Си. Никаких ассемблерных вставок!
Скажем так: ИМХО в ассемблер стоит лезть только если _ОЧЕНЬ_ четко предсталяешь что делаешь, как оно работает как будет лучше. _СРЕДНЕМУ_программисту лчше ориентировать на что-то более выкоуровневое - а ассемблер оставить фанатам. Если чуствуешь, что ассемблер это то, без чего жить неможешь - то занимайся этим. Если исходть из сугубо из утилитарных соображения - то займись чем-то более высокоуровневым.
Опыт растет прямо пропорционально выведенному из строя оборудованию
- Юров -- фигня, лучше Зубкова почитать. Гораздо более информативная книга.
- Разница в трудозатратах при программирования на Asm и на C создается не уровнем языка C а наличием у C libc. Если написать для Asm'а libasm, то получится 10% разницы, не больше.
- CC действительно генерирует очень плотный код. Но есть случаи когда CC тупит.
- И нифига Asm не сложный.
Иными вечерами я пью, чтобы кого-нибудь не пристрелить. Это акт благотворительности. Не за что.
Re: Нужны ли специалисты по низкоуровневому программированию
Купи-продай (желательно госсобственность).Victor Gr. писал(а):Интересует чему посвятить себя, чтобы в перспективе за окном стоял свой Porsche
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
Зубков - это справочник, когда уже имеешь предстлавение.
А Юров - учебник. Всё разжевывается и по полочкам раскладывается.
HelloWorld на Си
#include <stdio.c>
main () {
printf ("Hello World!\n");
}
Вызывает функцию printf libc.
Чем это лучше, чем направить системный вызов операционной системе?
Ну можно и прямо в видеопамять написать, но так уж полностью переносимость теряется. Зато, самый быстрый код!
Ну и так далее. Это самый простой пример.
И ещё вопрос. О программировании MMX/SSE. GCC в этом разбирается? Каким образом он решает, стоит ли применять MMX и SSE? Сам, или по явному указанию?
А Юров - учебник. Всё разжевывается и по полочкам раскладывается.
HelloWorld на Си
#include <stdio.c>
main () {
printf ("Hello World!\n");
}
Вызывает функцию printf libc.
Чем это лучше, чем направить системный вызов операционной системе?
Ну можно и прямо в видеопамять написать, но так уж полностью переносимость теряется. Зато, самый быстрый код!
Ну и так далее. Это самый простой пример.
И ещё вопрос. О программировании MMX/SSE. GCC в этом разбирается? Каким образом он решает, стоит ли применять MMX и SSE? Сам, или по явному указанию?
-
- Неотъемлемая часть форума
- Сообщения: 732
- Зарегистрирован: 18 янв 2004, 22:29
- Откуда: Минск
- Контактная информация:
Можно. Знаю одну кантору в Минске, где именно такие и нужны.Victor Gr. писал(а):Вот и интересно, можно ли найти хорошую работу, заостряя внимания на ассемблере.
Только не знаю нужны ли прямо сейчас (имею ввиду, что штат уже наверное набран). И причём нужны именно спецы. Потому что начальник отдела разработки сам спец в этом деле, и работа серьёзная... Только пронрамить там надо микроконтроллеры.