Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
Сом   (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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1177416368
alex_***
2007-04-24 16:06
2007.05.27
Транзакции для распределенных систем. Кто использовал?


15-1178104787
ShadowMan
2007-05-02 15:19
2007.05.27
Метка перехода на определенное место в файле


9-1149530476
-=OpeR=-
2006-06-05 22:01
2007.05.27
Помогите с алгоритм оптимального размещения


15-1178039529
Scaltro
2007-05-01 21:12
2007.05.27
Помогите, очень нужент крак к программе Actual Title Buttons 4.3





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский