369 / 11 / 1
Регистрация: 23.08.2013
Сообщений: 174

Знание/не знание устройства компьютера

06.09.2013, 19:33. Показов 1522. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я убедился, что программисты нашей фирмы знают устройство компьютера. Видимо они изучали это в институте. Те кто изучает программирование по самоучителям тоже сталкивается с темами по устройству компьютера. Когда я начал листать учебник, то пропустил этот материал и начал сразу с основ программирования. Правильно ли я сделал?
Я подумал что языки программирования написаны для некой "абстрактной машины" и для того чтобы программировать достаточно знать только математику. А пригодятся ли на самом деле знания об устройстве компьютера?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.09.2013, 19:33
Ответы с готовыми решениями:

Что такое "знание языка программирования"?
Я понимаю это так: человек, знающий язык программирования может перевести любой алгоритм с человеческого языка на язык, понятный машине. А...

Тест на знание работы и устройства процессоров
1.В какой модели процессора впервые была применена суперскалярная архитектура? 2.В каких моделях процессоров шина данных более 32...

Знание ООП
Кому не трудно, пожалуйста, оцените мои знания PHP5 и объектно-ориентированного программирования. Прикрепил архив с простеньким...

16
 Аватар для Da vinci
15 / 15 / 0
Регистрация: 15.08.2013
Сообщений: 64
06.09.2013, 23:14
Конечно пригодятся, к примеру если вы решите программировать на ассемблере.
1
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
07.09.2013, 13:35
Цитата Сообщение от Softkhoz Посмотреть сообщение
А пригодятся ли на самом деле знания об устройстве компьютера?
В общем да. Например часто встречается выражение "функция возвращет значение". Объясните своими словами что это значит. А потом я (как бывший железячник) - и сравним
1
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,204
Записей в блоге: 24
07.09.2013, 14:34
Цитата Сообщение от Igor3D Посмотреть сообщение
В общем да. Например часто встречается выражение "функция возвращет значение". Объясните своими словами что это значит. А потом я (как бывший железячник) - и сравним
Эх, Irog3D, не нравятся мне Ваши взгляды. Не ради холивара, но в его честь возражу Вам.

Прагматичный взгляд таков: нужно знать только то, что знать достаточно для эффективной работы.
Вот мне за короткий срок довелось разговаривать с несколькими учёными. Была поставлена одинаковая задача: диффузия примесей в среде. Первым был выч. физик, который решал уравнения диффузии. Не мне Вам рассказывать, как тяжело без сферических коней в вакууме решать уравнения из реального мира численно. Но вот он считал, что уравнения описывают мир, а потому большей конкретики не нужно. Например, для него знания того, какие именно (в цифрах) плотности есть, какой материал — лишняя информация. Другой человек, с которым я говорил, искренне верил, что выч.физик, решающий задачу диффузии ниобия в титане, легированным ниобием, без конкретных до второго знака в мантиссе всех параметров модели, — это теоретик, занимающийся сверхабстрактной задачей, почти не связанной с реальностью. Ощутите контраст.

