LINUX.ORG.RU
ФорумTalks

правильное обучение программированию

 


0

2

как вы считаете, должно ли обучение программированию начинаться с глубокого изучения аппаратной части компьютера? Начиная с уровня стандартной логики, механизмов работы АЛУ, регистров, и прочих хардварных элементов. Затем изучать процессор и периферию на простых примерах, таких как восьмибитные/16-битные процессоры/микроконтроллеры с их небогатой периферией, организация работы с памятью, реализации стандартных функций и алгоритмов. И лишь затем переходить к более высокоуровневому.

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

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

★★★★★

Ответ на: комментарий от PenguinSociophob

В проекте, если усреднить, по 1-2 мб весит картинка. Какие-то больше, какие-то меньше. Их больше 250 штук. Представь, если они все в оперативке вертятся на компе, где 1 Гб этой самой оперативки.

1. ЩТО! Они там делают ? Зачем их вертеть в оперативе ?

2. Ну, вполне влезут. Даже в 512 влезут. Что-то подсвопится, всё ОК будет. Гаратирую :-)

Не, ну все картинки в оп пихать - это уже кривой код

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

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

Еще раз объясняю - не все такие логичные, как ты. Кто-то наверняка думает: «о, они так быстрее будут грузиться при нажатии на кнопочку! Сделаю так, на моих 100500 гигах оп ведь не тормозит!»

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

Кто-то наверняка думает: «о, они так быстрее будут грузиться при нажатии на кнопочку!

Откуда грузиться. Эти картинки что, в оперативке у вас живут ? У вас там эпидемия штоле, у одного логи в оперативе для ускорения, эти фоткают прямо в RAM. Да какбэ ради б-га, каждый сходит с ума по своему, просто всё это имеет отношение к оптимизации очень маленькое.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

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

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

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

Ну, давай считать. Скорость оперативы 5 Gb/s, скорость флешки 50 Mb/s. Картинка 2Mb. При открытии из оперативы откроется за 0.5 мс, с флешки за 50 мс. Давай поспорим, что ты разницы не заметишь ?

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от PenguinSociophob

И не понимают, как один кусок кода может зависеть от другого.

И при чем тут логика. Идентификаторы и неймспейсы объяснять? Или регистр символов?

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

Я тут при чем? Я сейчас тебе говорю про людей, которые считают, что, запихнув контент полностью в оперативу, добьются быстрой реакции загрузки картинки при клике на кнопку =____=

PenguinSociophob
()

А вот насколько это осмысленно в остальных случаях?

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

Deleted
()

как вы считаете, должно ли обучение программированию начинаться с глубокого изучения аппаратной части компьютера?

В общем случае нет

Debasher ★★★★★
()

Неплохо бы объяснить про кеши процессора, локальность данных, латентность памяти и прочие штуки в духе общей архитектуры компьютера. Остальное уже лишнее.

kirk_johnson ★☆
()

как вы считаете, должно ли обучение программированию начинаться с глубокого изучения аппаратной части компьютера?

Ни в коем случае не должно. Разве что у вас цель отбить весь интерес с самого начала.

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

Ну простенькие схемки на к155 я в то время паял уже

cvs-255 ★★★★★
() автор топика

А курсы вождения нужно начинать с годового обучения физике и органической химии. Как вообще такой топик можно в здравом уме создать?

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

Надо исходить из задачи, все остальное - мозговой онанизм.

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

alman ★★★
()

Нет. Нужны общие сведения об абстрактных машинах. Нужно научиться делать свои машины-стековую, регистровую. И всё.

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

Задача - научиться программировать.

Это не задача, это дрессировка рефлексов. Делать электронные замки / сигнализации / подсветку - задача, из которой сразу же ясно и понятно какой инструмент брать и что изучать. В данном случае это Си, доступные микроконтроллеры и компиляторы под них, а если задача web - то это уже JavaScript, DOM и все остальные WebAPI, это совсем разные «программирования». Учить сфеерическому в вакууме бессмысленно без четкой задачи, разве что в цирке дрессированных обезьян выступать.

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

программирование на fasm под винду, используя winapi даст возможность и более-менее команды понять и даже графическое приложение накалякать.

чего??? Да этого я, программист во стажем, не осилил (ибо зачем?), как это освоит ребенок?

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от tiinn

Вы не осилили, ребёнок осилит. Взрослые вообще с очень большим трудом осиливают то, чем не занимались раньше.

Если ребёнок это не осиливает, ему нравится что-то другое, например музыка или деревообработка. Таких людей среди программистов хоть отбавляй, которые пошли в погромисты а сами больше любят флейту. Бабке, стереотипы и прочая ерунда из них сделали погромистов и жертв.

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

Таких людей среди программистов хоть отбавляй, которые пошли в погромисты а сами больше любят флейту.

Среди любых других профессий - тоже. Ты вот лучше объясни, зачем учить deprecated API, да ещё вызывая это API из языка, к которому нет описания данного API (тоесть, хачить и городить костыли). Чтоб пацаны заценили, как это круто ? Пацаны-то заценят, но потом жертва этого обучения будет искать работу, вспоминая своих учителей теплымыми словами.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)

Сначала нужно постигнуть секреты радиоламп, потом советских германиевых транзисторов. Те, кто не осилили - до сих пор ремонтируют телевизоры.

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

Вообще-то он не такой уж deprecated, win rt сохраняет почти всю идеологию, а местами и реализацию.

Дело не в пацанах, оценят это очень немногие пацаны, если их так вообще можно назвать. Дело в погружении во внутрянку + возможность посмотреть на результат. Никакой жертвенности тут нет, потом можно писать хоть всю жизнь на каком-нибудь C# или даже жабаскрипте и всё будет пучком. Человек будет точно знать сколько слоёв между его жабаскриптом и ядром операционки.

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

Вообще-то он не такой уж deprecated, win rt сохраняет почти всю идеологию, а местами и реализацию.

Во-первых, winRT - deprecated, во-вторых, winrt никогда не программировалась через win32 api. Ты слегонца попутал winrt и Windows mobile <=6.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от ixrws

Дело в погружении во внутрянку

Нет никакой внутрянки. Есть Bill GATES. Ваши сверхценности не имеют значения.

lenin386 ★★★★
()

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

как программа на языке_высокого_уровня в какие команды транслируется

ну а если какой питон какая там виртуальная байт-машина.

вон отличный пример - как чел ускорил с группой товарищей поиск в разы после обнаружения в х64 полезных симд команд http://www.stepanovpapers.com/#SIMD_Decoding_TR

а начинать конечно стоит с какого императивного но с возможностью писать в чисто апликативном стиле.

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