LINUX.ORG.RU

Развитие программистского кругозора


1

4

Я начинающий С# программист. Посоветуйте, чем заниматься для развития «специального» кругозора, чтобы на одном не зацикливаться, чтобы можно в другие области безболезненно переходить, гибкий мозг и всё такое. Думаю Кернигана/Ритчи как минимум осилить.


Кернигана/Ритчи

не нужно, там все безнадежно протухло

stevejobs ★★★★☆
()
Ответ на: комментарий от Manhunt

2. SICP, после прочтения даёт +10 к илитарности.

Поддерживаю

unfo ★★★★★
()

гибкий мозг

Наш мозг и так достаточно гибок, но ему череп мешает гнуться и растекаться.

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

И в любой области деятельности, от человека знакомого с предметной областью и умеющего чуть-чуть программировать куда больше толку чем от человека с «фундаментальным программистким образованием» но с областью незнакомого. Поэтому учите в первую очередь физику, химию, математику, биологию, бухгалтерию - ну чем Вы там заниматься собрались...

AIv ★★★★★
()

Лучше что-нибудь из свежайших разработок Кена Томпсона почитай. Java ты уже не осилишь.

iZEN ★★★★★
()
Ответ на: комментарий от nokachi

Железо? Каким именно этапом производства заниматься? Компьютеры это оооооочень широкая тема... есть мнение, что компьютер это самое сложное устройство, сделанное человеком.

AIv ★★★★★
()
Ответ на: комментарий от AIv

есть мнение, что компьютер это самое сложное устройство, сделанное человеком.

Самое сложное устройство в известной нам вселенной - это наука.

anonymous
()
Ответ на: комментарий от nokachi

наука побеждать?

драйвер писать, на лор больше не заходить, ок?

Наука, как построение моделей действительности с помощью знаковых систем.

anonymous
()
Ответ на: комментарий от DELIRIUM

там у юзернейма просто рандомные куски математики через запятую. Так что это два независимых вопроса.

nokachi
()
Ответ на: комментарий от anonymous

Самое сложное устройство в известной нам вселенной - это наука.

Число транзисторов в проце превышает число статей.

AIv ★★★★★
()
Ответ на: комментарий от nokachi

драйвер писать

На шарпах О_О? Не возьмут...

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

AIv ★★★★★
()
Ответ на: комментарий от AIv

Число транзисторов в проце превышает число статей.

Но одна статья несравнимо сложнее одного транзистора. И взаимодействие между статьями сложнее.

anonymous
()
Ответ на: комментарий от anonymous

Ну, транзистор состоит из атомов, а если глубже копнуть;-)

И главное - наука все таки НЕ устройство. Наука сложна, но она лежит в другой плоскости совсем, их некорректно сравнивать.

AIv ★★★★★
()
Ответ на: комментарий от AIv

затруднение с «дефицитом программистов» в том , что умение планировать есть достаточно редкое умение.

qulinxao ★★☆
()
Ответ на: комментарий от AIv

Самое сложное устройство сделанное человеком - это человек и их коллектив.

qulinxao ★★☆
()
Ответ на: комментарий от anonymous

идеалогии(и другии способы управления/воздействия коллективами) сложнее науки ибо первые алогичны и имеют ужасные правила вывода - в отличии от науки в которой стремятся к полной дедуктивности/индуктивности.

qulinxao ★★☆
()
Ответ на: комментарий от AIv

есть мнение, что компьютер это самое сложное устройство, сделанное человеком.

Неправда. Компьютерное железо довольно примитивная штука, а вот софт это совсем другой коленкор.

ebantrop
()
Ответ на: комментарий от AIv

На чем там драйвера пишуть, я очень приблизительно представляю

На голом С с редкими ассемблерными вставками (см. ядро)

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

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

ebantrop
()
Ответ на: комментарий от ebantrop

для GPU, которая сама состоит из десятков частей, драйвер получается по сложности как операционная система

nokachi
()
Ответ на: комментарий от AIv

Число транзисторов в проце превышает число статей.

Наука - это система, сотоящая из учёных и их инструментов. Такая система сложнее компьютера.

anonymous
()
Ответ на: комментарий от nokachi

для GPU, которая сама состоит из десятков частей, драйвер получается по сложности как операционная система

Чего там сложного? Сожрать что пришло с юзерспейса и пропихнуть в железку. Да, надо думать про взаимодействие этих частей, коих всего десяток.

Скажем какой нибудь WebKit на порядок сложнее.

ebantrop
()
Ответ на: комментарий от ebantrop

Графический конвейер — это чертовски непростая (в смысле числа алгоритмов и костылей) штука. GPGPU тоже сложная вещь: там и двухуровневая иерархия тредов, которой нужно управлять, и планировщик, который должен уметь всё это синхронизировать и скрывать латентность памяти.

Почитайте Обработка изображений при помощи OpenGL и шейдеров , там ckotinko довольно много интересного рассказал.

dmfd
()
Ответ на: комментарий от dmfd

Если называть весь стек драйвером, включая компилятор (и не один), GPUушный рантайм и прочие плюшки, то таки да, я не прав.

ebantrop
()
Ответ на: комментарий от nokachi

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

actics
()
Ответ на: комментарий от nokachi

Я не верю что кто-то изучает это добровольно

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

jtootf ★★★★★
()
Ответ на: комментарий от anonymous

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

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

И сколько лет это будущее все только в пределах:)

pylin ★★★★★
()
Ответ на: комментарий от nokachi

Прикольно. И что вы действительно кучу логики пихаете в кернел модуль? Я всегда считал что бОльшая часть работы делается в юзерспейсе а драйвер только совсем низкоуросневые вещи обслуживает. Хотя смотря что драйвером назвать.

ebantrop
()
Ответ на: комментарий от nokachi

«совершенный код» это «code complete»? говно

Опали листья ясеня.
Ничего себе, ничего себе!

И чем это оно говно?

anonymous
()
Ответ на: комментарий от ebantrop

ну, там много ресорс менеджмента — виртуальная память, предоставление абстракций юзерспейс драйверам (opengl, directx etc). Конкретный чип имплементирует все общение через регистры по-своему, но на уровне хала много логики.

nokachi
()
Ответ на: комментарий от nokachi

для физиков тензор - это либо тензор ранга (n,m) (для даного линейного пространства V элемент произведения n-ной тензорной степени V на m-ную тензорную степень V*) в общем, либо частный его случай (метрический тензор - тензор ранга (0,2))

для математиков тензор - элемент тензорного произведения произвольных линейных пространств

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

да ну, можно подумать в физике нет тензоров какого угодно ранга. Пожалуйста, познакомьтесь: eijk — полностью антисимметричный тензор Леви-Чивита.

nokachi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.