Вам ответ: «функция f на аргументе x возвращает значение y» означает
1. в лямбде: f(x) редуцируется до y
2. в теории множеств: x вступает в отношение f с y, то есть https://www.cyberforum.ru/cgi-bin/latex.cgi?(x,y)\in f
3. обычно предполагается возможность производить некоторые побочные действия. Механизмы бывают разными, остановлюсь на двух:
3.1. функция — это процедура (подпрограмма) с одним указателем, исп. только на запись:
C#
1
void f(int x, out res)
Pascal
1
procedure f(x:integer; res:pointer);
в этом случае фраза означает, что после исполнения f(x,res=new()) выполняется y=res^, new() — выделение памяти, res^ — разыменование.
3.2. в EcmaScript, например, вводится [[CALL]] — псевдометод функции как объекта Function, через который описывается применение функции к аргументам (http://javascript.ru/ecma/part11#a-11.2.3). Работа [[CALL]] описывается, как вычисление Тела Функции. Ваша фраза означает, что после вычисления f(x) — кода Тела Функции f в соответствующем контексте исполнения — получится объект y. Точнее, получится объект Completion вида (return, y), где return указывает на то, что функция завершилась инструкцией return expr, причём expr при оценке дало объект y.

По теме: знать особенности исполнителя полезно. Но не всегда необходимо. Вот например, электродинамику знать полезно, потому что с её помощью можно прояснить многое в электронике. В свою очередь, электроника позволяет объяснить строение компьютера, которое в свою очередь позволяет описать, что да как да почему работает в откомпилированной программе. До основ не доберёшься. Используйте возможность узнать об исполнителе, но не зацикливайтесь на этом, если это не есть Ваша цель.
2
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
07.09.2013, 18:03
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Эх, Irog3D, не нравятся мне Ваши взгляды.
Просто есть разные взгляды, обмен ими (в культурной форме) на мой взгляд интересен.

Хорошо, послушаем ответ ТС (а то в "почемучку" играть легко), а потом я кажу свою версию. Да, и вот еще из той же оперы

- приведите пример фунуции которая не вычисляет свои аргумент(ы)
1
369 / 11 / 1
Регистрация: 23.08.2013
Сообщений: 174
07.09.2013, 18:17  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Просто есть разные взгляды, обмен ими (в культурной форме) на мой взгляд интересен.

Хорошо, послушаем ответ ТС (а то в "почемучку" играть легко), а потом я кажу свою версию. Да, и вот еще из той же оперы

- приведите пример фунуции которая не вычисляет свои аргумент(ы)
Функция, которая не вычисляет аргументы, например функция СЛЧИС() в Excel.

Добавлено через 3 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
В общем да. Например часто встречается выражение "функция возвращет значение". Объясните своими словами что это значит. А потом я (как бывший железячник) - и сравним
Абстрактными понятиями не объяснишь. Возвращает значение, значит выдает результат в то же место, из которого были получены исходные данные.
0
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
07.09.2013, 19:17
Цитата Сообщение от Softkhoz Посмотреть сообщение
Функция, которая не вычисляет аргументы, например функция СЛЧИС() в Excel.
Насколько мне известно, она их просто не имеет. Это не то

Цитата Сообщение от Softkhoz Посмотреть сообщение
Абстрактными понятиями не объяснишь. Возвращает значение, значит выдает результат в то же место, из которого были получены исходные данные.
Мое определение

возвращаемое значение - это содержимое регистра AX после того как ф-ция вернула управление
Разумеется "академически" это совершенно неправильно Результат может быть в др и/или неск регистрах, на стеке, а в модных языках вообще.. Да и "собственно AX" уже давно нет. Однако на мой взгляд человеку хоть как-то знакомому с железом это все и сразу объясняет. Ясно что если немедленно не переписать AX куда-то (обычно в переменную) то мы его потеряем, что впрочем не всегда ошибка.
1
369 / 11 / 1
Регистрация: 23.08.2013
Сообщений: 174
07.09.2013, 20:29  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Насколько мне известно, она их просто не имеет. Это не то

Мое определение



Разумеется "академически" это совершенно неправильно Результат может быть в др и/или неск регистрах, на стеке, а в модных языках вообще.. Да и "собственно AX" уже давно нет. Однако на мой взгляд человеку хоть как-то знакомому с железом это все и сразу объясняет. Ясно что если немедленно не переписать AX куда-то (обычно в переменную) то мы его потеряем, что впрочем не всегда ошибка.
Я изучал импульсную и вычислительную технику в колледже. Имел дело с программой ElectronicWorkBench и эмулятором микропроцессорной системы. Но, к сожалению, почти ничего не помню...

Добавлено через 3 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
Насколько мне известно, она их просто не имеет. Это не то

Мое определение



Разумеется "академически" это совершенно неправильно Результат может быть в др и/или неск регистрах, на стеке, а в модных языках вообще.. Да и "собственно AX" уже давно нет. Однако на мой взгляд человеку хоть как-то знакомому с железом это все и сразу объясняет. Ясно что если немедленно не переписать AX куда-то (обычно в переменную) то мы его потеряем, что впрочем не всегда ошибка.
В таком случае могу привести пример функции ДВССЫЛ(А1) она не вычисляет аргумент, она на него ссылается.
0
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
07.09.2013, 21:05

Не по теме:


Не стоит злоупотреблять цитированием если и так ясно о чем речь


Цитата Сообщение от Softkhoz Посмотреть сообщение
В таком случае могу привести пример функции ДВССЫЛ(А1) она не вычисляет аргумент, она на него ссылается.
Ну примерчики у Вас Ссылка тоже "вычисляется" - в том смысле что есть хотя бы одна машинная команда оперирующая с аргументом. Вообще понятие "ссылка" лучше тоже объяснить с позиций железа - хотя физически ее не существует.

Как видите, знание железа совсем небесполезно. По поводу всяких там изучений в колледже - фуфло. Вот заклинит код, берете отладчик - и смотрите, ото изучение.
1
369 / 11 / 1
Регистрация: 23.08.2013
Сообщений: 174
07.09.2013, 21:21  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение

Не по теме:


Не стоит злоупотреблять цитированием если и так ясно о чем речь


Ну примерчики у Вас Ссылка тоже "вычисляется" - в том смысле что есть хотя бы одна машинная команда оперирующая с аргументом. Вообще понятие "ссылка" лучше тоже объяснить с позиций железа - хотя физически ее не существует.

Как видите, знание железа совсем небесполезно. По поводу всяких там изучений в колледже - фуфло. Вот заклинит код, берете отладчик - и смотрите, ото изучение.
Излишнее цитирование? А что поделаешь - с телефона пишу.

Добавлено через 3 минуты
То есть вы утверждаете, что функция, которая не вычисляет своих аргументов, в программном виде существовать не может. А может лишь в аппаратном виде. Сам не понял, что сказал...
Тогда какая связь между этой функцией и знанием железа?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
07.09.2013, 21:44

Не по теме:

Цитата Сообщение от Igor3D Посмотреть сообщение
возвращаемое значение - это содержимое регистра AX после того как ф-ция вернула управление
я бы мог тебе привести кучу процессоров где нет AX
но даже на х86 ты не совсем прав возвращать может в флаге C (для bool)а так же
AX для 16 компиляторов и 16 значений DX:AX 16битные компиляторы и 32битные значения EAX 32 битные компиляторы EAX:EDX 64битные значения 32битные компиляторы
за 64 битные компиляторы не скажу, не знаю


Цитата Сообщение от Softkhoz Посмотреть сообщение
Я подумал что языки программирования написаны для некой "абстрактной машины" и для того чтобы программировать достаточно знать только математику.
для того чтобы программировать да
но нужны еще ввод/вывод без этого программа не нужна
а там, особенно если работаешь с графикой, уже нужно знать особенности ОС
плюс если ты пытаешься оптимизировать вручную, это чаше всего ассемблер, знание железа необходимы
а если захочешь написать БИОС то без знаний железа никуда
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
07.09.2013, 23:02
Знания лишними не бывают. Но есть разные подходы:

Инженерный - когда можно сказать: "вот ЭТО - черный ящик. Как он работает, мне знать не обязательно. Достаточно подать вот это на вход, чтобы получить нужный выход". Пример: инженер-электроник не обязан знать, как работает транзистор. Ему достаточно знать его внешние характеристики

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

В действительности, в мышлении человека присутствуют оба подхода. Избыток одного из них может и вредить... Все зависит от задач и от пристрастий.
1
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
08.09.2013, 07:27
Цитата Сообщение от Softkhoz Посмотреть сообщение
То есть вы утверждаете, что функция, которая не вычисляет своих аргументов, в программном виде существовать не может. А может лишь в аппаратном виде. Сам не понял, что сказал...
Сказали неплохо, только наоборот

Цитата Сообщение от Softkhoz Посмотреть сообщение
Тогда какая связь между этой функцией и знанием железа?
Та же самая. У человека знакомого с машинным кодом (пусть немного) такой вопрос не вызываает никаких затруднений.

Цитата Сообщение от Catstail Посмотреть сообщение
Знания лишними не бывают.
Еще как бывают. Отсутстаие логического мЫшления часто компенсируется усиленным запоминанием - напр тех же паттернов.
1
08.09.2013, 08:14

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Но есть разные подходы:
Цитата Сообщение от Catstail Посмотреть сообщение
Инженерный - когда можно сказать: "вот ЭТО - черный ящик.
Цитата Сообщение от Catstail Посмотреть сообщение
Подход ученого - без черых ящиков. Ученый стремится понять, что происходит внутри.
вспомнилось старое
"Специалист стремится узнать много о малом, философ немного обо всем.Кончится тем что специалист будет все о ни о чем, а философ ничего про все"(дословно не помню)

1
369 / 11 / 1
Регистрация: 23.08.2013
Сообщений: 174
08.09.2013, 08:16  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Сказали неплохо, только наоборот

Та же самая. У человека знакомого с машинным кодом (пусть немного) такой вопрос не вызываает никаких затруднений.

Еще как бывают. Отсутстаие логического мЫшления часто компенсируется усиленным запоминанием - напр тех же паттернов.
Понятно, что ничего не понятно...
0
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,924
Записей в блоге: 2
08.09.2013, 08:45
Цитата Сообщение от Softkhoz Посмотреть сообщение
Понятно, что ничего не понятно...
C
1
2
3
4
int a = sizeof(a);
// или так
for (int i = 0; i < sizeof(b) / sizeof(b[0]); ++i)
...
Здесь не будет ни передачи аргумента в ф-цию, ни деления, ни вызова самой ф-ции - в машинном коде будет просто число, подставленное компилятором. Excel по натуре интерпретатор, поэтому такие штучки Вам незнакомы, но они совсем просты
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
08.09.2013, 10:03
Цитата Сообщение от Igor3D Посмотреть сообщение
Еще как бывают. Отсутстаие логического мЫшления часто компенсируется усиленным запоминанием
- так это - не знания. Знания, это факты, приведенные в систему и взаимоувязанные логикой. И повторю: знаний лишних не бывает! А запоминать может и магнитофон (причем, сделает это лучше человека).

Могу развернуть свой тезис: берем, к примеру, хирургию. Повредит ли хирургу знание, например, механики? Нет, поможет. Тут можно было бы возразить: а нужны ли хирургу знания в области лингвистики? Навскидку - нет. Но мышление человека - сложный и непознанный (пока) процесс. Возможно и влияние знаний из совсем несмежных областей.

Применительно к программированию. Знакомство с машинным языком полезно однозначно! Помню, никак не укладывались у меня объекты... Пока в одной книге не прочитал, что есть объект с точки зрения ассемблера - просто блок памяти, в котором лежат значения полей и ссылки на методы. Всё!

Вот так.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.09.2013, 10:03
Помогаю со студенческими работами здесь

Знание протоколв
Читаю книгу по сетям и там написанао очень подробно про протоколы вплоть до того сколько байт отводиться на ту или иную информацию.Нужно ли...

Тест на знание C++
Господин Usaga, у меня есть идея. Предлагаю оценить мои знания C++ в деле. Дайте мне какое-нибудь задание, которое сами можете выполнить за...

Знание - сила!
Баг пофиксили. Закрывайте тему. Читаем тут!

Тест на знание предмета
Задали тест. Нужна помощь с одной функцией теста. Вообщем необходимо сделать так, чтобы при вводе числа в диапазоне от 1 до 50, выдавал...

Знание архитектуры x86
Нашёл вакансию junior программиста С++, но нужно знание архитектруы х86. Что означает &quot;Знание архитектуры х86&quot;, какие книги...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru