Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

основы   Найти похожие ветки 

 
Сом   (2007-05-02 12:16) [0]

Посоветуйте книгу про основы компьютерного мира. Интересует: работа ос, программ на уровне "нулей и единиц", исполнение программ после компилирования и т.д., т.е для подготовки к обучению программированию. Стал читать Руссиновича ("Внутренне устройство winxp"), но многое там мне показалось не понятным, и немного не в тему.
Спасибо.


 
ferr ©   (2007-05-02 12:21) [1]

Простая(почти детская) книга Петцольда "Код". Про ось надо сначала Таненбаума хоть прочесть..


 
Sergey Masloff   (2007-05-02 12:22) [2]

Петцольд это совсем детская. Про Танненбаума согласен.


 
Piter ©   (2007-05-02 12:38) [3]

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

Если только не будешь заниматься низкоуровневым.


 
Сом   (2007-05-02 12:40) [4]


> Piter ©   (02.05.07 12:38) [3]
> А нафиг тебе это, Сом. Нет, конечно, сейчас многие скажут
> - а так понятнее, концепция и все такое. Но в целом современное
> высокоуровневое программирование ушло настолько далеко (а
> лет через несколько - уйдет еще дальше), что уже пофигу
> в какой ОС будет исполняться твой код, на каком железе и
> остальные характеристики, и как там бегают битики и байтики
> - никому не интересно. Ну если так в общих чертах иерархию
> представлять.
>
> Если только не будешь заниматься низкоуровневым.

Боюсь время упустить(щас мне 15). Да и как то неуютно себя чувствую без этого..))


 
IMHO ©   (2007-05-02 12:47) [5]


> Сом   (02.05.07 12:40) [4]


Не слушай Piter-а, он тебя хорошему не научит. Продолжай читать и тянуться к знаниям.


 
ferr ©   (2007-05-02 12:53) [6]

> [2] Sergey Masloff   (02.05.07 12:22)
> Петцольд это совсем детская. Про Танненбаума согласен.

Всё-таки модет петцольд? =)

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


 
Kostafey ©   (2007-05-02 13:04) [7]

Недавно ветка была про уроки Юрия Зотова.

Тоже не лишне посмотреть.


 
Евстафий   (2007-05-02 13:20) [8]

shop.piter.com/book.phtml?978546901274


 
Piter ©   (2007-05-02 13:52) [9]

IMHO ©   (02.05.07 12:47) [5]
Не слушай Piter-а, он тебя хорошему не научит


ага, слушай IMHO, научишься клево проводить чемпионаты различные ;)

IMHO ©   (02.05.07 12:47) [5]
Продолжай читать и тянуться к знаниям


естественно, только делать это надо грамотно. Ставлю ящик пива, что в свои 15 лет ты на 80% не разберешься в том, что пишет Танненбаум. И наверняка разочаруешься в собственных способностях.
Только подавляющее большинство программистов, в том числе получающие килобаксы за свой профессионализм (без кавычек) также в Танненбауме нифига не поймут.

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

Современные языки, технологии - PHP / Java / .NET - вся их идея в том, чтобы программист не думал о низком уровне, оперируя только высокоуровневыми понятиями. Можно сделать попытку объять необъятное, но получится ли? :)

Так что начинать легко можно с Delphi или того же VB. Потом, если заинтересует как это работает, как это реализовано - разберешься, будет мотивация.

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


 
Piter ©   (2007-05-02 13:56) [10]

Piter ©   (02.05.07 13:52) [9]
тебе и знать то не надо, на чем работает база.


имел в виду, естественно, ОС и железо. Саму БД знать, конечно, надо, ибо пока есть различия большие в работе в той или иной БД.


 
Сом   (2007-05-02 14:05) [11]

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


 
atruhin ©   (2007-05-02 14:05) [12]

> Не слушай Piter-а, он тебя хорошему не научит.

Это точно. А то потом говориш кому нибудь: глянь окно CPU, а в ответ: там буквы не известные.
Общие принципы работы CPU и ОС знать нужно, даже если на какой нибудь джаве работаеш.


 
atruhin ©   (2007-05-02 14:12) [13]

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

Это не имеет ни какого отношения к тому что сказал Piter.

> оперируя только высокоуровневыми понятиями.

Конечно можно. Но простой пример: лет шесть не работал с железом, и уже возникала мысль что и не нужно.
Но на днях в очередном проекте понадобилось написать драйвер для USB устройства, раньше драйвера не писал.
Пара дней ушло почитать литературу, посмотреть шаблоны драйверов, в течении недели сделал то что нужно.
Если не знать основы и принципы, сколько бы ушло времени?


 
Sergey Masloff   (2007-05-02 14:17) [14]

