Перейти к содержимому


Фотография

Не стреляйте в программиста

програмирование языки программирвоания баги и фичи

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 24

OFFLINE   Бубличек

Бубличек

    Член Союза ТА

  • Пользователь
  • PipPipPipPipPip
  • 9 194 сообщений
  • Регистрация 15-Июнь 13
  • ГородМосква
  • Страна: Country Flag

Отправлено 16 Сентябрь 2015 - 14:25

Нетленка

Ветка для программистов.

Тока не ругайтесь.



OFFLINE   Alexey1973

Alexey1973

    Завсегдатай

  • Пользователь
  • PipPipPipPipPip
  • 1 782 сообщений
  • Регистрация 25-Июль 13
  • ГородСамара
  • Страна: Country Flag

Отправлено 15 Октябрь 2015 - 19:32

Нетленка

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

 

Как сын программиста могу сказать, что не всё так однозначно ™.

Вот эта отмеченная черным концепция была волшебным образом реализована на нашем Самарском заводе Экран, где моя маман, окончившая первый выпуск 6 (ИТ) факультета КУАИ в лохматом 1976 году, работала программистом - на ватмане спец. линеечкой рисовала прямоугольнички и ромбики.

А была еще команда типа "кодеров", которые на входе получали от типа программёров ватманы с наскальной живописью и какбэ кодили.

Это был кондовый СССР, кондовая ЭВМ на пол-корпуса, сроки никого не волновали, как и количество потраченных ватмана/перфокарт.

Угадаете, чем все закончилось?

Не зная архитектуры и возможностей языка, программёры рисовали свои фрески настолько через ( . ), что кодеры практически никогда не реализовывали то, что нарисовано. НЕ ПОЛУЧАЛОСЬ. В результате, работа программеров все больше и больше становилась работой в ящик.

 

Что такое "описания" и что такое "машинный язык"?

Если под вторым понимается ассемблер, так в нем уже лет 50 назад программировали только от безысходности, когда надо было засунуть большую программу в маленькую микросхему где-нибудь на луноходе.

Ну или существовал какой-нибудь особенно гадкий кусок кода, который портил все характеристики, его переписывали в ASM.

Если ваше "описание" без участия человека и достаточно эффективно в плане кода можно перевести в ассемблер, то это "описание" называется язык высокого уровня. Именно на них и пишется 99% современного софта.

 

И не стоит вбивать клин между программистами и инженерами.

Я по образованию инженер-системотехник (как бэ программист в том числе).

Кроме чисто программирования делал много еще чего - от проектирования слаботочки до ремонта ТВ/радио стир. машин. Ремонты авто само собой, даже двигатели перебирал.

А сейчас сижу в комнате с 20 другими ИТ спецами, линукс сервера/cisco сеть, двое стриммер-библиотеки админят.

Все оборудование в США, в командировки мотаются регулярно.

Народ тоже сам чинит машины, тянет электропроводку/водопровод, паяет схемы и т.п.

 

А теперь попробуйте доказать мне, что мы - не инженеры.

 

PS Этот обмудмен - сказочный д..б.



OFFLINE   Alexey1973

Alexey1973

    Завсегдатай

  • Пользователь
  • PipPipPipPipPip
  • 1 782 сообщений
  • Регистрация 25-Июль 13
  • ГородСамара
  • Страна: Country Flag

Отправлено 15 Октябрь 2015 - 21:19

Нетленка

 

ИМХО, но языки программирования не являются в полной мере "описанием алгоритма". Это йэзыги ассемблера, в том или ином виде. На Телесиське километры атомного срача были этому посвещены. А вот языки описания алгоритмов ПЛИС, само то. Потому каг описывают поведение в чистом, каг слеза самогона, виде.

 

1. Ща нас из бубликомёта всех положат... Вы бы хоть "чат" ставили

2. Языки программирования таки служат для описания алгоритма.

3. Ассемблерами называют языки, в которых соблюдается требования прямого исполнения. т.е. одна команда ассемблера тождественно равна одной машинной команде определенного процессора. Операнд команды тождественно отображает какой-нибудь регистр процессора или ячейку памяти и т.д.

 

Так что Вы путаетесь в определениях.



OFFLINE   Alexey1973

Alexey1973

    Завсегдатай

  • Пользователь
  • PipPipPipPipPip
  • 1 782 сообщений
  • Регистрация 25-Июль 13
  • ГородСамара
  • Страна: Country Flag

Отправлено 15 Октябрь 2015 - 21:53

Нетленка

;О) Любому ЯВУ можно придумать архитектуру, в которой он будет ассемблером. И описывает не поведение, а последовательность действий. HDL, это описание поведения в каждом выражении.

 

Может быть и можно. Только все предпринимавшиеся до сих пор попытки проигрывали вариантам ЯВУ+Транслятор+ASM

Более того, в какой-то момент даже архитектура CISC показалась избыточной и перешли на сокращенный набор команд.

Не помню точно, чем закончилась эта битва слона с китом, вроде CISC всех заборол по факту.

Хотя в ограниченных областях живет и RISC и кажется даже WLIV (эльбрус, например).

 

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

 

PS Никогда не интересовался HDL. Но судя по его названию, он не может быть языком описания алгоритмов. Он должен быть языком описания СТРУКТУР.

А структура вовсе не обязана быть автоматом, она может реализовывать какую-нибудь двоичную функцию и вообще не иметь внутренних состояний.

В этом случае говорить об алгоритме работы в принципе некорректно.

Описанием логики будет не последовательность шагов, а таблица, содержащая строчки  вида (вектор входных параметров) - (вектор результатов).

 

PS Возможно, я не до конца понимаю написанное Вами:

"И описывает не поведение, а последовательность действий. HDL, это описание поведения в каждом выражении."

 

Что такое поведение сына я знаю - ноет, не слушается, значит надо дать ремня. Что такое поведение применительно к процессору/языку,  да еще "в каждом выражении" - для меня тайна.


Сообщение отредактировал Alexey1973: 15 Октябрь 2015 - 21:53