atruhin ©   (02.05.07 14:05) [12]
Ну это передергивание. Реально смотреть в окно CPU бывает нужно раз в 100 лет. Обычно ошибка гораздо выше, и чем пялиться в окно CPU лучше просто лишний раз отойти от компьютера и подумать головой.
 Лично я не раз по пути домой в общественном транспорте решал проблемы которые в окне CPU до этого пару дней искали.
 Хотя если припрет посмотрю без проблем и в окно CPU и в листинг дизассемблера какого-нибудь. Только вот реально необходимость в этом (исключая случаи чистого исследовательского любопытства) не возникала ни разу. Или возникала пару раз но я что-то вспомнить не могу.


 
Sergey Masloff   (2007-05-02 14:18) [15]

atruhin ©   (02.05.07 14:12) [13]
>в течении недели сделал то что нужно.
>Если не знать основы и принципы, сколько бы ушло времени?
Столько же?
Хотя конечно смотря какие основы...


 
atruhin ©   (2007-05-02 14:49) [16]

> Хотя конечно смотря какие основы...

Мы говорим о их полном отсутствии. Piter вроде предлагал "забить" на основы и начинать с ЯВУ.

> Хотя если припрет посмотрю без проблем и в окно CPU и в
> листинг дизассемблера какого-нибудь. Только вот реально
> необходимость в этом (исключая случаи чистого исследовательского
> любопытства) не возникала ни разу.

Согласен. Но ты не использовал знания полученные в результате "исследовательского любопытства"?
Я пару раз смотрел при оптимизации кода. Например подробно изучал работу со строками.
Конкретный пример: после изучения работы AnsiUpperCase (при реализации сортировки), пришлось
написать своб функцию на асм, скорость увеличилась на порядок (замена одной функции).


 
Piter ©   (2007-05-02 15:02) [17]

Сом   (02.05.07 14:05) [11]
Piter, хочешь сказать, что написав прогу, жрущую память


я хочу сказать, что если ты напишешь прогу за месяц и которая будет работать на двухъядерном Core duo 2, то тебе объявят премию и благодарность. А если ты пообещаешь написать тоже самое через 10 лет на ассемблере, которое будет летать на P-100, то тебя уволят.

atruhin ©   (02.05.07 14:05) [12]
Общие принципы работы CPU и ОС знать нужно


ага. А для этого хватит 5-6 нормальных статей про это, которые легко усвоятся. Но не вовсе не таненбаум. Ты сам его читал?

atruhin ©   (02.05.07 14:49) [16]
Мы говорим о их полном отсутствии. Piter вроде предлагал "забить" на основы и начинать с ЯВУ


"мы"? Это не мы. Это ты, который понимает мои слова как хочется.

Да, начинать надо с ЯВУ / RAD, это просто и доступно. Если неподготовленному начинают впаривать про двоичное счисление и семиуровневую иерархию OSI, у него возникает один вопрос "Че?" и вызывает сугубо лишь отвращение.

atruhin ©   (02.05.07 14:49) [16]
Конкретный пример: после изучения работы AnsiUpperCase (при реализации сортировки), пришлось
написать своб функцию на асм, скорость увеличилась на порядок (замена одной функции).


конкретный пример - ты бы мог просто установить функцию источник тормозов, потом залезть на CodeNet какой-нибудь и взять готовую функцию, там люди на спор соревнуются кто напишет самую скоростную функцию. И уверяю, наилучшая наверняка в 2 раза по быстродействию еще и твою обгонит.


 
db2admin   (2007-05-02 15:04) [18]

Piter ©   (02.05.07 15:02) [17]
Человеку 15 лет, самое время, незнание ассемблера и основ в любом случае минус


 
Piter ©   (2007-05-02 15:14) [19]

db2admin   (02.05.07 15:04) [18]
незнание ассемблера и основ в любом случае минус


на пустом месте - это минус. Если вместо знания ассемблера хорошее знание платформы .NET - что это? В большинстве случаев уже плюс.


 
stud ©   (2007-05-02 15:49) [20]

Сом   (02.05.07 12:16)
Интересует: работа ос, программ на уровне "нулей и единиц",

так это - работа микросхем, тут почитать про основы цифровой техики нужно.


 
Проходящий   (2007-05-02 22:23) [21]

Надо изучить ассемблер и все будет на уровне :-)
Качать "Курс молодого бойца" или читать здесь
http://assembler.58r.ru/



Страницы: 1 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.045 c
2-1178748897
switch
2007-05-10 02:14
2007.05.27
Окно ввода пароля


9-1139755441
angour
2006-02-12 17:44
2007.05.27
помощь по созданию игры "ГО" в Delphi


2-1178786378
vitv
2007-05-10 12:39
2007.05.27
DataModule+размещение форм приложения в длл


15-1177196465
Германн
2007-04-22 03:01
2007.05.27
Форум "Прочее"


15-1177685246
oldman
2007-04-27 18:47
2007.05.27
Эх, жалко "Орешник" загнулся.